(57)【要約】【課題】  不正な侵入や遠隔制御を故意に可能にした囮ホストを外部ネットワークに接続し、当該囮ホストを不正侵入者のホストから外部ネットワーク経由で制御可能とする。その制御によって囮ホストから、外部ネットワーク経由で任意のホストに向けて攻撃通信が送信された場合に、当該通信をホストに届かせず、かつ、当該通信が正常に届いていると囮ホストに見せかけ、かつ、ホストから囮ホストへの制御を継続させる。【解決手段】  囮ホストと外部ネットワークとの間に通信振分装置を配置し、通信振分装置には偽装応答装置を接続する。通信振分装置は、囮ホストが外部ネットワークに向けて送信する通信に攻撃検知処理を行い、当該通信において攻撃未検出であれば、偽装応答装置と外部ネットワークの双方にパケットを転送する。攻撃検出以降は、偽装応答装置のみへパケットを転送し、偽装応答装置は通信継続を装う返信を囮ホストに対して行う。【選択図】  図１
2008306610.tif 000002
【特許請求の範囲】
【請求項１】
不正ソフトウェアの挙動を観察可能なシステムであって、
第一、第二の通信装置及び第一のコンピュータを有し、
前記第一のコンピュータは不正ソフトウェアを動作させており、
前記第一の通信装置は第一、第二、第三の通信インターフェースを有し、
前記システム外部のネットワークと前記第一の通信装置の第一の通信インターフェースが接続されており、
前記第二の通信装置と前記第一の通信装置の第二の通信インターフェースが接続されており、
前記第一のコンピュータと前記第一の通信装置の第三の通信インターフェースが接続されており、
さらに、通信トラフィックが攻撃であるか否かを判定する判定部を有し、
前記第一の通信装置は、前記第一のコンピュータが前記システム外部のネットワークに宛てて送信した通信トラフィックを前記第三の通信インターフェースにて受信し、
該通信トラフィックが攻撃であるか否かを前記判定部で判定し、
該通信トラフィックが攻撃ないと前記判定部が判定し、かつ以前の同一通信トラフィックにおいても攻撃であると前記判定部が判定していなければ、該通信トラフィックを前記第一の通信インターフェースへ出力し、かつ、該通信トラフィックの返信トラフィックを前記第一の通信インターフェースにて受信した場合に前記第三の通信インターフェースへ出力し、
該通信トラフィックが攻撃であると判定部が判定し、もしくは以前の同一通信トラフィックにおいて攻撃であると前記判定部が判定していれば、該通信トラフィックを前記第二の通信インターフェースへ出力し、かつ、該通信トラフィックの返信トラフィックを前記第二の通信インターフェースにて受信した場合に前記第三の通信インターフェースへ出力し、
前記第二の通信装置は、前記第一の通信装置から通信トラフィックを受信した場合に、適切な返信トラフィックを生成して前記第一の通信装置へ送信することを特徴とするシステム。
【請求項２】
請求項１に記載のシステムにおいて、
前記第一の通信装置は、前記第三の通信インターフェースにて受信した通信トラフィックが、攻撃であると判定せず、かつ以前の同一通信トラフィックにおいても攻撃であると判定していなければ、該通信トラフィックを前記第一の通信インターフェース、および前記第二の通信インターフェースへ出力し、かつ、該通信トラフィックの返信トラフィックを前記第一の通信インターフェースにて受信した場合に前記第三の通信インターフェースへ出力することを特徴とするシステム。
【請求項３】
請求項１に記載のシステムにおいて、
前記通信トラフィックが、送信元コンピュータの識別子、宛先コンピュータの識別子、該通信トラフィックのプロトコルを表す識別子の全てが一致する、もしくはそれらの送信元と宛先を入れ替えたものと全てが一致する、通信パケットの集合であることを特徴とするシステム。
【請求項４】
請求項３に記載のシステムにおいて、
前記通信パケットがＩＰ（Internet Protocol）パケットであり、前記送信元コンピュータの識別子および前記宛先コンピュータの識別子がＩＰアドレスであり、前記プロトコルを表す識別子がＩＰパケットヘッダに含まれるプロトコル番号であることを特徴とするシステム。
【請求項５】
請求項３に記載のシステムにおいて、
前記通信パケットがＵＤＰ（User Datagram Protocol）パケットであり、前記送信元コンピュータの識別子および前記宛先コンピュータの識別子がＩＰアドレスであり、前記プロトコルを表す識別子が送信元ＵＤＰポート番号及び宛先ＵＤＰポート番号であることを特徴とするシステム。
【請求項６】
請求項１に記載のシステムにおいて、
前記通信トラフィックが、特定の通信セッションであることを特徴とするシステム。
【請求項７】
請求項６に記載のシステムにおいて、
前記通信セッションを実現するプロトコルがＴＣＰ（Transmission Control Protocol）であることを特徴とするシステム。
【請求項８】
請求項６に記載のシステムにおいて、
前記第一の通信装置は、前記システム外部のネットワークに存在する第二のコンピュータと第一の通信セッションを設け、
前記第二の通信装置と第二の通信セッションを設け、
前記第一のコンピュータと第三の通信セッションを設け、
前記第一、第二、第三の通信セッション間でデータを中継することにより、請求項１に述べた通信トラフィック中継を行うことを特徴とするシステム。
【請求項９】
請求項８に記載のシステムにおいて、
前記第一の通信装置は、前記第二のコンピュータと第一の通信セッションを設ける際に、前記第一の通信装置を表すコンピュータの識別子として本来は前記第一のコンピュータに割り当てられた識別子を使用し、
前記第一のコンピュータと第三の通信セッションを設ける際に、前記第一の通信装置を表すコンピュータの識別子として本来は前記第二のコンピュータに割り当てられた識別子を使用することを特徴とするシステム。
【請求項１０】
請求項９に記載のシステムにおいて、
第一および第三の通信セッションを設ける際に使用するコンピュータの識別子として、ＩＰアドレス、もしくはＩＰアドレスとＴＣＰポート番号との組合せを使用することを特徴とするシステム。
【請求項１１】
第一、第二、第三の通信インターフェースを有する通信装置であって、
通信トラフィックが攻撃であるか否かを判定する判定部を有し、
該通信装置は、前記第一の通信インターフェースを本来の出力先とする通信トラフィックを前記第三の通信インターフェースにて受信した場合に、
前記判定部において該通信トラフィックが攻撃であるか否かを判定し、
該通信トラフィックが攻撃であると前記判定部で判定せず、かつ以前の同一通信トラフィックにおいても攻撃であると前記判定部で判定していなければ、該通信トラフィックを前記第一の通信インターフェースへ出力し、かつ、該通信トラフィックの返信トラフィックを前記第一の通信インターフェースにて受信した場合に前記第三の通信インターフェースへ出力し、
該通信トラフィックが攻撃であると前記判定部で判定し、もしくは以前の同一通信トラフィックにおいて攻撃であると前記判定部で判定していれば、該通信トラフィックを前記第二の通信インターフェースへ出力し、かつ、該通信トラフィックの返信トラフィックを前記第二の通信インターフェースにて受信した場合に前記第三の通信インターフェースへ出力することを特徴とする通信装置。
【請求項１２】
請求項１１に記載の通信装置において、
該通信装置は、前記第三の通信インターフェースにて受信した通信トラフィックが、攻撃であると前記判定部で判定せず、かつ以前の同一通信トラフィックにおいても攻撃であると前記判定部で判定していなければ、該通信トラフィックを前記第一の通信インターフェース、および前記第二の通信インターフェースへ出力し、かつ、該通信トラフィックの返信トラフィックを前記第一の通信インターフェースにて受信した場合に前記第三の通信インターフェースへ出力することを特徴とする通信装置。
【請求項１３】
請求項１１に記載の通信装置において、
前記通信トラフィックが、送信元コンピュータの識別子、宛先コンピュータの識別子、該通信トラフィックのプロトコルを表す識別子の全てが一致する、もしくはそれらの送信元と宛先を入れ替えたものと全てが一致する、通信パケットの集合であることを特徴とする通信装置。
【請求項１４】
請求項１３に記載の通信装置において、
前記通信パケットがＩＰ（Internet Protocol）パケットであり、前記送信元コンピュータの識別子および前記宛先コンピュータの識別子がＩＰアドレスであり、前記プロトコルを表す識別子がＩＰパケットヘッダに含まれるプロトコル番号であることを特徴とする通信装置。
【請求項１５】
請求項１３に記載の通信装置において、
前記通信パケットがＵＤＰ（User Datagram Protocol）パケットであり、前記送信元コンピュータの識別子および前記宛先コンピュータの識別子がＩＰアドレスであり、前記プロトコルを表す識別子が送信元ＵＤＰポート番号及び宛先ＵＤＰポート番号であることを特徴とする通信装置。
【請求項１６】
請求項１１に記載の通信装置において、
前記通信トラフィックが、特定の通信セッションであることを特徴とする通信装置。
【請求項１７】
請求項１６に記載の通信装置において、
前記通信セッションを実現するプロトコルがＴＣＰ（Transmission Control Protocol）であることを特徴とする通信装置。
【請求項１８】
請求項１６に記載の通信装置において、
該通信装置は、前記第一の通信インターフェースに接続されたネットワークに存在するコンピュータと第一の通信セッションを設け、
前記第二の通信インターフェースに接続されたネットワークに存在するコンピュータと第二の通信セッションを設け、
前記第三の通信インターフェースに接続されたネットワークに存在するコンピュータと第三の通信セッションを設け、
前記第一、第二、第三の通信セッション間でデータを中継することにより、請求項１１に述べた通信トラフィック中継を行うことを特徴とする通信装置。
【請求項１９】
請求項１８に記載の通信装置において、
該通信装置は、前記第一の通信セッションを設ける際に、該通信装置を表すコンピュータの識別子として、本来は前記第三の通信インターフェースに接続されたネットワークに存在するコンピュータに割り当てられた識別子を使用し、
前記第三の通信セッションを設ける際に、該通信装置を表すコンピュータの識別子として、本来は前記第一の通信インターフェースに接続されたネットワークに存在するコンピュータに割り当てられた識別子を使用することを特徴とする通信装置。
【請求項２０】
請求項１９に記載の通信装置において、
第一および第三の通信セッションを設ける際に使用するコンピュータの識別子として、ＩＰアドレス、もしくはＩＰアドレスとＴＣＰポート番号との組合せを使用することを特徴とする通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システム外に存在する不正侵入者がシステム内の囮ホストへ侵入して行う行動、もしくはシステム外に存在する攻撃指令者がシステム内の囮ホストで動作する不正ソフトウェアを制御して行う行動を調査するシステム、および当該システムにおいて囮ホストが発するトラフィックが攻撃であるかを識別し、攻撃トラフィックである場合はシステム外へ中継せずに偽装応答を行うホストへ中継し、当該ホストが送信した偽装応答を囮ホストへ中継する機能を備えた通信振分装置に関する。
【背景技術】
【０００２】
インターネットの技術的及び規模的な発展に伴い、不正侵入や攻撃の手口も多様化し、発生件数も増加傾向にある。特に、広帯域インターネット接続の普及、およびパーソナルコンピュータ（ＰＣ：Personal Computer）の高性能化に伴い、無防備な個人ＰＣを踏み台とした攻撃が増加しており、対策が急務となっている。
【０００３】
主に個人ＰＣを踏み台とした攻撃の手口として近年特に問題となっているのが、ボットネットである。ボットネットとは、ウイルスやワームと同様の手法で複数のホストに不正ソフトウェアを感染させ、その不正ソフトウェアを介して攻撃指令者が感染ホストをインターネット越しに意のままに操作する、一種の分散攻撃システムである。上記の感染ホストもしくは不正ソフトウェアはボットと呼ばれており、本明細書では両者を区別する際に前者をボットホスト、後者をボットソフトと呼ぶこととする。
【０００４】
攻撃者からの不正侵入の手口や、ボットソフト等の不正ソフトウェアの挙動を観察する手段としては、ハニーポットと呼ばれる従来技術を挙げることができる。ハニーポットとは、故意に攻撃者からの侵入を受けて、もしくは故意に不正ソフトウェアを動作させて、それらの挙動を観察することにより、侵入や攻撃の手口を調査するシステムである。
【０００５】
ハニーポットは、低対話型ハニーポットと高対話型ハニーポットに分類できる。低対話型ハニーポットは、本物のＯＳ（Operating System）やアプリケーションが動作しているホストに似せた反応をエミュレートするソフトウェアによって構成されたシステムである。高対話型ハニーポットは、本物のＯＳやアプリケーションを動作させた囮ホストに、実際に攻撃者を侵入させ、もしくは不正ソフトウェアを動作させて、それらの挙動を観察するシステムである。低対話型ハニーポットは、ホスト外からの攻撃の手口を低リスクで調査することが可能な一方、限定的な調査しかできず、特に不正ソフトウェアを実際にハニーポット内で動作させての調査はできない。高対話型ハニーポットでは、幅広い調査が可能である一方、実際に侵入を受けたり不正ソフトウェアを動作させたりするため、ハニーポット外のホストに不正侵入、攻撃、不正ソフトウェアの感染等の二次被害が及ぶ危険性を孕んでいる。
【０００６】
高対話型ハニーポットを使用した調査において、他のホストに二次被害が及ばないようにする従来手法として、（１）完全に閉鎖された実験用ネットワークを使用する方法と、（２）囮ホストからハニーポット外のホストに向けた通信トラフィックに対して不正侵入防御システム（ＩＰＳ：Intrusion Prevention System）を適用する方法の二つを挙げることができる。
（１）の方法は、不正ソフトウェアの機能や挙動を調査する際に一般的に用いられているが、ボットソフトのように攻撃指令者の制御に基づいて活動する不正ソフトウェアの場合は、本物の攻撃指令者にボットソフトを制御させることができない。このため、ボットソフトがボットネットに参加するまでの挙動や、偽の攻撃指令者を使用してのボットネットの機能検証を行うことは可能だが、本物の攻撃指令者がボットネットを用いて主にどのような活動を行っているか、現在どのような活動を行っているか、といったことを調査することはできない。また、当然ながら、侵入者の不正侵入後の行動の調査には使えない。
（２）の方法は、不正侵入者の挙動を調査する際の調査方法として用いられており、その代表例として、ハニーネットプロジェクトと呼ばれる非営利組織によって開発されたハニーネットを挙げることができる。ハニーネットでは、囮ホストと外部ネットワークとの間にハニーウォールと呼ばれるＩＰＳを設置する。ただし、通常のＩＰＳはインターネットから受ける不正侵入や攻撃を遮断するが、ハニーウォールは逆に囮ホストが発する攻撃を遮断する。ハニーウォールを設置することにより、囮ホストに対する侵入者の不正侵入や、囮ホストで動作するボットソフトに対する攻撃指令者の制御を許す一方、囮ホストからハニーポット外のホストに向けた攻撃を遮断することが可能になる。
【０００７】
しかし、侵入者の不正侵入後の挙動や、攻撃指令者の制御下でのボットソフトの挙動をより詳細に観察するためには、囮ホストからハニーポット外のホストに向けた攻撃トラフィックを遮断するのではなく、通信を継続させたまま観察できることがより望ましい。このためには、囮ホストが発する攻撃トラフィックをハニーポット外のホストに中継しないようにしながら、囮ホストに対しては通信が継続しているかのように偽装した応答を行う必要がある。
【０００８】
特に、ＴＣＰ（Transmission Control Protocol）を下位層プロトコルとするアプリケーションプロトコルを用いて行われる攻撃においては、囮ホストに対してＴＣＰセッションを維持するように偽装応答を行う必要がある。しかし、一般的にＴＣＰセッションの最初の接続手順の段階から、そのセッションが攻撃であると見分けることは、ほとんどの攻撃において不可能である。例えば、ＷＷＷ（World Wide Web）サーバに対して異常なＧＥＴリクエストを送信する攻撃の場合、囮ホストがＷＷＷサーバとの間でＴＣＰセッションを確立する３ウェイハンドシェークを行い、そのセッション上で囮ホストが異常なＧＥＴリクエストを送信した段階で、不正侵入検知システム（ＩＤＳ：Intrusion Detection System）やＩＰＳは初めてこれが攻撃トラフィックであると認識できる。このような攻撃において、囮ホストに対して偽装応答を行うためには、ハニーポット外のホストと囮ホストとの間で一旦確立されたＴＣＰセッションと矛盾しないように、シーケンス番号等のＴＣＰセッションパラメータを引き継いで偽装応答を行う必要がある。
【０００９】
偽装応答を用いて不正侵入者の挙動を観察するシステムに関する既存文献としては、特許文献１および特許文献２が挙げられる。これらはいずれも、正規サーバ、偽装サーバ、および両者間で適切に侵入トラフィックを振り分けるルータが内部ネットワークに存在するシステムにおいて、外部ネットワークから正規サーバへの不正侵入トラフィックを偽装サーバへ振り分ける発明である。
【００１０】
特許文献１では、正規サーバが設置されている内部ネットワークにＩＤＳと偽装サーバを設置する。このＩＤＳは、外部ネットワークから正規サーバへの不正侵入を検知すると、その侵入トラフィックの中継先を偽装サーバへ変更するように、外部ネットワークとの境界に位置するルータに指示する。侵入トラフィックの中継先を正規サーバから偽装サーバへ切り替える際に、侵入トラフィックのセッションをどのようにして維持するかについては、この特許文献１の中では特に触れられていない。
【００１１】
特許文献２のシステムは、不正侵入監視機能を付加した正規サーバ、通信セッション引継機能を付加した偽装サーバ、外部ネットワークと両サーバとの間でパケットを中継するルータで構成される。ルータは、不正侵入を検知するまでは外部ネットワークからのトラフィックを正規サーバ、偽装サーバの双方に中継し、偽装サーバの応答は通信セッション引継機能によって遮断される。不正侵入監視機能が不正侵入を検知すると、ルータに対しては該当トラフィックを偽装サーバのみに中継するように、通信セッション引継機能に対しては偽装サーバの応答の遮断を解除するように指示する。また、偽装サーバの通信セッション引継機能はパケット蓄積機能を備えており、これにより不正侵入に対する応答を偽装サーバが行うように切り替えた際に、侵入トラフィックの通信セッションを維持する。ただし、このセッション維持方法の適用対象にＴＣＰが含まれるか否かは特に述べられておらず、ＴＣＰセッションの維持の際に特に問題になると考えられるハンドシェーク手順やＴＣＰセッションパラメータに関する言及もない。
【００１２】
【特許文献１】特開２０００−２６１４８３号公報
【特許文献２】特開２００２−１１１７２７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
以上に述べたとおり、従来技術であるハニーウォールと囮ホストによって構成された高対話型ハニーポットを用いることにより、不正侵入者の侵入後の行動の調査や、攻撃指令者の制御下に置かれたボットソフトの挙動を調査することは、限定的ではあるものの可能である。しかしながら、従来技術のみでは、システム内の囮ホストがシステム外のネットワークに向けて攻撃トラフィックを発した場合に、不正侵入者やボットソフトがその攻撃トラフィックに続けてどのような挙動を示すのかを調査することが困難であった。
【００１４】
システム外のネットワークに存在するホストに悪影響を与えずにこのような調査を行うには、囮ホストに対して偽装応答を返す必要がある。しかし、特許文献１および２の発明は、特定の正規サーバが不正侵入を受けた際に、その侵入トラフィックを、正規サーバと同一のシステム内に設置された偽装サーバへ振り向けることにより偽装応答を行う発明である。一方、先述の調査においては、囮ホストへの侵入トラフィックに対してではなく、囮ホストがシステム外の任意のホストへ行う攻撃トラフィックに対して偽装応答を行う必要がある。すなわち、先述の調査に必要な偽装応答と、特許文献１および２の偽装応答では、適用対象となるシステム構成や偽装対象のトラフィックが異なる。
【００１５】
本発明は、システム内に囮ホストを置き、システム外のネットワークに存在する不正侵入者が囮ホストに侵入して行う行動や、システム外のネットワークに存在する攻撃指令者が囮ホストにおいて動作する不正ソフトウェアを制御して行う行動を観察する場合において、囮ホストがシステム外のネットワークに存在するホストに向けて発する攻撃トラフィックをシステム外に中継せず、かつ、囮ホストに対しては上記攻撃トラフィックの通信が継続しているように見せかけるために偽装応答を行い、かつ、不正侵入者や攻撃指令者と囮ホストとの間の侵入・制御通信は正常に継続することを目的とする。
【００１６】
また、本発明は、上記の偽装応答の対象となる通信がＴＣＰのようなコネクション型通信によるセッションで、かつ、既にシステム外のホストと囮ホストとの間でセッション確立済みである場合に、囮ホストにはセッション切断が発生していないように見せかけて当該セッションを偽装応答へ引き継ぐことも目的とする。
【課題を解決するための手段】
【００１７】
本発明の不正侵入・不正ソフトウェア調査システムでは、上記の課題を解決するために、囮ホストとシステム外ネットワークとの間に通信振分装置を置く。この通信振分装置は３つのネットワークインターフェースを備えており、第一のインターフェースは囮ホストが置かれたシステム内ネットワークに、第二のインターフェースは不正侵入者や攻撃指令者が存在するシステム外ネットワークに、第三のインターフェースは偽装応答装置に接続される。偽装応答装置は、囮ホストから送信された、システム外ネットワークに存在する任意のホスト宛の攻撃トラフィックを受信し、そのホストの振りをして偽装応答を返す、低対話型ハニーポットである。
【００１８】
上記の通信振分装置は、内部に攻撃検知機能を備える。システム外のホスト宛のパケットを囮ホストから受信した通信振分装置は、この攻撃検知機能によって攻撃パケットか否かを判断し、当該パケットが攻撃でなく、かつ、当該パケットと同じ宛先ＩＰ（Internet Protocol）アドレス、プロトコル番号、ポート番号（プロトコルがＴＣＰまたはＵＤＰ（User Datagram Protocol）の場合）のパケットが以前に攻撃であると判定されていなければ、システム外のネットワークと偽装応答装置の両方に、もしくはシステム外のネットワークのみに向けて、当該パケットを中継する。当該パケットが攻撃であると判定された場合、もしくは当該パケットと同じ宛先ＩＰアドレス、プロトコル番号、ポート番号（プロトコルがＴＣＰまたはＵＤＰの場合）のパケットが以前に攻撃であると判定されていた場合は、偽装応答装置に対してのみ当該パケットを中継する。
【００１９】
また、囮ホスト宛のパケットをシステム外のホストから受信した通信振分装置は、当該パケットの送信元ＩＰアドレス、プロトコル番号、ポート番号（プロトコルがＴＣＰまたはＵＤＰの場合）を調べ、それらを宛先として囮ホストから送信されたパケットにおいて以前に攻撃であると判定されていない場合のみ、当該パケットを囮ホストへ中継する。囮ホスト宛のパケットを偽装応答装置から受信した通信振分装置は、当該パケットの送信元ＩＰアドレス、プロトコル番号、ポート番号（プロトコルがＴＣＰまたはＵＤＰの場合）を調べ、それらを宛先として囮ホストから送信されたパケットにおいて以前に攻撃であると判定されていた場合のみ、当該パケットを囮ホストへ中継する。
【００２０】
また、囮ホストからシステム外のホスト宛のＴＣＰセッション接続要求を受信した上記の通信振分装置は、上記宛先ホストの振りをして囮ホストとの間にＴＣＰセッションを確立し、上記囮ホストの振りをして宛先ホストとの間にＴＣＰセッションを確立し、偽装応答装置との間にもＴＣＰセッションを確立する。システム外のホストから囮ホスト宛のＴＣＰセッション接続要求を受信した上記の通信振分装置は、上記囮ホストの振りをして送信元ホストとの間にＴＣＰセッションを確立し、偽装応答装置に対してシステム外の送信元ホストからＴＣＰセッション接続要求を受けた旨を通知する。通知を受けた偽装応答装置は、通信振分装置に対してＴＣＰセッション接続要求を送信する。この要求を受信した通信振分装置は、偽装応答装置との間にＴＣＰセッションを確立し、上記送信元ホストの振りをして囮ホストとの間にもＴＣＰセッションを確立する。
【００２１】
通信振分装置は、以上の手順で設けた囮ホスト、システム外のホスト、偽装応答装置それぞれとのＴＣＰセッションの間で、ＴＣＰデータパケットを中継する。すなわち、システム外のホストとのＴＣＰセッションからＴＣＰデータパケットを受信した通信振分装置は、囮ホストとの間のＴＣＰセッションに当該パケットを中継する。囮ホストとの間のＴＣＰセッションからＴＣＰデータパケットを受信した通信振分装置は、当該パケットが攻撃でなく、かつ、当該セッションにて以前に受信したパケットにおいて攻撃であると判定されていなければ、システム外のホストとの間のＴＣＰセッションと偽装応答装置との間のＴＣＰセッションの両方、もしくはシステム外のホストとの間のＴＣＰセッションのみに当該パケットを中継する。囮ホストとの間のＴＣＰセッションから受信したＴＣＰデータパケットにおいて攻撃を検知した場合は、システム外のホストと通信振分装置との間のＴＣＰセッションのみを切断し、囮ホストや偽装応答装置と通信振分装置との間のＴＣＰセッションは維持し、当該パケットを偽装応答装置との間のＴＣＰセッションのみへ中継する。それ以降に囮ホストとの間のＴＣＰセッションから受信したＴＣＰデータパケットは偽装応答装置との間のＴＣＰセッションへ、偽装応答装置との間のＴＣＰセッションから受信したＴＣＰデータパケットは囮ホストとの間のＴＣＰセッションへ中継する。
【発明の効果】
【００２２】
このように、本発明の不正侵入・不正ソフトウェア調査システムを用いることにより、システム内の囮ホストがシステム外のホストに向けて発する攻撃トラフィックのみを、通信振分装置に接続された偽装応答装置との間の通信に切り替え、囮ホストに対して攻撃トラフィックに対する偽装応答を継続することが可能である。その一方で、攻撃トラフィックの通信先の切替が起こった後も、システム外に存在する不正侵入者や攻撃指令者は、囮ホストとの侵入・制御通信を継続できる。このため、不正侵入者や攻撃指令者の制御の下で囮ホストがシステム外のホストに対して行う攻撃、およびそれに続く挙動を、システム外に悪影響を与えずに、継続して観察することが可能になる。
【００２３】
また、囮ホストとシステム外のホストとの間のＴＣＰセッションにおいて囮ホストが攻撃トラフィックを発した場合は、システム外のホストの側のＴＣＰセッションのみを切断し、囮ホストと偽装応答装置との間でＴＣＰセッションを維持したまま通信を切り替えることが可能である。本発明の通信振分装置が行うＴＣＰセッション切替手法では、通信振分装置は囮ホスト、システム外のホスト、偽装応答装置それぞれと通常の方法で独立したＴＣＰセッションを設け、それらのセッション間でＴＣＰデータパケットを中継する。このため、これらのうちの一つのＴＣＰセッションの切断が他のＴＣＰセッションの接続状況に影響を及ぼさず、ＴＣＰセッションを維持したままの通信先切替を確実に行うことができる。
【発明を実施するための最良の形態】
【００２４】
以下、図面を用いて本発明の実施例について説明する。
【実施例１】
【００２５】
図１は、実施例1における本発明の不正侵入・不正ソフトウェア調査システムの、内部および外部のネットワーク構成を表す図である。
【００２６】
本発明の不正侵入・不正ソフトウェア調査システム１０の内部には通信振分装置１００、囮ホスト１１０、偽装応答装置１２０が置かれる。通信振分装置１００は３つのネットワークインターフェースを持ち、そのうちの一つは囮ホスト１１０に、一つは外部ネットワーク１４０に、残る一つは偽装応答装置１２０に接続される。なお、図では通信振分装置１００に１台の囮ホストしか接続されていないが、レイヤ３以下のパケット中継装置（レイヤ２スイッチ、ルータ等）を経由して、複数の囮ホストを接続してもよい。また、通信振分装置１００と囮ホスト１１０との間にブロードバンドルータやファイアウォールを設置してＮＡＴ（Network Address Translation）を行ってもよい。
【００２７】
外部ネットワーク１４０は、不正侵入・不正ソフトウェア調査システム１０の外部に存在するネットワークであり、その最も典型的なものはインターネットである。外部ネットワーク１４０には、囮ホスト１１０に侵入する不正侵入者のホスト、または囮ホスト１１０で動作させる不正ソフトウェアを制御する攻撃指令者のホスト、または不正侵入者や攻撃指令者の踏み台として利用されているホストである通信対象ホスト２  １３０−Ｂ、囮ホスト１１０から発せられる攻撃トラフィックの宛先となる通信対象ホスト１  １３０−Ａ等の、様々な通信対象ホスト１３０が接続されている。通信対象ホスト１３０と通信振分装置１００とは、外部ネットワーク１４０を通じてＩＰプロトコルにより通信可能である。
【００２８】
囮ホスト１１０は、通信対象ホスト２  １３０−Ｂから不正侵入を受ける、または不正ソフトウェアを故意に動作させて、通信対象ホスト２  １３０−Ｂからの制御を受けるためのホストである。囮ホスト１１０では、不正侵入者の行動を可能な限り実際のホストに近い状況で観察するため、また、不正ソフトウェアを実際に動作させるために、実際のホストと同じハードウェアアーキテクチャの下で、実際のホストと同じＯＳや通信アプリケーションを動作させる。さらに、調査対象が不正ソフトウェアの場合はその不正ソフトウェアも動作させる。例えば、ＯＳがＬｉｎｕｘ、ＷＷＷサーバソフトウェアがＡｐａｃｈｅのＰＣサーバへの不正侵入を調査する場合は、Ｌｉｎｕｘ  ＯＳとＡｐａｃｈｅソフトウェアをインストールしたＰＣサーバを囮ホスト１１０とする。ＯＳがＷｉｎｄｏｗｓ（登録商標）のＰＣに感染するボットソフトの挙動を調査する場合は、Ｗｉｎｄｏｗｓ（登録商標）  ＯＳをインストールしたＰＣにおいて調査対象のボットソフトを動作させたものを囮ホスト１１０とする。
【００２９】
偽装応答装置１２０は、囮ホスト１１０が送信したＩＰパケットを通信振分装置１００経由で受信し、適切な偽装応答のＩＰパケットを囮ホスト１１０に宛てて通信振分装置１００経由で返信する装置である。偽装応答装置１２０は、後述の接続発生通知及び切断発生通知に関する機能が付加されていることを除けば、通常の低対話型ハニーポットと同等である。本実施例において、偽装応答装置１２０は、通信対象ホスト１００とレイヤ２以下の回線で直結されていることとし、通信振分装置１００から任意の宛先ＩＰアドレス、プロトコル番号、およびポート番号（プロトコルがＴＣＰまたはＵＤＰの場合）のＩＰパケットをそのまま受信し、通信振分装置１２０に向けて任意の送信元ＩＰアドレス、プロトコル番号、およびポート番号（プロトコルがＴＣＰまたはＵＤＰの場合）のＩＰパケットを返信する。ただし、通信振分装置１００と偽装応答装置１２０との間にパケット転送用のトンネルもしくはＴＣＰセッションを設け、それを通して上記のＩＰパケット送受信を行っても良い。この場合は、通信振分装置１００と偽装応答装置１２０がレイヤ２で直結されている必要はない。
【００３０】
図２は、実施例１における通信振分装置の内部処理アーキテクチャを示す図である。
本実施例において、通信振分装置１００の内部ハードウェアは、ＣＰＵ（Central Processing Unit）  ２０１、主記憶装置２０２、囮ホスト用ネットワークインターフェース２０３、偽装応答装置用ネットワークインターフェース２０４、外部ネットワーク用ネットワークインターフェース２０５、内部バス２０６で構成される。
【００３１】
ＣＰＵ  ２０１は、主記憶装置２０２に記憶されているソフトウェアを実行し、その結果に従って各ネットワークインターフェース２０３、２０４、２０５に対してパケットの送受信を指示する。
【００３２】
囮ホスト用ネットワークインターフェース２０３は囮ホスト１１０に、偽装応答装置用ネットワークインターフェース２０４は偽装応答装置１２０に、外部ネットワーク用ネットワークインターフェース２０５は外部ネットワーク１４０に、それぞれ接続されるネットワークインターフェースである。ネットワークインターフェース２０３、２０４、２０５は、接続されたネットワークからパケットを受信し、ＣＰＵ  ２０１の指示に従ってそのパケットをＣＰＵ  ２０１または主記憶装置２０２に渡す。また、ＣＰＵ  ２０１の指示に従ってパケットとして送出するデータをＣＰＵ  ２０１または主記憶装置２０２から受け取り、ネットワークに向けて送出する。
【００３３】
内部バス２０６は、ＣＰＵ  ２０１、主記憶装置２０２、ネットワークインターフェース２０３、２０４、２０５を相互に接続し、指示やデータの送受信を可能にする。
【００３４】
主記憶装置２０２には、ＯＳ  ２１０、通信振分ソフトウェア２２０、攻撃検知ソフトウェア２３０が記憶される。
【００３５】
ＯＳ  ２１０は、アプリケーションソフトウェアのプロセス管理やプロセス間通信、およびレイヤ１・２通信処理２１１を含むソフトウェアである。
【００３６】
レイヤ１・２通信処理２１１は、ネットワークインターフェース２０３、２０４、２０５を通して通信を行うためのレイヤ１・２に関する各種設定を行う。また、ネットワークインターフェース２０３、２０４、２０５を通して受信したパケットからレイヤ２ヘッダを除去し、残るレイヤ２データを、受信したネットワークインターフェースを表す識別子とともに適切なアプリケーションソフトウェアへ渡す。また、アプリケーションソフトウェアから受け取った送信レイヤ２データに適切なレイヤ２ヘッダを付加し、アプリケーションソフトウェアから併せて受け取った送出ネットワークインターフェースを表す識別子に基づいてネットワークインターフェース２０３、２０４、２０５のいずれから送出するかを選択し、該当するネットワークインターフェースを通して送信する。
【００３７】
攻撃検知ソフトウェア２３０は、通信振分ソフトウェア２２０からＩＰパケットもしくはＴＣＰデータを受け取り、それが攻撃通信トラフィックか否かを判定し、判定結果を返すソフトウェアである。すなわち、一般的なネットワークＩＤＳソフトウェアの攻撃検知処理と同様の処理を行うソフトウェアである。
【００３８】
通信振分ソフトウェア２２０は、ＴＣＰ振分処理２２１、ＩＰ通信処理２５１、ＴＣＰ終端処理２５２、ＴＣＰデータ中継処理２５３、ＩＰ・ＵＤＰパケット中継処理２６１の各処理と、ＴＣＰセッション管理表２５７、ＴＣＰ中継先判定表２５６、ＩＰ・ＵＤＰ中継先判定表２６６の各テーブルを含む、アプリケーションソフトウェアである。
【００３９】
ＴＣＰ振分処理２２１は、ＯＳ  ２１０のレイヤ１・２通信処理２１１からレイヤ３プロトコルがＩＰである受信レイヤ２データ（すなわち受信ＩＰパケット）を全て受け取り、その受信ＩＰパケットのＩＰヘッダに含まれるプロトコル番号を参照し、プロトコルがＴＣＰであればＩＰ通信処理２５１に、ＴＣＰ以外であればＩＰ・ＵＤＰパケット中継処理２６１に引き渡す。また、ＩＰ通信処理２５１またはＩＰ・ＵＤＰパケット中継処理２６１から受け取った送信ＩＰパケット（すなわち送信レイヤ２データ）を、ＯＳ  ２１０のレイヤ１・２通信処理２１１に引き渡す。
【００４０】
ＩＰ通信処理２５１は、ＴＣＰ振分処理２２１から受信ＩＰパケットを受け取り、ＩＰヘッダから送信元ＩＰアドレスおよび宛先ＩＰアドレスを読み取る。そして、ＩＰパケットからＩＰヘッダを除去して、残るＩＰデータ（すなわち受信ＴＣＰセグメント）を、受信ネットワークインターフェース識別子、送信元ＩＰアドレス、宛先ＩＰアドレスの情報と共に、ＴＣＰ終端処理２５２に渡す。また、ＴＣＰ終端処理２５２から受け取った送信ＴＣＰセグメントに、併せてＴＣＰ終端処理２５２から受け取った送信元ＩＰアドレス、宛先ＩＰアドレスの情報をもとに適切なＩＰヘッダを付加して送信ＩＰパケットを構成し、同じく併せて受け取った送出ネットワークインターフェース識別子とともにＴＣＰ振分処理２２１に渡す。
【００４１】
なお、通常のホストのＩＰ通信処理では、自ホストに割り当てられたＩＰアドレスを宛先とするＩＰパケットのみを受信し、自ホストの割り当てられたＩＰアドレスを送信元とするＩＰパケットのみを送信するが、本実施例の通信振分装置１００内の通信振分ソフトウェア２２０内のＩＰ通信処理２５１は、任意の宛先ＩＰアドレスのＩＰパケットを受信し、任意の送信元ＩＰアドレスのＩＰパケットを送信する。
【００４２】
ＴＣＰ終端処理２５２は、ＩＰ通信処理２５１から受信ＴＣＰセグメントを受け取り、併せて受け取った受信ネットワークインターフェース識別子、送信元ＩＰアドレス、宛先ＩＰアドレス、およびＴＣＰヘッダに含まれる送信元ポート番号、宛先ポート番号を、ＴＣＰセッション管理表２５７に照らし合わせ、対応するＴＣＰセッション識別子を得る。そして、ＴＣＰセグメントからＴＣＰヘッダを取り除き、残りのＴＣＰデータを、ＴＣＰセッション識別子と共に、ＴＣＰデータ中継処理２５３に渡す。
【００４３】
また、ＴＣＰ終端処理２５２は、ＴＣＰデータ中継処理２５３から送信ＴＣＰデータおよびＴＣＰセッション識別子を受け取り、そのＴＣＰセッション識別子をＴＣＰセッション管理表２５７に照らし合わせて、対応する送信ネットワークインターフェース識別子、送信元ＩＰアドレス、宛先ＩＰアドレス、送信元ポート番号、宛先ポート番号を得る。そして、送信ＴＣＰデータにＴＣＰヘッダを付加してＴＣＰセグメントを構成し、先ほど得た送信ネットワークインターフェース識別子、送信元ＩＰアドレス、宛先ＩＰアドレスと共に、ＩＰ通信処理２５１に渡す。
【００４４】
また、ＴＣＰ終端処理２５２は、ＩＰ通信処理２５１から受け取った受信ＴＣＰセグメントが新規セッションの接続要求セグメント（ＳＹＮフラグがオンのＴＣＰセグメント）であれば、その受信ネットワークインターフェース識別子、送信元ＩＰアドレス、宛先ＩＰアドレス、送信元ポート番号、宛先ポート番号を、新規に割り当てたＴＣＰセッション識別子とともに、ＴＣＰセッション管理表２５７に登録する。そして、そのＴＣＰセッション識別子とともに、接続要求が到着した旨をＴＣＰデータ中継処理２５３に通知する。その通知に対する接続応答を行う指示をＴＣＰデータ中継処理２５３から受けた場合は、該当セッションの接続応答セグメント（ＳＹＮフラグおよびＡＣＫフラグがオンのＴＣＰセグメント）を、ＩＰ通信処理２５１を通して接続要求元へ返信する。さらにその返信である接続応答確認セグメント（ＡＣＫフラグがオンのＴＣＰセグメント）をＩＰ通信処理２５１経由で受信したら、該当セッションの接続が確立されたことになる。
【００４５】
また、ＴＣＰ終端処理２５２は、ＴＣＰデータ中継処理２５３からＴＣＰセッションの接続要求を指示されたら、その指示に含まれる送信先ネットワークインターフェース識別子、送信元ＩＰアドレス、宛先ＩＰアドレス、送信元ポート番号、宛先ポート番号を、新規に割り当てたＴＣＰセッション識別子とともに、ＴＣＰセッション管理表２５７に登録する。そして、該当セッションの接続要求セグメント（ＳＹＮフラグがオンのＴＣＰセグメント）を構成し、送信先ネットワークインターフェース識別子、送信元ＩＰアドレス、宛先ＩＰアドレスとともに、ＩＰ通信処理２５１に渡す。そして、その接続要求セグメントの返信である接続応答セグメント（ＳＹＮフラグおよびＡＣＫフラグがオンのＴＣＰセグメント）をＩＰ通信処理２５１経由で受信したら、さらにその返信である接続応答確認セグメント（ＡＣＫフラグがオンのＴＣＰセグメント）をＩＰ通信処理２５１経由で送信して該当セッションの接続を確立し、対応するＴＣＰセッション識別子をＴＣＰデータ中継処理２５３へ返答する。
【００４６】
また、ＴＣＰ終端処理２５２は、ＩＰ通信処理２５１から受け取った受信ＴＣＰセグメントが既存セッションの切断要求セグメント（例えばＦＩＮフラグがオンのＴＣＰセグメント）であれば、必要に応じて該当セッションの切断応答セグメント（ＦＩＮフラグがオンの切断要求セグメントを受信した場合は、ＡＣＫフラグがオンのＴＣＰセグメント）をＩＰ通信処理２５１経由で切断要求元へ返信し、切断を完了する（ＦＩＮフラグがオンの切断要求セグメントを受信した場合は、受信方向のみの切断が完了する）。そして、該当セッションが送信方向についても既に切断されていれば、対応するエントリをＴＣＰセッション管理表２５７から削除する。そして、そのＴＣＰセッション識別子とともに、切断要求が到着した旨をＴＣＰデータ中継処理２５３に通知する。
【００４７】
また、ＴＣＰ終端処理２５２は、ＴＣＰデータ中継処理２５３からＴＣＰセッションの切断を指示されたら、該当セッションの切断要求セグメント（例えばＦＩＮフラグがオンのＴＣＰセグメント）を構成し、送信先ネットワークインターフェース識別子、送信元ＩＰアドレス、宛先ＩＰアドレスとともに、ＩＰ通信処理２５１に渡す。そして、その切断要求セグメントの返信である切断応答セグメント（ＦＩＮフラグがオンの切断要求セグメントを送信した場合は、ＡＣＫフラグがオンのＴＣＰセグメント）をＩＰ通信処理２５１経由で必要に応じて受信し、切断を完了する（ＦＩＮフラグがオンの切断要求セグメントを送信した場合は、送信方向のみの切断が完了する）。そして、該当セッションが受信方向についても既に切断されていれば、対応するエントリをＴＣＰセッション管理表２５７から削除する。
【００４８】
以上に説明したとおり、ＴＣＰ終端処理２５２が行うＴＣＰセッションの接続・切断・データ送受信の処理は、基本的には一般的なＴＣＰセッション接続・切断・データ送受信処理と同様である。ただし、本実施例の通信振分装置１００内の通信振分ソフトウェア２２０内のＴＣＰ終端処理２５２は、任意のＴＣＰポートにおいて常にＴＣＰセッション接続要求を待ち受ける点、送受信するＴＣＰセグメントとＴＣＰセッションとの対応付けにネットワークインターフェース識別子も使用する点、および、通信振分装置１００自身に割り当てられたＩＰアドレス宛でないＴＣＰセグメントに対してもセッション終端処理を行う点が、一般的なＴＣＰセッションの終端処理と異なる。
【００４９】
ＴＣＰデータ中継処理２５３は、ＴＣＰ終端処理２５２を用いて、囮ホスト用ネットワークインターフェース２０３側、偽装応答装置用ネットワークインターフェース２０４側、外部ネットワーク用ネットワークインターフェース２０５側それぞれとの間のＴＣＰセッションの接続や切断を行い、それらのＴＣＰセッションの間でＴＣＰデータを中継する。また、囮ホスト用ネットワークインターフェース２０３側のＴＣＰセッションから受信したＴＣＰデータを中継する場合は、ＴＣＰデータが攻撃トラフィックか否かの判定を攻撃検知ソフトウェア２３０に依頼し、攻撃である場合は外部ネットワーク用ネットワークインターフェース２０５側のＴＣＰセッションを強制切断し、以降は囮ホスト用ネットワークインターフェース２０３側のＴＣＰセッションと偽装応答装置用ネットワークインターフェース２０４側のＴＣＰセッションとの間でＴＣＰデータを中継する。ＴＣＰデータ中継処理２５３の詳細な処理フローは後述する。
【００５０】
ＩＰ・ＵＤＰデータ中継処理２６１は、ＴＣＰ振分処理２２１から受け取ったＩＰパケットまたはＵＤＰパケットを、囮ホスト用ネットワークインターフェース２０３、偽装応答装置用ネットワークインターフェース２０４、外部ネットワーク用ネットワークインターフェース２０５のうちの適切なインターフェースへ、ＴＣＰ振分処理２２１を通して中継する。また、囮ホスト用ネットワークインターフェース２０３から受信したＩＰパケットまたはＵＤＰパケットを中継する場合は、パケットが攻撃トラフィックか否かの判定を攻撃検知ソフトウェア２３０に依頼し、攻撃である場合は、そのパケットおよびそのパケットと同一の送信元・宛先ＩＰアドレス、プロトコル番号、ポート番号（プロトコルがＵＤＰの場合）のパケットについて、以降の中継を囮ホスト用ネットワークインターフェース２０３と偽装応答装置用ネットワークインターフェース２０４との間のみで行う。ＩＰ・ＵＤＰデータ中継処理２６１の詳細な処理フローは後述する。
【００５１】
ＴＣＰセッション管理表２５７は、ＴＣＰ終端処理２５２が接続処理を行って設けたＴＣＰセッションの情報が記録される表である。ＴＣＰセッション管理表２５７の詳細な内容については後述する。
【００５２】
ＴＣＰ中継先判定表２５６は、ＴＣＰデータ中継処理２５３がＴＣＰセッション間のデータ中継処理を行う際に、どのセッションからどのセッションへデータを中継すべきかを決定するために用いる表である。ＴＣＰ中継先判定表２５６の詳細な内容については後述する。
【００５３】
ＩＰ・ＵＤＰ中継先判定表２６６は、ＩＰ・ＵＤＰパケット中継処理２６１がネットワークインターフェース間のパケット中継処理を行う際に、どのインターフェースからどのインターフェースへパケットを中継すべきかを決定するために用いる表である。ＩＰ・ＵＤＰ中継先判定表２６６の詳細な内容については後述する。
【００５４】
図３は、実施例１におけるＴＣＰ中継先判定表を表す図である。
ＴＣＰ中継先判定表２５６には、外部ネットワーク側セッション識別子３１０、偽装応答装置側セッション識別子３２０、囮ホスト側セッション識別子３３０、接続状態３４０、データ中継先３５０の項目が含まれる。
【００５５】
外部ネットワーク側セッション識別子３１０、偽装応答装置側セッション識別子３２０、囮ホスト側セッション識別子３３０の３項目は、外部ネットワーク用ネットワークインターフェース２０５側、偽装応答装置用ネットワークインターフェース２０４側、囮ホスト用ネットワークインターフェース２０３側それぞれに設けられたＴＣＰセッションの識別子の対応付けを表す。すなわち、例えばあるエントリの、囮ホスト側セッション識別子３３０によって表されるＴＣＰセッションからデータを受信し、これを外部ネットワーク側、偽装応答装置側の双方に中継する場合は、同一エントリの外部ネットワーク側セッション識別子３１０、偽装応答装置側セッション識別子３２０の双方によって表されるＴＣＰセッションへ中継する。
【００５６】
接続状態３４０は、該当エントリによって表されるＴＣＰセッションの、上り方向と下り方向のうち、いずれが接続中の状態で、いずれが切断された状態かを表す。ここで、上り方向とは囮ホストから外部ネットワークもしくは偽装応答装置へ向かう方向を、下り方向とは外部ネットワークもしくは偽装応答装置から囮ホストへ向かう方向を表す。ＴＣＰは基本的に双方向の通信であるが、ＦＩＮフラグを用いた正常切断手続を行うと、一時的にハーフクローズ状態と呼ばれる、一方向のみ切断され、もう一方向は接続されたままの状態が発生する。接続状態３４０は、このようなハーフクローズ状態のＴＣＰセッションを表すための項目である。
【００５７】
データ中継先３５０は、囮ホスト側ＴＣＰセッションから受信したＴＣＰデータを、外部ネットワーク側（Ｅ側）のＴＣＰセッションに中継すべきか、偽装応答装置側（Ｃ側）のＴＣＰセッションに中継すべきかを表す項目である。この項目がＥ側である場合は、当該セッションにおいて攻撃トラフィックを未検出であることを表しており、この状態では囮ホスト側ＴＣＰセッションからのＴＣＰデータは外部ネットワーク側、偽装応答装置側双方のＴＣＰセッションに中継される。この項目がＣ側である場合は、当該セッションにおいて攻撃トラフィックを検出したことを表しており、この状態では囮ホスト側ＴＣＰセッションからのＴＣＰデータは偽装応答装置側のＴＣＰセッションのみに中継される。また、外部ネットワーク側、もしくは偽装応答装置側のＴＣＰセッションからＴＣＰデータを受信した場合は、データ中継先３５０が表す側のＴＣＰセッションから受信したＴＣＰデータのみを囮ホスト側ＴＣＰセッションへ中継する。
【００５８】
図４は、実施例１におけるＴＣＰセッション管理表を表す図である。
ＴＣＰセッション管理表２５７には、インターフェース識別子４１０、通信振分装置側ＩＰアドレス４２１、通信振分装置側ポート番号４２２、通信相手側ＩＰアドレス４３１、通信相手側ポート番号４３２、セッション識別子４４０、接続状態４５０の項目が含まれる。
【００５９】
インターフェース識別子４１０は、該当ＴＣＰセッションによって通信が行われるネットワークインターフェースの識別子である。すなわち、囮ホスト用ネットワークインターフェース２０３、偽装応答装置用ネットワークインターフェース２０４、外部ネットワーク用ネットワークインターフェース２０５のいずれかを表す識別子である。
【００６０】
通信振分装置側ＩＰアドレス４２１および通信振分装置側ポート番号４２２は、該当ＴＣＰセッションにおいてＴＣＰパケットを送出する際の送信元ＩＰアドレス及びポート番号、および、該当ＴＣＰセッションにおいてＴＣＰパケットを受信する際の宛先ＩＰアドレス及びポート番号を表す。ＩＰ通信を行う通常のホストでは、自ホスト側のＩＰアドレスには自ホストに割り当てられたＩＰアドレスしか用いないが、本発明の通信振分装置は、通信振分装置自身に割り当てられたＩＰアドレスとは無関係に、任意のＩＰアドレスを通信振分装置側のＩＰアドレスとして用いる。
【００６１】
通信相手側ＩＰアドレス４３１および通信相手側ポート番号４３２は、該当ＴＣＰセッションにおいてＴＣＰパケットを送出する際の宛先ＩＰアドレス及びポート番号、および、該当ＴＣＰセッションにおいてＴＣＰパケットを受信する際の送信元ＩＰアドレス及びポート番号を表す。
【００６２】
セッション識別子４４０には、該当ＴＣＰセッションに対してＴＣＰ終端処理２５２が割り当てた識別子が格納される。
【００６３】
接続状態４５０は、該当ＴＣＰセッションの、送信方向と受信方向のうち、いずれが接続中の状態で、いずれが切断された状態かを表す。すなわち、該当ＴＣＰセッションのハーフクローズ状態を表す。
【００６４】
図５は、実施例１におけるＩＰ・ＵＤＰ中継先判定表を表す図である。
ＩＰ・ＵＤＰ中継先判定表２６６には、外部ネットワーク側・偽装応答装置側ＩＰアドレス５１１、外部ネットワーク側・偽装応答装置側ポート番号５１２、囮ホスト側ＩＰアドレス５２１、囮ホスト側ポート番号５２２、プロトコル番号５３０、パケット中継先５４０、最終中継時刻５５０の項目が含まれる。
【００６５】
外部ネットワーク側・偽装応答装置側ＩＰアドレス５１１、外部ネットワーク側・偽装応答装置側ポート番号５１２、囮ホスト側ＩＰアドレス５２１、囮ホスト側ポート番号５２２、プロトコル番号５３０は、各エントリがどのようなＩＰパケットおよびＵＤＰパケットに当てはまるかを表す項目である。すなわち、外部ネットワーク用ネットワークインターフェース２０５側もしくは偽装応答装置用ネットワークインターフェース２０４側から受信したパケットの扱いを決める際は、該当パケットの送信元ＩＰアドレスが外部ネットワーク側・偽装応答装置側ＩＰアドレス５１１と、該当パケットの宛先ＩＰアドレスが囮ホスト側ＩＰアドレス５２１と、該当パケットのプロトコル番号がプロトコル番号５３０と一致し、プロトコル番号がＵＤＰを表す番号である場合は、さらに該当パケットの送信元ポート番号が外部ネットワーク側・偽装応答装置側ポート番号５１２と、該当パケットの宛先ポート番号が囮ホスト側ポート番号５２２と一致するエントリを、該当パケットを囮ホスト用ネットワークインターフェース２０３側に中継するか否かの判断に使用する。囮ホスト用ネットワークインターフェース２０３側から受信したパケットの扱いを決める際は、該当パケットの送信元ＩＰアドレスが囮ホスト側ＩＰアドレス５２１と、該当パケットの宛先ＩＰアドレスが外部ネットワーク側・偽装応答装置側ＩＰアドレス５１１と、該当パケットのプロトコル番号がプロトコル番号５３０と一致し、プロトコル番号がＵＤＰを表す番号である場合は、さらに該当パケットの送信元ポート番号が囮ホスト側ポート番号５２２と、該当パケットの宛先ポート番号が外部ネットワーク側・偽装応答装置側ポート番号５１２と一致するエントリを、該当パケットを外部ネットワーク用ネットワークインターフェース２０５側に中継するか否かの判断に使用する。
【００６６】
パケット中継先５４０は、囮ホスト用ネットワークインターフェース２０３側から受信したＩＰパケットおよびＵＤＰパケットを、外部ネットワーク用ネットワークインターフェース２０５側（Ｅ側）に中継すべきか、偽装応答装置用ネットワークインターフェース２０４側（Ｃ側）に中継すべきかを表す項目である。この項目がＥ側である場合は、当該エントリが表すパケットにおいて攻撃トラフィックを未検出であることを表しており、この状態では囮ホスト用ネットワークインターフェース２０３側からのＩＰパケットもしくはＵＤＰパケットは外部ネットワーク側、偽装応答装置側双方のネットワークインターフェースに中継される。この項目がＣ側である場合は、当該エントリが表すパケットにおいて攻撃トラフィックを検出したことを表しており、この状態では囮ホスト用ネットワークインターフェース２０３側からのＩＰパケットもしくはＵＤＰパケットは偽装応答装置用ネットワークインターフェース２０４側のみに中継される。また、外部ネットワーク側、もしくは偽装応答装置側のネットワークインターフェースからＩＰパケットもしくはＵＤＰパケットを受信した場合は、パケット中継先５４０が表す側のネットワークインターフェースから受信したＩＰパケットもしくはＵＤＰパケットのみを囮ホスト用ネットワークインターフェース２０３側へ中継する。
【００６７】
最終中継時刻５５０は、該当エントリを用いてパケット中継を行った最も新しい時刻を表している。この時刻と、現時刻の差が一定の値以上になると、当該エントリに対応する通信が終了したものとみなし、当該エントリをＩＰ・ＵＤＰ中継先判定表２６６から削除する。
【００６８】
図６は、実施例１において、囮ホストから外部ネットワークに存在する通信対象ホストに向けてＴＣＰセッションの接続を確立する際の、送受信シーケンス図である。
【００６９】
通信振分装置１００は、囮ホスト１１０から通信対象ホスト１３０宛に送信されたＴＣＰセッション接続要求パケット（ＳＹＮフラグがＯＮのＴＣＰパケット）を中継せず、自らが接続応答パケット（ＳＹＮフラグおよびＡＣＫフラグがＯＮのＴＣＰパケット）を生成して囮ホスト１１０に向けて返信し、通信振分装置１００と囮ホスト１１０との間でＴＣＰセッションを確立する（ステップ６１０）。この際の通信振分装置１００側のＩＰアドレスおよびポート番号には、接続要求パケットに含まれる宛先ＩＰアドレス及び宛先ポート番号を用いる。
【００７０】
続いて、通信振分装置１００は、自らがＴＣＰセッション接続要求パケット（ＳＹＮフラグがＯＮのＴＣＰパケット）を生成して通信対象ホスト１３０に向けて送信し、通信対象ホスト１３０から接続応答パケット（ＳＹＮフラグおよびＡＣＫフラグがＯＮのＴＣＰパケット）を受信したら、さらに接続応答確認パケット（ＡＣＫフラグがＯＮのＴＣＰパケット）を返信し、通信振分装置１００と通信対象ホスト１３０との間でＴＣＰセッションを確立する（ステップ６２０）。この際の通信振分装置１００側のＩＰアドレスおよびポート番号には、ステップ６１０の接続要求パケットに含まれる送信元ＩＰアドレス及び送信元ポート番号を用い、通信対象ホスト１３０側のＩＰアドレスおよびポート番号には、ステップ６１０の接続要求パケットに含まれる宛先ＩＰアドレス及び宛先ポート番号を用いる。
【００７１】
続いて、通信振分装置１００は、自らがＴＣＰセッション接続要求パケット（ＳＹＮフラグがＯＮのＴＣＰパケット）を生成して偽装応答装置１２０に向けて送信し、偽装応答装置１２０から接続応答パケット（ＳＹＮフラグおよびＡＣＫフラグがＯＮのＴＣＰパケット）を受信したら、さらに接続応答確認パケット（ＡＣＫフラグがＯＮのＴＣＰパケット）を返信し、通信振分装置１００と偽装応答装置１２０との間でＴＣＰセッションを確立する（ステップ６３０）。この際の通信振分装置１００側のＩＰアドレスおよびポート番号には、ステップ６１０の接続要求パケットに含まれる送信元ＩＰアドレス及び送信元ポート番号を用い、偽装応答装置１２０側のＩＰアドレスおよびポート番号には、ステップ６１０の接続要求パケットに含まれる宛先ＩＰアドレス及び宛先ポート番号を用いる。
【００７２】
以上の手順によって確立された３つのＴＣＰセッションそれぞれを表す識別子は、ＴＣＰ中継先判定表２５６の１エントリ内に記録される。
【００７３】
図７は、実施例１において、外部ネットワークに存在する通信対象ホストから囮ホストに向けてＴＣＰセッションの接続を確立する際の、送受信シーケンス図である。
【００７４】
通信振分装置１００は、通信対象ホスト１３０から囮ホスト１１０宛に送信されたＴＣＰセッション接続要求パケット（ＳＹＮフラグがＯＮのＴＣＰパケット）を中継せず、自らが接続応答パケット（ＳＹＮフラグおよびＡＣＫフラグがＯＮのＴＣＰパケット）を生成して通信対象ホスト１３０に向けて返信し、通信振分装置１００と通信対象ホスト１３０との間でＴＣＰセッションを確立する（ステップ７１０）。この際の通信振分装置１００側のＩＰアドレスおよびポート番号には、接続要求パケットに含まれる宛先ＩＰアドレス及び宛先ポート番号を用いる。
【００７５】
続いて、通信振分装置１００は、外部ネットワークに存在する通信対象ホスト１３０からＴＣＰセッション接続要求が届いた旨を表す接続発生通知を、偽装応答装置１２０へ送信する（ステップ７２０）。この接続発生通知には、偽装応答装置１２０側でＴＣＰセッション接続要求パケット（ＳＹＮフラグがＯＮのＴＣＰパケット）を生成するために必要な、通信対象ホスト１３０から届いたＴＣＰセッション接続要求の送信元ＩＰアドレス、宛先ＩＰアドレス、送信元ポート番号、宛先ポート番号といった情報が含まれる。
【００７６】
接続発生通知を受信した偽装応答装置１２０は、接続発生通知によって知らされた情報を元にＴＣＰセッション接続要求パケット（ＳＹＮフラグがＯＮのＴＣＰパケット）を生成し、通信振分装置１００へ向けて送信する。通信振分装置１００はこれを受信したら、偽装応答装置１２０へ向けて接続応答パケット（ＳＹＮフラグおよびＡＣＫフラグがＯＮのＴＣＰパケット）を返信し、通信振分装置１００と偽装応答装置１２０との間でＴＣＰセッションを確立する（ステップ７３０）。この際の通信振分装置１００側のＩＰアドレスおよびポート番号には、ステップ７１０の接続要求パケットに含まれる宛先ＩＰアドレス及び宛先ポート番号を用い、偽装応答装置１２０側のＩＰアドレスおよびポート番号には、ステップ７１０の接続要求パケットに含まれる送信元ＩＰアドレス及び送信元ポート番号を用いる。
【００７７】
続いて、通信振分装置１００は、自らがＴＣＰセッション接続要求パケット（ＳＹＮフラグがＯＮのＴＣＰパケット）を生成して囮ホスト１１０に向けて送信し、囮ホスト１１０から接続応答パケット（ＳＹＮフラグおよびＡＣＫフラグがＯＮのＴＣＰパケット）を受信したら、さらに接続応答確認パケット（ＡＣＫフラグがＯＮのＴＣＰパケット）を返信し、通信振分装置１００と囮ホスト１１０との間でＴＣＰセッションを確立する（ステップ７４０）。この際の通信振分装置１００側のＩＰアドレスおよびポート番号には、ステップ７１０の接続要求パケットに含まれる送信元ＩＰアドレス及び送信元ポート番号を用い、囮ホスト１１０側のＩＰアドレスおよびポート番号には、ステップ７１０の接続要求パケットに含まれる宛先ＩＰアドレス及び宛先ポート番号を用いる。
【００７８】
以上の手順によって確立された３つのＴＣＰセッションそれぞれを表す識別子は、ＴＣＰ中継先判定表２５６の１エントリ内に記録される。
【００７９】
図８は、実施例１において、囮ホストから外部ネットワークに存在する通信対象ホストに向けて、以前に攻撃トラフィックが流れていないＴＣＰセッションにおいて攻撃でないＴＣＰデータを送信する際の、送受信シーケンス図である。
【００８０】
通信振分装置１００は、囮ホスト１１０から通信対象ホスト１３０宛に送信されたＴＣＰデータパケットを中継せず、自らが受信確認パケット（ＡＣＫフラグがＯＮのＴＣＰパケット）を生成して囮ホスト１１０に向けて返信し、通信振分装置１００と囮ホスト１１０との間で当該ＴＣＰデータパケットの送受信を完了する（ステップ８１０）。この際の通信振分装置１００側のＩＰアドレスおよびポート番号には、ＴＣＰデータパケットに含まれる宛先ＩＰアドレス及び宛先ポート番号を用いる。
【００８１】
当該ＴＣＰデータパケットを受信した通信振分装置１００は、当該ＴＣＰセッションにおいて以前に攻撃が検出されていないことを確認し、さらに受信したデータに攻撃が含まれていないことを確認する（ステップ８２０）。
【００８２】
以前にも今回も攻撃が流れていないことが確認できたら、通信振分装置１００は、受信したＴＣＰデータパケットのＴＣＰヘッダ部分を再生成して、通信対象ホスト１３０に向けて送信する（ステップ８３０）。この際の通信振分装置１００側のＩＰアドレスおよびポート番号には、ステップ８１０のＴＣＰデータパケットに含まれる送信元ＩＰアドレス及び送信元ポート番号を用い、通信対象ホスト１３０側のＩＰアドレスおよびポート番号には、ステップ８１０のＴＣＰデータパケットに含まれる宛先ＩＰアドレス及び宛先ポート番号を用いる。
【００８３】
続いて、通信振分装置１００は、受信したＴＣＰデータパケットのＴＣＰヘッダ部分を再生成して、偽装応答装置１２０に向けて送信する（ステップ８４０）。この際の通信振分装置１００側のＩＰアドレスおよびポート番号には、ステップ８１０のＴＣＰデータパケットに含まれる送信元ＩＰアドレス及び送信元ポート番号を用い、偽装応答装置１２０側のＩＰアドレスおよびポート番号には、ステップ８１０のＴＣＰデータパケットに含まれる宛先ＩＰアドレス及び宛先ポート番号を用いる。
【００８４】
図９は、実施例１において、囮ホストから外部ネットワークに存在する通信対象ホストに向けて、以前に攻撃トラフィックが流れていないＴＣＰセッションにおいて攻撃ＴＣＰデータを送信する際の、送受信シーケンス図である。
【００８５】
通信振分装置１００は、囮ホスト１１０から通信対象ホスト１３０宛に送信されたＴＣＰデータパケットを中継せず、自らが受信確認パケット（ＡＣＫフラグがＯＮのＴＣＰパケット）を生成して囮ホスト１１０に向けて返信し、通信振分装置１００と囮ホスト１１０との間で当該ＴＣＰデータパケットの送受信を完了する（ステップ９１０）。この際の通信振分装置１００側のＩＰアドレスおよびポート番号には、ＴＣＰデータパケットに含まれる宛先ＩＰアドレス及び宛先ポート番号を用いる。
【００８６】
当該ＴＣＰデータパケットを受信した通信振分装置１００は、当該ＴＣＰセッションにおいて以前に攻撃が検出されていないことを確認し、さらに受信したデータに含まれた攻撃を検出する（ステップ９２０）。
【００８７】
攻撃を検出したら、通信振分装置１００は、通信対象ホスト１３０との間のＴＣＰセッションの強制切断パケット（ＲＳＴフラグがＯＮのＴＣＰパケット）を、通信対象ホスト１３０に向けて送信する（ステップ９３０）。この際の通信振分装置１００側のＩＰアドレスおよびポート番号には、ステップ９１０のＴＣＰデータパケットに含まれる送信元ＩＰアドレス及び送信元ポート番号を用い、通信対象ホスト１３０側のＩＰアドレスおよびポート番号には、ステップ９１０のＴＣＰデータパケットに含まれる宛先ＩＰアドレス及び宛先ポート番号を用いる。
【００８８】
続いて、通信振分装置１００は、受信したＴＣＰデータパケットのＴＣＰヘッダ部分を再生成して、偽装応答装置１２０に向けて送信する（ステップ９４０）。この際の通信振分装置１００側のＩＰアドレスおよびポート番号には、ステップ９１０のＴＣＰデータパケットに含まれる送信元ＩＰアドレス及び送信元ポート番号を用い、偽装応答装置１２０側のＩＰアドレスおよびポート番号には、ステップ９１０のＴＣＰデータパケットに含まれる宛先ＩＰアドレス及び宛先ポート番号を用いる。
【００８９】
図１０は、実施例１において、囮ホストから外部ネットワークに存在する通信対象ホストに向けて、以前に攻撃トラフィックが流れたＴＣＰセッションにおいてＴＣＰデータを送信する際の、送受信シーケンス図である。
【００９０】
通信振分装置１００は、囮ホスト１１０から通信対象ホスト１３０宛に送信されたＴＣＰデータパケットを中継せず、自らが受信確認パケット（ＡＣＫフラグがＯＮのＴＣＰパケット）を生成して囮ホスト１１０に向けて返信し、通信振分装置１００と囮ホスト１１０との間で当該ＴＣＰデータパケットの送受信を完了する（ステップ１０１０）。この際の通信振分装置１００側のＩＰアドレスおよびポート番号には、ＴＣＰデータパケットに含まれる宛先ＩＰアドレス及び宛先ポート番号を用いる。
【００９１】
当該ＴＣＰデータパケットを受信した通信振分装置１００は、当該ＴＣＰセッションにおいて以前に攻撃が検出されたことを確認する（ステップ１０２０）。
【００９２】
以前に攻撃が検出されたことを確認したら、通信振分装置１００は、受信したＴＣＰデータパケットのＴＣＰヘッダ部分を再生成して、偽装応答装置１２０に向けて送信する（ステップ１０３０）。この際の通信振分装置１００側のＩＰアドレスおよびポート番号には、ステップ１０１０のＴＣＰデータパケットに含まれる送信元ＩＰアドレス及び送信元ポート番号を用い、偽装応答装置１２０側のＩＰアドレスおよびポート番号には、ステップ１０１０のＴＣＰデータパケットに含まれる宛先ＩＰアドレス及び宛先ポート番号を用いる。
【００９３】
図１１は、実施例１において、外部ネットワークに存在する通信対象ホストから囮ホストに向けてＴＣＰデータを送信する際の、送受信シーケンス図である。
【００９４】
通信振分装置１００は、通信対象ホスト１３０から囮ホスト１１０宛に送信されたＴＣＰデータパケットを中継せず、自らが受信確認パケット（ＡＣＫフラグがＯＮのＴＣＰパケット）を生成して通信対象ホスト１３０に向けて返信し、通信振分装置１００と通信対象ホスト１３０との間で当該ＴＣＰデータパケットの送受信を完了する（ステップ１１１０）。この際の通信振分装置１００側のＩＰアドレスおよびポート番号には、ＴＣＰデータパケットに含まれる宛先ＩＰアドレス及び宛先ポート番号を用いる。
【００９５】
当該ＴＣＰデータパケットを受信した通信振分装置１００は、当該ＴＣＰセッションにおいて以前に攻撃が検出されたか否かを確認する（ステップ１１２０）。
【００９６】
以前に攻撃が検出されていない場合、通信振分装置１００は、受信したＴＣＰデータパケットのＴＣＰヘッダ部分を再生成して、囮ホスト１１０に向けて送信する（ステップ１１３０）。この際の通信振分装置１００側のＩＰアドレスおよびポート番号には、ステップ１１１０のＴＣＰデータパケットに含まれる送信元ＩＰアドレス及び送信元ポート番号を用い、囮ホスト１１０側のＩＰアドレスおよびポート番号には、ステップ１１１０のＴＣＰデータパケットに含まれる宛先ＩＰアドレス及び宛先ポート番号を用いる。
【００９７】
以前に攻撃が検出されていた場合、通信振分装置１００は、受信したＴＣＰデータパケットを中継せずに破棄する。
【００９８】
図１２は、実施例１において、偽装応答装置から囮ホストに向けてＴＣＰデータを送信する際の、送受信シーケンス図である。
【００９９】
通信振分装置１００は、偽装応答装置１２０から囮ホスト１１０宛に送信されたＴＣＰデータパケットを中継せず、自らが受信確認パケット（ＡＣＫフラグがＯＮのＴＣＰパケット）を生成して偽装応答装置１２０に向けて返信し、通信振分装置１００と偽装応答装置１２０との間で当該ＴＣＰデータパケットの送受信を完了する（ステップ１２１０）。この際の通信振分装置１００側のＩＰアドレスおよびポート番号には、ＴＣＰデータパケットに含まれる宛先ＩＰアドレス及び宛先ポート番号を、偽装応答装置１２０側のＩＰアドレスおよびポート番号には、ＴＣＰデータパケットに含まれる送信元ＩＰアドレス及び送信元ポート番号を用いる。
【０１００】
当該ＴＣＰデータパケットを受信した通信振分装置１００は、当該ＴＣＰセッションにおいて以前に攻撃が検出されたか否かを確認する（ステップ１２２０）。
【０１０１】
以前に攻撃が検出されていた場合、通信振分装置１００は、受信したＴＣＰデータパケットのＴＣＰヘッダ部分を再生成して、囮ホスト１１０に向けて送信する（ステップ１２３０）。この際の通信振分装置１００側のＩＰアドレスおよびポート番号には、ステップ１２１０のＴＣＰデータパケットに含まれる送信元ＩＰアドレス及び送信元ポート番号を用い、囮ホスト１１０側のＩＰアドレスおよびポート番号には、ステップ１２１０のＴＣＰデータパケットに含まれる宛先ＩＰアドレス及び宛先ポート番号を用いる。
【０１０２】
以前に攻撃が検出されていない場合、通信振分装置１００は、受信したＴＣＰデータパケットを中継せずに破棄する。
【０１０３】
図１３は、実施例１において、囮ホストから外部ネットワークに存在する通信対象ホストに向けて、以前に攻撃トラフィックが流れていないＴＣＰセッションの切断を行う際の、送受信シーケンス図である。
【０１０４】
通信振分装置１００は、囮ホスト１１０から通信対象ホスト１３０宛に送信されたＴＣＰセッション切断要求パケット（ＦＩＮフラグがＯＮのＴＣＰパケット）を中継せず、自らが切断応答パケット（ＡＣＫフラグがＯＮのＴＣＰパケット）を生成して囮ホスト１１０に向けて返信し、通信振分装置１００と囮ホスト１１０との間でＴＣＰセッションを切断する（ステップ１３１０）。この際の通信振分装置１００側のＩＰアドレスおよびポート番号には、切断要求パケットに含まれる宛先ＩＰアドレス及び宛先ポート番号を用いる。
【０１０５】
続いて、通信振分装置１００は、当該ＴＣＰセッションにおいて以前に攻撃が検出されていないことを確認する（ステップ１３２０）。
【０１０６】
以前に攻撃が流れていないことが確認できたら、通信振分装置１００は、自らがＴＣＰセッション切断要求パケット（ＦＩＮフラグがＯＮのＴＣＰパケット）を生成して通信対象ホスト１３０に向けて送信し、通信振分装置１００と通信対象ホスト１３０との間のＴＣＰセッションを切断する（ステップ１３３０）。この際の通信振分装置１００側のＩＰアドレスおよびポート番号には、ステップ１３１０の切断要求パケットに含まれる送信元ＩＰアドレス及び送信元ポート番号を用い、通信対象ホスト１３０側のＩＰアドレスおよびポート番号には、ステップ１３１０の切断要求パケットに含まれる宛先ＩＰアドレス及び宛先ポート番号を用いる。
【０１０７】
続いて、通信振分装置１００は、自らがＴＣＰセッション切断要求パケット（ＦＩＮフラグがＯＮのＴＣＰパケット）を生成して偽装応答装置１２０に向けて送信し、通信振分装置１００と偽装応答装置１２０との間でＴＣＰセッションを切断する（ステップ１３４０）。この際の通信振分装置１００側のＩＰアドレスおよびポート番号には、ステップ１３１０の接続要求パケットに含まれる送信元ＩＰアドレス及び送信元ポート番号を用い、偽装応答装置１２０側のＩＰアドレスおよびポート番号には、ステップ１３１０の切断要求パケットに含まれる宛先ＩＰアドレス及び宛先ポート番号を用いる。
【０１０８】
図１４は、実施例１において、囮ホストから外部ネットワークに存在する通信対象ホストに向けて、以前に攻撃トラフィックが流れたＴＣＰセッションの切断を行う際の、送受信シーケンス図である。
【０１０９】
通信振分装置１００は、囮ホスト１１０から通信対象ホスト１３０宛に送信されたＴＣＰセッション切断要求パケット（ＦＩＮフラグがＯＮのＴＣＰパケット）を中継せず、自らが切断応答パケット（ＡＣＫフラグがＯＮのＴＣＰパケット）を生成して囮ホスト１１０に向けて返信し、通信振分装置１００と囮ホスト１１０との間でＴＣＰセッションを切断する（ステップ１４１０）。この際の通信振分装置１００側のＩＰアドレスおよびポート番号には、切断要求パケットに含まれる宛先ＩＰアドレス及び宛先ポート番号を用いる。
【０１１０】
続いて、通信振分装置１００は、当該ＴＣＰセッションにおいて以前に攻撃が検出されたことを確認する（ステップ１４２０）。
【０１１１】
以前に攻撃が流れたことが確認できたら、通信振分装置１００は、自らがＴＣＰセッション切断要求パケット（ＦＩＮフラグがＯＮのＴＣＰパケット）を生成して偽装応答装置１２０に向けて送信し、通信振分装置１００と偽装応答装置１２０との間でＴＣＰセッションを切断する（ステップ１４３０）。この際の通信振分装置１００側のＩＰアドレスおよびポート番号には、ステップ１４１０の接続要求パケットに含まれる送信元ＩＰアドレス及び送信元ポート番号を用い、偽装応答装置１２０側のＩＰアドレスおよびポート番号には、ステップ１４１０の切断要求パケットに含まれる宛先ＩＰアドレス及び宛先ポート番号を用いる。
【０１１２】
図１５は、実施例１において、外部ネットワークに存在する通信対象ホストから囮ホストに向けてＴＣＰセッションの切断を行う際の、送受信シーケンス図である。
【０１１３】
通信振分装置１００は、通信対象ホスト１３０から囮ホスト１１０宛に送信されたＴＣＰセッション切断要求パケット（ＦＩＮフラグがＯＮのＴＣＰパケット）を中継せず、自らが切断応答パケット（ＡＣＫフラグがＯＮのＴＣＰパケット）を生成して通信対象ホスト１３０に向けて返信し、通信振分装置１００と通信対象ホスト１３０との間でＴＣＰセッションを切断する（ステップ１５１０）。この際の通信振分装置１００側のＩＰアドレスおよびポート番号には、切断要求パケットに含まれる宛先ＩＰアドレス及び宛先ポート番号を用いる。
【０１１４】
続いて、通信振分装置１００は、外部ネットワークに存在する通信対象ホスト１３０からＴＣＰセッション切断要求が届いた旨を表す切断発生通知を、偽装応答装置１２０へ送信する（ステップ１５２０）。この切断発生通知には、偽装応答装置１２０側でＴＣＰセッション切断要求パケット（ＦＩＮフラグがＯＮのＴＣＰパケット）を生成するために必要な、通信対象ホスト１３０から届いたＴＣＰセッション切断要求の送信元ＩＰアドレス、宛先ＩＰアドレス、送信元ポート番号、宛先ポート番号といった情報が含まれる。
【０１１５】
切断発生通知を受信した偽装応答装置１２０は、切断発生通知によって知らされた情報を元にＴＣＰセッション切断要求パケット（ＦＩＮフラグがＯＮのＴＣＰパケット）を生成し、通信振分装置１００へ向けて送信する。通信振分装置１００はこれを受信したら、偽装応答装置１２０へ向けて切断応答パケット（ＡＣＫフラグがＯＮのＴＣＰパケット）を返信し、通信振分装置１００と偽装応答装置１２０との間でＴＣＰセッションを切断する（ステップ１５３０）。この際の通信振分装置１００側のＩＰアドレスおよびポート番号には、ステップ１５１０の切断要求パケットに含まれる宛先ＩＰアドレス及び宛先ポート番号を用い、偽装応答装置１２０側のＩＰアドレスおよびポート番号には、ステップ１５１０の切断要求パケットに含まれる送信元ＩＰアドレス及び送信元ポート番号を用いる。
【０１１６】
続いて、通信振分装置１００は、自らがＴＣＰセッション切断要求パケット（ＦＩＮフラグがＯＮのＴＣＰパケット）を生成して囮ホスト１１０に向けて送信し、通信振分装置１００と囮ホスト１１０との間でＴＣＰセッションを切断する（ステップ１５４０）。この際の通信振分装置１００側のＩＰアドレスおよびポート番号には、ステップ１５１０の切断要求パケットに含まれる送信元ＩＰアドレス及び送信元ポート番号を用い、囮ホスト１１０側のＩＰアドレスおよびポート番号には、ステップ１５１０の切断要求パケットに含まれる宛先ＩＰアドレス及び宛先ポート番号を用いる。
【０１１７】
図１６は、実施例１において、偽装応答装置から囮ホストに向けてＴＣＰセッションの切断を行う際の、送受信シーケンス図である。
【０１１８】
通信振分装置１００は、偽装応答装置１２０から囮ホスト１１０宛に送信されたＴＣＰセッション切断要求パケット（ＦＩＮフラグがＯＮのＴＣＰパケット）を中継せず、自らが切断応答パケット（ＡＣＫフラグがＯＮのＴＣＰパケット）を生成して偽装応答装置１２０に向けて返信し、通信振分装置１００と偽装応答装置１２０との間でＴＣＰセッションを切断する（ステップ１６１０）。この際の通信振分装置１００側のＩＰアドレスおよびポート番号には、切断要求パケットに含まれる宛先ＩＰアドレス及び宛先ポート番号を用い、偽装応答装置１２０側のＩＰアドレスおよびポート番号には、切断要求パケットに含まれる送信元ＩＰアドレス及び送信元ポート番号を用いる。
【０１１９】
続いて、通信振分装置１００は、自らがＴＣＰセッション切断要求パケット（ＦＩＮフラグがＯＮのＴＣＰパケット）を生成して囮ホスト１１０に向けて送信し、通信振分装置１００と囮ホスト１１０との間でＴＣＰセッションを切断する（ステップ１６２０）。この際の通信振分装置１００側のＩＰアドレスおよびポート番号には、ステップ１６１０の切断要求パケットに含まれる送信元ＩＰアドレス及び送信元ポート番号を用い、囮ホスト１１０側のＩＰアドレスおよびポート番号には、ステップ１６１０の切断要求パケットに含まれる宛先ＩＰアドレス及び宛先ポート番号を用いる。
【０１２０】
図１７は、実施例１において、囮ホストから外部ネットワークに存在する通信対象ホストに向けて、以前に攻撃トラフィックが流れておらず、かつ攻撃でないＩＰパケットもしくはＵＤＰパケットを送信する際の、送受信シーケンス図である。
【０１２１】
通信振分装置１００は、囮ホスト１１０から通信対象ホスト１３０宛に送信されたＩＰパケットもしくはＵＤＰパケットを受信すると（ステップ１７１０）、当該パケットと同じ送信元ＩＰアドレス、宛先ＩＰアドレス、プロトコル番号、送信元ポート番号（プロトコルがＵＤＰの場合）、宛先ポート番号（プロトコルがＵＤＰの場合）の組み合わせにおいて、以前に攻撃が検出されていないことを確認し、さらに受信したパケットに攻撃が含まれていないことを確認する（ステップ１７２０）。
【０１２２】
以前にも今回も攻撃が流れていないことが確認できたら、通信振分装置１００は、受信したパケットを通信対象ホスト１３０に向けて送信するとともに（ステップ１７３０）、偽装応答装置１２０に向けても送信する（ステップ１７４０）。
【０１２３】
図１８は、実施例１において、囮ホストから外部ネットワークに存在する通信対象ホストに向けて、以前に攻撃トラフィックが流れたか、もしくは攻撃のＩＰパケットもしくはＵＤＰパケットを送信する際の、送受信シーケンス図である。
【０１２４】
通信振分装置１００は、囮ホスト１１０から通信対象ホスト１３０宛に送信されたＩＰパケットもしくはＵＤＰパケットを受信すると（ステップ１８１０）、当該パケットと同じ送信元ＩＰアドレス、宛先ＩＰアドレス、プロトコル番号、送信元ポート番号（プロトコルがＵＤＰの場合）、宛先ポート番号（プロトコルがＵＤＰの場合）の組み合わせにおいて、以前に攻撃が検出されたこと、もしくは受信したパケットに攻撃が含まれていることを確認する（ステップ１８２０）。
【０１２５】
以前もしくは今回に攻撃が流れたことが確認できたら、通信振分装置１００は、受信したパケットを通信対象ホスト１３０に向けては送信せず、偽装応答装置１２０に向けてのみ送信する（ステップ１８３０）。
【０１２６】
図１９は、実施例１において、外部ネットワークに存在する通信対象ホストから囮ホストに向けてＩＰパケットもしくはＵＤＰパケットを送信する際の、送受信シーケンス図である。
【０１２７】
通信振分装置１００は、通信対象ホスト１３０から囮ホスト１１０宛に送信されたＩＰパケットもしくはＵＤＰパケットを受信すると（ステップ１９１０）、当該パケットと逆方向の送信元ＩＰアドレス、宛先ＩＰアドレス、プロトコル番号、送信元ポート番号（プロトコルがＵＤＰの場合）、宛先ポート番号（プロトコルがＵＤＰの場合）の組み合わせにおいて、以前に攻撃が検出されたか否かを確認する（ステップ１９２０）。
【０１２８】
以前に攻撃が流れていないことが確認できた場合のみ、通信振分装置１００は、受信したパケットを囮ホスト１１０に向けて送信する（ステップ１９３０）。以前に攻撃が流れていた場合は、当該パケットを中継せずに破棄する。
【０１２９】
図２０は、実施例１において、偽装応答装置から囮ホストに向けてＩＰパケットもしくはＵＤＰパケットを送信する際の、送受信シーケンス図である。
【０１３０】
通信振分装置１００は、偽装応答装置１２０から囮ホスト１１０宛に送信されたＩＰパケットもしくはＵＤＰパケットを受信すると（ステップ２０１０）、当該パケットと逆方向の送信元ＩＰアドレス、宛先ＩＰアドレス、プロトコル番号、送信元ポート番号（プロトコルがＵＤＰの場合）、宛先ポート番号（プロトコルがＵＤＰの場合）の組み合わせにおいて、以前に攻撃が検出されたか否かを確認する（ステップ２０２０）。
【０１３１】
以前に攻撃が流れたことが確認できた場合のみ、通信振分装置１００は、受信したパケットを囮ホスト１１０に向けて送信する（ステップ２０３０）。以前に攻撃が流れていない場合は、当該パケットを中継せずに破棄する。
【０１３２】
図２１は、実施例１において、ＴＣＰデータ中継処理がＴＣＰセッション接続要求パケット受信を通知された際に行う処理のフローを表す図である。
【０１３３】
ＴＣＰセッションの接続要求パケットを受信したことをＴＣＰ終端処理２５２から通知されたＴＣＰデータ中継処理２５３は、その要求に対する接続応答をＴＣＰ終端処理２５２に指示する（ステップ２１０１）。
【０１３４】
そして、通知されたセッション識別子をキーにＴＣＰセッション管理表２５７を調べ、該当したエントリから当該パケットを受信したネットワークインターフェースを得る。その結果、偽装応答装置用ネットワークインターフェース２０４であればステップ２１１１へ、さもなくばステップ２１２１へ移行する（ステップ２１１０）。
【０１３５】
ステップ２１１１では、ステップ２１１０において該当したエントリの通信振分装置側ＩＰアドレス、通信振分装置側ポート番号、通信相手側ＩＰアドレス、通信相手側ポート番号を得る。そして、これらの値が一致し、かつ、ネットワークインターフェースが外部ネットワーク用ネットワークインターフェース２０５である別のエントリを、ＴＣＰセッション管理表２５７から検索し、該当するエントリのセッション識別子（外部ネットワーク側セッション識別子）を得る。
【０１３６】
続いて、ステップ２１１１で得た外部ネットワーク側セッション識別子をキーにＴＣＰ中継先判定表２５６を調べ、該当するエントリを得る（ステップ２１１２）。そして、そのエントリの偽装応答装置側セッション識別子の欄に、ステップ２１０１の接続要求パケット受信通知の際に得たセッション識別子を登録する（ステップ２１１３）。続いて、ステップ２１１１にて得た通信振分装置側ＩＰアドレスを宛先ＩＰアドレス、通信振分装置側ポート番号を宛先ポート番号、通信相手側ＩＰアドレスを送信元ＩＰアドレス、通信相手側ポート番号を送信元ポート番号として、囮ホスト用ネットワークインターフェース２０３に向けてＴＣＰセッション接続要求を行うように、ＴＣＰ終端処理２５２に指示する（ステップ２１１４）。そして、セッション確立後に得られたセッション識別子を、ステップ２１１２にて得たエントリの囮ホスト側セッション識別子の欄に登録し（ステップ２１１５）、ステップ２１５１へ移行する。
【０１３７】
ステップ２１２１では、ＴＣＰ中継先判定表２５６に新規エントリを作成する。そして、ステップ２１１０にて得たネットワークインターフェースが囮ホスト用ネットワークインターフェース２０３であればステップ２１４１へ、さもなくばステップ２１３１へ移行する（ステップ２１３０）。
【０１３８】
ステップ２１３１では、ステップ２１２１にて新規作成したエントリの外部ネットワーク側セッション識別子の欄に、ステップ２１０１の接続要求パケット受信通知の際に得たセッション識別子を登録する。そして、ステップ２１１０において該当したエントリの通信振分装置側ＩＰアドレス、通信振分装置側ポート番号、通信相手側ＩＰアドレス、通信相手側ポート番号をパラメータに用いて、外部ネットワーク側からＴＣＰセッション接続要求を受けたこと表す接続発生通知を、偽装応答装置１２０に対して通知し（ステップ２１３２）、偽装応答装置からのＴＣＰセッション接続要求の到着を待つためにいったん処理を終了する。
【０１３９】
ステップ２１４１では、ステップ２１２１にて新規作成したエントリの囮ホスト側セッション識別子の欄に、ステップ２１０１の接続要求パケット受信通知の際に得たセッション識別子を登録する。
【０１４０】
続いて、ステップ２１１０において該当したエントリの通信振分装置側ＩＰアドレスを宛先ＩＰアドレス、通信振分装置側ポート番号を宛先ポート番号、通信相手側ＩＰアドレスを送信元ＩＰアドレス、通信相手側ポート番号を送信元ポート番号として、外部ネットワーク用ネットワークインターフェース２０５に向けてＴＣＰセッション接続要求を行うように、ＴＣＰ終端処理２５２に指示する（ステップ２１４２）。そして、セッション確立後に得られたセッション識別子を、ステップ２１２１にて新規作成したエントリの外部ネットワーク側セッション識別子の欄に登録する（ステップ２１４３）。
【０１４１】
続いて、ステップ２１１０において該当したエントリの通信振分装置側ＩＰアドレスを宛先ＩＰアドレス、通信振分装置側ポート番号を宛先ポート番号、通信相手側ＩＰアドレスを送信元ＩＰアドレス、通信相手側ポート番号を送信元ポート番号として、偽装応答装置用ネットワークインターフェース２０４に向けてＴＣＰセッション接続要求を行うように、ＴＣＰ終端処理２５２に指示する（ステップ２１４４）。そして、セッション確立後に得られたセッション識別子を、ステップ２１２１にて新規作成したエントリの偽装応答装置側セッション識別子の欄に登録し（ステップ２１４５）、ステップ２１５１へ移行する。
【０１４２】
ステップ２１５１では、ステップ２１２１にて新規作成したエントリの接続状態の欄を上下、データ中継先の欄を外部ネットワーク側に初期化し、処理を終了する。
【０１４３】
図２２は、実施例１において、ＴＣＰデータ中継処理がＴＣＰデータを受信した際に行う処理のフローを表す図である。
【０１４４】
あるＴＣＰセッションにおいてＴＣＰ終端処理２５２からＴＣＰデータを受信したＴＣＰデータ中継処理２５３は、当該データを受信したセッションの識別子をキーにＴＣＰ中継先判定表２５６を調べ（検索対象の欄は、外部ネットワーク側セッション識別子、偽装応答装置側セッション識別子、囮ホスト側セッション識別子）、該当したエントリから、当該データを受信したセッションがどのネットワークインターフェース側のものかを知る（ステップ２２１１）。そして、当該データを受信したセッションが囮ホスト側であればステップ２２４０に、さもなくばステップ２２３０に移行する（ステップ２２２０）。
【０１４５】
ステップ２２３０では、ステップ２２１１で得たＴＣＰ中継先判定表２５６のエントリの、データ中継先の欄によって指定されたネットワークインターフェースと、当該データを受信したセッションのネットワークインターフェースとが一致するか調べる。そして、一致した場合に限り、当該エントリの囮ホスト側セッション識別子によって示されるＴＣＰセッションに向けてＴＣＰデータを中継するよう、ＴＣＰ終端処理２５２に指示し（ステップ２２３１）、処理を終了する。
【０１４６】
ステップ２２４０では、ステップ２２１１で得たＴＣＰ中継先判定表２５６のエントリの、データ中継先の欄を調べ、これが偽装応答装置側であればステップ２２７１へ、さもなくばステップ２２４１へ移行する。
【０１４７】
ステップ２２４１では、ＴＣＰデータをパラメータに攻撃検知ソフトウェア２３０を呼び出して、受信したＴＣＰデータに攻撃が含まれていないかを調べる。そして、攻撃が含まれる場合はステップ２２５１へ、含まれない場合はステップ２２６１へ移行する（ステップ２２５０）。
【０１４８】
ステップ２２５１では、ステップ２２１１で得たＴＣＰ中継先判定表２５６のエントリの、外部ネットワーク側セッション識別子によって示されるＴＣＰセッションの強制切断をＴＣＰ終端処理２５２に指示する。そして、同エントリのデータ中継先の欄の値を偽装応答装置側に変更し（ステップ２２５２）、ステップ２２７１へ移行する。
【０１４９】
ステップ２２６１では、ステップ２２１１で得たＴＣＰ中継先判定表２５６のエントリの、外部ネットワーク側セッション識別子によって示されるＴＣＰセッションに向けてＴＣＰデータを中継するよう、ＴＣＰ終端処理２５２に指示し、ステップ２２７１へ移行する。
【０１５０】
ステップ２２７１では、ステップ２２１１で得たＴＣＰ中継先判定表２５６のエントリの、偽装応答装置側セッション識別子によって示されるＴＣＰセッションに向けてＴＣＰデータを中継するよう、ＴＣＰ終端処理２５２に指示し、処理を終了する。
【０１５１】
図２３は、実施例１において、ＴＣＰデータ中継処理がＴＣＰセッション切断要求パケット受信を通知された際に行う処理のフローを表す図である。
【０１５２】
なお、図の処理フローは、ＦＩＮフラグがオンのＴＣＰセッション切断要求パケットによる、正常切断の際のものである。例えばＲＳＴフラグがオンのＴＣＰセッション強制切断パケットのように、ＴＣＰセッションの送受信両方向を一度に切断する場合は、ステップ２３４０〜２３４２、ステップ２３７０〜２３７２のハーフクローズ関連の処理は行われない。
【０１５３】
あるＴＣＰセッションにおいてＴＣＰ終端処理２５２からＴＣＰ切断要求受信を通知されたＴＣＰデータ中継処理２５３は、切断要求パケットを受信したセッション識別子をキーにＴＣＰ中継先判定表２５６を調べ（検索対象の欄は、外部ネットワーク側セッション識別子、偽装応答装置側セッション識別子、囮ホスト側セッション識別子）、該当したエントリから、当該切断要求パケットを受信したセッションがどのネットワークインターフェース側のものかを知る（ステップ２３１１）。そして、当該切断要求パケットを受信したセッションが囮ホスト側であればステップ２３５０に、さもなくばステップ２３３０に移行する（ステップ２３２０）。
【０１５４】
ステップ２３３０では、当該切断要求パケットを受信したセッションが偽装応答装置側であればステップ２３３２、さもなくばステップ２３３１に移行する。
【０１５５】
ステップ２３３１では、切断要求パケットを受信したセッション識別子をキーにＴＣＰセッション管理表２５７を調べ、該当したエントリの通信振分装置側ＩＰアドレス、通信振分装置側ポート番号、通信相手側ＩＰアドレス、通信相手側ポート番号をパラメータに用いて、外部ネットワーク側からＴＣＰセッション切断要求を受けたこと表す切断発生通知を、偽装応答装置１２０に対して通知し、偽装応答装置からのＴＣＰセッション切断要求の到着を待つためにいったん処理を終了する。
【０１５６】
ステップ２３３２では、ステップ２３１１で得たＴＣＰ中継先判定表２５６のエントリの、囮ホスト側セッション識別子によって示されるＴＣＰセッションに向けてＴＣＰセッション切断要求パケットを送信するよう、ＴＣＰ終端処理２５２に指示する。そして、当該エントリの接続状態の欄の値が下りか否かを調べ（ステップ２３４０）、下りであれば、当該エントリをＴＣＰ中継先判定表２５６から削除し（ステップ２３４１）、処理を終了する。下りでなければ、当該エントリの接続状態の欄の値を上りに変更し（ステップ２３４２）、処理を終了する。
【０１５７】
ステップ２３５０では、ステップ２３１１で得たＴＣＰ中継先判定表２５６のエントリの、データ中継先の欄を調べ、これが偽装応答装置側であればステップ２３６１へ、さもなくばステップ２３５１へ移行する。
【０１５８】
ステップ２３５１では、ステップ２３１１で得たＴＣＰ中継先判定表２５６のエントリの、外部ネットワーク側セッション識別子によって示されるＴＣＰセッションに向けてＴＣＰセッション切断要求パケットを送信するよう、ＴＣＰ終端処理２５２に指示し、ステップ２３６１へ移行する。
【０１５９】
ステップ２３６１では、ステップ２３１１で得たＴＣＰ中継先判定表２５６のエントリの、偽装応答装置側セッション識別子によって示されるＴＣＰセッションに向けてＴＣＰセッション切断要求パケットを送信するよう、ＴＣＰ終端処理２５２に指示する。
【０１６０】
そして、当該エントリの接続状態の欄の値が上りか否かを調べ（ステップ２３７０）、上りであれば、当該エントリをＴＣＰ中継先判定表２５６から削除し（ステップ２３７１）、処理を終了する。上りでなければ、当該エントリの接続状態の欄の値を下りに変更し（ステップ２３７２）、処理を終了する。
【０１６１】
図２４は、実施例１において、ＩＰ・ＵＤＰパケット中継処理がＩＰパケットもしくはＵＤＰパケットを受信した際に行う処理のフローを表す図である。
【０１６２】
ＴＣＰ振分処理２２１から受信ＩＰパケットを受け取ったＩＰ・ＵＤＰパケット中継処理２６１は、受信したＩＰパケットの送信元ＩＰアドレス、宛先ＩＰアドレス、プロトコル番号、送信元ポート番号（プロトコルがＵＤＰの場合）、宛先ポート番号（プロトコルがＵＤＰの場合）をキーに、ＩＰ・ＵＤＰ中継先判定表２６６を検索する（ステップ２４１１）。この検索の際、パケットを受信したネットワークインターフェースが囮ホスト側であれば、パケットの送信元ＩＰアドレスを表の囮ホスト側ＩＰアドレスと、パケットの宛先ＩＰアドレスを表の外部ネットワーク・偽装応答装置側ＩＰアドレスと、パケットの送信元ＩＰポート番号を表の囮ホスト側ポート番号と、パケットの宛先ＩＰポート番号を表の外部ネットワーク・偽装応答装置側ポート番号とマッチさせる。パケットを受信したネットワークインターフェースが外部ネットワーク側もしくは偽装応答装置側であれば、パケットの送信元ＩＰアドレスを表の外部ネットワーク・偽装応答装置側ＩＰアドレスと、パケットの宛先ＩＰアドレスを表の囮ホスト側ＩＰアドレスと、パケットの送信元ＩＰポート番号を表の外部ネットワーク・偽装応答装置側ポート番号と、パケットの宛先ＩＰポート番号を表の囮ホスト側ポート番号とマッチさせる。
【０１６３】
以上の検索により、該当エントリがなければ（ステップ２４２０）、上記のマッチングに用いたパラメータを用いて、新規エントリをＩＰ・ＵＤＰ中継先判定表２６６に作成する（ステップ２４２１）。この際、パケット中継先の欄は外部ネットワーク側に初期化する。
【０１６４】
続いて、当該パケットを受信したネットワークインターフェースが囮ホスト側であればステップ２４５０に、さもなくばステップ２４４０に移行する（ステップ２４３０）。
【０１６５】
ステップ２４４０では、ステップ２４１１で得た（見つからなかった場合はステップ２４２１で新規作成した）ＩＰ・ＵＤＰ中継先判定表２６６のエントリの、データ中継先の欄によって指定されたネットワークインターフェースと、当該パケットを受信したネットワークインターフェースとが一致するか調べる。そして、一致した場合に限り、囮ホスト用ネットワークインターフェース２０３側に向けて当該パケットを中継するよう、ＴＣＰ振分処理２２１に指示し（ステップ２４４１）、処理を終了する。
【０１６６】
ステップ２４５０では、ステップ２４１１で得た（見つからなかった場合はステップ２４２１で新規作成した）ＩＰ・ＵＤＰ中継先判定表２６６のエントリの、データ中継先の欄を調べ、これが偽装応答装置側であればステップ２４８１へ、さもなくばステップ２４５１へ移行する。
【０１６７】
ステップ２４５１では、当該パケットをパラメータに攻撃検知ソフトウェア２３０を呼び出して、当該パケットに攻撃が含まれていないかを調べる。そして、攻撃が含まれる場合はステップ２４６１へ、含まれない場合はステップ２４７１へ移行する（ステップ２４６０）。
【０１６８】
ステップ２４６１では、ステップ２４１１で得た（見つからなかった場合はステップ２４２１で新規作成した）ＩＰ・ＵＤＰ中継先判定表２６６のエントリの、パケット中継先の欄の値を偽装応答装置側に変更し、ステップ２４８１へ移行する。
【０１６９】
ステップ２４７１では、外部ネットワーク用ネットワークインターフェース２０５側に向けて当該パケットを中継するよう、ＴＣＰ振分処理２２１に指示し、ステップ２４８１へ移行する。
【０１７０】
ステップ２４８１では、偽装応答装置用ネットワークインターフェース２０４側に向けて当該パケットを中継するよう、ＴＣＰ振分処理２２１に指示し、処理を終了する。
【図面の簡単な説明】
【０１７１】
【図１】実施例1における本発明の不正侵入・不正ソフトウェア調査システムの、内部および外部のネットワーク構成を表す図である。
【図２】実施例１における通信振分装置の内部処理アーキテクチャを示す図である。
【図３】実施例１におけるＴＣＰ中継先判定表を表す図である。
【図４】実施例１におけるＴＣＰセッション管理表を表す図である。
【図５】実施例１におけるＩＰ・ＵＤＰ中継先判定表を表す図である。
【図６】実施例１において、囮ホストから外部ネットワークに存在する通信対象ホストに向けてＴＣＰセッションの接続を確立する際の、送受信シーケンス図である。
【図７】実施例１において、外部ネットワークに存在する通信対象ホストから囮ホストに向けてＴＣＰセッションの接続を確立する際の、送受信シーケンス図である。
【図８】実施例１において、囮ホストから外部ネットワークに存在する通信対象ホストに向けて、以前に攻撃トラフィックが流れていないＴＣＰセッションにおいて攻撃でないＴＣＰデータを送信する際の、送受信シーケンス図である。
【図９】実施例１において、囮ホストから外部ネットワークに存在する通信対象ホストに向けて、以前に攻撃トラフィックが流れていないＴＣＰセッションにおいて攻撃ＴＣＰデータを送信する際の、送受信シーケンス図である。
【図１０】実施例１において、囮ホストから外部ネットワークに存在する通信対象ホストに向けて、以前に攻撃トラフィックが流れたＴＣＰセッションにおいてＴＣＰデータを送信する際の、送受信シーケンス図である。
【図１１】実施例１において、外部ネットワークに存在する通信対象ホストから囮ホストに向けてＴＣＰデータを送信する際の、送受信シーケンス図である。
【図１２】実施例１において、偽装応答装置から囮ホストに向けてＴＣＰデータを送信する際の、送受信シーケンス図である。
【図１３】実施例１において、囮ホストから外部ネットワークに存在する通信対象ホストに向けて、以前に攻撃トラフィックが流れていないＴＣＰセッションの切断を行う際の、送受信シーケンス図である。
【図１４】実施例１において、囮ホストから外部ネットワークに存在する通信対象ホストに向けて、以前に攻撃トラフィックが流れたＴＣＰセッションの切断を行う際の、送受信シーケンス図である。
【図１５】実施例１において、外部ネットワークに存在する通信対象ホストから囮ホストに向けてＴＣＰセッションの切断を行う際の、送受信シーケンス図である。
【図１６】実施例１において、偽装応答装置から囮ホストに向けてＴＣＰセッションの切断を行う際の、送受信シーケンス図である。
【図１７】実施例１において、囮ホストから外部ネットワークに存在する通信対象ホストに向けて、以前に攻撃トラフィックが流れておらず、かつ攻撃でないＩＰパケットもしくはＵＤＰパケットを送信する際の、送受信シーケンス図である。
【図１８】実施例１において、囮ホストから外部ネットワークに存在する通信対象ホストに向けて、以前に攻撃トラフィックが流れたか、もしくは攻撃のＩＰパケットもしくはＵＤＰパケットを送信する際の、送受信シーケンス図である。
【図１９】実施例１において、外部ネットワークに存在する通信対象ホストから囮ホストに向けてＩＰパケットもしくはＵＤＰパケットを送信する際の、送受信シーケンス図である。
【図２０】実施例１において、偽装応答装置から囮ホストに向けてＩＰパケットもしくはＵＤＰパケットを送信する際の、送受信シーケンス図である。
【図２１】実施例１において、ＴＣＰデータ中継処理がＴＣＰセッション接続要求パケット受信を通知された際に行う処理のフローを表す図である。
【図２２】実施例１において、ＴＣＰデータ中継処理がＴＣＰデータを受信した際に行う処理のフローを表す図である。
【図２３】実施例１において、ＴＣＰデータ中継処理がＴＣＰセッション切断要求パケット受信を通知された際に行う処理のフローを表す図である。
【図２４】実施例１において、ＩＰ・ＵＤＰパケット中継処理がＩＰパケットもしくはＵＤＰパケットを受信した際に行う処理のフローを表す図である。
【符号の説明】
【０１７２】
１０  不正侵入・不正ソフトウェア調査システム
１００  通信振分装置
１１０  囮ホスト
１２０  偽装応答装置
１３０  通信対象ホスト
１４０  外部ネットワーク
２０１  ＣＰＵ
２０２  主記憶装置
２０３  囮ホスト用ネットワークインターフェース
２０４  偽装応答装置用ネットワークインターフェース
２０５  外部ネットワーク用ネットワークインターフェース
２０６  内部バス
２１０  ＯＳ
２１１  レイヤ１・２通信処理
２２０  通信振分ソフトウェア
２２１  ＴＣＰ振分処理
２３０  攻撃検知ソフトウェア
２５１  ＩＰ通信処理
２５２  ＴＣＰ終端処理
２５３  ＴＣＰデータ中継処理
２５６  ＴＣＰ中継先判定表
２５７  ＴＣＰセッション管理表
２６１  ＩＰ・ＵＤＰパケット中継処理
２６６  ＩＰ・ＵＤＰ中継先判定表
３１０  外部ネットワーク側セッション識別子（ＴＣＰ中継先判定表内）
３２０  偽装応答装置側セッション識別子（ＴＣＰ中継先判定表内）
３３０  囮ホスト側セッション識別子（ＴＣＰ中継先判定表内）
３４０  接続状態（ＴＣＰ中継先判定表内）
３５０  データ中継先（ＴＣＰ中継先判定表内）
４１０  インターフェース識別子（ＴＣＰセッション管理表内）
４２１  通信振分装置側ＩＰアドレス（ＴＣＰセッション管理表内）
４２２  通信振分装置側ポート番号（ＴＣＰセッション管理表内）
４３１  通信相手側ＩＰアドレス（ＴＣＰセッション管理表内）
４３２  通信相手側ポート番号（ＴＣＰセッション管理表内）
４４０  セッション識別子（ＴＣＰセッション管理表内）
４５０  接続状態（ＴＣＰセッション管理表内）
５１１  外部ネットワーク側・偽装応答装置側ＩＰアドレス（ＩＰ・ＵＤＰ中継先判定表内）
５１２  外部ネットワーク側・偽装応答装置側ポート番号（ＩＰ・ＵＤＰ中継先判定表内）
５２１  囮ホスト側ＩＰアドレス（ＩＰ・ＵＤＰ中継先判定表内）
５２２  囮ホスト側ポート番号（ＩＰ・ＵＤＰ中継先判定表内）
５３０  プロトコル番号（ＩＰ・ＵＤＰ中継先判定表内）
５４０  パケット中継先（ＩＰ・ＵＤＰ中継先判定表内）
５５０  最終中継時刻（ＩＰ・ＵＤＰ中継先判定表内）。
【図１】
2008306610.tif 000003
【図２】
2008306610.tif 000004
【図３】
2008306610.tif 000005
【図４】
2008306610.tif 000006
【図５】
2008306610.tif 000007
【図６】
2008306610.tif 000008
【図７】
2008306610.tif 000009
【図８】
2008306610.tif 000010
【図９】
2008306610.tif 000011
【図１０】
2008306610.tif 000012
【図１１】
2008306610.tif 000013
【図１２】
2008306610.tif 000014
【図１３】
2008306610.tif 000015
【図１４】
2008306610.tif 000016
【図１５】
2008306610.tif 000017
【図１６】
2008306610.tif 000018
【図１７】
2008306610.tif 000019
【図１８】
2008306610.tif 000020
【図１９】
2008306610.tif 000021
【図２０】
2008306610.tif 000022
【図２１】
2008306610.tif 000023
【図２２】
2008306610.tif 000024
【図２３】
2008306610.tif 000025
【図２４】
2008306610.tif 000026