IPv4(Internet Protocol Version 4)アドレスの枯渇に伴い、今後はIPv6(Internet Protocol Version 6)への移行が進むと予測される。IPv4のセキュティモデルとしては、インターネットとイントラネットのように明確に分離されたネットワークの境界線上にファイアウォールを配置して集中的にトラフィックのチェックを行なう方式を用いることが多かった。なお、インターネットでは、グローバルアドレスが使用されている。イントラネットでは、プライベートアドレスが使用されている。
IPv4のセキュリティモデルにおいて、送信元のIPアドレスを詐称しているパケット(IPSA詐称パケット)を検出する方法としては、次の方法が考えられる。インターネットとイントラネットの境界線上に配置されたファイアウォールに、そのファイアウォールが接続されているサブネット情報の登録を物理ポート毎に予め行う。例えば、ファイアウォールに登録するサブネット情報として、ポート1側にグローバルアドレス、ポート2側にクラスAのプライベートアドレス、ポート3側にクラスB,Cのプライベートアドレスを設定する。ファイアウォールは、各物理ポートからの入力されたパケットの送信元アドレスが、予め登録されたサブネット情報と一致しないパケットをIPSA詐称パケットとして検出することができる。
しかしながら、例えば各ポートの先のネットワークが、X.X.X.X/8〜X.X.X.X/30の間で細かく細分化されているとする。さらに、細分化されたアドレス空間がファイアウォールの各ポートの先に分散して存在したとする(うまくアドレス集約が行えないケース)。この場合、登録するサブネット数が増大して実運用に耐えられなくなる可能性がある。
またIPv6移行により、今後は内部イントラネットにおいてもグローバルアドレスが使用されることから、従来のグローバルアドレスとプライベートアドレスの区分けによる最も単純な設定が使えなくなる。さらに、IPv6アドレスの記述自体が『2001:db1:xxxx::/48』や『2001:db1:xxxx:abcd::/64』 のようにIPv4のアドレス表記よりも煩雑となる。結果として、ファイアウォールにサブネット情報を逐一手動で登録する手法ではIPv6移行後のネットワークに対してはますます適用が難しくなると思われる。
また、上述のように、攻撃元ホスト、踏み台ホスト、攻撃先ホスト、及びゲートウェイとの位置関係によってはIPSA詐称パケットを検出できない場合がある。
そこで、本実施形態の一側面では、ネットワークの接続態様に関わらずに、さらに、予め検出のためのサブネット情報の登録も行なわずに、容易にIPSA詐称パケットを検出する送信元アドレス詐称判定システムについて説明する。
またIPSA詐称パケット検出時の確認方法に関しても、従来方式ではファイアウォールの管理画面にテキストベースのログ出力を行う場合が多い。しかし、この場合には、ログ情報の他に、別途ネットワークの論理構成図や物理構成図などの情報を用いながら攻撃経路やどの装置が攻撃されているのか等の解析を行う必要があるため、攻撃の全体像を迅速に把握することが難しい。
そこで、本実施形態では、さらに、攻撃経路やどの装置が攻撃されているのか等の情報を視覚的に表示することができる送信元アドレス詐称判定システムについて説明する。
図1は、本実施形態における送信元アドレス詐称判定システムの一例を示す。送信元アドレス詐称判定システム200は、通信情報検出装置1、送信元アドレス詐称判定装置2を含む。通信情報検出装置1は、検出部1a、通信情報判定部1b、送信部1cを含む。通信情報検出装置1の一例として、パケット検出装置12が挙げられる。送信元アドレス詐称判定装置2の一例として、管理サーバ14が挙げられる。
検出部1aは、中継装置9間を接続する通信線7によって伝送される通信情報を順次検出する。検出部1aの行う処理の一例としては、S11の処理が挙げられる。中継装置9の一例として、ルータ15が挙げられる。なお、中継装置9の他方は、ネットワーク8と接続されている。また、ネットワーク8には、同様に、通信情報検出装置1が配置されている。
通信情報判定部1bは、検出された通信情報が、通信情報に用いられる通信プロトコルに基づいて正常にコネクションを確立させた通信情報であるかを判定する。通信情報判定部1bの行う処理の一例としては、S17−4の処理が挙げられる。
送信部1cは、判定の結果、検出された通信情報が正常にコネクションを確立させた通信情報でない場合、検出された通信情報に関する検出情報を送信する。送信部1cの行う処理の一例として、S17−5の処理が挙げられる。
送信元アドレス詐称判定装置2は、収集部2a、検証部2b、経路情報取得部2c、詐称判定部2dを含む。
収集部2aは、通信情報検出装置1から送信された検出情報を収集する。収集部2aの行う処理の一例として、S21の処理が挙げられる。
検証部2bは、収集された検出情報を集約し、集約した検出情報に含まれる通信情報が通信プロトコルに基づいて正常にコネクションを確立させた通信情報であるかを検証する。検証部2bの行う処理の一例として、S24の処理が挙げられる。
経路情報取得部2cは、判定の結果、集約した検出情報に含まれる通信情報が通信プロトコルに基づいて正常にコネクションを確立させた通信情報でない場合、次の処理を行う。すなわち、経路情報取得部2cは、検出された通信情報のうち第1情報処理装置3から第2情報処理装置4へ送信される通信情報について、第2情報処理装置4が属するネットワーク10に属するいずれかの情報処理装置6に、経路情報を取得するように要求する。ここで、経路情報は、いずれかの情報処理装置6から通信情報の送信元アドレスまでの経路情報である。経路情報取得部2cは、いずれかの情報処理装置6から経路情報を取得する。経路情報取得部2cの行う処理の一例として、S53,S54の処理が挙げられる。情報処理装置6の一例として、末端ネットワーク装置13が挙げられる。
詐称判定部2dは、経路情報の結果が正常でない場合、または経路情報により示される経路と第1情報処理装置3から第2情報処理装置4への送信経路とが異なる場合、通信情報の送信元アドレスが詐称であると判定する。詐称判定部2dの行う処理の一例として、S55〜S58の処理が挙げられる。
このように構成することにより、パケットのIPSAの詐称を判定することができる。
通信情報は、トランスミッション・コントロール・プロトコル(TCP)ヘッダが付加された情報である。通信情報判定部1bは、検出された通信情報について、3ウェイハンドシェークに従って、次の処理を行う。すなわち、通信情報判定部1bは、TCPヘッダに含まれるTCPフラグがSYNである通信情報を検出後に、閾値時間内に、TCPフラグがSYN-ACKである通信情報及びTCPフラグがACKである通信情報を順に検出したかを判定する。
このように構成することにより、そのパケットが、3ウェイハンドシェークに従って、正常な接続シーケンスを完了したパケットかを判定することができる。
検証部2bは、送信元アドレス、送信先アドレス、TCPフラグに基づいて、収集された検出情報を集約する。検証部2bは、集約した検出情報に含まれる通信情報について、3ウェイハンドシェークに従って、次の処理を行う。すなわち、検証部2bは、TCPヘッダに含まれるTCPフラグがSYNである通信情報を検出後に、閾値時間内に、TCPフラグがSYN-ACKである通信情報及びTCPフラグがACKである通信情報を順に検出したかを判定する。
このように構成することにより、ネットワークのトポロジーのために、その通信情報検出装置1では異常接続シーケンスと判定されたものであっても、送信元−送信先間で正常接続シーケンスが成立している接続シーケンスをIPSA詐称判定の対象から除外できる。すなわち、イコールコストマルチパス構成のネットワークで端末間のTCP疎通経路が分散してしまうことの影響を排除することができる。
詐称判定部2dは、経路情報の結果が正常でない場合、通信情報の送信元アドレスが詐称であると判定する。または詐称判定部2dは、経路情報に含まれる中継装置のアドレスのうちのいずれかが第1情報処理装置から第2情報処理装置へ送信される通信情報を検出した通信情報検出装置のアドレス空間に含まれない場合、通信情報の送信元アドレスが詐称であると判定する。
このように構成することにより、IPSAの詐称を判定することができる。
通信線7が、複数の物理線の集合から形成された論理的に1つの通信線である。通信情報検出装置1は、物理線のそれぞれに配置される。同一の通信線を形成する物理線に配置された通信情報検出装置のうちの第1の通信情報検出装置以外の通信情報検出装置を第2の通信情報検出装置という。第2の通信情報検出装置の送信部1cは、検出された通信情報に関する検出情報を、第1の通信情報検出装置へ送信する。第1の通信情報検出装置の通信情報判定部1bは、通信情報が、通信情報に用いられる通信プロトコルに基づいて正常にコネクションを確立させた通信情報であるかを判定する。ここで、通信情報は、第2の通信情報検出装置から送信された検出情報の示す通信情報及び第1の通信情報検出装置の検出部1aにより検出された通信情報である。第1の通信情報検出装置の送信部1cは、判定の結果、通信情報が正常にコネクションを確立させた通信情報でない場合、通信情報に関する検出情報を送信する。
このように構成することにより、イーサチャネル区間に関して、第2の通信情報検出装置が代表となる第1の通信情報検出装置へ通信情報を集約させることにより、端末間のTCP通信がイーサチャネル区間を分散して疎通することの影響を回避することができる。
送信元詐称判定装置2は、さらに、登録部2e、画像生成部2f、付加部2g、表示制御部2hを含む。
登録部2eは、中継装置9、通信線7、及び経路情報を取得する情報処理装置6について、ネットワーク上のアドレスに関する情報を登録する。登録部2eの行う処理の一例としては、S61の処理が挙げられる。
画像生成部2fは、登録した情報に基づいて、中継装置9、通信線7、及び経路情報を取得する情報処理装置6の接続関係を生成する。画像生成部2fは、中継装置9、通信線7、及び経路情報を取得する情報処理装置6に対応するシンボルを接続関係に基づいて配置したネットワーク構成画像(ベースマップ)を生成する。画像生成部2fの行う処理の一例としては、S62の処理が挙げられる。ネットワーク構成画像の一例として、IPSA詐称パケット検出画面80が挙げられる。
表示制御部2hは、図29に示すようなクライアント−サーバ形態において、クライアントPCからの要求に従う。すなわち、表示制御部2hは、最新または過去の履歴の送信元IPアドレス詐称パケット検知情報の中から、任意の検知結果を、画像生成部2fにより生成されるベースマップ上にマッピングして、図36または図37に示すような検知画面の提供を行なう。付加部2gは、表示制御部2hが受信したクライアントPCからの画面要求に基づいて、要求と一致するIPSA詐称パケットの検知結果を画像生成部2fにより生成されるベースマップ上にマッピングする。表示制御部2hが行う処理の一例としては、S63、S65の処理が挙げられる。付加部2gが行う処理の一例としては、S62の処理が挙げられる。
このように構成することにより、IPSA詐称パケット検出画面80に、送信元アドレス詐称情報を表示させることができる。したがって、攻撃経路やどの装置が攻撃されているか等の情報を視覚的に表示することができる。
図2は、本実施形態におけるIPSA詐称パケット検出のためのネットワーク構成の一例を示す。監視対象のネットワーク11は、パケット検出装置(PD)12、末端ネットワーク装置(TND)13、管理サーバ14、ルータ15を含む。監視対象のネットワーク11内に、パケット検出装置12及び末端ネットワーク装置13が分散して配置されている。ルータ15間は、例えば通信ケーブル等の物理線で接続されている。ルータ15とルータ15、及びルータ15と末端ネットワーク装置13とは、論理ネットワークで接続されている。
ルータ15は、OSI(International Organization for Standardization)参照モデルにおけるネットワーク層(レイヤ3)のデータの転送処理を行う装置である。
パケット検出装置12は、ルータ15間のネットワークごとに1台ずつ配置される。また、イーサチャネルにより1つの論理ネットワークが複数の物理線で構成されている場合には、パケット検出装置12は、物理線ごとに配置される。パケット検出装置12は、パケット検出装置12自身が配置されている物理線を通過するパケット(SYN,SYN-ACK,ACK)を検出する。パケット検出装置12は、3ウェイハンドシェークに基づいて、検出したパケットが正常な接続シーケンスであるかを判定する。接続シーケンスが正常でない場合、パケット検出装置12は、その検出結果を管理サーバ14へ通知する。なお、パケット検出装置12の当該機能は、ファイアーウォールに設けられてもよい。
管理サーバ14は、パケット検出装置12による検出情報を収集し、収集した検出結果に基づいて、パケット検出装置12により異常と判定された接続シーケンスの検証を行う。3ウェイハンドシェークによる一連のパケット(SYN,SYN-ACK,ACK)のいずれかが他のパケットとは異なるルートを通ったためにパケット検出装置12では検出されず、異常な接続シーケンスと判定される場合もある。しかしながら、そのように局所的に異常な接続シーケンスであっても、ネットワーク11全体を見れば、送信元−送信先間では正常な接続シーケンスが成立している場合もある。そこで、管理サーバ14は送信元−送信先間では正常な接続シーケンスが成立しているかを検証する。管理サーバ14は、送信元−送信先間でも異常な接続シーケンスであると判定した場合、末端ネットワーク装置13に、異常な接続シーケンスのうちSYNパケットに設定されている送信元アドレスに対してトレースルートを発行するように依頼する。管理サーバ14は、その依頼の結果に基づいて、SYNパケットに設定されている送信元アドレスが詐称アドレスか否かを判定する。また、管理サーバ14は、検出結果を管理者のコンピュータに送信し、IPSA詐称パケットの送信元を特定するための支援機能も有している。
なお、本実施形態ではTCPの接続シーケンス判定であるため、3ウェイハンドシェークを用いたが、これに限定されず、通信プロトコルに応じた接続シーケンス判定方法を用いることができる。
末端ネットワーク装置13は、ネットワーク11の末端ネットワーク部分のセグメント毎に、1台ずつ配置される。末端ネットワーク装置13は、管理サーバ14からの依頼に応じて、異常な接続シーケンスのうちSYNパケットに設定されている送信元アドレスに対してトレースルートの発行を行う。なお、末端ネットワーク装置13は、末端ネットワーク装置13の当該機能を有するプログラムをインストールしたコンピュータでもよい。また、末端ネットワーク装置13の機能を有するプログラムは、攻撃を受けているコンピュータにインストールされていてもよい。
図3は、パケットの構成を示す。図3(A)は、パケットのデータ構造を示す。パケットは、IPヘッダ、TPC(Transmission Control Protocol)ヘッダ、データ部を含む。
図3(B)は、IPヘッダの構造を示す。IPヘッダは、バージョン、ヘッダ長、サービスタイプ、パケット長、識別子、フラグ、フラグメントオフセット、生存時間、プロトコル、ヘッダチェックサム、送信元IPアドレス、送信先IPアドレス、オプション、パディングの項目を有する。「送信元IPアドレス」(IPSA)には、送信元のIPアドレスがセットされる。「送信先IPアドレス」(IPDA)には、送信先のIPアドレスがセットされる。これ以外の項目については、本実施形態で言及しないので、省略する。
図3(C)は、TPCヘッダの構造を示す。TPCヘッダは、送信元ポート番号、送信先ポート番号、シーケンス番号、確認応答番号、ヘッダ長、予約ビット、TCPフラグ、ウィンドウサイズ、チェックサム、緊急ポインタ、オプション、パディングの項目を有する。「TCPフラグ」には、SYNフラグ、SYN-ACKフラグ、ACKフラグ等のフラグ値がセットされる。これ以外の項目については、本実施形態で言及しないので、省略する。
図4は、3ウェイハンドシェークによるTCPのコネクション確立について説明するための図である。図4(A)は、3ウェイハンドシェークによるコネクション確立の接続シーケンスを示す。図4(B)は、パケット検出装置による正常な接続シーケンスの検出処理について説明する図である。図4(A)及び図4(B)では、送信側から受信側へ送信されるパケットのIPSAには、送信側の正しいIPアドレス(「10.0.20.1/24」)が設定されているとする。
送信側がTCPフラグに「SYN」が設定されたSYNパケットを送信すると、SYNパケットは、パケット検出装置12を介して、受信側へ送信される。受信側がTCPフラグに「SYN-ACK」が設定されたSYN-ACKパケットを返信すると、SYN-ACKパケットは、パケット検出装置12を介して、送信側へ返信される。送信側は、TCPフラグに「SYN-ACK」が設定されたSYN-ACKパケットを送信すると、ACKパケットは、パケット検出装置12を介して、受信側へ送信される。
パケット検出装置12は、受信したパケットのSYNフラグを検出後、全てのシーケンスパケット(SYNパケット、SYN-ACKパケット、ACKパケット)が閾値時間内に検出されたことを条件に、正常な接続シーケンスと判定する。したがって、パケット検出装置12は、その条件を満たさない場合には、受信したパケットに基づくシーケンスは異常な接続シーケンスと判定する。
図5は、本実施形態の全体の流れを示す。ネットワーク11内のパケット検出装置12は、TCPの異常な接続シーケンスを監視する(S1)。異常な接続シーケンスを検出した場合、パケット検出装置12は、検出結果を管理サーバ14へ送信する(S2)。管理サーバ14はパケット検出装置12からのTCPの異常な接続シーケンスの検出結果を受信後、その検出結果をマージする。管理サーバ14は、そのマージした検出結果を用いて、そのパケット検出装置12では、正常な接続シーケンスが成立していない接続シーケンスであっても、送信元−送信先間では正常なTCP接続シーケンスが成立しているかを検証する(S3)。管理サーバ14は、検証の結果、異常と判定されたTCP接続シーケンスに対し、末端ネットワーク装置によるトレースルート発行の結果を用いて、TCP接続異常の原因がIPSA詐称によるものかどうかの判定を行う(S4)。
以下では、本実施形態をさらに詳述する。IPSA詐称パケットには、IPSAに、本来存在しないIPアドレスが設定されている場合と、IPSAに、実在するIPアドレスが設定されている場合とがある。まずは、図6を用いて、IPSAに、本来存在しないIPアドレスが設定されているIPSA詐称パケットのTCPシーケンスについて説明する。
図6は、本実施形態におけるIPSA詐称パケット(IPSAに本来存在しないIPアドレスが設定されている場合)の検出のためにTCPの異常接続シーケンスの監視について説明するための図である。図6の各装置及びルータの各ポートに付されている数値は、IPアドレス/サブネットマスクを示す。
図6のネットワークは、ルータ15としてレイヤー3スイッチ(L3SW)を用いる。また、末端のネットワークでは、レイヤー2スイッチ(L2SW)16を用いて、ネットワークが構成されている。
図6の上側にある末端のネットワークには、攻撃者の使用する端末(攻撃者端末)17と末端ネットワーク装置13がL2SW(16)と接続されている。図6の左側にある末端のネットワークには、末端ネットワーク装置13、サーバ18がL2SW(16)と接続されている。図6の右側にある末端のネットワークには、管理サーバ14、サーバ19、末端ネットワーク装置13がL2SW(16)と接続されている。サーバ19は、攻撃者の標的となるサーバである。
攻撃者端末17は、標的サーバ19に対してIPSA詐称パケットを送信する。パケットは、「IPSA」、「IPDA」、「TCPフラグ」、「データ」を含む。「IPSA」には、「送信元のIPアドレス(IPSA)」が設定される。「IPDA」には、「送信先のIPアドレス(IPDA)」が設定される。「TCPフラグ」には、「SYN(接続要求)」、「ACK(応答確認)」等のフラグが設定される。
攻撃者端末17のIPアドレスは、本来は、「10.0.20.1/24」である。しかしながら、図6においてIPSA詐称パケット21では、攻撃者端末のIPアドレスには、本来存在しない「10.0.99.99」が設定されている。また、IPSA詐称パケット21の「送信先のIPアドレス(IPDA)」には、標的サーバ19のIPアドレスが設定されている。
攻撃者端末17が標的サーバ19に対して、IPSA詐称パケット21(TCPフラグ値=「SYN」、SYNパケット)を送信する。すると、IPSA詐称パケット21は、パケット検出装置12(PD#2、PD#5、PD#3)を介して、標的サーバ19に送信される。標的サーバ19は、そのSYNパケットを受信すると、応答パケット(TCPフラグ値=「SYN- ACK」、SYN-ACKパケット)を送信する。
そのSYN-ACKパケットは、パケット検出装置12(PD#3)を介して、デフォルトゲートウェイL3SW(15)に送信される。デフォルトゲートウェイL3SW(15)は、SYN-ACKパケットに設定されたIPDAが存在しないので、そのSYN-ACKパケットを破棄する。そのため、パケット検出装置12(PD#2、PD#5)は、そのSYN-ACKパケットを受信することができない。また、SYN-ACKパケットを受信しなければ、送信元からそのSYN-ACKパケットに対応するACKパケットも送信されることがないので、パケット検出装置12(PD#3)は、そのACKパケットを受信することができない。したがって、パケット検出装置12(PD#2、PD#3、PD#5)では、不完全な接続シーケンスが検出されることになる。
以下では、図7〜図8を用いて、図5の場合におけるパケット検出装置12(PD#2、PD#3、PD#5)による接続シーケンスの判定について説明する。なお、図7、図8では、送信側(攻撃者端末17)から受信側(標的サーバ19)へ送信されるパケットのIPSAには、詐称IPアドレス(「10.0.99.99」)が設定されているとする。
図7は、図5の場合における、パケット検出装置(#3)による、IPSA詐称パケット(IPSAに本来存在しないIPアドレスが設定されている場合)に基づく異常シーケンスの検出処理について説明する図である。
図7(A)に示すように、送信側(攻撃している側)がSYNパケットを送信すると、SYNパケットは、パケット検出装置12(PD#3)を介して、受信側(攻撃されている側)へ送信される。受信側(攻撃されている側)がSYN-ACKパケットを返信すると、SYN-ACKパケットは、パケット検出装置12(PD#3)を介して、送信側(攻撃している側)へ返信される。ところが、上述したように、SYN-ACKパケットのIPDAが存在しないので、デフォルトゲートウェイL3SW(15)は、そのSYN-ACKパケットを破棄する。したがって、SYN-ACKパケットに対応するACKパケットは発生しないので、パケット検出装置12(PD#3)は、そのACKパケットを受信できない。
パケット検出装置12(PD#3)において、SYN-ACKパケットの検出後、一定時間経過後もACKパケットが検出されない場合、図7(B)に示すように、タイムアウトになる。この場合、パケット検出装置12(PD#3)は、異常接続シーケンスを検出したと判定する。なお、受信側(攻撃されている側)は、タイムアウト時間まで資源が占有され、待ち状態(TCPハーフオープン状態)となっている。
図8は、図5の場合における、パケット検出装置(PD#2,PD#5)による、IPSA詐称パケット(IPSAに本来存在しないIPアドレスが設定されている場合)に基づく異常シーケンスの検出処理について説明する図である。
図8(A)に示すように、送信側(攻撃している側)がSYNパケットを送信すると、SYNパケットは、パケット検出装置12(PD#2,PD#5)を介して、受信側(攻撃されている側)へ送信される。受信側(攻撃されている側)がSYN-ACKパケットを返信すると、受信側(攻撃されている側)はSYN-ACKパケットを送信する。
しかしながら、SYN-ACKパケットは、上述の通り、デフォルトゲートウェイL3SW(15)により破棄されるので、パケット検出装置12(PD#2,PD#5)へ送信されない。したがって、パケット検出装置12(PD#2,PD#5)では、SYNパケットの検出後、一定時間経過後もSYN-ACKパケットが検出されない場合、図8(B)に示すように、タイムアウト状態になる。この場合、パケット検出装置12(PD#2,PD#5)は、異常接続シーケンスを検出したと判定する。
次に、図9を用いて、IPSAに、実在するIPアドレスが設定されているIPSA詐称パケットのTCPシーケンスについて説明する。
図9は、本実施形態におけるIPSA詐称パケット(実在するIPアドレスが設定されている場合)の検出のためにTCPの異常接続シーケンスの監視について説明するための図である。ネットワーク11の構成は、図6と同様である。
攻撃者端末17のIPアドレスは、本来は、「10.0.20.1/24」である。しかしながら、図9においてIPSA詐称パケット21では、攻撃者端末のIPアドレスには、実在する他の装置(図9の例では、サーバ18)のIPアドレス「10.0.10.1」が設定されている。
攻撃者端末17が標的サーバ19に対して、IPSA詐称パケット21(SYNパケット)を送信する。すると、IPSA詐称パケット21は、パケット検出装置12(PD#2、PD#5、PD#3)を介して、標的サーバ19に送信される。標的サーバ19は、そのSYNパケットを受信すると、IPSA詐称パケット21に設定されているIPSAを送信先(すなわち、サーバ18)として、SYN-ACKパケットを送信する。L3SW(15a)は、SYN-ACKパケットを、パケット検出装置12(#6)側へ送信する。SYN-ACKパケットは、パケット検出装置12(PD#3、PD#6、PD#1)を介して、サーバ18に送信される。
サーバ18は、SYNパケットを送信していないので、その受信したSYN-ACKパケットを破棄する。したがって、パケット検出装置12(PD#1、PD#2、PD#3、PD#5、PD#6)では、不完全な接続シーケンスが検出されることになる。
以下では、図10〜図12を用いて、3ウェイハンドシェークによるコネクション確立のシーケンス及びパケット検出装置12(PD#1、PD#2、PD#3、PD#5、PD#6)による異常状態のシーケンスの判定について説明する。
図10は、パケット検出装置(PD#2,PD#5)による、IPSA詐称パケット(実在するIPアドレスが設定されている場合)に基づく異常シーケンスの検出処理について説明する図である。
図10(A)に示すように、送信側(攻撃している側)がSYNパケットを送信すると、SYNパケットは、パケット検出装置12(PD#2,PD#5)を介して、受信側(攻撃されている側)へ送信される。受信側(攻撃されている側)がSYN-ACKパケットを返信すると、図9で説明したように、L3SW(15a)により、SYN-ACKパケットは、パケット検出装置12(PD#6)側へ送信され、パケット検出装置12(PD#5)側へ送信されない。したがって、パケット検出装置12(PD#2,PD#5)は、SYN-ACKパケットを受信できない。
よって、パケット検出装置12(PD#2,PD#5)では、SYNパケットの検出後、一定時間経過後もSYN-ACKパケットが検出されないので、図10(B)に示すように、タイムアウトになる。この場合、パケット検出装置12(PD#2,PD#5)は、異常接続シーケンスを検出したと判定する。
図11は、パケット検出装置(PD#3)による、IPSA詐称パケット(実在するIPアドレスが設定されている場合)に基づく異常シーケンスの検出処理について説明する図である。
図11(A)に示すように、送信側(攻撃している側)がSYNパケットを送信すると、SYNパケットは、パケット検出装置12(PD#3)を介して、受信側(攻撃されている側)へ送信される。受信側(攻撃されている側)がSYN-ACKパケットを返信すると、SYN-ACKパケットは、パケット検出装置12(PD#3)を介して、送信側(攻撃している側)へ返信される。ところが、上述したように、L3SW(15a)は、SYN-ACKパケットをサーバ18へ送信する。サーバ18は、そのSYN-ACKパケットを破棄するので、そのSYN-ACKパケットに対応するACKパケットが送信されることはない。したがって、パケット検出装置12(PD#3)は、そのACKパケットを受信できない。
パケット検出装置12(PD#3)において、SYN-ACKパケットの検出後、一定時間経過後もSYN-ACKパケットが検出されない場合、図11(B)に示すように、タイムアウトになる。この場合、パケット検出装置12(PD#3)は、異常シーケンスを検出したと判定する。なお、受信側(攻撃されている側)は、タイムアウト時間まで資源が占有され、待ち状態(TCPハーフオープン状態)となっている。
図12は、パケット検出装置(PD#1,PD#6)による、IPSA詐称パケット(実在するIPアドレスが設定されている場合)に基づく異常シーケンスの検出処理について説明する図である。
図12(A)及び図12(B)に示すように、パケット検出装置(PD#1,PD#6)では、SYNパケットが未検出の状態でSYN-ACKパケットを検出する。この場合、パケット検出装置12(PD#1,PD#6)は、異常シーケンスを検出したと判定する。
図13は、本実施形態におけるパケット検出装置による検出イベントを管理サーバへ通知する処理を説明するための図である。例えば、図13において、パケット検出装置12(PD#2、PD#3、PD#5)は、異常接続シーケンスを検出すると、SNMP(Simple Network Management Protocol)トラップ機能により、管理サーバ14へ検出したイベントを通報する。
図13は、図6(IPSAに本来存在しないIPアドレスが設定されている場合)に対応する処理であるが、図9(実在する他のIPアドレスが設定されている場合)も、同様である。すなわち、図9には、パケット検出装置12(PD#1、PD#2、PD#3、PD#5、PD#6)は、異常接続シーケンスを検出すると、SNMPトラップ機能により、管理サーバ14へ検出したイベントを通報する。
なお、SNMPトラップの取りこぼし時のリカバリ対策として、管理サーバ14から各パケット検出装置12に対し、一定時間間隔ごとのポーリング処理を実施し、各ネットワークから検出イベントを収集するようにしてもよい。
次に、図14−図19を用いて、図6−図13で説明したパケット検出装置による異常接続シーケンス検出及び管理サーバへの検出結果の通知フローについて説明する。
図14は、本実施形態における、パケット検出装置の処理フローの一例を示す。パケット検出装置12は、図14−図19で説明するように、異常接続シーケンス検出及び管理サーバへの検出結果の通知を行う。
パケット検出装置12は、パケットを受信すると(S11)、受信したパケットのヘッダに基づいて、受信したパケットがTCPパケットであるか否かの判定を行う(S12)。受信したパケットがTCPパケットでない場合(S12で「No」)、処理がS11へ戻る。
受信したパケットがTCPパケットである場合(S12で「Yes」)、パケット検出装置12は、その受信パケットに含まれるTCPフラグをチェックする(S13)。TCPフラグが「SYN」である場合、パケット検出装置12は、3ウェイハンドシェーク検証処理1を行う(S14)。S14の処理の詳細は、図16を用いて説明する。TCPフラグが「SYN-ACK」である場合、パケット検出装置12は、3ウェイハンドシェーク検証処理2を行う(S15)。S15の処理の詳細は、図17を用いて説明する。TCPフラグが「ACK」である場合、パケット検出装置12は、3ウェイハンドシェーク検証処理3を行う(S16)。S16の処理の詳細は、図18を用いて説明する。TCPフラグが「SYN」、「SYN-ACK」、または「ACK」でない場合、処理がS11へ戻る。
S14〜S16(図16、図17、図18)では、パケット検出装置12は、異常接続シーケンスを判定するために、受信したパケットが、3ウェイハンドシェークによる正常接続シーケンスが成立する場合に受信すべきパケットであるかを判定する。この判定処理について図15を用いて説明する。
図15は、本実施形態における、異常接続シーケンスを判定するために、受信したパケットが、3ウェイハンドシェークによる正常接続シーケンスが成立する場合に受信すべきパケットであるかを判定する処理を説明するための図である。パケット検出装置12は、メモリ、ハードディスクドライブ(HDD)等の記憶装置を有する。
パケット検出装置12は、その記憶装置内に、受信したパケットを保持するためのバッファ領域として一時蓄積バッファ21(一時蓄積バッファ#1,#2,・・・#n)を確保する。一時蓄積バッファ#nは、3ウェイハンドシェークの接続シーケンス単位で作成される。一時蓄積バッファ#nには、例えば、「検出時間」、「IPSA」、「IPDA」、「TCPフラグ」のデータ項目が保持される。「検出時間」は、パケット検出装置12が、その受信パケットを検出した日時を示す。「IPSA」は、受信パケットの送信元のIPアドレス(IPSA)を示す。「IPDA」は、受信したパケットの送信先のIPアドレス(IPDA)を示す。「TCPフラグ値」は、受信したパケットのTCPフラグの値を示す。
また、パケット検出装置12は、記憶装置内に、検索エリア22を有する。検索エリア22は、情報を一時的に保持するメモリ上の作業領域である。
パケット検出装置12は、一時蓄積バッファ21に保持したパケットを用いて、3ウェイハンドシェークを完成させるための不足パケットを検索エリア22に登録する。すなわち、パケット検出装置12は、一時蓄積バッファ21に蓄積したパケットから、正常接続シーケンス成立のために、次に受信すべきパケットの「IPSA」「IPDA」「TCPフラグ値」を生成し、検索エリア22に登録する。
例えば、一時蓄積バッファ#1に、検出時間=「20xx.11.24-23:38:24.xxx」、IPSA=「10.0.30.1」、IPDA=「10.0.99.99」、TCPフラグ=「SYN-ACK」までのパケットが蓄積されている。この場合、3ウェイハンドシェークに基づいて正常接続シーケンスが成立するためには、次の受信パケットのIPSA、IPDA、TCPフラグ値は、IPSA=「10.0.99.99」、IPDA=「10.0.30.1」、TCPフラグ=「ACK」である。したがって、パケット検出装置12は、検索エリア22に、IPSA=「10.0.99.99」、IPDA=「10.0.30.1」、TCPフラグ値=「ACK」、該当バッファ=「#1」を登録する。
一時蓄積バッファ#2についても同様に、パケット検出装置12は、検索エリア22に、IPSA=「10.0.10.1」、IPDA=「10.0.30.1」、TCPフラグ=「ACK」、該当バッファ=「#2」を登録する。
そして、パケット検出装置12は、新たにパケットを受信すると、検索エリア22から、その受信したパケットの「IPSA」、「IPDA」、「TCPフラグ値」と一致するエントリを検索する。図15において、新たに受信したパケットが、IPSA=「10.0.10.1」、IPDA=「10.0.30.1」、TCPフラグ値=「ACK」の場合、検索エリア22に、その受信したパケットの「IPSA」、「IPDA」、「TCPフラグ値」と一致するエントリがある。この場合、そのエントリの有する項目「該当バッファ」には、一時蓄積バッファ「#2」が設定されている。したがって、パケット検出装置12は、その受信したパケットを一時蓄積バッファ#2へ蓄積する。
図16は、本実施形態における、SYNパケットを受信した場合の3ウェイハンドシェーク検証処理1(S14)の詳細フローの一例を示す。パケット検出装置12は、検索エリア22に、受信したパケットの「IPSA」「IPDA」「TCPフラグ値=SYN」と一致するエントリが登録されているかを検索する(S14−1)。
検索エリア22に、一致するエントリがない場合(S14−2で「No」)、パケット検出装置12は、3ウェイハンドシェーク異常判定のために、新規に、記憶装置に一時蓄積バッファ#nを確保する(S14−6)。
パケット検出装置12は、新規に確保した一時蓄積バッファ#nに、その受信したSYNパケットを一時保存する(S14−7)。パケット検出装置12は、一時蓄積バッファ管理処理を行う(S17)。S17については、図19で説明する。
検索エリア22に、一致するエントリがある場合(S14−2で「Yes」)、パケット検出装置12は、そのエントリに含まれるデータ項目「該当バッファ」に設定された一時蓄積バッファに、その受信したSYNパケットを一時保存する(S14−3)。パケット検出装置12は、検索エリア22から、一致したエントリを削除する(S14−4)。
パケット検出装置12は、正常接続シーケンスが成立するならば、次に受信すべきパケットの「IPSA」「IPDA」「TCPフラグ値=SYN-ACK」を含むエントリを検索エリア22に登録する(S14−5)。その後、処理がS11へ戻る。
図17は、本実施形態における、SYN-ACKパケットを受信した場合の3ウェイハンドシェーク検証処理2(S15)の詳細フローの一例を示す。パケット検出装置12は、検索エリア22に、受信したパケットの「IPSA」「IPDA」「TCPフラグ値=SYN-ACK」と一致するエントリが登録されているかを検索する(S15−1)。
検索エリア22に、一致するエントリがない場合(S15−2で「No」)、パケット検出装置12は、3ウェイハンドシェーク異常判定のために、新規に、記憶装置に一時蓄積バッファ#nを確保する(S15−6)。
パケット検出装置12は、新規に確保した一時蓄積バッファ#nに、その受信したSYN-ACKパケットを一時保存する(S15−7)。パケット検出装置12は、一時蓄積バッファ管理処理を行う(S17)。S17については、図19で説明する。
検索エリア22に、一致するエントリがある場合(S15−2で「Yes」)、パケット検出装置12は、そのエントリに含まれるデータ項目「該当バッファ」に設定された一時蓄積バッファに、その受信したSYN-ACKパケットを一時保存する(S15−3)。パケット検出装置12は、検索エリア22から、一致したエントリを削除する(S15−4)。
パケット検出装置12は、正常接続シーケンスが成立するならば、次に受信すべきパケットの「IPSA」「IPDA」「TCPフラグ値=ACK」を含むエントリを検索エリア22に登録する(S15−5)。その後、処理がS11へ戻る。
図18は、本実施形態における、ACKパケットを受信した場合の3ウェイハンドシェーク検証処理3(S16)の詳細フローの一例を示す。パケット検出装置12は、検索エリア22に、受信したパケットの「IPSA」「IPDA」「TCPフラグ値=ACK」と一致するエントリが登録されているかを検索する(S16−1)。
検索エリア22に、一致するエントリがない場合(S16−2で「No」)、パケット検出装置12は、3ウェイハンドシェーク異常判定のために、新規に、記憶装置に一時蓄積バッファ#nを確保する(S16−5)。
パケット検出装置12は、新規に確保した一時蓄積バッファ#nに、その受信したACKパケットを一時保存する(S16−6)。パケット検出装置12は、一時蓄積バッファ管理処理を行う(S17)。S17については、図19で説明する。
検索エリア22に、一致するエントリがある場合(S16−2で「Yes」)、パケット検出装置12は、そのエントリに含まれるデータ項目「該当バッファ」に設定された一時蓄積バッファに、その受信したACKパケットを一時保存する(S16−3)。パケット検出装置12は、検索エリア22から、一致したエントリを削除する(S16−4)。その後、処理がS11へ戻る。
図19は、本実施形態における、一時蓄積バッファ管理処理(S17)の詳細フローの一例を示す。パケット検出装置12は、一時蓄積バッファ内にパケット情報を書き込み後、閾値時間を計測するための閾値タイマを起動する(S17−1)。
パケット検出装置12は、閾値時間内に、その一時蓄積バッファに、新たにパケット情報の書き込みがあるか否かを判定する(S17−2)。閾値時間内に、その一時蓄積バッファに、新たにパケット情報の書き込みがある場合(S17−2で「Yes」)、パケット検出装置12は、3ウェイハンドシェークによる接続シーケンスが完了したか否かを判定する(S17−3)。一時蓄積バッファ21(#n)に、一組の接続シーケンスパケット(SYNパケット、SYN-ACKパケット、ACKパケット)が保存されている場合、パケット検出装置12は、3ウェイハンドシェークによる接続シーケンスが完了したと判定する。3ウェイハンドシェークによる接続シーケンスが完了したと判定した場合(S17−3で「Yes」)、パケット検出装置12は、記憶装置上に確保した一時蓄積バッファ#nの領域を解放する(S17−7)。その後、処理はS11へ戻る。
3ウェイハンドシェークによる接続シーケンスが完了していないと判定した場合(S17−3で「No」)、パケット検出装置12は、閾値タイマを再起動する(S17−4)。それから、処理はS17−2へ戻る。
S17−2において、閾値時間内に、その一時蓄積バッファに、新たにパケット情報の書き込みがある場合(S17−2で「No」)、パケット検出装置12は、異常接続シーケンスである旨を管理サーバ14へ通知する(S17−5)。この場合、パケット検出装置12は、一時蓄積バッファ21内の情報を含めて異常接続シーケンスである旨を管理サーバ14へ通知する。
管理サーバ14は、パケット検出装置12から異常接続シーケンス判定の検出結果を受信すると、その検出結果をマージして検出結果の検証を行なう。この検証は、ネットワークトポロジーの関係により、局所的にTCP 3ウェイハンドシェークが成立していない場合でも、他のルートを考慮すれば、TCP3 ウェイハンドシェークが成立している接続シーケンスを検証するために行う。
パケット検出装置12は、再送用に一時蓄積バッファ#nの情報を一定時間保持する(S17−6)。このとき、パケット検出装置12は、閾値タイマまたは蓄積バッファの件数などで保持時間を調整する。パケット検出装置12は、記憶装置上に確保した一時蓄積バッファ#nの領域を解放する(S17−7)。その後、処理はS11へ戻る。
管理サーバ14は、パケット検出装置12から異常接続シーケンス判定の検出結果を受信すると、その検出結果をマージして検出結果の検証を行なう。この検証は、ネットワークトポロジーの関係により、局所的にTCP 3ウェイハンドシェークが成立していない場合でも、他のルートを考慮すれば、TCP 3ウェイハンドシェークが成立している接続シーケンスを検証するために行う。
S17−5において述べたように、管理サーバ14は、パケット検出装置12から異常接続シーケンス判定の検出結果を受信すると、その検出結果をマージして検出結果の検証を行なう。これにより、図21で説明するように、イコールコストマルチパス構成のネットワークで端末間のTCP疎通経路が分散してしまうことの影響を排除することができる。またイーサチャネル区間に関しては、図22で説明するように、代表となるパケット検出装置12を設定することで端末間のTCP通信がイーサチャネル区間を分散して疎通することの影響を回避することができる。以下では、パケット検出装置12から収集した検出結果の検証について説明する。
図20は、本実施形態における異常接続シーケンスの検証処理を説明するための図である。管理サーバ14は、各パケット検出装置12の異常接続シーケンス検出結果を、IPSA、IPDA、検出日時等に基づいて、マージする。
図20において、検出結果31は、パケット検出装置12(PD#2,PD#5)から送信されたものである。検出結果31は、SYNパケットが検出されたので、パケット検出装置12(PD#2,PD#5)は、そのSYNパケットに対応するSYN-ACKパケットを待っていたが、タイムアウトになったことを示す。
検出結果32は、パケット検出装置12(PD#3)から送信されたものである。検出結果32は、SYNパケット及びSYN−ACKパケットが検出されたので、パケット検出装置12(PD#3)は、そのSYN−ACKパケットに対応するACKパケットを待っていたが、タイムアウトになったことを示す。
管理サーバ14は、図20に示すように、IPSA、IPDA、TCPフラグ値等に基づいて、2つ以上の検出結果をマージし、冗長な受信パケット情報を排除する。管理サーバ14は、このマージ結果に含まれる接続シーケンス毎に、3ウェイハンドシェークによる接続シーケンスが成立するかを判定する。管理サーバ14は、3ウェイハンドシェークによる接続シーケンスが成立しない不完全な接続シーケンスを、異常接続シーケンスとして再判定する。
さらに、図21、図22を用いて、異常接続シーケンスの検証処理について詳述する。
図21は、本実施形態における、イコールコストマルチパス条件下での異常接続シーケンスの検証処理による正常シーケンス判定例を示す。L3SW#1とL3SW#2の間は、イコールコストマルチパス設定がされ、たとえば、2つの物理線で接続されている。各物理線には、パケット検出装置12(PD#X1、PD#X2)が設定されている。L3SW#1は、送信側端末41と接続されている。L3SW#2は、サーバ42と接続されている。
パケット検出装置12(#X1)の検出結果43は、SYNパケットが検出された後、タイムアウト閾値内で、SYN-ACKパケットが受信されていないので、タイムアウトになっている。このことから、検出結果43の接続シーケンスは、異常と判定される。また、検出結果43では、タイムアウト閾値×3の時間内に、ACKパケットが検出されているとする。接続シーケンスが異常と判定されたことから、パケット検出装置12(PD#X1)は、検出結果43を異常接続シーケンスとして管理サーバ14へ送信する。
パケット検出装置12(#X2)の検出結果44では、SYNパケットが未検出のままで、SYN-ACKパケットが受信されているので、検出結果43の接続シーケンスは、異常と判定される。また、検出結果43において、SYN-ACKパケットを検出後、タイムアウト閾値内で、ACKパケットが受信されていないので、タイムアウトになっている。接続シーケンスが異常と判定されたことから、パケット検出装置12(PD#X2)は、検出結果44を異常接続シーケンスとして管理サーバ14へ送信する。
管理サーバ14は、パケット検出装置12から収集した異常接続シーケンス検出結果をマージする。具体的には、管理サーバ14は、収集した異常接続シーケンス検出結果を、IPSA,IPDAの組み合わせ、及びTCPフラグ値(SYN、SYN-ACK、ACK)の組み合わせ等に基づいて、マージする。管理サーバ14は、そのマージした検出結果に含まれる接続シーケンス毎に、3ウェイハンドシェークによる接続シーケンスが完成する接続シーケンスがあるかを判定する。3ウェイハンドシェークによる接続シーケンスが完成する接続シーケンスであれば、管理サーバ14は、そのシーケンスを正常接続シーケンスとして再判定する。
図22は、本実施形態におけるイーサチャネル区間配置時のパケット検出装置の動作を説明するための図である。L3SW#1とL3SW#2の間は、イーサチャネルで構成されている。イーサチャネルとは、複数の物理線を、1本の論理的なリンクとして使用する技術を示す。L3SW#1とL3SW#2の間は、複数の物理線で接続されている。各物理線には、パケット検出装置12(PD#X1、PD#X2、PD#X3)が設定されている。L3SW#1は、送信側端末41と接続されている。L3SW#2は、サーバ42と接続されている。
図22では、同一イーサチャネル区間に配置されたパケット検出装置12がグループ化され、その中の1台のパケット検出装置が代表パケット検出装置(代表PD)として設定されている。
代表パケット検出装置(代表PD)以外のパケット検出装置(配下PD)は、受信したパケット情報を代表PDへ送信する。
代表PDは、配下PDにより収集したパケット情報と、自身で受信したパケット情報を合わせて、異常接続シーケンスの検出処理を実施する。また、代表PDは、SNMPのトラップ機能を用いた検出イベント通知、管理サーバからのポーリングに対する応答などの、管理サーバ14との通信を行う。
図23は、本実施形態における検証テーブルの一例を示す。検証テーブル50は、管理サーバ14が、パケット検出装置12から収集した検出結果から異常接続シーケンスを検証するために用いるテーブルである。サーバ14はパケット検出装置12から送られてくる情報(S17−5で通知)を元に、検証テーブル50の構築を行う。図23(A)は、マージ処理前の検証テーブル50aを示す。図23(B)は、マージ処理後の検証テーブル50bを示す。
検証テーブル50は、「検出PD」51、「検出日時」52、「IPSA」53、「IPDA」54、「TCPフラグ」55のデータ項目を含む。「検出PD」51は、検出結果の収集元のパケット検出装置12を識別する情報が格納される。「PD検出日時」52は、パケット検出装置12により検出された日時を示す。「IPSA」53は、送信元のIPアドレスが格納される。「IPDA」54は、送信先のIPアドレスが格納される。「TCPフラグ」には、TCPフラグの値が格納される。
図24は、本実施形態における管理サーバによる異常接続シーケンスの検証処理フローの一例を示す。管理サーバ14は、パケット検出装置12より、一時蓄積バッファの内容を含めた異常接続シーケンス検出結果を受信する(S21)。管理サーバ14は、受信した異常接続シーケンス検出結果を、パケット検出装置12側の検出日時を用いて、図23(A)に示すように、検証テーブル50aに時系列に展開する(S22)。
管理サーバ14は、以下の条件をすべて満たしたパケット情報同士を、図23(B)に示すように、マージし、冗長なパケット情報を排除する(S23)。
(条件1)異なるパケット検出装置12が検出したパケット情報であること(同じパケット検出装置により検出されたパケット情報はマージしない)。
(条件2)IPSA、IPDA、TCPフラグ値が一致するパケット情報であること。
(条件3)マージ対象のパケット情報のうち、検出日時が最も早いパケット情報を起点として閾値時間内 (例えば10ms以下など)に収まるパケット情報であること。
S23の処理により、複数のパケット検出装置12で重複して検出されたパケット情報を1つにまとめることができる。
管理サーバ14は、マージした検証テーブル50bを用いて、3ウェイハンドシェークフローのルールに基づいて、接続シーケンスが正常であるか否かの再判定処理を行う(S24)。すなわち、管理サーバ14は、マージした検証テーブル50を用いてIPSAとIPDAの組み合わせが適切で、かつSYNパケット検出後に、閾値時間内ですべての接続シーケンスパケット(SYN、SYN-ACK、ACK)が検出された接続シーケンスであるかを判定する。管理サーバ14は、検証テーブル50bにより、閾値時間内で、「IPSA:A、IPDA:B、TCPフラグ値=SYN」、「IPSA:B、IPDA:A、TCPフラグ値=SYN-ACK」、「IPSA:A、IPDA:B、TCPフラグ値=ACK」のパケットが検出されたかを判定する。
IPSAとIPDAの組み合わせが適切で、かつSYNパケット検出後に、閾値時間内ですべての接続シーケンスパケットが検出された接続シーケンスである場合、管理サーバ14は、その接続シーケンスは正常であると判定する(S26)。一方、管理サーバ14は、S24で正常と判定されない接続シーケンスを異常接続シーケンスと判定する(S25)。
S25またはS26の処理後、管理サーバ14は、検証テーブル50の内容を消去する(S27)。
次に、上記の接続シーケンス検証処理で異常接続シーケンスと判定されたパケットについて、TCP接続異常の原因がIPSA詐称によるものかどうかのIPSA詐称判定を行う。なお、その検証処理で異常接続シーケンスと判定された接続シーケンスに対し、攻撃者が詐称したIPアドレスがネットワーク11上に存在するか否かで、そのIPSA詐称判定処理が異なる。詐称したIPアドレスがネットワーク11上に存在しない場合のIPSA詐称判定について、図25を用いて説明する。詐称したIPアドレスがネットワーク11上に存在する場合のIPSA詐称判定について、図26、図27を用いて説明する。
図25は、本実施形態における異常接続シーケンスと判定されたパケットがIPSA詐称パケット(IPSAに本来存在しないIPアドレスが設定されている場合)であるか否かの判定について説明するための図である。
管理サーバ14は、パケット検出装置12から収集した検出結果の中からSYN-ACK未応答のSYNパケットを抽出する。管理サーバ14は、抽出したSYNパケットよりIPSAとIPDAを抽出する(S31)。管理サーバ14は、抽出したIPDAとIPSAを使用して以下の処理を行なう。
管理サーバ14は、IPDAと同一セグメントに配置された末端ネットワーク装置(TND)13に対し、IPSA宛のトレースルート発行を依頼する。末端ネットワーク装置13は、その依頼に基づいて、IPSA宛のトレースルートを発行し、そのトレースルート発行結果を取得する。管理サーバ14は、末端ネットワーク装置13から、そのトレースルート発行結果を取得する(S32)。
管理サーバ14は、そのトレースルート発行結果及びパケット検出装置12の検出結果を用いて、以下の条件を満たした場合、S31で抽出したSYNパケットをIPSA詐称パケットと判定する(S33)。
条件1:トレースルート発行結果が異常であること。
条件2:抽出したSYNパケットの単位時間当たりの検出回数が閾値を超えること。
図26は、本実施形態における異常接続シーケンスと判定されたパケットがIPSA詐称パケット(実在するIPアドレスが設定されている場合)であるか否かの判定について説明するための図である。
管理サーバ14は、パケット検出装置12から収集した検出結果の中からSYN-ACK未応答のSYNパケットを抽出する。管理サーバ14は、抽出したSYNパケットよりIPSAとIPDAを抽出する(S41)。管理サーバ14は、抽出したIPDAとIPSAを使用して以下の処理を行なう。
管理サーバ14は、IPDAのサーバと同一セグメントに配置された末端ネットワーク装置(TND)13に対し、IPSA宛のトレースルート発行を依頼する。末端ネットワーク装置13は、その依頼に基づいて、IPSA宛のトレースルートを発行し、そのトレースルート発行結果を取得する。管理サーバ14は、末端ネットワーク装置13から、そのトレースルート発行結果を取得する(S42)。
管理サーバ14は、そのトレースルート発行結果及びパケット検出装置12の検出結果を用いて、以下の条件を満たした場合、S41で抽出したSYNパケットをIPSA詐称パケットと判定する(S43)。
条件1:トレースルート発行結果が正常であること。
条件2:トレースルート結果がS41で抽出したSYNパケットを検出したパケット検出装置12の配置ルートと不一致であること(図27参照)。
図27は、S43の判定における条件2について説明するための図である。PD検出ルートテーブル61は、S41で抽出されたパケットを検出した各パケット検出装置12が配置されたアドレス空間を示す。
管理サーバ14は、パケット検出装置12から収集した検出結果の中から、例えば、IPSA=10.0.10.1 and IPDA=10.0.30.1 and Protocol No=6(TCP) and Tcp flags=2 (SYN)の条件でパケット検出情報を抽出する。管理サーバ14は、該当パケットを検知したパケット検出装置と、該当のパケット検出装置が配置されたアドレス空間の情報をPD検出ルートテーブル61に格納する。なお、そのパケット検出装置12のアドレス空間についての情報は、管理サーバ14の記憶装置に予め格納されていてもよい。
トレースルート結果62は、末端ネットワーク装置13からIPアドレス「10.0.10.1」宛てのトレースルート結果である。
管理サーバ14は、トレースルート結果62とPD検出ルートテーブル61とを比較する。トレースルート結果62のうち「10.0.50.10」は、PD#3のアドレス空間「10.0.50.8/30」に含まれる。しかしながら、トレースルート結果62の、「10.0.30.254」、「10.0.40.9」、「10.0.40.2」、「10.0.10.1」は、いずれのパケット検出装置12のアドレス空間に含まれない。この場合、トレースルート結果62は、S41で抽出したSYNパケットを検出したパケット検出装置12の配置ルートと不一致である。
図28は、本実施形態における異常接続シーケンスと判定されたパケットがIPSA詐称パケットであるか否かの判定を行う処理フローの一例を示す。管理サーバ14は、パケット検出装置12から収集した検出結果の中からSYN-ACK未応答のSYNパケットを抽出する(S51)。管理サーバ14は、抽出したSYNパケットよりIPSAとIPDAを抽出する(S52)。管理サーバ14は、以下の処理に関しては、その抽出したIPDAとIPSAを使用する。
管理サーバ14は、IPDAのサーバと同一セグメントに配置された末端ネットワーク装置(TND)13に対し、IPSA宛のトレースルート発行を依頼する(S53)。末端ネットワーク装置13は、その依頼に基づいて、IPSA宛のトレースルートを発行し、そのトレースルート発行結果を取得する。末端ネットワーク装置13は、そのトレースルート発行結果を管理サーバ14へ送信する。管理サーバ14は、末端ネットワーク装置13から、そのトレースルート発行結果を取得する(S54)。
管理サーバ14は、取得したトレースルート発行結果が正常か否かを判定する(S55)。取得したトレースルート発行結果が異常(またはエラー)である場合、管理サーバ14は、S51で抽出したSYNパケットの単位時間当たりの検出回数が閾値を超えたか否かを判定する(S57)。SYNパケットの単位時間当たりの検出回数が閾値を超えた場合、管理サーバ14は、そのSYNパケットのIPSAが詐称であると判定する(S58)。
S55において、取得したトレースルート発行結果が正常である場合(S55で「Yes」)、S51で抽出されたSYNパケットの送信ルートとトレースルート発行結果とが一致するかを判定する(S56)。S56では、図27で説明したように、トレースルート発行結果に含まれる全てのIPアドレスが、S51で抽出されたSYNパケットを検出したパケット検出装置12の配置されたアドレス空間に含まれる場合、管理サーバ14はルートが一致すると判定する。
S56の判定の結果、S51で抽出されたSYNパケットの送信ルートとトレースルート発行結果とが一致しない場合(S56で「No」)、管理サーバ14は、そのSYNパケットのIPSAが詐称であると判定する(S58)。
このようにして、送信されたパケットのIPSAが詐称しているか否かを判定することができる。
次に、IPSA詐称パケット検出の視覚化について説明する。
図29は、本実施形態における、クライアントPCにIPSA詐称パケット検出画面を表示させるためのネットワーク構成の一例を示す。パーソナルコンピュータ(クライアントPC)71は、管理サーバ14とネットワーク72(例えば、インターネット、LAN(Local Area Network))で接続されている。
画面データ要求がクライアントPC71から管理サーバ14へ送信される(矢印73)。すると、管理サーバ14は、クライアントPC71側のWEBブラウザまたは専用アプリケーションソフトウェアに対して、図30〜図40で示すような画面データを提供する(矢印74)。
図30は、本実施形態におけるIPSA詐称パケット検出画面の一例を示す。IPSA詐称パケット検出画面80は、例えば、「ノードアイコン」81、「TNDアイコン」82、「ノードアイコン間を接続するリンク線」83、と「共通インフォメーションエリア」84、「インフォメーションエリア」85の要素を含む。
「ノードアイコン」81には、「IPアドレス」および「サブネット情報」の登録が可能である。「ノードアイコン間を接続するリンク線」83のうち、パケット検出装置12が配置されているリンクについては、太い実線で示す。「ノードアイコン間を接続するリンク線」83のうち、パケット検出装置12が未配置のリンクについては、太い破線で示す。「インフォメーションエリア」85は、図31で説明するように、ノードアイコンの設定画面においてサブネット情報が登録されると、「インフォメーションエリア」85が自動作成される。「インフォメーションエリア」85は、通常未表示である。
IPSA詐称パケット検出画面80に含まれる各要素を定義する画面を図31〜図35を用いて説明する。
図31は、本実施形態におけるノードアイコン定義画面の一例を示す。ノードアイコン定義画面90は、L2SW、L3SW等のネットワークを構成する各ノードの定義を設定するための画面である。ノードアイコン定義画面90は、機器名入力欄91、アイコン選択欄92、登録アドレス一覧93、追加ボタン94、削除ボタン95、サブネットアドレス一覧96、追加ボタン97、削除ボタン98を含む。
機器名入力欄91には、ノードアイコンに定義する機器名が入力される。アイコン選択欄92には、ノードアイコンの選択可能な絵柄が表示される。
登録アドレス一覧93には、ノードアイコンに定義する機器が有する「IPアドレス」及び「備考」が表示される。追加ボタン94を押下すると、登録アドレス一覧93にノードアイコンに定義する機器が有する「IPアドレス」及び「備考」を登録することができる。削除ボタン95を押すと、登録アドレス一覧93において選択された行を削除することができる。
サブネットアドレス一覧99には、ノードアイコンに定義する機器が収容するサブネットアドレスの「IPアドレス」及び「備考」が表示される。追加ボタン97を押下すると、サブネットアドレス一覧96にそのサブネットアドレスの「IPアドレス」及び「備考」を登録することができる。削除ボタン98を押すと、登録アドレス一覧93において選択された行を削除することができる。サブネットアドレス一覧96に登録すると、インフォメーションエリア85が自動的に生成される。
図32、図33、及び図34は、本実施形態におけるリンク線定義画面の一例を示す。リンク線定義画面100は、リンク線83毎に、リンク線の定義を設定するための画面である。リンク線定義画面100は、接続元入力欄101、接続元IPアドレス設定欄102、接続先入力欄103、接続先IPアドレス設定欄104を含む。さらに、リンク線定義画面100は、登録サブネット一覧105、追加ボタン106、削除ボタン107、イーサチャネル設定一覧108、追加ボタン109、削除ボタン110を含む。
接続元入力欄101には、接続元の機器名が入力される。接続元IPアドレス設定欄102には、接続元の機器のIPアドレスが設定される。接続先入力欄103には、接続先の機器名が入力される。接続先IPアドレス設定欄104には、接続先の機器のIPアドレスが設定される。
登録サブネット一覧105には、リンク線が属する「サブネットアドレス」及び「備考」が表示される。追加ボタン106を押下すると、登録サブネット一覧105に「サブネットアドレス」及び「備考」を登録することができる。削除ボタン107を押すと、登録サブネット一覧105において選択された行を削除することができる。
イーサチャネル設定一覧108には、リンク線に配置された「PD名」(パケット検出装置)、パケット検出装置の「IPアドレス」及び「ポート1方向」が表示される。「ポート1方向」とは、パケット検出装置の有する2つのポートのうちのポート1が、接続元入力欄101に設定された機器または接続先入力欄103に設定された機器のいずれかと接続されているかを示す。追加ボタン109を押下すると、イーサチャネル設定一覧108に「PD名」、「IPアドレス」及び「ポート1方向」を登録することができる。削除ボタン110を押すと、イーサチャネル設定一覧108において選択された行を削除することができる。
イーサチャネル設定一覧108へのパケット検出装置12の登録がない場合には、図32に示すように、リンク線83は点線表示される。イーサチャネル設定一覧108へ1つのパケット検出装置12を登録すると、図33に示すように、リンク線が実線表示される。イーサチャネル設定一覧108へパケット検出装置12を複数登録すると、図34に示すように、イーサチャネルマーク111が自動表示される。
図35は、本実施形態におけるTND定義画面の一例を示す。TND定義画面120は、各末端ネットワーク装置(TND)82の定義を設定するための画面である。TND定義画面90は、機器名入力欄121、アイコン選択欄122、登録アドレス一覧123、追加ボタン124、削除ボタン125を含む。
機器名入力欄121には、機器名に定義する機器名が入力される。アイコン選択欄122には、末端ネットワーク装置13の選択可能なアイコンの絵柄が表示される。
登録アドレス一覧93には、登録した「IPアドレス」及び「備考」が表示される。追加ボタン124を押下すると、登録アドレス一覧123に「IPアドレス」及び「備考」を登録することができる。削除ボタン125を押すと、登録アドレス一覧123において選択された行を削除することができる。
パケット検出装置12及び末端ネットワーク装置13による検出結果等は、ノードアイコン81、リンク線83、TNDアイコン82に予め定義された情報に基づいて、それぞれのアイコンやリンク線にマッピングして表示される。ただし画面上にマッピング可能な定義情報が存在しない場合には、共通インフォメーションエリア84へ、その検出結果等の表示が行われる。
管理サーバ14による異常接続シーケンス判定結果等は、ノードアイコン81、リンク線83、TNDアイコン82に予め定義された情報に基づいて、アイコンやリンク線にマッピングして表示される。ただし画面上にマッピング可能な定義情報が存在しない場合には、共通インフォメーションエリア84へ、その異常接続シーケンス判定結果等の表示が行われる。
図36は、本実施形態におけるIPSA詐称パケット検出時(IPSAに、実在しないIPアドレスが設定されている場合)の画面の表示例を示す。図37は、本実施形態におけるIPSA詐称パケット検出時(IPSAに、実在するIPアドレスが設定されている場合)の画面の表示例を示す。図36及び図37では、管理サーバ14は、以下のようなルールで画面上へのマッピング表示を行っている。
管理サーバ14は、パケット検出装置12によるIPSA詐称パケットの検出ルートを、パケット検出装置12が登録されたリンク線83上に矢印83aとしてマッピング表示する。管理サーバ14は、矢印83aの方向を、リンク線83に定義されたポート1方向の情報から計算する。すなわち、管理サーバ14は、リンク線83に定義されたポート1方向の情報に基づいて、パケット検出装置12の検出結果から、そのパケット検出装置12のいずれのポートからパケットが入力または出力されたかを検出する。これにより、管理サーバ14は、パケット検出装置12が配置されたルートを通過したパケットの通過方向を検出することができる。その結果、管理サーバ14は、IPSA詐称パケットを検出したパケット検出装置12の配置ルートを、例えば、強調表示させたり、色を替えて表示させることができる。よって、管理サーバ14は、矢印83aの向きにより、IPSA詐称パケットの疎通方向も表示させることができる。
管理サーバ14は、末端ネットワーク装置13による疎通確認結果を、「ノードアイコン間を接続するリンク線」83に定義されたIPアドレスに基づいて、リンク線上に強調させた矢印としてマッピング表示する。管理サーバ14は、強調させた矢印の方向を、リンク線に定義されたIPアドレスから計算する。すなわち、管理サーバ14は、リンク線に定義されたIPアドレスと、末端ネットワーク装置から得られたトレースルート結果に含まれるIPアドレスとが一致するリンク線をマッピングする。
管理サーバ14は、IPSA詐称パケットのあて先アドレス(IPDA)、すなわち標的サーバのIPアドレスを、インフォメーションエリア85aにマッピング表示する。管理サーバ14は、標的サーバのIPアドレスからその標的サーバのサブネットアドレスを計算する。それから、管理サーバ14は、ノードアイコン定義画面において登録したサブネットアドレスを用いて、その計算したサブネットアドレスと一致するサブネットアドレスが登録されたインフォーメーションエリアに標的サーバのIPアドレスを表示する。
管理サーバ14は、IPSA詐称パケットの送信元アドレス(IPSA)を、インフォメーションエリアに表示する。管理サーバ14は、IPSA詐称パケットの送信元アドレスから送信元アドレスのサブネットアドレスを計算する。管理サーバ14は、ノードアイコン定義画面90において登録したサブネットアドレスを用いて、その計算したサブネットアドレスと一致するサブネットアドレスが登録されたインフォーメーションエリア85にIPSA詐称パケットの送信元のIPアドレスを表示する。その計算したサブネットアドレスと一致するサブネットアドレスが登録されたインフォーメーションエリア85がない場合には、管理サーバ14は、共通インフォメーションエリア84にIPSAを表示する。図36の場合、詐称IPアドレスは、存在しないため、IPSA詐称パケット検出画面80上に一致する定義情報がない。したがって、この場合、詐称しているIPSAは、共通インフォーメーションエリア85に表示される。
また、図36、図37に示すように、ユーザがリンク線83(実線のリンク線)をクリックすると、管理サーバ14は、そのクリックしたリンク線に登録したパケット検出装置12に対応するIPSA詐称パケットの検出結果を表示するウィンドウ131を表示させる。ウィンドウ131に表示される検出内容には、例えば、「検出日時」、「IPSA」,「IPDA」,「TCPフラグ値」、「攻撃回数」が含まれる。これにより、より具体的な攻撃の規模や攻撃による影響などを把握することができる。
次に、攻撃元端末を特定するための支援機能について説明する。図37の例では、IPSA詐称パケット検出画面80より、ユーザは、IPSA詐称パケットの存在が疑われる被疑セグメントを絞り込む(手動オペレーション)。したがって、ユーザは、IPSA詐称パケット検出画面80上で詐称パケットが検出されたルート(強調された矢印の表示)の開始点を探すことにより、被疑セグメントを絞り込むことができる。
その後、ユーザが、被疑セグメントに配置された末端ネットワーク装置13のアイコン82をクリックすると、図38に示すように、IPSA詐称パケット送信端末を特定するための指示画面が表示される。
図38は、本実施形態におけるIPSA詐称パケット送信端末を特定するための指示画面の一例を示す。指示画面140は、「開始」ボタン141、「取消し」ボタン142を含む。「取消し」ボタン142を押下すると、指示画面140を閉じてIPSA詐称パケット検出画面80へ戻る。
「開始」ボタン141を押下すると、IPSA詐称パケット送信端末を特定するための処理が開始される。具体的には、管理サーバ14は、クリックされた末端ネットワーク装置13に対して、詐称していると判定したIPアドレス宛の通信(ICMP(Internet Control Message Protocol)エコーリクエストの送信など)を指示する。
末端ネットワーク装置13は、管理サーバ14からの指示に基づいて、詐称していると判定したIPアドレス宛の通信を実行する。通信の実行に伴い、末端ネットワーク装置13ではARP(Address Resolution Protocol)パケットによるアドレス解決の処理が行われる。詐称していると判定したIPアドレス宛への通信を試行後、当該末端ネットワーク装置13は、自装置内のARPテーブルをチェックする。末端ネットワーク装置13は、自装置内のARPテーブルに詐称IPアドレスに対応したMACアドレスを確認した場合、確認したMACアドレスを管理サーバ14に通知する。当該通知により、管理サーバ14は、IPSA詐称パケットを送信した端末を特定することができる。また、末端ネットワーク装置13は、詐称IPアドレスに対応したMACアドレスを確認出来なかった場合、該当する装置が存在ないことを管理サーバ14に通知する。この場合、管理サーバ14は、IPSA詐称パケットを送信した端末を特定することはできない。管理サーバ14は、末端ネットワーク装置13からの応答結果に基づいて、図39または図40に示すように、画面表示を実施する。
図39は、本実施形態におけるIPSA詐称パケットを送信した端末を特定した場合に表示される画面例である。上述したように、末端ネットワーク装置13から詐称IPアドレスに対応したMACアドレスが通知された場合、すなわちIPSA詐称パケットを送信した端末を特定した場合、図39(A)に示すように、画面150が表示される。「了解」ボタン151を押下すると、画面150は閉じて、図39(B)または図39(C)に示すように、IPSA詐称パケット検出画面80に、IPSA詐称パケットを送信した端末として特定された端末に関する情報が表示される。
図39(B)は、IPSA詐称パケット(IPSAに、実在しないIPアドレスが設定されている場合)を送信した端末として特定された端末についての表示例を示す。図39(C)は、IPSA詐称パケット(IPSAに、実在するIPアドレスが設定されている場合)を送信した端末として特定された端末についての表示例を示す。この場合、その特定された端末が接続されているL2SW等のノードアイコンのインフォメーションエリアに、詐称IPSA及びその端末の物理アドレス(MACアドレス)が表示される。
図40は、本実施形態におけるIPSA詐称パケットを送信した端末を特定することができなかった場合に表示される画面例を示す。IPSA詐称パケットを送信した端末を特定できなかった場合、図40に示すように、画面160が表示される。「了解」ボタン161を押下すると、画面150は閉じて、IPSA詐称パケット検出画面80に戻る。
次に、図41A及び図42を用いて、本実施形態における、IPSA詐称パケット検出画面を用いて、IPSA詐称端末検出の検出結果の表示処理について説明する。
図41は、本実施形態におけるベースマップ画像の生成処理フローを示す。ユーザは、クライアントPC71を用いて、図31〜図35の定義画面を用いて、監視対象となるネットワーク11の構成要素に対して、情報を設定する(S61)。すると、管理サーバ14は、画像生成部2fとして機能して、図31〜図35の定義画面に設定された情報に基づいて、ネットワークを構成する画像(ベースマップ画像)を生成する(S62)。
管理サーバ14は、最新または過去の履歴の送信元IPアドレス詐称パケット検知情報の中から、任意の検知結果を、生成されるベースマップ上にマッピングして、図36又は図37に示すようなIPSA詐称パケット検出画面80を生成する。管理サーバ14は、その生成したIPSA詐称パケット検出画面80の提供をクライアントPC71に対して行う。
図42は、本実施形態におけるIPSA詐称端末検出の検出結果の表示処理フローを示す。図36及び図37で説明したように、IPSA詐称パケット検出画面80上には、詐称パケットが検出されたルートが矢印で表示される。表示装置に表示されたIPSA詐称パケット検出画面80上で詐称パケットが検出されたルート(強調された矢印の表示)の開始点を探すことにより、被疑セグメントを絞り込む。ユーザは、その絞り込んだ被疑セグメントにある末端ネットワーク装置のアイコンをクリックすると、指示画面140が表示される。ユーザが、指示画面140を用いて、IPSA詐称パケット送信端末を特定するための処理開始を指示する。すると、管理サーバ14は、表示制御部2hとして機能して、クライアントPC71からその指示情報を受信する(S63)。
その指示情報に基づいて、管理サーバ14は、IPSA詐称端末の検出処理を行う。すなわち、管理サーバ14は、付加部2gとして機能して、クライアントPC71からのIPSA詐称端末の検出要求に基づいて、ベースマップ画像にIPアドレス詐称アドレスの検知結果をマッピングする(S64)。この処理では、管理サーバ14は、S58において詐称していると判定したIPSAの属するネットワークに属する末端ネットワーク装置13に対して、詐称していると判定したIPアドレス宛の通信(ICMP)エコーリクエストの送信など)を指示する。
末端ネットワーク装置13は、管理サーバから指示情報を受信する。すると、末端ネットワーク装置13は、管理サーバ14からの指示に基づいて、詐称していると判定したIPアドレス宛の通信を実行する。通信の実行に伴い、末端ネットワーク装置13ではARP(Address Resolution Protocol)パケットによるアドレス解決の処理が行われる。詐称していると判定したIPアドレス宛への通信を試行後、当該末端ネットワーク装置13は、自装置内のARPテーブルをチェックする。末端ネットワーク装置13は、自装置内のARPテーブルに詐称IPアドレスに対応したMACアドレスを確認した場合、確認したMACアドレスを管理サーバ14に通知する。当該通知により、管理サーバ14は、IPSA詐称パケットを送信した端末を特定することができる。また、末端ネットワーク装置13は、詐称IPアドレスに対応したMACアドレスを確認出来なかった場合、該当する装置が存在ないことを管理サーバ14に通知する。この場合、管理サーバ14は、IPSA詐称パケットを送信した端末を特定することはできない。
管理サーバ14は、表示制御部2hとして機能して、その要求されたIPSA詐称パケット検出画面80の画面データをクライアントPC71に送信する(S65)。すなわち、管理サーバ14は、末端ネットワーク装置13からの応答結果に基づいて、図39または図40に示すように、画面表示を実施する。
以上の動作により攻撃している端末のハードウェアアドレスを特定することにより、実際に攻撃している端末の特定がさらに容易となる。また、ルータやファイアウォールなどに対し、予め検出用のサブネット情報の登録を行なわなくてもIPSA詐称パケットの検出が行なえる。また、本実施形態によれば、マップ表示を利用した攻撃経路の把握及び攻撃している端末のハードウェアアドレス(MACアドレス)の特定支援機能を利用することができる。これにより、テキストベースのログイメージで詐称IPSAの検出結果確認を行う方式と比較して、攻撃している端末の特定が格段に行いやすくなる。
図43は、本実施形態を適用したコンピュータのハードウェア環境の構成ブロック図である。コンピュータ170は、本実施形態の処理を行うプログラムを読み込むことにより、パケット検出装置12、末端ネットワーク装置13、または管理サーバ14として機能する。
コンピュータ170は、出力I/F171、CPU172、ROM173、通信I/F174、入力I/F175、RAM176、記憶装置177、読み取り装置178、バス179を含む。コンピュータ170は、出力機器181、及び入力機器182と接続可能である。
ここで、CPUは、中央演算装置を示す。ROMは、リードオンリメモリを示す。RAMは、ランダムアクセスメモリを示す。I/Fは、インターフェースを示す。バス179には、出力I/F171、CPU172、ROM173、通信I/F174、入力I/F175、RAM176、記憶装置177、読み取り装置178が接続されている。読み取り装置178は、可搬型記録媒体を読み出す装置である。出力機器181は、出力I/F171に接続されている。入力機器182は、入力I/F175に接続されている。
記憶装置177としては、ハードディスクドライブ、フラッシュメモリ装置、磁気ディスク装置など様々な形式の記憶装置を使用することができる。
記憶装置177またはROM173には、例えば、本実施形態で説明した処理を実現するプログラム等が格納されている。コンピュータ170がパケット検出装置12である場合、RAM176は、たとえば、一時蓄積バッファ領域を確保したり、作業領域として使用したりすることができる。コンピュータ170が管理サーバ14である場合、記憶装置177には、パケット検出装置12から収集した検出結果、PD検出ルートテーブル61、及び図31〜図35の定義画面にて設定した情報等が格納される。
CPU172は、記憶装置177等に格納した本実施形態で説明した処理を実現するプログラムを読み出し、当該プログラムを実行する。
本実施形態で説明した処理を実現するプログラムは、プログラム提供者側から通信ネットワーク180、および通信I/F174を介して、例えば記憶装置177に格納してもよい。また、本実施形態で説明した処理を実現するプログラムは、市販され、流通している可搬型記憶媒体に格納されていてもよい。この場合、この可搬型記憶媒体は読み取り装置178にセットされて、CPU172によってそのプログラムが読み出されて、実行されてもよい。可搬型記憶媒体としてはCD−ROM、フレキシブルディスク、光ディスク、光磁気ディスク、IC(integrated circuit)カード、USB(Universal Serial Bus)メモリ装置など様々な形式の記憶媒体を使用することができる。このような記憶媒体に格納されたプログラムが読み取り装置178によって読み取られる。
また、入力機器182には、キーボード、マウス、電子カメラ、ウェブカメラ、マイク、スキャナ、センサ、タブレット、タッチパネルなどを用いることが可能である。また、出力機器181には、ディスプレイ、プリンタ、スピーカなどを用いることが可能である。また、ネットワーク180は、インターネット、LAN(Local Area Network)、WAN(Wide Area Network)、専用線、有線、無線等の通信網であってよい。
なお、本実施形態は、以上に述べた実施の形態に限定されるものではなく、本実施形態の要旨を逸脱しない範囲内で種々の構成または実施形態を取ることができる。
上記実施形態に関し、更に以下の付記を開示する。
(付記1)
中継装置間を接続する通信線によって伝送される通信情報を順次検出する検出部と、
検出された前記通信情報が、該通信情報に用いられる通信プロトコルに基づいて正常にコネクションを確立させた通信情報であるかを判定する通信情報判定部と、
前記判定の結果、前記検出された通信情報が前記正常にコネクションを確立させた通信情報でない場合、該検出された通信情報に関する検出情報を送信する送信部と、
を備える、通信情報検出装置と、
前記通信情報検出装置から前記送信された検出情報を収集する収集部と、
収集された前記検出情報を集約し、集約した該検出情報に含まれる前記通信情報が前記通信プロトコルに基づいて正常にコネクションを確立させた通信情報であるかを検証する検証部と、
前記判定の結果、前記集約した検出情報に含まれる前記通信情報が前記通信プロトコルに基づいて正常にコネクションを確立させた通信情報でない場合、該検出された通信情報のうち第1情報処理装置から第2情報処理装置へ送信される通信情報について、該第2情報処理装置が属するネットワークに属するいずれかの情報処理装置に、前記通信情報の送信元アドレスまでの経路情報を取得するように要求し、該いずれかの情報処理装置から該経路情報を取得する経路情報取得部と、
前記経路情報の結果が正常でない場合、または該経路情報により示される経路と前記第1情報処理装置から第2情報処理装置への送信経路とが異なる場合、前記通信情報の送信元アドレスが詐称であると判定する詐称判定部と、
を備える送信元アドレス詐称判定装置と、
を備えることを特徴とする送信元アドレス詐称判定システム。
(付記2)
前記通信情報は、トランスミッション・コントロール・プロトコル(TCP)ヘッダが付加された情報であり、
前記通信情報判定部は、前記検出された通信情報について、3ウェイハンドシェークに従って、前記TCPヘッダに含まれるTCPフラグがSYNである通信情報を検出後に、閾値時間内に、前記TCPフラグがSYN-ACKである前記通信情報及び前記TCPフラグがACKである前記通信情報を順に検出したかを判定する
ことを特徴とする付記1に記載の送信元アドレス詐称判定システム。
(付記3)
前記検証部は、送信元アドレス、送信先アドレス、前記TCPフラグに基づいて、前記収集された検出情報を集約し、該集約した検出情報に含まれる通信情報について、3ウェイハンドシェークに従って、前記TCPヘッダに含まれるTCPフラグがSYNである通信情報を検出後に、閾値時間内に、前記TCPフラグがSYN-ACKである前記通信情報及び前記TCPフラグがACKである前記通信情報を順に検出したかを判定する
ことを特徴とする付記2に記載の送信元アドレス詐称判定システム。
(付記4)
前記詐称判定部は、前記経路情報の結果が正常でない場合、または該経路情報に含まれる前記中継装置のアドレスのうちのいずれかが前記第1情報処理装置から第2情報処理装置へ送信される通信情報を検出した前記通信情報検出装置のアドレス空間に含まれない場合、前記通信情報の送信元アドレスが詐称であると判定する
ことを特徴とする付記1に記載の送信元アドレス詐称判定システム。
(付記5)
前記通信線が、複数の物理線の集合から形成された論理的に1つの通信線であり、
前記通信情報検出装置は、前記物理線のそれぞれに配置され、
同一の前記通信線を形成する前記物理線に配置された前記通信情報検出装置のうちの第1の通信情報検出装置以外の前記第2の通信情報検出装置の前記送信部は、前記検出された通信情報に関する検出情報を、前記第1の通信情報検出装置へ送信し、
前記第1の通信情報検出装置の前記通信情報判定部は、前記第2の通信情報検出装置から送信された検出情報の示す通信情報及び前記第1の通信情報検出装置の検出部により検出された該通信情報が、該通信情報に用いられる通信プロトコルに基づいて正常にコネクションを確立させた通信情報であるかを判定し、
前記第1の通信情報検出装置の前記送信部は、前記判定の結果、前記通信情報が前記正常にコネクションを確立させた通信情報でない場合、該通信情報に関する検出情報を送信する
ことを特徴とする付記1に記載の送信元アドレス詐称判定システム。
(付記6)
前記送信元詐称判定装置は、さらに、
前記中継装置、前記通信線、及び前記経路情報を取得する情報処理装置について、ネットワーク上のアドレスに関する情報を登録する登録部と、
前記登録した情報に基づいて、前記中継装置、前記通信線、及び前記経路情報を取得する情報処理装置の接続関係を生成し、前記中継装置、前記通信線、及び前記経路情報を取得する情報処理装置に対応するシンボルを該接続関係に基づいて配置したネットワーク構成画像を生成する画像生成部と、
前記詐称していると判定された前記送信元アドレスに基づいて、前記ネットワーク構成画像に、前記通信情報の送信元アドレスが詐称である旨を表す送信元アドレス詐称情報を付加する付加部と、
前記送信元アドレス詐称情報を付加したネットワーク構成画像を表示させる表示制御部と、
を備えることを特徴とする付記1に記載の送信元アドレス詐称判定システム。
(付記7)
中継装置間を接続する通信線によって伝送される通信情報を順次検出する検出部と、
検出された前記通信情報が、該通信情報に用いられる通信プロトコルに基づいて正常にコネクションを確立させた通信情報であるかを判定する通信情報判定部と、
前記判定の結果、前記検出された通信情報が前記正常にコネクションを確立させた通信情報でない場合、該検出された通信情報に関する検出情報を送信する送信部と、
を備えることを特徴とする通信情報検出装置。
(付記8)
前記通信情報は、トランスミッション・コントロール・プロトコル(TCP)ヘッダが付加された情報であり、
前記通信情報判定部は、前記検出された通信情報について、3ウェイハンドシェークに従って、前記TCPヘッダに含まれるTCPフラグがSYNである通信情報を検出後に、閾値時間内に、前記TCPフラグがSYN-ACKである前記通信情報及び前記TCPフラグがACKである前記通信情報を順に検出したかを判定する
ことを特徴とする付記7に記載の通信情報検出装置。
(付記9)
中継装置間を接続する通信線によって伝送される通信情報が順次検出され、検出された該通信情報が、該通信情報に用いられる通信プロトコルに基づいて正常にコネクションを確立させた通信情報でない場合に、該検出された通信情報に関する検出情報を収集する収集部と、
収集された前記検出情報を集約し、集約した該検出情報に含まれる前記通信情報が前記通信プロトコルに基づいて正常にコネクションを確立させた通信情報であるかを検証する検証部と、
前記判定の結果、前記集約した検出情報に含まれる前記通信情報が前記通信プロトコルに基づいて正常にコネクションを確立させた通信情報でない場合、該検出された通信情報のうち第1情報処理装置から第2情報処理装置へ送信される通信情報について、該第2情報処理装置が属するネットワークに属するいずれかの情報処理装置に、前記通信情報の送信元アドレスまでの経路情報を取得するように要求し、該いずれかの情報処理装置から該経路情報を取得する経路情報取得部と、
前記経路情報の結果が正常でない場合、または該経路情報により示される経路と前記第1情報処理装置から第2情報処理装置への送信経路とが異なる場合、前記通信情報の送信元アドレスが詐称であると判定する詐称判定部と、
を備える送信元アドレス詐称判定装置。
(付記10)
前記検証部は、送信元アドレス、送信先アドレス、前記TCPフラグに基づいて、前記収集された検出情報を集約し、該集約した検出情報に含まれる通信情報について、3ウェイハンドシェークに従って、前記TCPヘッダに含まれるTCPフラグがSYNである通信情報を検出後に、閾値時間内に、前記TCPフラグがSYN-ACKである前記通信情報及び前記TCPフラグがACKである前記通信情報を順に検出したかを判定する
ことを特徴とする付記9に記載の送信元アドレス詐称判定装置。
(付記11)
前記詐称判定部は、前記経路情報の結果が正常でない場合、または該経路情報に含まれる前記中継装置のアドレスのうちのいずれかが前記第1情報処理装置から第2情報処理装置へ送信される通信情報を検出した前記通信情報検出装置のアドレス空間に含まれない場合、前記通信情報の送信元アドレスが詐称であると判定する
ことを特徴とする付記9に記載の送信元アドレス詐称判定装置。
(付記12)
前記通信線が、複数の物理線の集合から形成された論理的に1つの通信線であり、
前記通信情報検出装置は、前記物理線のそれぞれに配置され、
同一の前記通信線を形成する前記物理線に配置された前記通信情報検出装置のうちの第1の通信情報検出装置以外の前記第2の通信情報検出装置の前記送信部は、前記検出された通信情報に関する検出情報を、前記第1の通信情報検出装置へ送信し、
前記第1の通信情報検出装置の前記通信情報判定部は、前記第2の通信情報検出装置から送信された検出情報の示す通信情報及び前記第1の通信情報検出装置の検出部により検出された該通信情報が、該通信情報に用いられる通信プロトコルに基づいて正常にコネクションを確立させた通信情報であるかを判定し、
前記第1の通信情報検出装置の前記送信部は、前記判定の結果、前記通信情報が前記正常にコネクションを確立させた通信情報でない場合、該通信情報に関する検出情報を送信する
ことを特徴とする付記9に記載の送信元アドレス詐称判定装置。
(付記13)
前記送信元詐称判定装置は、さらに、
前記中継装置、前記通信線、及び前記経路情報を取得する情報処理装置について、ネットワーク上のアドレスに関する情報を登録する登録部と、
前記登録した情報に基づいて、前記中継装置、前記通信線、及び前記経路情報を取得する情報処理装置の接続関係を生成し、前記中継装置、前記通信線、及び前記経路情報を取得する情報処理装置に対応するシンボルを該接続関係に基づいて配置したネットワーク構成画像を生成する画像生成部と、
前記詐称していると判定された前記送信元アドレスに基づいて、前記ネットワーク構成画像に、前記通信情報の送信元アドレスが詐称である旨を表す送信元アドレス詐称情報を付加する付加部と、
前記送信元アドレス詐称情報を付加したネットワーク構成画像を表示させる表示制御部と、
を備えることを特徴とする付記9に記載の送信元アドレス詐称判定装置。
(付記14)
コンピュータに、
中継装置間を接続する通信線によって伝送される通信情報を順次検出し、
検出された前記通信情報が、該通信情報に用いられる通信プロトコルに基づいて正常にコネクションを確立させた通信情報であるかを判定し、
前記判定の結果、前記検出された通信情報が前記正常にコネクションを確立させた通信情報でない場合、該検出された通信情報に関する検出情報を送信する、
処理を実行させることを特徴とする通信情報検出プログラム。
(付記15)
コンピュータに、
中継装置間を接続する通信線によって伝送される通信情報が順次検出され、検出された該通信情報が、該通信情報に用いられる通信プロトコルに基づいて正常にコネクションを確立させた通信情報でない場合に、該検出された通信情報に関する検出情報を収集し、
収集された前記検出情報を集約し、集約した該検出情報に含まれる前記通信情報が前記通信プロトコルに基づいて正常にコネクションを確立させた通信情報であるかを検証し、
前記判定の結果、前記集約した検出情報に含まれる前記通信情報が前記通信プロトコルに基づいて正常にコネクションを確立させた通信情報でない場合、該検出された通信情報のうち第1情報処理装置から第2情報処理装置へ送信される通信情報について、該第2情報処理装置が属するネットワークに属するいずれかの情報処理装置に、前記通信情報の送信元アドレスまでの経路情報を取得するように要求し、該いずれかの情報処理装置から該経路情報を取得し、
前記経路情報の結果が正常でない場合、または該経路情報により示される経路と前記第1情報処理装置から第2情報処理装置への送信経路とが異なる場合、前記通信情報の送信元アドレスが詐称であると判定する、
処理を実行させることを特徴とする送信元アドレス詐称判定プログラム。
(付記16)
通信情報検出装置は、
中継装置間を接続する通信線によって伝送される通信情報を順次検出し、
検出された前記通信情報が、該通信情報に用いられる通信プロトコルに基づいて正常にコネクションを確立させた通信情報であるかを判定し、
前記判定の結果、前記検出された通信情報が前記正常にコネクションを確立させた通信情報でない場合、該検出された通信情報に関する検出情報を送信し、
送信元アドレス詐称判定装置は、
前記通信情報検出装置から前記送信された検出情報を収集し、
収集された前記検出情報を集約し、集約した該検出情報に含まれる前記通信情報が前記通信プロトコルに基づいて正常にコネクションを確立させた通信情報であるかを検証し、
前記判定の結果、前記集約した検出情報に含まれる前記通信情報が前記通信プロトコルに基づいて正常にコネクションを確立させた通信情報でない場合、該検出された通信情報のうち第1情報処理装置から第2情報処理装置へ送信される通信情報について、該第2情報処理装置が属するネットワークに属するいずれかの情報処理装置に、前記通信情報の送信元アドレスまでの経路情報を取得するように要求し、該いずれかの情報処理装置から該経路情報を取得し、
前記経路情報の結果が正常でない場合、または該経路情報により示される経路と前記第1情報処理装置から第2情報処理装置への送信経路とが異なる場合、前記通信情報の送信元アドレスが詐称であると判定する
ことを特徴とする送信元アドレス詐称判定方法。