不正アクセス検知装置
【課題】踏み台攻撃や新種あるいは未知のウィルスも検知が可能な不正アクセス検知装置を提供する。
【解決手段】不正アクセス検知装置1において、TCP PUSHパケット(受信)抽出部402は、宛先IPがホストコンピュータであってPUSHフラグのセットされているTCP PUSHパケットPinを抽出する。TCP PUSHパケット(送信)抽出部403は、送信元IPがホストコンピュータであるTCP PUSHパケットPoutを抽出する。不正アクセス検知部404は、前記各抽出部402,403により抽出された各TCP PUSHパケットを参照し、宛先ポート番号およびデータのうち、少なくともデータが相互に一致しているTCP PUSHパケットが所定時間内に送受信されると、当該各TCP PUSHパケットの送受信を不正アクセスと判定する。
【解決手段】不正アクセス検知装置1において、TCP PUSHパケット(受信)抽出部402は、宛先IPがホストコンピュータであってPUSHフラグのセットされているTCP PUSHパケットPinを抽出する。TCP PUSHパケット(送信)抽出部403は、送信元IPがホストコンピュータであるTCP PUSHパケットPoutを抽出する。不正アクセス検知部404は、前記各抽出部402,403により抽出された各TCP PUSHパケットを参照し、宛先ポート番号およびデータのうち、少なくともデータが相互に一致しているTCP PUSHパケットが所定時間内に送受信されると、当該各TCP PUSHパケットの送受信を不正アクセスと判定する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピュータへの不正なアクセスを検知する不正アクセス検知装置に係り、特に、踏み台攻撃や新種あるいは未知のコンピュータウィルスの侵入検知に好適な不正アクセス検知装置に関する。
【背景技術】
【0002】
侵入者が身元を隠すためにセキュリティ対策の甘いコンピュータへ不正侵入し、このコンピュータから別のコンピュータに侵入する踏み台攻撃が知られている。図15は、踏み台攻撃の一例を模式的に表現した図であり、踏み台にされたホストコンピュータは被害者であるにもかかわらず不正攻撃の共犯者となり得る。このような問題は上記した踏み台攻撃に限らず、コンピュータウィルス(以下、ウィルスと表現する)に感染した場合も同様に起こり得る。
【0003】
ウィルスに関しては、ファイアウォールやIDS(Intrusion Detection System=不正侵入検知システム)を利用して侵入を防止する技術が知られている。しかしながら、新種のウィルスに関しては、IDSの検知パターンが作成されるまでは検知できない。踏み台攻撃では、悪意の第三者が正規のパスワードを不正に入手してコンピュータへ侵入するために、パスワードを厳重に管理する以外には有効な防止策がなかった。
【0004】
このような技術課題に対して、特許文献1には、攻撃者を追跡する技術として、ネットワーク上を流れるパケットのヘッダ情報をルータで収集し、ターゲットホストが攻撃を検知すると各ルータに攻撃パケットのヘッダ情報を問い合わせ、同じパケットが記録されているルータを逆戻りすることで経路を追跡する技術が開示されている。
【0005】
特許文献2には、ウィルス感染検知技術として、ネットワーク上に流れるパケットを監視して、通常は使用されない例外ポートを使用したTCP/IP通信、不完全パケット、多量な通信、多量なエラー通信等が検出された場合にウィルス感染と判定する技術が開示されている。
【0006】
特許文献3には、ウィルスの渡り歩きを検知するために、ネットワーク上に設置したウィルス検知装置とホストのアクセス履歴とを利用する技術が開示されている。ウィルス検知装置がウィルスによるパケットを検知すると、該当するホストのアクセス履歴を参照し、別のホストへのアクセス履歴がある場合を渡り歩きと判定する。ここではメール添付型のウィルスを対象としており、メールが内部に侵入した後のホストの挙動に注目してウィルスの渡り歩きが検知される。
【0007】
特許文献4には、ウィルスアクセスを防御するために、ネットワーク上にウィルス感染パケットの検知装置を設置してウィルスのアクセスを検知する技術が開示されている。
【0008】
特許文献5には、侵入検知技術として、侵入検知の精度を高めるために、インバウンドトラヒックとアウトバウンドトラヒックの双方向を監視し、不正なインバウンドトラヒックが与える内部ネットワークへの影響をアウトバウンドトラヒックにより確認することで被害の状況を把握する技術が開示されている。
【特許文献1】特開2003−258910号公報
【特許文献2】特開2003−241989号公報
【特許文献3】特開2004−86241号公報
【特許文献4】特開平11−167487号公報
【特許文献5】特開2004−302287号公報
【発明の開示】
【発明が解決しようとする課題】
【0009】
特許文献1の技術では、詐称された攻撃パケットの発信源とその経路を特定できるものの、攻撃の検知は既存のIDSに依存している。したがって、新種あるいは未知のウィルスに関してはIDSの検知パターンが作成されるまで検知できない。
【0010】
特許文献2の技術では、ネットワーク内部のホストコンピュータから送信されるパケットのみに注目してウィルス検知が行われるため、通常と異なる利用を行った正しいユーザによる操作を不正アクセスと誤検知してしまう可能性がある。
【0011】
特許文献3、5の技術では、既存のウィルス検知装置を用いているので新種あるいは未知のウィルスを検知できない。のみならず、該当ホストコンピュータの通常利用の中で複数の外部ホストコンピュータにアクセスした履歴がある場合に不正アクセスと誤検知される可能性がある。
【0012】
特許文献4の技術では、ウィルスパケット検知装置は既存のウィルスパケットを検知できるだけなので、新種あるいは未知のウィルスパケットは検知できない。
【0013】
本発明の目的は、上記した従来技術の課題を解決し、踏み台攻撃や新種あるいは未知のウィルスも検知が可能な不正アクセス検知装置を提供することにある。
【課題を解決するための手段】
【0014】
上記した目的を達成するために、本発明は、コンピュータへの不正アクセスを検知する不正アクセス検知装置において、以下のような手段を講じた点に特徴がある。
【0015】
(1)コンピュータで送受信されるTCP PUSHパケットを監視する送受信パケット監視手段と、TCP PUSHパケットが受信されてから所定時間内に、当該パケットと宛先ポート番号およびデータのうち、少なくともデータが同一のTCP PUSHパケットが送信されると、当該各TCP PUSHパケットの送受信を不正アクセスと判定する不正アクセス判定手段とを含むことを特徴とする。
【0016】
(2)前記不正アクセス判定手段は、送受信される各TCP PUSHパケットに分散して登録されているデータ片をそれぞれ収集して所定長の送受信データを構築し、両者を比較することを特徴とする。
【0017】
(3)コンピュータで送受信されるTCP パケットを監視する送受信パケット監視手段と、TCP PUSHパケットが受信されてから所定時間内にTCP SYNパケットが送信されると、当該各TCPパケットの送受信を不正アクセスと判定する不正アクセス判定手段とを含むことを特徴とする。
【0018】
(4)コンピュータで送受信されるICMPエコーリクエストパケットを監視する送受信パケット監視手段と、ICMPエコーリクエストパケットが受信されてから所定時間内にICMPエコーリクエストパケットが送信されると、当該各エコーリクエストパケットの送受信を不正アクセスと判定する不正アクセス判定手段とを含むことを特徴とする。
【0019】
(5)コンピュータで送受信されるTCP SYNパケットを監視する送受信パケット監視手段と、前記TCP SYNパケットが受信されてから所定時間内に、宛先ポート番号が前記受信されたTCP SYNパケットと同一のTCP SYNパケットが送信されると、当該各TCP SYNパケットの送受信を不正アクセスと判定する不正アクセス判定手段とを含むことを特徴とする。
【0020】
(6)コンピュータで送受信されるUDPパケットを監視する送受信パケット監視手段と、前記UDPパケットが受信されてから所定時間内に、当該UDPパケットと宛先ポート番号およびデータが同一のUDPパケットが送信されると、当該各UDPパケットの送受信を不正アクセスと判定する不正アクセス判定手段とを含むことを特徴とする。
【0021】
(7)送受信パケット監視手段は、ネットワークとコンピュータとを結ぶ経路上でパケットを監視することを特徴とする。
【0022】
(8)送受信パケット監視手段は、コンピュータ内において、MAC層とIP層との間でパケットを監視することを特徴とする。
【0023】
(9)送受信パケット監視手段は、コンピュータ内において、アプリケーション層とTCP/UDP層との間でパケットを監視することを特徴とする。
【0024】
(10)信頼できるコンピュータの識別情報を登録する手段をさらに具備し、不正アクセス判定手段は、信頼できるコンピュータからのアクセスを不正アクセスと判定しないことを特徴とする。
【発明の効果】
【0025】
本発明によれば、以下のような効果が達成される。
(1)請求項1の発明によれば、踏み台攻撃においてポートスキャンに用いられるTCP PUSHパケットに基づいて不正アクセスを検知できるので、踏み台攻撃の検知が可能になる。
(2)請求項2の発明によれば、データを複数のパケットに分散するアプリケーションで送受信されるパケットに関して、不正アクセスの誤検知を防止できるようになる。
(3)請求項3の発明によれば、踏み台攻撃においてポートスキャンに用いられるTCP PUSHパケットと、侵入先ホストから次の侵入先との間にセッションを確立するために送信されるTCP SYNパケットに基づいて不正アクセスを検知できるので、踏み台攻撃の検知が可能になる。
(4)請求項4の発明によれば、侵入者が宛先ホストの存在を確認する際にPingコマンドなどによって発信するエコーリクエストパケットに基づいて不正アクセスを検知できるので、踏み台攻撃や新種あるいは未知のウィルスも検知が可能になる。
(5)請求項5の発明によれば、TCP通信路を構築する際の3Wayハンドシェイクの開始パケットであって、悪意の侵入者やウィルスが攻撃目標のサービスポートを探索する際に用いられるTCP SYNパケットに基づいて不正アクセスを検知できるので、踏み台攻撃や新種あるいは未知のウィルスも検知が可能になる。
(6)請求項6の発明によれば、所定のUDPポートへのスキャンや攻撃パケットの送信に基づいて不正アクセスを検知できるので、踏み台攻撃や新種あるいは未知のウィルスも検知が可能になる。
(7)請求項7の発明によれば、ネットワーク上で送受信されるパケットに基づいて不正アクセスを検知できるようになる。
(8)請求項8、9の発明によれば、ホストコンピュータ上で送受信されるパケットに基づいて不正アクセスを検知できるようになる。また、特に請求項8の発明によれば、通信経路がSSLやTLSにより暗号化されている場合でも不正アクセスを検知できるようになる。
(9)請求項10の発明によれば、信頼できるホストコンピュータからのアクセスは不正アクセスと判定されないので、誤検知を低減できる。
【発明を実施するための最良の形態】
【0026】
以下、図面を参照して本発明の好ましい実施の形態について詳細に説明する。図1は、本発明に係る不正アクセス検知装置の第1実施形態のブロック図であり、本実施形態では、侵入者が宛先ホストの存在を確認する際にPingコマンドなどによって発信するエコーリクエストパケットに基づいて不正アクセスが検知される。
【0027】
不正アクセス検知装置1は、ネットワークとホストコンピュータとを結ぶネットワークゲートウェイに接続されている。不正アクセス検知装置1において、パケット取込部101はプロミスキャストモード(全フレーム収集モード)で動作し、宛先がホストコンピュータであるか否かにかかわらず、ネットワークゲートウェイ上の全てのパケットを取り込む。ICMP(Internet Control Message Protocol)受信パケット抽出部102は、宛先IPがホストコンピュータであるICMP受信パケットPinを抽出する。ICMP送信パケット抽出部103は、送信元IPがホストコンピュータであるICMP送信パケットPoutを抽出する。
【0028】
図2は、ICMPパケットの構造を示した図であり、8ビットの「タイプ(機能コード)」フィールド、8ビットの「コード(補助的な機能コード)」フィールド、および16ビットの「チェックサム」フィールドを含み、それ以降の「データ」フィールドには、ICPMのタイプごとに可変長のデータが登録される。
【0029】
不正アクセス検知部104は、前記各抽出部102,103により抽出されたICMPパケットを参照し、タイプが「8(Echo Request)」でコードが「0(Network Unreachable)」のエコーリクエストパケットの受信タイミングから所定時間内に、同じくタイプが「8」でコードが「0」のエコーリクエストパケットがホストコンピュータから送信されると、当該各エコーリクエストパケットの送受信を不正アクセスと判定する。
【0030】
図3は、本実施形態の動作を示したフローチャートであり、主に不正アクセス検知部104の動作を示している。
【0031】
ステップS1では、前記ICMP受信パケット抽出部102によりICMP受信パケットが抽出されたか否かが判定される。ICMP受信パケットが抽出されると、ステップS2では、当該受信パケットのタイプおよびコードが参照され、タイプが「8」でコードが「0」のエコーリクエストパケットであるか否かが判定される。エコーリクエストパケットが受信されていれば、ステップS3へ進んで不正アクセス判定タイマTがスタートする。
【0032】
ステップS4では、前記ICMP送信パケット抽出部103によりICMP送信パケットが抽出されたか否かが判定される。ICMP送信パケットが抽出されると、ステップS5では、当該パケットのタイプおよびコードが参照され、タイプが「8」でコードが「0」のエコーリクエストパケットであるか否かが判定される。エコーリクエストパケット以外であればステップS8へ進み、前記不正アクセス判定タイマTがタイムアウトしているか否かが判定され、タイムアウトするまではステップS4へ戻って上記した各処理が繰り返される。不正アクセス判定タイマTがタイムアウトすると、ステップS9で不正アクセス判定タイマTをリセットした後にステップS1へ戻る。
【0033】
これに対して、前記ステップS5において、ICMP送信パケットがエコーリクエストパケットであると判定されると、ステップS6では、送信されたパケットの宛先IPと受信されたパケットの送信元IPとが比較される。両者が一致していれば、一対のホストコンピュータ間での正常なパケット交換なのでステップS8へ進む。両者が不一致であればステップS7へ進み、前記各エコーリクエストパケットの送受信が不正アクセスと判定される。
【0034】
図4は、本発明に係る不正アクセス検知装置の第2実施形態のブロック図であり、前記と同一の符号は同一または同等部分を表している。本実施形態では、TCP通信路を構築する際の3Wayハンドシェイクの開始パケットであって、悪意の侵入者やウィルスが攻撃目標のサービスポートを探索する際に用いるTCP SYNパケットに基づいて不正アクセスが検知される。
【0035】
TCP(Transmission Control Protocol)受信パケット抽出部202は、宛先IPがホストコンピュータであるTCP受信パケットPinを抽出する。TCP送信パケット抽出部203は、送信元IPがホストコンピュータであるTCP送信パケットPoutを抽出する。
【0036】
図5は、TCPパケットのヘッダ構造を示した図であり、TCPパケットの送信元のアプリケーションを識別するための「送信元ポート番号」フィールド、宛先となるアプリケーションが待ち受けしている「宛先ポート番号」フィールド等と共に6ビットのフラグフィールドを含み、このフラグフィールド内に、TCP接続を要求する場合にセットされる「SYN(synchronize)フラグ」や「FUSHフラグ」フィールドが確保されている。
【0037】
不正アクセス検知部204は、前記各抽出部102,103により抽出されたTCPパケットを参照し、SYNプラグがセットされており、宛先ポート番号が相互に一致しているTCP受信パケットおよびTCP送信パケットが所定時間内に抽出されると、当該各TCPパケットの送受信を不正アクセスと判定する。
【0038】
図6は、本実施形態の動作を示したフローチャートであり、主に不正アクセス検知部204の動作を示している。
【0039】
ステップS11では、前記TCP受信パケット抽出部202によりTCP受信パケットが抽出されたか否かが判定される。TCP受信パケットが抽出されると、ステップS12では、当該受信パケットのSYNフラグがセットされているか否かが判定される。SYNフラグがセットされていればステップS13へ進み、当該受信パケットの宛先ポート番号が抽出されて一時記憶される。ステップS14では、不正アクセス判定タイマTがスタートする。
【0040】
ステップS15では、前記TCP送信パケット抽出部203によりTCP送信パケットが抽出されたか否かが判定される。TCP送信パケットが抽出されると、ステップS16では、当該送信パケットのSYNフラグがセットされているか否かが判定される。SYNフラグがセットされていればステップS17へ進み、当該送信パケットの宛先ポート番号が、前記一時記憶されている受信パケットの宛先ポート番号と比較される。
【0041】
前記ステップS15,S16,S17の判定が否定であればステップS20へ進み、前記不正アクセス判定タイマTがタイムアウトしているか否かが判定され、タイムアウトするまではステップS15へ戻って上記した各処理が繰り返される。不正アクセス判定タイマTがタイムアウトすると、ステップS21で不正アクセス判定タイマTをリセットした後にステップS11へ戻る。
【0042】
これに対して、前記ステップS17において、送信パケットの宛先ポート番号受信パケットの宛先ポート番号と一致していると判定されると、ステップS18では、送信されたTCP SYNパケットの宛先IPと受信されたTCP SYNパケットの送信元IPとが比較される。両者が不一致であればステップS19へ進み、前記各TCPパケットの送受信が不正アクセスと判定される。
【0043】
図7は、本発明に係る不正アクセス検知装置の第3実施形態のブロック図であり、前記と同一の符号は同一または同等部分を表している。本実施形態では、所定のUDPポートへのスキャンや攻撃パケットの送信の有無に基づいて不正アクセスが検知される。
【0044】
UDP(User Datagram Protocol)受信パケット抽出部302は、宛先IPがホストコンピュータであるUDP受信パケットを抽出する。UDP送信パケット抽出部303は、送信元IPがホストコンピュータであるUDP送信パケットを抽出する。
【0045】
図8は、UDPパケットのヘッダ構造を示した図であり、UDPパケットの送信元のアプリケーションを識別するための「送信元ポート番号」フィールド、UDPパケットの宛先となるアプリケーションが待ち受けしている「宛先ポート番号」フィールド、UDPパケットの長さを表す「UDPデータ長」フィールド、UDPパケットの整合性を検査するための「UDPチェックサム」フィールド、および「データ」フィールドを含む。
【0046】
不正アクセス検知部304は、前記各抽出部102,103により抽出されたUDPパケットを参照し、宛先ポート番号およびデータのいずれもが一致しているUDP受信パケットおよびUDP送信パケットが所定時間内に抽出されると、当該各UDPパケットの送受信を不正アクセスと判定する。
【0047】
図9は、本実施形態の動作を示したフローチャートであり、主に不正アクセス検知部304の動作を示している。
【0048】
ステップS31では、前記UDP受信パケット抽出部302によりUDP受信パケットが抽出されたか否かが判定される。UDP受信パケットが抽出されると、ステップS32では、当該受信パケットの宛先ポート番号およびデータが抽出されて一時記憶される。ステップS33では、不正アクセス判定タイマTがスタートする。
【0049】
ステップS34では、前記UDP送信パケット抽出部303によりUDP送信パケットが抽出されたか否かが判定される。UDP送信パケットが抽出されると、ステップS35では、当該送信パケットの宛先ポート番号およびデータが、前記一時記憶されている受信パケットの宛先ポート番号およびデータと比較される。
【0050】
前記ステップS34,S35の判定が否定であればステップS38へ進み、前記不正アクセス判定タイマTがタイムアウトしているか否かが判定され、タイムアウトするまではステップS34へ戻って上記した各処理が繰り返される。不正アクセス判定タイマTがタイムアウトすると、ステップS39で不正アクセス判定タイマTをリセットした後にステップS31へ戻る。
【0051】
これに対して、前記ステップS35において、送信パケットの宛先ポート番号およびデータが、それぞれ受信パケットの宛先ポート番号およびデータと一致していると判定されると、ステップS36では、UDP送信パケットの宛先IPとUDP受信パケットの送信元IPとが比較される。両者が不一致であればステップS37へ進み、前記各UDPパケットの送受信が不正アクセスと判定される。
【0052】
図10は、本発明に係る不正アクセス検知装置の第4実施形態のブロック図であり、本実施形態では、例えばtelnetを利用した踏み台攻撃であればTCP23番ポートに対して送信される、ポートスキャン用のTCP PUSHパケットに基づいて不正アクセスが検知される。
【0053】
TCP PUSHパケット(受信)抽出部402は、宛先IPがホストコンピュータであって、PUSHフラグのセットされているTCP PUSHパケットPinを抽出する。TCP PUSHパケット(送信)抽出部403は、送信元IPがホストコンピュータであるTCP PUSHパケットPoutを抽出する。
【0054】
不正アクセス検知部404は、前記各抽出部402,403により抽出された各TCP PUSHパケットを参照し、宛先ポート番号およびデータのうち、少なくともデータが相互に一致しているTCP PUSHパケットが所定時間内に送受信されると、当該各TCP PUSHパケットの送受信を不正アクセスと判定する。
【0055】
図11は、本実施形態の動作を示したフローチャートであり、主に不正アクセス検知部404の動作を示している。
【0056】
ステップS41では、前記TCP PUSHパケット(受信)抽出部402によりTCP PUSHパケットが抽出されたか否かが判定される。TCP PUSHパケットが抽出されると、ステップS42では、当該受信パケットの宛先ポート番号およびデータが抽出されて一時記憶される。ステップS43では、不正アクセス判定タイマTがスタートする。
【0057】
ステップS44では、前記TCP PUSHパケット(送信)抽出部403によりTCP PUSHパケットが抽出されたか否かが判定される。TCP PUSHパケットが抽出されると、ステップS45では、当該送信パケットの宛先ポート番号およびデータが、前記一時記憶されている受信パケットの宛先ポート番号およびデータと比較される。
【0058】
前記ステップS44,S45の判定が否定であればステップS48へ進み、前記不正アクセス判定タイマTがタイムアウトしているか否かが判定され、タイムアウトするまではステップS44へ戻って上記した各処理が繰り返される。不正アクセス判定タイマTがタイムアウトすると、ステップS49で不正アクセス判定タイマTをリセットした後にステップS41へ戻る。
【0059】
これに対して、前記ステップS45において、送信パケットの宛先ポート番号およびデータが、それぞれ受信パケットの宛先ポート番号およびデータと一致していると判定されると、ステップS46では、送信されたTCP SYNパケットの宛先IPと受信されたTCP SYNパケットの送信元IPとが比較される。両者が不一致であればステップS47へ進み、前記各TCPパケットの送受信が不正アクセスと判定される。
【0060】
なお、telnetアプリケーションのように、キーボードから入力された文字列が一文字ずつ異なるパケットのデータ部に格納されて送受信される場合には、パケット単位でデータを比較して不正アクセスを検知することが難しい。このような場合には、各パケット抽出部402,403あるいは不正アクセス検知部404が、複数のパケットに分散されている送信データ片および受信データ片をそれぞれ収集して所定長の送信データおよび受信データを構築し、両者を比較することが望ましい。
【0061】
また、上記した実施形態では、ステップS45において宛先ポート番号およびデータのいずれもが一致していることを条件に不正アクセスと判定しているが、侵入者が不正の発覚を恐れて故意にデータを異ならせる場合もあるので、宛先ポート番号の一致のみを条件に不正アクセスと判定するようにしても良い。
【0062】
図12は、本発明に係る不正アクセス検知装置の第5実施形態のブロック図であり、本実施形態では、踏み台攻撃であればTCP PUSHパケットが受信されたホストコンピュータからは、次の侵入先へ短時間のうちにTCPコネクションの確立要求が送信されることに着目し、TCP PUSHパケットの受信およびTCP SYNパケットの送信に基づいて不正アクセスが検知される。
【0063】
すなわち、第4実施形態のように、送受信されるTCP PUSHパケットの宛先ポート番号およびデータが一致している場合のみ不正アクセスと判断すると、例えば侵入者が最初のホストへtelnetで侵入し、その後、SSHによる暗号化通信で次のホストに侵入するといったように、アプリケーションを次々と変化させながらホストを渡り歩くと、データが変化するために不正アクセスを検知できなくなる。そこで、本実施形態では、侵入者がアプリケーションを次々と変化させながらホストを渡り歩く場合も、これを検知できるようにしている。
【0064】
TCP PUSHパケット(受信)抽出部502は、宛先IPがホストコンピュータであって、PUSHフラグのセットされているTCP PUSHパケットPinを抽出する。TCP SYNパケット(送信)抽出部503は、送信元IPがホストコンピュータであるTCP SYNパケットPoutを抽出する。
【0065】
不正アクセス検知部504は、前記各抽出部102,103により抽出された各TCP PUSHパケットおよびTCP SYNパケットが所定時間内に抽出されると、当該各TCPパケットの送受信を不正アクセスと判定する。
【0066】
図13は、本実施形態の動作を示したフローチャートであり、主に不正アクセス検知部204の動作を示している。
【0067】
ステップS51では、前記TCP PUSHパケット(受信)抽出部502によりTCP PUSHパケットが抽出されたか否かが判定される。TCP PUSHパケットが抽出されると、ステップS52では、不正アクセス判定タイマTがスタートする。ステップS53では、前記TCP SYNパケット(送信)抽出部503によりTCP SYNパケットが抽出されたか否かが判定される。TCP SYNパケットが抽出されなければステップS56へ進み、前記不正アクセス判定タイマTがタイムアウトしているか否かが判定され、タイムアウトするまではステップS53へ戻って上記した各処理が繰り返される。不正アクセス判定タイマTがタイムアウトすると、ステップS57で不正アクセス判定タイマTをリセットした後にステップS51へ戻る。
【0068】
これに対して、前記ステップS53においてTCP SYNパケットが抽出されるとステップS54へ進み、送信されたTCP SYNパケットの宛先IPと受信されたTCP PUSHパケットの送信元IPとが比較される。両者が不一致であればステップS55へ進み、前記各TCPパケットの送受信が不正アクセスと判定される。
【0069】
なお、上記した各実施形態では、ネットワークとホストコンピュータとを結ぶネットワークゲートウェイから取り込んだパケットに基づいて不正アクセスを検知するものとして説明したが、ホストコンピュータの内部で取り込んだパケットに基づいて不正アクセスを検知することもできる。
【0070】
図14は、本発明の第6実施形態の構成を示したブロック図であり、本実施形態では、ホストコンピュータ内で全てのパケットを監視するために、不正アクセス検知プロセス2はMAC層とIP層との間でパケットを取り込み、上記と同様の手順で不正アクセスを検知する。ただし、通信経路がSSLやTLSにより暗号化されている場合には、暗号化前の状態でなければパケットを参照できないので、図14に破線で示したように、不正アクセス検知プロセス2はアプリケーション層とTCP/UDP層との間でパケットを取り込む必要がある。
【0071】
なお、上記した各実施形態では、コンピュータで送受信されるパケットに基づいて不正アクセスを検知するものとして説明したが、不正アクセスの誤検知を防止して信頼性を向上させるためには、信頼できるホストコンピュータのアドレスを予め不正アクセス検知部104(204,304…)等に登録しておき、送受信されるパケットに基づいて不正アクセスと判定された場合であっても、相手ホストが前記信頼できるホストとして既登録であれば、不正アクセスと判定しないようにすることが望ましい。
【図面の簡単な説明】
【0072】
【図1】本発明に係る不正アクセス検知装置の第1実施形態のブロック図である。
【図2】ICMPパケットの構造を示した図である。
【図3】第1実施形態の動作を示したフローチャートである。
【図4】本発明に係る不正アクセス検知装置の第2実施形態のブロック図である。
【図5】TCPパケットのヘッダ構造を示した図である。
【図6】第2実施形態の動作を示したフローチャートである。
【図7】本発明に係る不正アクセス検知装置の第3実施形態のブロック図である。
【図8】UDPパケットのヘッダ構造を示した図である。
【図9】第3実施形態の動作を示したフローチャートである。
【図10】本発明に係る不正アクセス検知装置の第4実施形態のブロック図である。
【図11】第4実施形態の動作を示したフローチャートである。
【図12】本発明に係る不正アクセス検知装置の第5実施形態のブロック図である。
【図13】第5実施形態の動作を示したフローチャートである。
【図14】本発明に係る不正アクセス検知装置の第4実施形態のブロック図である。
【図15】踏み台攻撃の一例を模式的に表現した図である。
【符号の説明】
【0073】
1…不正アクセス検知装置
101…パケット取込部
102…ICMP受信パケット抽出部
103…ICMP送信パケット抽出部
104,204,304、404,504…不正アクセス検知部
202…TCP受信パケット抽出部
203…TCP送信パケット抽出部
302…UDP受信パケット抽出部
303…UDP送信パケット抽出部
402,502…TCP PUSHパケット(受信)抽出部
403…TCP PUSHパケット(送信)抽出部
503…TCP SYNパケット(送信)抽出部
【技術分野】
【0001】
本発明は、コンピュータへの不正なアクセスを検知する不正アクセス検知装置に係り、特に、踏み台攻撃や新種あるいは未知のコンピュータウィルスの侵入検知に好適な不正アクセス検知装置に関する。
【背景技術】
【0002】
侵入者が身元を隠すためにセキュリティ対策の甘いコンピュータへ不正侵入し、このコンピュータから別のコンピュータに侵入する踏み台攻撃が知られている。図15は、踏み台攻撃の一例を模式的に表現した図であり、踏み台にされたホストコンピュータは被害者であるにもかかわらず不正攻撃の共犯者となり得る。このような問題は上記した踏み台攻撃に限らず、コンピュータウィルス(以下、ウィルスと表現する)に感染した場合も同様に起こり得る。
【0003】
ウィルスに関しては、ファイアウォールやIDS(Intrusion Detection System=不正侵入検知システム)を利用して侵入を防止する技術が知られている。しかしながら、新種のウィルスに関しては、IDSの検知パターンが作成されるまでは検知できない。踏み台攻撃では、悪意の第三者が正規のパスワードを不正に入手してコンピュータへ侵入するために、パスワードを厳重に管理する以外には有効な防止策がなかった。
【0004】
このような技術課題に対して、特許文献1には、攻撃者を追跡する技術として、ネットワーク上を流れるパケットのヘッダ情報をルータで収集し、ターゲットホストが攻撃を検知すると各ルータに攻撃パケットのヘッダ情報を問い合わせ、同じパケットが記録されているルータを逆戻りすることで経路を追跡する技術が開示されている。
【0005】
特許文献2には、ウィルス感染検知技術として、ネットワーク上に流れるパケットを監視して、通常は使用されない例外ポートを使用したTCP/IP通信、不完全パケット、多量な通信、多量なエラー通信等が検出された場合にウィルス感染と判定する技術が開示されている。
【0006】
特許文献3には、ウィルスの渡り歩きを検知するために、ネットワーク上に設置したウィルス検知装置とホストのアクセス履歴とを利用する技術が開示されている。ウィルス検知装置がウィルスによるパケットを検知すると、該当するホストのアクセス履歴を参照し、別のホストへのアクセス履歴がある場合を渡り歩きと判定する。ここではメール添付型のウィルスを対象としており、メールが内部に侵入した後のホストの挙動に注目してウィルスの渡り歩きが検知される。
【0007】
特許文献4には、ウィルスアクセスを防御するために、ネットワーク上にウィルス感染パケットの検知装置を設置してウィルスのアクセスを検知する技術が開示されている。
【0008】
特許文献5には、侵入検知技術として、侵入検知の精度を高めるために、インバウンドトラヒックとアウトバウンドトラヒックの双方向を監視し、不正なインバウンドトラヒックが与える内部ネットワークへの影響をアウトバウンドトラヒックにより確認することで被害の状況を把握する技術が開示されている。
【特許文献1】特開2003−258910号公報
【特許文献2】特開2003−241989号公報
【特許文献3】特開2004−86241号公報
【特許文献4】特開平11−167487号公報
【特許文献5】特開2004−302287号公報
【発明の開示】
【発明が解決しようとする課題】
【0009】
特許文献1の技術では、詐称された攻撃パケットの発信源とその経路を特定できるものの、攻撃の検知は既存のIDSに依存している。したがって、新種あるいは未知のウィルスに関してはIDSの検知パターンが作成されるまで検知できない。
【0010】
特許文献2の技術では、ネットワーク内部のホストコンピュータから送信されるパケットのみに注目してウィルス検知が行われるため、通常と異なる利用を行った正しいユーザによる操作を不正アクセスと誤検知してしまう可能性がある。
【0011】
特許文献3、5の技術では、既存のウィルス検知装置を用いているので新種あるいは未知のウィルスを検知できない。のみならず、該当ホストコンピュータの通常利用の中で複数の外部ホストコンピュータにアクセスした履歴がある場合に不正アクセスと誤検知される可能性がある。
【0012】
特許文献4の技術では、ウィルスパケット検知装置は既存のウィルスパケットを検知できるだけなので、新種あるいは未知のウィルスパケットは検知できない。
【0013】
本発明の目的は、上記した従来技術の課題を解決し、踏み台攻撃や新種あるいは未知のウィルスも検知が可能な不正アクセス検知装置を提供することにある。
【課題を解決するための手段】
【0014】
上記した目的を達成するために、本発明は、コンピュータへの不正アクセスを検知する不正アクセス検知装置において、以下のような手段を講じた点に特徴がある。
【0015】
(1)コンピュータで送受信されるTCP PUSHパケットを監視する送受信パケット監視手段と、TCP PUSHパケットが受信されてから所定時間内に、当該パケットと宛先ポート番号およびデータのうち、少なくともデータが同一のTCP PUSHパケットが送信されると、当該各TCP PUSHパケットの送受信を不正アクセスと判定する不正アクセス判定手段とを含むことを特徴とする。
【0016】
(2)前記不正アクセス判定手段は、送受信される各TCP PUSHパケットに分散して登録されているデータ片をそれぞれ収集して所定長の送受信データを構築し、両者を比較することを特徴とする。
【0017】
(3)コンピュータで送受信されるTCP パケットを監視する送受信パケット監視手段と、TCP PUSHパケットが受信されてから所定時間内にTCP SYNパケットが送信されると、当該各TCPパケットの送受信を不正アクセスと判定する不正アクセス判定手段とを含むことを特徴とする。
【0018】
(4)コンピュータで送受信されるICMPエコーリクエストパケットを監視する送受信パケット監視手段と、ICMPエコーリクエストパケットが受信されてから所定時間内にICMPエコーリクエストパケットが送信されると、当該各エコーリクエストパケットの送受信を不正アクセスと判定する不正アクセス判定手段とを含むことを特徴とする。
【0019】
(5)コンピュータで送受信されるTCP SYNパケットを監視する送受信パケット監視手段と、前記TCP SYNパケットが受信されてから所定時間内に、宛先ポート番号が前記受信されたTCP SYNパケットと同一のTCP SYNパケットが送信されると、当該各TCP SYNパケットの送受信を不正アクセスと判定する不正アクセス判定手段とを含むことを特徴とする。
【0020】
(6)コンピュータで送受信されるUDPパケットを監視する送受信パケット監視手段と、前記UDPパケットが受信されてから所定時間内に、当該UDPパケットと宛先ポート番号およびデータが同一のUDPパケットが送信されると、当該各UDPパケットの送受信を不正アクセスと判定する不正アクセス判定手段とを含むことを特徴とする。
【0021】
(7)送受信パケット監視手段は、ネットワークとコンピュータとを結ぶ経路上でパケットを監視することを特徴とする。
【0022】
(8)送受信パケット監視手段は、コンピュータ内において、MAC層とIP層との間でパケットを監視することを特徴とする。
【0023】
(9)送受信パケット監視手段は、コンピュータ内において、アプリケーション層とTCP/UDP層との間でパケットを監視することを特徴とする。
【0024】
(10)信頼できるコンピュータの識別情報を登録する手段をさらに具備し、不正アクセス判定手段は、信頼できるコンピュータからのアクセスを不正アクセスと判定しないことを特徴とする。
【発明の効果】
【0025】
本発明によれば、以下のような効果が達成される。
(1)請求項1の発明によれば、踏み台攻撃においてポートスキャンに用いられるTCP PUSHパケットに基づいて不正アクセスを検知できるので、踏み台攻撃の検知が可能になる。
(2)請求項2の発明によれば、データを複数のパケットに分散するアプリケーションで送受信されるパケットに関して、不正アクセスの誤検知を防止できるようになる。
(3)請求項3の発明によれば、踏み台攻撃においてポートスキャンに用いられるTCP PUSHパケットと、侵入先ホストから次の侵入先との間にセッションを確立するために送信されるTCP SYNパケットに基づいて不正アクセスを検知できるので、踏み台攻撃の検知が可能になる。
(4)請求項4の発明によれば、侵入者が宛先ホストの存在を確認する際にPingコマンドなどによって発信するエコーリクエストパケットに基づいて不正アクセスを検知できるので、踏み台攻撃や新種あるいは未知のウィルスも検知が可能になる。
(5)請求項5の発明によれば、TCP通信路を構築する際の3Wayハンドシェイクの開始パケットであって、悪意の侵入者やウィルスが攻撃目標のサービスポートを探索する際に用いられるTCP SYNパケットに基づいて不正アクセスを検知できるので、踏み台攻撃や新種あるいは未知のウィルスも検知が可能になる。
(6)請求項6の発明によれば、所定のUDPポートへのスキャンや攻撃パケットの送信に基づいて不正アクセスを検知できるので、踏み台攻撃や新種あるいは未知のウィルスも検知が可能になる。
(7)請求項7の発明によれば、ネットワーク上で送受信されるパケットに基づいて不正アクセスを検知できるようになる。
(8)請求項8、9の発明によれば、ホストコンピュータ上で送受信されるパケットに基づいて不正アクセスを検知できるようになる。また、特に請求項8の発明によれば、通信経路がSSLやTLSにより暗号化されている場合でも不正アクセスを検知できるようになる。
(9)請求項10の発明によれば、信頼できるホストコンピュータからのアクセスは不正アクセスと判定されないので、誤検知を低減できる。
【発明を実施するための最良の形態】
【0026】
以下、図面を参照して本発明の好ましい実施の形態について詳細に説明する。図1は、本発明に係る不正アクセス検知装置の第1実施形態のブロック図であり、本実施形態では、侵入者が宛先ホストの存在を確認する際にPingコマンドなどによって発信するエコーリクエストパケットに基づいて不正アクセスが検知される。
【0027】
不正アクセス検知装置1は、ネットワークとホストコンピュータとを結ぶネットワークゲートウェイに接続されている。不正アクセス検知装置1において、パケット取込部101はプロミスキャストモード(全フレーム収集モード)で動作し、宛先がホストコンピュータであるか否かにかかわらず、ネットワークゲートウェイ上の全てのパケットを取り込む。ICMP(Internet Control Message Protocol)受信パケット抽出部102は、宛先IPがホストコンピュータであるICMP受信パケットPinを抽出する。ICMP送信パケット抽出部103は、送信元IPがホストコンピュータであるICMP送信パケットPoutを抽出する。
【0028】
図2は、ICMPパケットの構造を示した図であり、8ビットの「タイプ(機能コード)」フィールド、8ビットの「コード(補助的な機能コード)」フィールド、および16ビットの「チェックサム」フィールドを含み、それ以降の「データ」フィールドには、ICPMのタイプごとに可変長のデータが登録される。
【0029】
不正アクセス検知部104は、前記各抽出部102,103により抽出されたICMPパケットを参照し、タイプが「8(Echo Request)」でコードが「0(Network Unreachable)」のエコーリクエストパケットの受信タイミングから所定時間内に、同じくタイプが「8」でコードが「0」のエコーリクエストパケットがホストコンピュータから送信されると、当該各エコーリクエストパケットの送受信を不正アクセスと判定する。
【0030】
図3は、本実施形態の動作を示したフローチャートであり、主に不正アクセス検知部104の動作を示している。
【0031】
ステップS1では、前記ICMP受信パケット抽出部102によりICMP受信パケットが抽出されたか否かが判定される。ICMP受信パケットが抽出されると、ステップS2では、当該受信パケットのタイプおよびコードが参照され、タイプが「8」でコードが「0」のエコーリクエストパケットであるか否かが判定される。エコーリクエストパケットが受信されていれば、ステップS3へ進んで不正アクセス判定タイマTがスタートする。
【0032】
ステップS4では、前記ICMP送信パケット抽出部103によりICMP送信パケットが抽出されたか否かが判定される。ICMP送信パケットが抽出されると、ステップS5では、当該パケットのタイプおよびコードが参照され、タイプが「8」でコードが「0」のエコーリクエストパケットであるか否かが判定される。エコーリクエストパケット以外であればステップS8へ進み、前記不正アクセス判定タイマTがタイムアウトしているか否かが判定され、タイムアウトするまではステップS4へ戻って上記した各処理が繰り返される。不正アクセス判定タイマTがタイムアウトすると、ステップS9で不正アクセス判定タイマTをリセットした後にステップS1へ戻る。
【0033】
これに対して、前記ステップS5において、ICMP送信パケットがエコーリクエストパケットであると判定されると、ステップS6では、送信されたパケットの宛先IPと受信されたパケットの送信元IPとが比較される。両者が一致していれば、一対のホストコンピュータ間での正常なパケット交換なのでステップS8へ進む。両者が不一致であればステップS7へ進み、前記各エコーリクエストパケットの送受信が不正アクセスと判定される。
【0034】
図4は、本発明に係る不正アクセス検知装置の第2実施形態のブロック図であり、前記と同一の符号は同一または同等部分を表している。本実施形態では、TCP通信路を構築する際の3Wayハンドシェイクの開始パケットであって、悪意の侵入者やウィルスが攻撃目標のサービスポートを探索する際に用いるTCP SYNパケットに基づいて不正アクセスが検知される。
【0035】
TCP(Transmission Control Protocol)受信パケット抽出部202は、宛先IPがホストコンピュータであるTCP受信パケットPinを抽出する。TCP送信パケット抽出部203は、送信元IPがホストコンピュータであるTCP送信パケットPoutを抽出する。
【0036】
図5は、TCPパケットのヘッダ構造を示した図であり、TCPパケットの送信元のアプリケーションを識別するための「送信元ポート番号」フィールド、宛先となるアプリケーションが待ち受けしている「宛先ポート番号」フィールド等と共に6ビットのフラグフィールドを含み、このフラグフィールド内に、TCP接続を要求する場合にセットされる「SYN(synchronize)フラグ」や「FUSHフラグ」フィールドが確保されている。
【0037】
不正アクセス検知部204は、前記各抽出部102,103により抽出されたTCPパケットを参照し、SYNプラグがセットされており、宛先ポート番号が相互に一致しているTCP受信パケットおよびTCP送信パケットが所定時間内に抽出されると、当該各TCPパケットの送受信を不正アクセスと判定する。
【0038】
図6は、本実施形態の動作を示したフローチャートであり、主に不正アクセス検知部204の動作を示している。
【0039】
ステップS11では、前記TCP受信パケット抽出部202によりTCP受信パケットが抽出されたか否かが判定される。TCP受信パケットが抽出されると、ステップS12では、当該受信パケットのSYNフラグがセットされているか否かが判定される。SYNフラグがセットされていればステップS13へ進み、当該受信パケットの宛先ポート番号が抽出されて一時記憶される。ステップS14では、不正アクセス判定タイマTがスタートする。
【0040】
ステップS15では、前記TCP送信パケット抽出部203によりTCP送信パケットが抽出されたか否かが判定される。TCP送信パケットが抽出されると、ステップS16では、当該送信パケットのSYNフラグがセットされているか否かが判定される。SYNフラグがセットされていればステップS17へ進み、当該送信パケットの宛先ポート番号が、前記一時記憶されている受信パケットの宛先ポート番号と比較される。
【0041】
前記ステップS15,S16,S17の判定が否定であればステップS20へ進み、前記不正アクセス判定タイマTがタイムアウトしているか否かが判定され、タイムアウトするまではステップS15へ戻って上記した各処理が繰り返される。不正アクセス判定タイマTがタイムアウトすると、ステップS21で不正アクセス判定タイマTをリセットした後にステップS11へ戻る。
【0042】
これに対して、前記ステップS17において、送信パケットの宛先ポート番号受信パケットの宛先ポート番号と一致していると判定されると、ステップS18では、送信されたTCP SYNパケットの宛先IPと受信されたTCP SYNパケットの送信元IPとが比較される。両者が不一致であればステップS19へ進み、前記各TCPパケットの送受信が不正アクセスと判定される。
【0043】
図7は、本発明に係る不正アクセス検知装置の第3実施形態のブロック図であり、前記と同一の符号は同一または同等部分を表している。本実施形態では、所定のUDPポートへのスキャンや攻撃パケットの送信の有無に基づいて不正アクセスが検知される。
【0044】
UDP(User Datagram Protocol)受信パケット抽出部302は、宛先IPがホストコンピュータであるUDP受信パケットを抽出する。UDP送信パケット抽出部303は、送信元IPがホストコンピュータであるUDP送信パケットを抽出する。
【0045】
図8は、UDPパケットのヘッダ構造を示した図であり、UDPパケットの送信元のアプリケーションを識別するための「送信元ポート番号」フィールド、UDPパケットの宛先となるアプリケーションが待ち受けしている「宛先ポート番号」フィールド、UDPパケットの長さを表す「UDPデータ長」フィールド、UDPパケットの整合性を検査するための「UDPチェックサム」フィールド、および「データ」フィールドを含む。
【0046】
不正アクセス検知部304は、前記各抽出部102,103により抽出されたUDPパケットを参照し、宛先ポート番号およびデータのいずれもが一致しているUDP受信パケットおよびUDP送信パケットが所定時間内に抽出されると、当該各UDPパケットの送受信を不正アクセスと判定する。
【0047】
図9は、本実施形態の動作を示したフローチャートであり、主に不正アクセス検知部304の動作を示している。
【0048】
ステップS31では、前記UDP受信パケット抽出部302によりUDP受信パケットが抽出されたか否かが判定される。UDP受信パケットが抽出されると、ステップS32では、当該受信パケットの宛先ポート番号およびデータが抽出されて一時記憶される。ステップS33では、不正アクセス判定タイマTがスタートする。
【0049】
ステップS34では、前記UDP送信パケット抽出部303によりUDP送信パケットが抽出されたか否かが判定される。UDP送信パケットが抽出されると、ステップS35では、当該送信パケットの宛先ポート番号およびデータが、前記一時記憶されている受信パケットの宛先ポート番号およびデータと比較される。
【0050】
前記ステップS34,S35の判定が否定であればステップS38へ進み、前記不正アクセス判定タイマTがタイムアウトしているか否かが判定され、タイムアウトするまではステップS34へ戻って上記した各処理が繰り返される。不正アクセス判定タイマTがタイムアウトすると、ステップS39で不正アクセス判定タイマTをリセットした後にステップS31へ戻る。
【0051】
これに対して、前記ステップS35において、送信パケットの宛先ポート番号およびデータが、それぞれ受信パケットの宛先ポート番号およびデータと一致していると判定されると、ステップS36では、UDP送信パケットの宛先IPとUDP受信パケットの送信元IPとが比較される。両者が不一致であればステップS37へ進み、前記各UDPパケットの送受信が不正アクセスと判定される。
【0052】
図10は、本発明に係る不正アクセス検知装置の第4実施形態のブロック図であり、本実施形態では、例えばtelnetを利用した踏み台攻撃であればTCP23番ポートに対して送信される、ポートスキャン用のTCP PUSHパケットに基づいて不正アクセスが検知される。
【0053】
TCP PUSHパケット(受信)抽出部402は、宛先IPがホストコンピュータであって、PUSHフラグのセットされているTCP PUSHパケットPinを抽出する。TCP PUSHパケット(送信)抽出部403は、送信元IPがホストコンピュータであるTCP PUSHパケットPoutを抽出する。
【0054】
不正アクセス検知部404は、前記各抽出部402,403により抽出された各TCP PUSHパケットを参照し、宛先ポート番号およびデータのうち、少なくともデータが相互に一致しているTCP PUSHパケットが所定時間内に送受信されると、当該各TCP PUSHパケットの送受信を不正アクセスと判定する。
【0055】
図11は、本実施形態の動作を示したフローチャートであり、主に不正アクセス検知部404の動作を示している。
【0056】
ステップS41では、前記TCP PUSHパケット(受信)抽出部402によりTCP PUSHパケットが抽出されたか否かが判定される。TCP PUSHパケットが抽出されると、ステップS42では、当該受信パケットの宛先ポート番号およびデータが抽出されて一時記憶される。ステップS43では、不正アクセス判定タイマTがスタートする。
【0057】
ステップS44では、前記TCP PUSHパケット(送信)抽出部403によりTCP PUSHパケットが抽出されたか否かが判定される。TCP PUSHパケットが抽出されると、ステップS45では、当該送信パケットの宛先ポート番号およびデータが、前記一時記憶されている受信パケットの宛先ポート番号およびデータと比較される。
【0058】
前記ステップS44,S45の判定が否定であればステップS48へ進み、前記不正アクセス判定タイマTがタイムアウトしているか否かが判定され、タイムアウトするまではステップS44へ戻って上記した各処理が繰り返される。不正アクセス判定タイマTがタイムアウトすると、ステップS49で不正アクセス判定タイマTをリセットした後にステップS41へ戻る。
【0059】
これに対して、前記ステップS45において、送信パケットの宛先ポート番号およびデータが、それぞれ受信パケットの宛先ポート番号およびデータと一致していると判定されると、ステップS46では、送信されたTCP SYNパケットの宛先IPと受信されたTCP SYNパケットの送信元IPとが比較される。両者が不一致であればステップS47へ進み、前記各TCPパケットの送受信が不正アクセスと判定される。
【0060】
なお、telnetアプリケーションのように、キーボードから入力された文字列が一文字ずつ異なるパケットのデータ部に格納されて送受信される場合には、パケット単位でデータを比較して不正アクセスを検知することが難しい。このような場合には、各パケット抽出部402,403あるいは不正アクセス検知部404が、複数のパケットに分散されている送信データ片および受信データ片をそれぞれ収集して所定長の送信データおよび受信データを構築し、両者を比較することが望ましい。
【0061】
また、上記した実施形態では、ステップS45において宛先ポート番号およびデータのいずれもが一致していることを条件に不正アクセスと判定しているが、侵入者が不正の発覚を恐れて故意にデータを異ならせる場合もあるので、宛先ポート番号の一致のみを条件に不正アクセスと判定するようにしても良い。
【0062】
図12は、本発明に係る不正アクセス検知装置の第5実施形態のブロック図であり、本実施形態では、踏み台攻撃であればTCP PUSHパケットが受信されたホストコンピュータからは、次の侵入先へ短時間のうちにTCPコネクションの確立要求が送信されることに着目し、TCP PUSHパケットの受信およびTCP SYNパケットの送信に基づいて不正アクセスが検知される。
【0063】
すなわち、第4実施形態のように、送受信されるTCP PUSHパケットの宛先ポート番号およびデータが一致している場合のみ不正アクセスと判断すると、例えば侵入者が最初のホストへtelnetで侵入し、その後、SSHによる暗号化通信で次のホストに侵入するといったように、アプリケーションを次々と変化させながらホストを渡り歩くと、データが変化するために不正アクセスを検知できなくなる。そこで、本実施形態では、侵入者がアプリケーションを次々と変化させながらホストを渡り歩く場合も、これを検知できるようにしている。
【0064】
TCP PUSHパケット(受信)抽出部502は、宛先IPがホストコンピュータであって、PUSHフラグのセットされているTCP PUSHパケットPinを抽出する。TCP SYNパケット(送信)抽出部503は、送信元IPがホストコンピュータであるTCP SYNパケットPoutを抽出する。
【0065】
不正アクセス検知部504は、前記各抽出部102,103により抽出された各TCP PUSHパケットおよびTCP SYNパケットが所定時間内に抽出されると、当該各TCPパケットの送受信を不正アクセスと判定する。
【0066】
図13は、本実施形態の動作を示したフローチャートであり、主に不正アクセス検知部204の動作を示している。
【0067】
ステップS51では、前記TCP PUSHパケット(受信)抽出部502によりTCP PUSHパケットが抽出されたか否かが判定される。TCP PUSHパケットが抽出されると、ステップS52では、不正アクセス判定タイマTがスタートする。ステップS53では、前記TCP SYNパケット(送信)抽出部503によりTCP SYNパケットが抽出されたか否かが判定される。TCP SYNパケットが抽出されなければステップS56へ進み、前記不正アクセス判定タイマTがタイムアウトしているか否かが判定され、タイムアウトするまではステップS53へ戻って上記した各処理が繰り返される。不正アクセス判定タイマTがタイムアウトすると、ステップS57で不正アクセス判定タイマTをリセットした後にステップS51へ戻る。
【0068】
これに対して、前記ステップS53においてTCP SYNパケットが抽出されるとステップS54へ進み、送信されたTCP SYNパケットの宛先IPと受信されたTCP PUSHパケットの送信元IPとが比較される。両者が不一致であればステップS55へ進み、前記各TCPパケットの送受信が不正アクセスと判定される。
【0069】
なお、上記した各実施形態では、ネットワークとホストコンピュータとを結ぶネットワークゲートウェイから取り込んだパケットに基づいて不正アクセスを検知するものとして説明したが、ホストコンピュータの内部で取り込んだパケットに基づいて不正アクセスを検知することもできる。
【0070】
図14は、本発明の第6実施形態の構成を示したブロック図であり、本実施形態では、ホストコンピュータ内で全てのパケットを監視するために、不正アクセス検知プロセス2はMAC層とIP層との間でパケットを取り込み、上記と同様の手順で不正アクセスを検知する。ただし、通信経路がSSLやTLSにより暗号化されている場合には、暗号化前の状態でなければパケットを参照できないので、図14に破線で示したように、不正アクセス検知プロセス2はアプリケーション層とTCP/UDP層との間でパケットを取り込む必要がある。
【0071】
なお、上記した各実施形態では、コンピュータで送受信されるパケットに基づいて不正アクセスを検知するものとして説明したが、不正アクセスの誤検知を防止して信頼性を向上させるためには、信頼できるホストコンピュータのアドレスを予め不正アクセス検知部104(204,304…)等に登録しておき、送受信されるパケットに基づいて不正アクセスと判定された場合であっても、相手ホストが前記信頼できるホストとして既登録であれば、不正アクセスと判定しないようにすることが望ましい。
【図面の簡単な説明】
【0072】
【図1】本発明に係る不正アクセス検知装置の第1実施形態のブロック図である。
【図2】ICMPパケットの構造を示した図である。
【図3】第1実施形態の動作を示したフローチャートである。
【図4】本発明に係る不正アクセス検知装置の第2実施形態のブロック図である。
【図5】TCPパケットのヘッダ構造を示した図である。
【図6】第2実施形態の動作を示したフローチャートである。
【図7】本発明に係る不正アクセス検知装置の第3実施形態のブロック図である。
【図8】UDPパケットのヘッダ構造を示した図である。
【図9】第3実施形態の動作を示したフローチャートである。
【図10】本発明に係る不正アクセス検知装置の第4実施形態のブロック図である。
【図11】第4実施形態の動作を示したフローチャートである。
【図12】本発明に係る不正アクセス検知装置の第5実施形態のブロック図である。
【図13】第5実施形態の動作を示したフローチャートである。
【図14】本発明に係る不正アクセス検知装置の第4実施形態のブロック図である。
【図15】踏み台攻撃の一例を模式的に表現した図である。
【符号の説明】
【0073】
1…不正アクセス検知装置
101…パケット取込部
102…ICMP受信パケット抽出部
103…ICMP送信パケット抽出部
104,204,304、404,504…不正アクセス検知部
202…TCP受信パケット抽出部
203…TCP送信パケット抽出部
302…UDP受信パケット抽出部
303…UDP送信パケット抽出部
402,502…TCP PUSHパケット(受信)抽出部
403…TCP PUSHパケット(送信)抽出部
503…TCP SYNパケット(送信)抽出部
【特許請求の範囲】
【請求項1】
TCP(Transmission Control Protocol)で送受信されるパケットに基づいてコンピュータへの不正アクセスを検知する不正アクセス検知装置において、
前記コンピュータで送受信されるTCP PUSHパケットを監視する送受信パケット監視手段と、
前記TCP PUSHパケットが受信されてから所定時間内に、当該パケットと宛先ポート番号およびデータのうち、少なくともデータが同一のTCP PUSHパケットが送信されると、当該各TCP PUSHパケットの送受信を不正アクセスと判定する不正アクセス判定手段とを含むことを特徴とする不正アクセス検知装置。
【請求項2】
前記不正アクセス判定手段は、前記送受信される各TCP PUSHパケットに分散して登録されているデータ片をそれぞれ収集して所定長の送受信データを構築し、両者を比較することを特徴とする請求項1に記載の不正アクセス検知装置。
【請求項3】
TCP(Transmission Control Protocol)で送受信されるパケットに基づいてコンピュータへの不正アクセスを検知する不正アクセス検知装置において、
前記コンピュータで送受信されるTCP パケットを監視する送受信パケット監視手段と、
TCP PUSHパケットが受信されてから所定時間内にTCP SYNパケットが送信されると、当該各TCPパケットの送受信を不正アクセスと判定する不正アクセス判定手段とを含むことを特徴とする不正アクセス検知装置。
【請求項4】
ICMP(Internet Control Message Protocol)で送受信されるパケットに基づいてコンピュータへの不正アクセスを検知する不正アクセス検知装置において、
前記コンピュータで送受信されるICMPエコーリクエストパケットを監視する送受信パケット監視手段と、
ICMPエコーリクエストパケットが受信されてから所定時間内にICMPエコーリクエストパケットが送信されると、当該各エコーリクエストパケットの送受信を不正アクセスと判定する不正アクセス判定手段とを含むことを特徴とする不正アクセス検知装置。
【請求項5】
TCP(Transmission Control Protocol)で送受信されるパケットに基づいてコンピュータへの不正アクセスを検知する不正アクセス検知装置において、
前記コンピュータで送受信されるTCP SYNパケットを監視する送受信パケット監視手段と、
前記TCP SYNパケットが受信されてから所定時間内に、宛先ポート番号が前記受信されたTCP SYNパケットと同一のTCP SYNパケットが送信されると、当該各TCP SYNパケットの送受信を不正アクセスと判定する不正アクセス判定手段とを含むことを特徴とする不正アクセス検知装置。
【請求項6】
UDP(User Datagram Protocol )で送受信されるパケットに基づいてコンピュータへの不正アクセスを検知する不正アクセス検知装置において、
前記コンピュータで送受信されるUDPパケットを監視する送受信パケット監視手段と、
前記UDPパケットが受信されてから所定時間内に、当該UDPパケットと宛先ポート番号およびデータが同一のUDPパケットが送信されると、当該各UDPパケットの送受信を不正アクセスと判定する不正アクセス判定手段とを含むことを特徴とする不正アクセス検知装置。
【請求項7】
前記送受信パケット監視手段は、ネットワークとコンピュータとを結ぶ経路上でパケットを監視することを特徴とする請求項1ないし6のいずれかに記載の不正アクセス検知装置。
【請求項8】
前記送受信パケット監視手段は、コンピュータ内において、MAC層とIP層との間でパケットを監視することを特徴とする請求項1ないし6のいずれかに記載の不正アクセス検知装置。
【請求項9】
前記送受信パケット監視手段は、コンピュータ内において、アプリケーション層とTCP/UDP層との間でパケットを監視することを特徴とする請求項1ないし6のいずれかに記載の不正アクセス検知装置。
【請求項10】
信頼できるコンピュータの識別情報を登録する手段をさらに具備し、
前記不正アクセス判定手段は、前記信頼できるコンピュータからのアクセスを不正アクセスと判定しないことを特徴とする請求項1ないし9のいずれかに記載の不正アクセス検知装置。
【請求項11】
前記受信パケットの送信元アドレスと送信パケットの宛先アドレスとを比較する手段を更に具備し、
前記不正アクセス判定手段は、前記送信元アドレスと宛先アドレスとが一致すると、当該各パケットの送受信を不正アクセスと判定しないことを特徴とする請求項1ないし10のいずれかに記載の不正アクセス検知装置。
【請求項1】
TCP(Transmission Control Protocol)で送受信されるパケットに基づいてコンピュータへの不正アクセスを検知する不正アクセス検知装置において、
前記コンピュータで送受信されるTCP PUSHパケットを監視する送受信パケット監視手段と、
前記TCP PUSHパケットが受信されてから所定時間内に、当該パケットと宛先ポート番号およびデータのうち、少なくともデータが同一のTCP PUSHパケットが送信されると、当該各TCP PUSHパケットの送受信を不正アクセスと判定する不正アクセス判定手段とを含むことを特徴とする不正アクセス検知装置。
【請求項2】
前記不正アクセス判定手段は、前記送受信される各TCP PUSHパケットに分散して登録されているデータ片をそれぞれ収集して所定長の送受信データを構築し、両者を比較することを特徴とする請求項1に記載の不正アクセス検知装置。
【請求項3】
TCP(Transmission Control Protocol)で送受信されるパケットに基づいてコンピュータへの不正アクセスを検知する不正アクセス検知装置において、
前記コンピュータで送受信されるTCP パケットを監視する送受信パケット監視手段と、
TCP PUSHパケットが受信されてから所定時間内にTCP SYNパケットが送信されると、当該各TCPパケットの送受信を不正アクセスと判定する不正アクセス判定手段とを含むことを特徴とする不正アクセス検知装置。
【請求項4】
ICMP(Internet Control Message Protocol)で送受信されるパケットに基づいてコンピュータへの不正アクセスを検知する不正アクセス検知装置において、
前記コンピュータで送受信されるICMPエコーリクエストパケットを監視する送受信パケット監視手段と、
ICMPエコーリクエストパケットが受信されてから所定時間内にICMPエコーリクエストパケットが送信されると、当該各エコーリクエストパケットの送受信を不正アクセスと判定する不正アクセス判定手段とを含むことを特徴とする不正アクセス検知装置。
【請求項5】
TCP(Transmission Control Protocol)で送受信されるパケットに基づいてコンピュータへの不正アクセスを検知する不正アクセス検知装置において、
前記コンピュータで送受信されるTCP SYNパケットを監視する送受信パケット監視手段と、
前記TCP SYNパケットが受信されてから所定時間内に、宛先ポート番号が前記受信されたTCP SYNパケットと同一のTCP SYNパケットが送信されると、当該各TCP SYNパケットの送受信を不正アクセスと判定する不正アクセス判定手段とを含むことを特徴とする不正アクセス検知装置。
【請求項6】
UDP(User Datagram Protocol )で送受信されるパケットに基づいてコンピュータへの不正アクセスを検知する不正アクセス検知装置において、
前記コンピュータで送受信されるUDPパケットを監視する送受信パケット監視手段と、
前記UDPパケットが受信されてから所定時間内に、当該UDPパケットと宛先ポート番号およびデータが同一のUDPパケットが送信されると、当該各UDPパケットの送受信を不正アクセスと判定する不正アクセス判定手段とを含むことを特徴とする不正アクセス検知装置。
【請求項7】
前記送受信パケット監視手段は、ネットワークとコンピュータとを結ぶ経路上でパケットを監視することを特徴とする請求項1ないし6のいずれかに記載の不正アクセス検知装置。
【請求項8】
前記送受信パケット監視手段は、コンピュータ内において、MAC層とIP層との間でパケットを監視することを特徴とする請求項1ないし6のいずれかに記載の不正アクセス検知装置。
【請求項9】
前記送受信パケット監視手段は、コンピュータ内において、アプリケーション層とTCP/UDP層との間でパケットを監視することを特徴とする請求項1ないし6のいずれかに記載の不正アクセス検知装置。
【請求項10】
信頼できるコンピュータの識別情報を登録する手段をさらに具備し、
前記不正アクセス判定手段は、前記信頼できるコンピュータからのアクセスを不正アクセスと判定しないことを特徴とする請求項1ないし9のいずれかに記載の不正アクセス検知装置。
【請求項11】
前記受信パケットの送信元アドレスと送信パケットの宛先アドレスとを比較する手段を更に具備し、
前記不正アクセス判定手段は、前記送信元アドレスと宛先アドレスとが一致すると、当該各パケットの送受信を不正アクセスと判定しないことを特徴とする請求項1ないし10のいずれかに記載の不正アクセス検知装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【公開番号】特開2006−33472(P2006−33472A)
【公開日】平成18年2月2日(2006.2.2)
【国際特許分類】
【出願番号】特願2004−210127(P2004−210127)
【出願日】平成16年7月16日(2004.7.16)
【新規性喪失の例外の表示】特許法第30条第1項適用申請有り 平成16年3月9日 社団法人情報処理学会発行の「情報処理学会第66回全国大会(平成16年)講演論文集」に発行
【出願人】(000208891)KDDI株式会社 (2,700)
【出願人】(504275292)
【Fターム(参考)】
【公開日】平成18年2月2日(2006.2.2)
【国際特許分類】
【出願日】平成16年7月16日(2004.7.16)
【新規性喪失の例外の表示】特許法第30条第1項適用申請有り 平成16年3月9日 社団法人情報処理学会発行の「情報処理学会第66回全国大会(平成16年)講演論文集」に発行
【出願人】(000208891)KDDI株式会社 (2,700)
【出願人】(504275292)
【Fターム(参考)】
[ Back to top ]