(57)【要約】【課題】不正な通信に対する対策を行う。【解決手段】通信制御装置は、送信元及び送信先の２つのコンピュータ装置との間の応答速度よりも送信元のコンピュータ装置と自装置との間の応答速度が速くなるように配置される通信制御装置であって、ネットワークで通信されるＴＣＰパケットを監視し、ネットワークを介して接続された少なくとも２つのコンピュータ装置の間で通信される通信パケットを検知するパケット検知部と、パケット検知部が通信パケットを検知した場合に、当該通信パケットに対する送信先のコンピュータ装置からの返信パケットを無効にするように生成された疑似パケットを、送信元のコンピュータ装置に向けて、返信パケットよりも早く送信させる制御部とを備える。【選択図】図１
2015176579.tif 000002
【特許請求の範囲】
【請求項１】
送信元及び送信先の２つのコンピュータ装置との間の応答速度よりも送信元のコンピュータ装置と自装置との間の応答速度が速くなるように配置される通信制御装置であって、
ネットワークで通信されるＴＣＰパケットを監視し、前記ネットワークを介して接続された少なくとも２つのコンピュータ装置の間で通信される通信パケットを検知するパケット検知部と、
前記パケット検知部が前記通信パケットを検知した場合に、当該通信パケットに対する送信先のコンピュータ装置からの返信パケットを無効にするように生成された疑似パケットを、送信元のコンピュータ装置に向けて送信させる制御部と
を備えることを特徴とする通信制御装置。
【請求項２】
前記制御部は、
前記２つのコンピュータ装置の間でコネクションを確立する際に前記疑似パケットの送信を開始する場合に、シーケンス番号が前記送信先のコンピュータ装置からの前記返信パケットと異なるように生成した前記疑似パケットを、前記送信元のコンピュータ装置に向けて送信させる
ことを特徴とする請求項１に記載の通信制御装置。
【請求項３】
前記制御部は、
前記２つのコンピュータ装置の間でコネクションを確立した後に前記疑似パケットの送信を開始する場合に、ペイロードのデータ数が前記送信先のコンピュータ装置からの前記返信パケットと異なるように生成した前記疑似パケットを、前記送信元のコンピュータ装置に向けて送信させる
ことを特徴とする請求項１又は請求項２に記載の通信制御装置。
【請求項４】
前記２つのコンピュータ装置には、被攻撃側のコンピュータ装置と、攻撃側のコンピュータ装置とが含まれ、
前記制御部は、
前記被攻撃側のコンピュータ装置から前記攻撃側のコンピュータ装置に送信された第１の通信パケットに対する前記攻撃側のコンピュータ装置からの第１の返信パケットを無効にするように、第１の疑似パケットを生成し、生成した前記第１の疑似パケットを前記被攻撃側のコンピュータ装置に向けて送信させて、自装置と前記被攻撃側のコンピュータ装置との間の第１のコネクションを確立し、
前記攻撃側のコンピュータ装置から前記被攻撃側のコンピュータ装置に送信された第２の通信パケットに対する前記被攻撃側のコンピュータ装置からの第２の返信パケットを無効にするように、第２の疑似パケットを生成し、生成した前記第２の疑似パケットを前記攻撃側のコンピュータ装置に向けて送信させて、自装置と前記攻撃側のコンピュータ装置との間の第２のコネクションを確立する
ことを特徴とする請求項１から請求項３のいずれか一項に記載の通信制御装置。
【請求項５】
前記制御部は、
前記第１のコネクション及び前記第２のコネクションを確立した後に、前記第１のコネクションによって前記被攻撃側のコンピュータ装置から送信された第３の通信パケットのペイロードをダミーデータに変更するとともに、当該第３の通信パケットを前記第２のコネクションにおけるシーケンス番号及び確認応答番号に変更して、前記攻撃側のコンピュータ装置に向けて送信させ、
前記第１のコネクション及び前記第２のコネクションを確立した後に、前記第２のコネクションによって前記攻撃側のコンピュータ装置から送信された第４の通信パケットのペイロードをダミーデータに変更するとともに、当該第４の通信パケットを前記第１のコネクションにおけるシーケンス番号及び確認応答番号に変更して、前記被攻撃側のコンピュータ装置に向けて送信させる
ことを特徴とする請求項４に記載の通信制御装置。
【請求項６】
前記第１のコネクション及び前記第２のコネクションを確立した後に、予め定められたルールに基づいて、前記第３の通信パケット及び前記第４の通信パケットのそれぞれのペイロードをダミーデータに変更するか否かを判定する判定部を備え、
前記制御部は、
前記判定部が判定した判定結果に基づいて、前記第３の通信パケット及び前記第４の通信パケットのそれぞれのペイロードを、ダミーデータに変更するか否かを切り替える
ことを特徴とする請求項５に記載の通信制御装置。
【請求項７】
送信元及び送信先の２つのコンピュータ装置との間の応答速度よりも送信元のコンピュータ装置と自装置との間の応答速度が速くなるように配置される通信制御装置が、ネットワークで通信されるＴＣＰパケットを監視し、前記ネットワークを介して接続された少なくとも２つのコンピュータ装置の間で通信される通信パケットを検知するパケット検知ステップと、
前記通信制御装置が、前記パケット検知ステップにて前記通信パケットを検知した場合に、当該通信パケットに対する送信先のコンピュータ装置からの返信パケットを無効にするように生成された疑似パケットを、送信元のコンピュータ装置に向けて送信する制御ステップと
を含むことを特徴とする通信制御方法。
【請求項８】
送信元及び送信先の２つのコンピュータ装置との間の応答速度よりも送信元のコンピュータ装置と自装置との間の応答速度が速くなるように配置される通信制御装置のコンピュータに、
ネットワークで通信されるＴＣＰパケットを監視し、前記ネットワークを介して接続された少なくとも２つのコンピュータ装置の間で通信される通信パケットを検知するパケット検知ステップと、
前記パケット検知ステップにて前記通信パケットを検知した場合に、当該通信パケットに対する送信先のコンピュータ装置からの返信パケットを無効にするように生成された疑似パケットを、送信元のコンピュータ装置に向けて送信させる制御ステップと
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信制御装置、通信制御方法、及びプログラムに関する。
【背景技術】
【０００２】
ネットワークを介して接続されたコンピュータ端末等の通信装置にアクセスし、不正に情報を取得することを試みる攻撃が存在する。例えば、企業等の組織の内部ＬＡＮ（Local Area Network）等に接続された通信装置に外部のネットワークから情報を送信し、その応答によって内部ＬＡＮの状況や通信装置の情報等を不正に解析するなどの攻撃が考えられる。このような攻撃への対策として、例えば内部ＬＡＮに囮となる通信装置を用意してその通信装置に攻撃させ、そこに攻撃してくる通信を解析したり、内部ＬＡＮ内の重要な部分に攻撃させないように目を逸らせたりするハニーポットなどともよばれる手法が存在する（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−２１２３９１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述のような手法は、外部から内部へのアクセスに対する対策としてはある程度有効であるものの、内部から外部へのアクセスについての対策にはならない。例えば、内部ＬＡＮ内の通信装置にスパイウェアのような不正プログラムをインストールさせ、その不正プログラムによって内部の通信装置から外部にアクセスさせるような攻撃に対しては、上述のような手法をそのまま適用することはできない。また近年では、このような不正プログラムは、内部ＬＡＮの情報を一度に外部に対して送信するのではなく、一見すると通常の通信であるような送信情報を、長期間に亘って外部に送信し続けるような攻撃も存在する。そこで、このように内部の通信装置から外部に対して意図しない送信情報が送信されることに対する有効な対策を行うことが望ましい。
【０００５】
本発明は、このような状況に鑑みてなされたもので、その目的は、不正な通信に対する対策を行うことができる通信制御装置、通信制御方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【０００６】
上記問題を解決するために、本発明の一態様は、送信元及び送信先の２つのコンピュータ装置との間の応答速度よりも送信元のコンピュータ装置と自装置との間の応答速度が速くなるように配置される通信制御装置であって、ネットワークで通信されるＴＣＰパケットを監視し、前記ネットワークを介して接続された少なくとも２つのコンピュータ装置の間で通信される通信パケットを検知するパケット検知部と、前記パケット検知部が前記通信パケットを検知した場合に、当該通信パケットに対する送信先のコンピュータ装置からの返信パケットを無効にするように生成された疑似パケットを、送信元のコンピュータ装置に向けて送信させる制御部とを備えることを特徴とする通信制御装置である。
【０００７】
また、本発明の一態様は、上記の通信制御装置において、前記制御部は、前記２つのコンピュータ装置の間でコネクションを確立する際に前記疑似パケットの送信を開始する場合に、シーケンス番号が前記送信先のコンピュータ装置からの前記返信パケットと異なるように生成した前記疑似パケットを、前記送信元のコンピュータ装置に向けて送信させることを特徴とする。
【０００８】
また、本発明の一態様は、上記の通信制御装置において、前記制御部は、前記２つのコンピュータ装置の間でコネクションを確立した後に前記疑似パケットの送信を開始する場合に、ペイロードのデータ数が前記送信先のコンピュータ装置からの前記返信パケットと異なるように生成した前記疑似パケットを、前記送信元のコンピュータ装置に向けて送信させることを特徴とする。
【０００９】
また、本発明の一態様は、上記の通信制御装置において、前記２つのコンピュータ装置には、被攻撃側のコンピュータ装置と、攻撃側のコンピュータ装置とが含まれ、前記制御部は、前記被攻撃側のコンピュータ装置から前記攻撃側のコンピュータ装置に送信された第１の通信パケットに対する前記攻撃側のコンピュータ装置からの第１の返信パケットを無効にするように、第１の疑似パケットを生成し、生成した前記第１の疑似パケットを前記被攻撃側のコンピュータ装置に向けて送信させて、自装置と前記被攻撃側のコンピュータ装置との間の第１のコネクションを確立し、前記攻撃側のコンピュータ装置から前記被攻撃側のコンピュータ装置に送信された第２の通信パケットに対する前記被攻撃側のコンピュータ装置からの第２の返信パケットを無効にするように、第２の疑似パケットを生成し、生成した前記第２の疑似パケットを前記攻撃側のコンピュータ装置に向けて送信させて、自装置と前記攻撃側のコンピュータ装置との間の第２のコネクションを確立することを特徴とする。
【００１０】
また、本発明の一態様は、上記の通信制御装置において、前記制御部は、前記第１のコネクション及び前記第２のコネクションを確立した後に、前記第１のコネクションによって前記被攻撃側のコンピュータ装置から送信された第３の通信パケットのペイロードをダミーデータに変更するとともに、当該第３の通信パケットを前記第２のコネクションにおけるシーケンス番号及び確認応答番号に変更して、前記攻撃側のコンピュータ装置に向けて送信させ、前記第１のコネクション及び前記第２のコネクションを確立した後に、前記第２のコネクションによって前記攻撃側のコンピュータ装置から送信された第４の通信パケットのペイロードをダミーデータに変更するとともに、当該第４の通信パケットを前記第１のコネクションにおけるシーケンス番号及び確認応答番号に変更して、前記被攻撃側のコンピュータ装置に向けて送信させることを特徴とする。
【００１１】
また、本発明の一態様は、上記の通信制御装置において、前記第１のコネクション及び前記第２のコネクションを確立した後に、予め定められたルールに基づいて、前記第３の通信パケット及び前記第４の通信パケットのそれぞれのペイロードをダミーデータに変更するか否かを判定する判定部を備え、前記制御部は、前記判定部が判定した判定結果に基づいて、前記第３の通信パケット及び前記第４の通信パケットのそれぞれのペイロードを、ダミーデータに変更するか否かを切り替えることを特徴とする。
【００１２】
また、本発明の一態様は、送信元及び送信先の２つのコンピュータ装置との間の応答速度よりも送信元のコンピュータ装置と自装置との間の応答速度が速くなるように配置される通信制御装置が、ネットワークで通信されるＴＣＰパケットを監視し、前記ネットワークを介して接続された少なくとも２つのコンピュータ装置の間で通信される通信パケットを検知するパケット検知ステップと、前記通信制御装置が、前記パケット検知ステップにて前記通信パケットを検知した場合に、当該通信パケットに対する送信先のコンピュータ装置からの返信パケットを無効にするように生成された疑似パケットを、送信元のコンピュータ装置に向けて送信する制御ステップとを含むことを特徴とする通信制御方法である。
【００１３】
また、本発明の一態様は、送信元及び送信先の２つのコンピュータ装置との間の応答速度よりも送信元のコンピュータ装置と自装置との間の応答速度が速くなるように配置される通信制御装置のコンピュータに、ネットワークで通信されるＴＣＰパケットを監視し、前記ネットワークを介して接続された少なくとも２つのコンピュータ装置の間で通信される通信パケットを検知するパケット検知ステップと、前記パケット検知ステップにて前記通信パケットを検知した場合に、当該通信パケットに対する送信先のコンピュータ装置からの返信パケットを無効にするように生成された疑似パケットを、送信元のコンピュータ装置に向けて送信させる制御ステップとを実行させるためのプログラムである。
【発明の効果】
【００１４】
本発明によれば、不正な通信に対する対策を行うことができる。
【図面の簡単な説明】
【００１５】
【図１】第１の実施形態による通信制御装置の一例を示す機能ブロック図である。
【図２】第１の実施形態における検知対象記憶部のデータ例を示す図である。
【図３】第１の実施形態におけるシーケンス管理情報記憶部のデータ例を示す図である。
【図４】第１の実施形態における通信制御装置が被攻撃側コンピュータ装置とのコネクションを確立する動作の一例を示す図である。
【図５】第１の実施形態における通信制御装置が攻撃側コンピュータ装置とのコネクションを確立する動作の一例を示す図である。
【図６】第１の実施形態における通信制御装置の動作の一例を示す図である。
【図７】第１の実施形態における通信制御装置が、ダミーデータを転送する場合の動作の一例を示す図である。
【図８】第１の実施形態における通信制御装置が、生データを転送する場合の動作一例を示す図である。
【図９】第２の実施形態による通信制御装置の一例を示す機能ブロック図である。
【図１０】第２の実施形態における通信制御装置の動作の一例を示す図である。
【図１１】第３の実施形態による通信制御装置の一例を示す機能ブロック図である。
【図１２】第３の実施形態における通信制御装置の動作の一例を示す図である。
【発明を実施するための形態】
【００１６】
以下、本発明の一実施形態による通信制御装置について、図面を参照して説明する。
［第１の実施形態］
図１は、第１の実施形態による通信制御装置１の一例を示す機能ブロック図である。
この図に示すように、本実施形態による通信制御装置１は、ネットワーク機器４を介して、被攻撃側のコンピュータ装置である被攻撃側コンピュータ装置２と、攻撃側のコンピュータ装置である攻撃側コンピュータ装置３とに接続されている。
【００１７】
被攻撃側コンピュータ装置２は、通信制御装置１による監視対象のコンピュータ装置である。被攻撃側コンピュータ装置２は、例えば、企業等の組織内の内部ＬＡＮ（Local Area Network）に接続されているＰＣ（Personal Computer）である。ここでは、１台の被攻撃側コンピュータ装置２を図示して説明するが、内部ＬＡＮには複数台の被攻撃側コンピュータ装置２が接続されていてよく、通信制御装置１は、複数台の被攻撃側コンピュータ装置２を監視対象としてよい。また、ここでは、被攻撃側コンピュータ装置２には、何らかの方法により不正プログラム（例えば、マルウェア）がインストールされており、その不正プログラムは、インターネット等のネットワークＮＷを介して接続された攻撃側コンピュータ装置３を宛先として送信情報（例えば、通信パケット）を送信する。
【００１８】
ネットワーク機器４は、被攻撃側コンピュータ装置２と攻撃側コンピュータ装置３との通信経路上の転送装置である。ネットワーク機器４としては、例えば、スイッチングハブやルータ等が適用できる。例えば、ネットワーク機器４は、被攻撃側コンピュータ装置２が接続されている内部ＬＡＮと、攻撃側コンピュータ装置３が接続されている外部のネットワークＮＷとを接続する。
【００１９】
攻撃側コンピュータ装置３は、不正プログラムがインストールされた被攻撃側コンピュータ装置２からネットワークＮＷを介して送信される通信パケットを受信して、被攻撃側コンピュータ装置２や、被攻撃側コンピュータ装置２が接続される内部ＬＡＮ等についての情報を不正に取得しようとするコンピュータ装置である。
【００２０】
通信制御装置１は、通信部１０と、記憶部２０と、制御部３０とを備えている。なお、通信制御装置１及びネットワーク機器４は、被攻撃側コンピュータ装置２と、攻撃側コンピュータ装置３との間の通信経路上に配置されている。すなわち、通信制御装置１は、通信制御装置１と被攻撃側コンピュータ装置２との間の通信に要する時間が、攻撃側コンピュータ装置３と被攻撃側コンピュータ装置２との間の通信に要する時間より短くなるように、配置されているものとする。ここで、通信に要する時間が短くなる（つまり、早く応答できる）ようにする方法としては、例えば、攻撃側コンピュータ装置３と被攻撃側コンピュータ装置２との間の通信回線での応答速度よりも、通信制御装置１と被攻撃側コンピュータ装置２との間の通信回線での応答速度が速くなるように、回線の帯域やネットワーク内での配置位置を決める方法がある。通信制御装置１は、被攻撃側コンピュータ装置２と攻撃側コンピュータ装置３との間の接続（例えば、ＴＣＰのコネクション）を乗っ取って、被攻撃側コンピュータ装置２と攻撃側コンピュータ装置３との間での直接通信を行わせずに、双方からの情報を収集する情報収集装置である。
【００２１】
ところで、通信制御装置１が攻撃側コンピュータ装置３と被攻撃側コンピュータ装置２との間の通信を監視する方法としては、例えば、ネットワーク機器４が監視用の機能を備え、攻撃側コンピュータ装置３と被攻撃側コンピュータ装置２との間の通信を含む通信情報を通信制御装置１にも送るようにしてもよい。また、他の方法としては、通信制御装置１を（ネットワーク機器４と同様に）攻撃側コンピュータ装置３と被攻撃側コンピュータ装置２との間の経路上に設置することとしてもよい。具体的には、ネットワーク機器４をシェアードハブや、ネットワークタップとする方法や、ネットワーク機器４がスイッチングハブの場合には被攻撃側コンピュータ装置２と攻撃側コンピュータ装置３との間の通信が通信制御装置１にも転送されるようにスイッチングハブにポートミラーリングの設定を行う方法がある。
【００２２】
また、通信制御装置１が「接続を乗っ取る」とは、以下に説明する手順で実行される。ます、あるコンピュータ装置（送信元）が他のコンピュータ装置（送信先）に向けてＴＣＰコネクションを確立するための要求パケット（「ＳＹＮ」パケット）を送信したことを通信制御装置１が検知する。そして、通信制御装置１が、任意のシーケンス番号を含み、ソースアドレスが送信先のコンピュータ装置のＩＰアドレスの「ＳＹＮ＋ＡＣＫ」パケットを送信元コンピュータに送信する。なお、この「ＳＹＮ＋ＡＣＫ」パケットは、通信制御装置１の配置及び回線による応答速度の違いから、送信先のコンピュータ装置からの応答よりも早く送信元のコンピュータ装置に届くことになる。
【００２３】
また、送信元のコンピュータ装置では、送信先のコンピュータ装置とのＴＣＰコネクションの確立に向けた手順が進んだと判定され、通信制御装置１と送信元のコンピュータ装置との間でＴＣＰの通信相手を特定するためのＩＰアドレス、ポート番号、及びシーケンス番号が共有される。このため、通信制御装置１は、“送信元のコンピュータ装置が送信先のコンピュータ装置に対してＴＣＰ手順に基づき送ったパケット”をＴＣＰ手順に基づき受け入れ可能な状態となる。しかし、送信先のコンピュータ装置と送信元のコンピュータ装置との間では、シーケンス番号が共有されないため、送信元のコンピュータ装置から送信先のコンピュータ装置に対して、ＴＣＰ手順に基づきパケット送っても、送信先のコンピュータ装置では、パケットを受領しない状態となる。つまり、送信元のコンピュータ装置から送信先のコンピュータ装置に対して送られたパケットは、ＴＣＰ手順に基づくと無効なパケットとして扱われる。
このように、送信元のコンピュータ装置から送信先のコンピュータ装置に対して送られたパケットは無効となるが、通信制御装置１は、送信元のコンピュータ装置から送信先のコンピュータ装置に対して送られたＴＣＰパケットを受け取ることができる状態を、「通信制御装置が送信元から送信先のコンピュータ装置に対する接続要求に基づき確立される接続（コネクション）を乗っ取っている」と表現する。
【００２４】
また、通信制御装置１は、上述の乗っ取りに加えて、送信元から送信先のコンピュータ装置への接続要求に対する応答も乗っ取ることができる。
具体的には、通信制御装置１は、送信先のコンピュータ装置から送信元のコンピュータ装置への応答である「ＳＹＮ＋ＡＣＫ」パケットを検知して、送信先のコンピュータ装置に対して、ソースアドレスが送信元のコンピュータ装置のＩＰで応答を返す。次に、送信先のコンピュータ装置から送信元のコンピュータ装置に向けた通信についても、通信制御装置１と送信先のコンピュータ装置との間でＴＣＰの通信相手を特定するためのＩＰアドレス、ポート番号、及びシーケンス番号が共有される。
【００２５】
このため、通信制御装置１は、“送信先のコンピュータ装置が送信元のコンピュータ装置に対してＴＣＰ手順に基づき送ったパケット”をＴＣＰ手順に基づき受け入れ可能な状態となる。しかし、送信元のコンピュータ装置と送信先のコンピュータ装置との間ではシーケンス番号が共有されないため、送信先のコンピュータ装置から送信元のコンピュータ装置に対してＴＣＰ手順に基づきパケット送っても送信元のコンピュータ装置ではパケットを受領しない状態となる。つまり、送信先のコンピュータ装置から送信元のコンピュータ装置に対して送られたパケットは無効なパケットとして扱われる。
以下の説明において、単に「乗っ取る」との表現は、送信元から送信先のコンピュータ装置に対する接続要求に基づき確立される接続（コネクション）を乗っ取る場合、あるいは、その応答についても乗っ取る場合の双方を示すものとする。
【００２６】
通信部１０は、ネットワーク機器４を介して、被攻撃側コンピュータ装置２及び攻撃側コンピュータ装置３との通信を行う。通信部１０は、例えば、ＴＣＰ（Transmission Control Protocol）／ＩＰ（Internet Protocol）パケットにより、被攻撃側コンピュータ装置２及び攻撃側コンピュータ装置３との通信を行う。
【００２７】
記憶部２０は、通信制御装置１が実行する各種処理に利用される情報を記憶する。記憶部２０は、検知対象記憶部２１と、判定ルール記憶部２２と、シーケンス管理情報記憶部２３と、通信履歴記憶部２４とを備えている。
【００２８】
検知対象記憶部２１は、検知（監視）対象である被攻撃側コンピュータ装置２及び攻撃側コンピュータ装置３に関する情報を記憶する。具体的に、検知対象記憶部２１は、被攻撃側コンピュータ装置２のＩＰアドレスと、攻撃側コンピュータ装置３のＩＰアドレスとを関連付けて記憶する。ここで、図２を参照して、検知対象記憶部２１が記憶するデータ例について説明する。
【００２９】
図２は、本実施形態における検知対象記憶部２１のデータ例を示す図である。
この図において、検知対象記憶部２１は、「攻撃側ＩＰ」と、「被攻撃側ＩＰ」とを関連付けて記憶する。ここで、「攻撃側ＩＰ」は、攻撃側コンピュータ装置３のＩＰアドレスを示し、「被攻撃側ＩＰ」は、被攻撃側コンピュータ装置２のＩＰアドレスを示している。
図２に示す例では、「攻撃側ＩＰ」が“１９２．１６８．０．１”であり、このＩＰアドレスに対応する攻撃側コンピュータ装置３の攻撃目標となる「被攻撃側ＩＰ」が“ＸＸＸ．０．０．３”及び“ＸＸＸ．０．０．４”であることを示している。すなわち、“ＸＸＸ．０．０．３”及び“ＸＸＸ．０．０．４”のそれぞれに対応するコンピュータ装置が、被攻撃側コンピュータ装置２であることを示している。
【００３０】
図１の説明に戻り、判定ルール記憶部２２は、受信したパケットを判定するルール情報を記憶する。判定ルール記憶部２２は、例えば、受信したパケットの内容（例えば、ヘッダ部の内容やペイロードの内容など）と、受信したパケットに対する処理とを対応付けて記憶する。判定ルール記憶部２２は、例えば、送信元のＩＰアドレスと、ペイロードの内容を識別するためにペイロードのデータの一部又は全部に基づいて算出されたハッシュデータと、対応する処理を識別する識別情報とを関連付けたルール情報を記憶するようにしてもよい。また、ペイロードの内容を識別するために、ハッシュデータとペイロードのサイズ情報とを利用してもよい。
ここで、ペイロードとは、ＴＣＰパケットのうち、ヘッダ部分を除いた、本来転送したいデータ部分のことを示す。また、「対応する処理」とは、受信したパケットに対して通信制御装置１が実行する処理のことであり、例えば、ペイロードのデータをダミーデータに変更して転送する処理、ペイロードのデータをそのまま転送する処理などである。
判定ルール記憶部２２には、予め定められたルール情報が記憶されていてもよいし、後述する通信履歴記憶部２４に記憶される通信履歴に基づいて、ルール情報が記憶されてもよい。
【００３１】
シーケンス管理情報記憶部２３は、被攻撃側コンピュータ装置２や攻撃側コンピュータ装置３との間の接続を通信制御装置１が乗っ取るコネクションの情報を記憶する。シーケンス管理情報記憶部２３は、送信元からのコネクション、及び送信先からのコネクションの双方を乗っ取った場合、２つの乗っ取ったコネクションの情報を対応付けて記憶する。シーケンス管理情報記憶部２３は、例えば、被攻撃側管理情報と、攻撃側管理情報とを記憶する。ここで、被攻撃側管理情報とは、被攻撃側コンピュータ装置２との間のコネクション（第１のコネクション）に利用する管理情報である。
ここで、コネクションとは、ＴＣＰのコネクションのことであり、以下の説明において、「ＴＣＰのコネクション」を単に「コネクション」と称して説明する。シーケンス管理情報記憶部２３は、例えば、被攻撃側コンピュータ装置２のＩＰアドレス及びポート番号と、被攻撃側コンピュータ装置２のシーケンス番号（Ｎ）と、第１のコネクションにおける通信制御装置１のシーケンス番号（ＤＭ）とを関連付けて被攻撃側管理情報として記憶する。
【００３２】
通信制御装置１から被攻撃側コンピュータ装置２に向けて送信するＴＣＰパケットにおいて、シーケンス番号（ＤＭ）がシーケンス番号として利用され、シーケンス番号（Ｎ）が確認応答番号として利用される。また、被攻撃側コンピュータ装置２から通信制御装置１に向けて送信するＴＣＰパケットにおいて、シーケンス番号（Ｎ）がシーケンス番号として利用され、シーケンス番号（ＤＭ）が確認応答番号として利用される。
なお、「シーケンス番号」とは、ＴＣＰのプロトコルにおける送信側（送信元）のデータの先頭番号を示している。また、「確認応答番号」とは、送信先に対して次に受信予定のデータの先頭番号を示している。「シーケンス番号」及び「確認応答番号」は、ＴＣＰパケットのヘッダ部に含まれており、コネクションが確立された正当なＴＣＰパケットであるか否かは、この「シーケンス番号」及び「確認応答番号」を利用して判定される。
【００３３】
また、攻撃側管理情報とは、攻撃側コンピュータ装置３との間のコネクション（第２のコネクション）に利用する管理情報である。シーケンス管理情報記憶部２３は、例えば、攻撃側コンピュータ装置３のＩＰアドレス及びポート番号と、攻撃側コンピュータ装置３のシーケンス番号（Ｍ）と、第２のコネクションにおける通信制御装置１のシーケンス番号（ＤＮ）とを関連付けて攻撃側管理情報として記憶する。
通信制御装置１から攻撃側コンピュータ装置３に向けて送信するＴＣＰパケットにおいて、シーケンス番号（ＤＮ）がシーケンス番号として利用され、シーケンス番号（Ｍ）が確認応答番号として利用される。また、攻撃側コンピュータ装置３から通信制御装置１に向けて送信するＴＣＰパケットにおいて、シーケンス番号（Ｍ）がシーケンス番号として利用され、シーケンス番号（ＤＮ）が確認応答番号として利用される。
【００３４】
ここで、図３を参照して、シーケンス管理情報記憶部２３が記憶するデータ例について説明する。
図３は、本実施形態におけるシーケンス管理情報記憶部２３のデータ例を示す図である。
この図において、シーケンス管理情報記憶部２３は、「ＩＰ」と、「ポート番号」と、「ＳｅｑＮＯ（Ｎ）」と、「ＳｅｑＮＯ（ＤＭ）」とを関連付けた「被攻撃側管理情報」を記憶する。また、シーケンス管理情報記憶部２３は、「ＩＰ」と、「ポート番号」と、「ＳｅｑＮＯ（Ｍ）」と、「ＳｅｑＮＯ（ＤＮ）」とを関連付けた「攻撃側管理情報」を記憶する。
【００３５】
ここで、「被攻撃側管理情報」の「ＩＰ」及び「ポート番号」は、被攻撃側コンピュータ装置２のＩＰアドレス及びポート番号を示し、「攻撃側管理情報」の「ＩＰ」及び「ポート番号」は、被攻撃側コンピュータ装置２のＩＰアドレス及びポート番号を示している。また、「ＳｅｑＮＯ（Ｎ）」は、被攻撃側コンピュータ装置２のＴＣＰにおけるシーケンス番号を示し、「ＳｅｑＮＯ（ＤＭ）」は、通信制御装置１が攻撃側コンピュータ装置３に成りすます際に用いる第１のコネクションにおけるシーケンス番号を示している。また、「ＳｅｑＮＯ（Ｍ）」は、攻撃側コンピュータ装置３のＴＣＰにおけるシーケンス番号を示し、「ＳｅｑＮＯ（ＤＮ）」は、通信制御装置１が被攻撃側コンピュータ装置２に成りすます際に用いる第２のコネクションにおけるシーケンス番号を示している。
【００３６】
図３に示す例では、「被攻撃側管理情報」の「ＩＰ」及び「ポート番号」が、“ＸＸＸ．０．０．３”及び“ＹＹ”であることを示している。また、この「被攻撃側管理情報」の「ＩＰ」に対応する被攻撃側コンピュータ装置２の「ＳｅｑＮＯ（Ｎ）」が“２”であり、「ＳｅｑＮＯ（ＤＭ）」が“１００”であることを示している。
また、「攻撃側管理情報」の「ＩＰ」及び「ポート番号」が、“１９２．１６８．０．１”及び“ＺＺ”であることを示している。また、この「攻撃側管理情報」の「ＩＰ」に対応する攻撃側コンピュータ装置３の「ＳｅｑＮＯ（Ｍ）」が“２００”であり、「ＳｅｑＮＯ（ＤＮ）」が“１０”であることを示している。
【００３７】
再び、図１の説明に戻り、通信履歴記憶部２４は、被攻撃側コンピュータ装置２と通信制御装置１との間の通信パケット、及び通信制御装置１と攻撃側コンピュータ装置３との間の通信パケットを通信履歴として記憶する。ここで、通信履歴記憶部２４が、通信履歴を記憶することにより、攻撃側コンピュータ装置３及び被攻撃側コンピュータ装置２の不正プログラムの動作を解析することが可能になる。
【００３８】
制御部３０は、例えば、ＣＰＵ（Central Processing Unit）などを含むプロセッサであり、通信制御装置１を統括的に制御する。制御部３０は、例えば、被攻撃側コンピュータ装置２と攻撃側コンピュータ装置３との間でコネクションを確立する際に、当該コネクションを乗っ取って、自装置と被攻撃側コンピュータ装置２との間の第１のコネクションと、自装置と攻撃側コンピュータ装置３との間の第２のコネクションとを確立する。
具体的には、通常はＴＣＰコネクションが確立している両端の端末、つまり、攻撃側コンピュータ装置３と被攻撃側コンピュータ装置２との間でＴＣＰのシーケンス番号が共有されるが、通信制御装置１がセッションを乗っ取る場合、攻撃側コンピュータ装置３と通信制御装置１の間、被攻撃側コンピュータ装置２と通信制御装置１との間で別のシーケンス番号が共有される。つまり、両端の端末の間では、シーケンス番号が共有されない。
【００３９】
例えば、攻撃側コンピュータ装置３と通信制御装置１の間で共有されるシーケンス番号がＤＭであり、被攻撃側コンピュータ装置２と通信制御装置１との間共有されるシーケンス番号がＤＮである。この場合、両端の端末ではＴＣＰのシーケンス番号が共有されていないために直接通信することはできないが、攻撃側コンピュータ装置３と通信制御装置１との間、被攻撃側コンピュータ装置２と通信制御装置１との間では、それぞれシーケンス番号が共有されている。そのため、通信制御装置１は、例えば、攻撃側コンピュータ装置３が被攻撃側コンピュータ装置２に対して送信したＴＣＰパケットに対して応答を返すことができる。また、被攻撃側コンピュータ装置２が攻撃側コンピュータ装置３に対して送信したＴＣＰパケットに対しても、通信制御装置１は、共有しているシーケンス番号を使って応答することができる。なお、受信したＴＣＰパケットのシーケンス番号が、共有しているシーケンス番号とは異なる値である場合には、受信されたＴＣＰパケットは、無効なパケットとして扱われる。
【００４０】
このように、制御部３０は、被攻撃側コンピュータ装置２及び攻撃側コンピュータ装置３の通信状態を維持しつつ、被攻撃側コンピュータ装置２との攻撃側コンピュータ装置３と直接の通信を禁止する。
制御部３０は、パケット検知部３１と、パケット判定部３２と、疑似応答制御部３３とを備えている。
【００４１】
パケット検知部３１（判定部）は、ネットワーク（例えば、内部ＬＡＮ内）で通信されるＴＣＰパケットを監視し、ネットワークを介して接続された少なくとも２つのコンピュータ装置の間で通信される通信パケットを検知する。なお、ここでの２つのコンピュータ装置は、例えば、被攻撃側コンピュータ装置２と攻撃側コンピュータ装置３とのことである。パケット検知部３１は、ネットワーク機器４及び通信部１０を介して、ＴＣＰパケットを受信し、受信したＴＣＰパケットのうち、例えば、検知対象記憶部２１が記憶する情報に基づいて、検知（監視）対象である通信パケットを検知する。ここで、通信パケットには、被攻撃側コンピュータ装置２から攻撃側コンピュータ装置３に向けて送信されたＴＣＰパケットと、攻撃側コンピュータ装置３から被攻撃側コンピュータ装置２に向けて送信されたＴＣＰパケットとが含まれる。
【００４２】
なお、以下の説明において、第１のコネクション及び第２のコネクションを確立する前に、被攻撃側コンピュータ装置２から攻撃側コンピュータ装置３に向けて送信されたＴＣＰパケットを第１の通信パケットと称することがある。また、第１のコネクション及び第２のコネクションを確立する前に、攻撃側コンピュータ装置３から被攻撃側コンピュータ装置２に向けて送信されたＴＣＰパケットを第２の通信パケットと称することがある。さらに、第１のコネクション及び第２のコネクションを確立した後に、被攻撃側コンピュータ装置２から攻撃側コンピュータ装置３に向けて送信されたＴＣＰパケットを第３の通信パケットと称することがある。また、第１のコネクション及び第２のコネクションを確立した後に、攻撃側コンピュータ装置３から被攻撃側コンピュータ装置２に向けて送信されたＴＣＰパケットを第４の通信パケットと称することがある。
【００４３】
パケット判定部３２は、パケット検知部３１が検知した通信パケットを、判定ルール記憶部２２が記憶するルール情報に基づいて判定し、判定結果に応じた処理を決定する。パケット判定部３２は、例えば、上述した第１のコネクション及び第２のコネクションを確立する前に、被攻撃側コンピュータ装置２と攻撃側コンピュータ装置３とのコネクションを乗っ取り、第１のコネクション及び第２のコネクションを確立する処理を開始するための所定の通信パケットであるか否かを判定する。なお、本実施形態では、パケット判定部３２は、通信パケットが被攻撃側コンピュータ装置２と攻撃側コンピュータ装置３とのコネクションを確立するための「ＳＹＮ」パケットである場合に、上述の所定の通信パケットでると判定する。
また、パケット判定部３２は、第１のコネクション及び第２のコネクションを確立した後に、判定ルール記憶部２２が記憶するルール情報に基づいて、通信パケットのペイロードをダミーデータに変更するか否かを判定する。すなわち、パケット判定部３２は、第１のコネクション及び第２のコネクションを確立した後に、予め定められたルールに基づいて、第３の通信パケット及び第４の通信パケットのそれぞれのペイロードをダミーデータに変更するか否かを判定する。
【００４４】
疑似応答制御部３３（制御部）は、パケット検知部３１が通信パケットを検知した場合に、当該通信パケットに対する送信先のコンピュータ装置からの返信パケットを無効にするように生成された（つまり、疑似応答制御部３３で独自に生成したシーケンス番号を含む）疑似パケットを、送信元のコンピュータ装置に向けて、返信パケットよりも早く送信させる。なお、通信制御装置１と送信元のコンピュータ装置との間の応答速度は、送信先のコンピュータ装置と送信元のコンピュータ装置との間の応答速度よりも速くなるように通信制御装置１を設置している。そのため、通信制御装置１で生成された疑似パケットは、送信先のコンピュータ装置からの応答よりも早く送信元のコンピュータ装置に到着する。ここで、疑似パケットとは、送信先のコンピュータ装置に成りすました偽装された返信パケットであり、この疑似パケットにより通信制御装置１は、被攻撃側コンピュータ装置２と攻撃側コンピュータ装置３との間のコネクションを乗っ取る。
【００４５】
疑似応答制御部３３は、例えば、被攻撃側コンピュータ装置２から攻撃側コンピュータ装置３に送信された第１の通信パケットに対する攻撃側コンピュータ装置３からの第１の返信パケットを無効にするように、第１の疑似パケットを生成する。ここで、疑似応答制御部３３は、独自に生成したシーケンス番号を含む第１の疑似パケットを生成する。そして、疑似応答制御部３３は、生成した第１の疑似パケットを被攻撃側コンピュータ装置２に向けて送信させて、自装置（通信制御装置１）と被攻撃側コンピュータ装置２との間の第１のコネクションを確立する。なお、通信制御装置１と被攻撃側コンピュータ装置２との間の応答速度は、攻撃側コンピュータ装置３と被攻撃側コンピュータ装置２との間の応答速度よりも速くなるように通信制御装置１を設置している。そのため、第１の疑似パケットは、攻撃側コンピュータ装置３からの応答（第１の返信パケット）よりも早く被攻撃側コンピュータ装置２に到着する。
【００４６】
また、疑似応答制御部３３は、例えば、攻撃側コンピュータ装置３から被攻撃側コンピュータ装置２に送信された第２の通信パケットに対する被攻撃側コンピュータ装置２からの第２の返信パケットを無効にするように、第２の疑似パケットを生成する。ここで、疑似応答制御部３３は、攻撃側コンピュータ装置３にとって正当なＴＣＰパケットとなる第１の疑似パケットを生成する。疑似応答制御部３３は、生成した第２の疑似パケットを攻撃側コンピュータ装置３に向けて送信させて、自装置と攻撃側コンピュータ装置３との間の第２のコネクションを確立する。なお、通信制御装置１と攻撃側コンピュータ装置３との間の応答速度は、攻撃側コンピュータ装置３と被攻撃側コンピュータ装置２との間の応答速度よりも速くなるように通信制御装置１を設置している。そのため、第２の疑似パケットは、被攻撃側コンピュータ装置２からの応答（第２の返信パケット）よりも早く被攻撃側コンピュータ装置２に到着する。
【００４７】
なお、本実施形態では、疑似応答制御部３３は、２つのコンピュータ装置（被攻撃側コンピュータ装置２及び攻撃側コンピュータ装置３）の間でコネクションを確立する際に疑似パケットの送信を開始する。疑似応答制御部３３は、この場合に、シーケンス番号が送信先のコンピュータ装置からの返信パケットと異なるように生成した疑似パケットを、送信元のコンピュータ装置に向けて送信させる。
なお、コネクションの確立の際には、２つのコンピュータ装置それぞれでシーケンス番号を独自に生成することとなっている。そのため、例えば、疑似応答制御部３３が乱数を用いてシーケンス番号を生成し、生成したシーケンス番号を含む疑似パケットを生成すれば、シーケンス番号が送信先のコンピュータ装置からの返信パケットと異なるように疑似パケットを生成することができる。本来のコンピュータ装置で生成されるシーケンス番号と、疑似応答制御部３３が生成するシーケンス番号とが衝突する確率はきわめて低いため、疑似応答制御部３３が、任意にシーケンス番号を生成しても支障ない。
【００４８】
また、疑似応答制御部３３は、第１のコネクション及び第２のコネクションを確立した後に、被攻撃側コンピュータ装置２及び攻撃側コンピュータ装置３に成りすまして、双方の通信を維持しつつ、被攻撃側コンピュータ装置２及び攻撃側コンピュータ装置３から情報を引き出す制御を行う。
疑似応答制御部３３は、例えば、第１のコネクションによって被攻撃側コンピュータ装置２から攻撃側コンピュータ装置３に向けて送信された第３の通信パケットを通信履歴として、通信履歴記憶部２４に記憶させる。そして、疑似応答制御部３３は、シーケンス管理情報記憶部２３が記憶する管理情報に基づいて、第３の通信パケットを第２のコネクション用のシーケンス番号及び確認応答番号に変更して、第１の転送パケットとして攻撃側コンピュータ装置３に向けて送信（転送）する。また、疑似応答制御部３３は、この第３の通信パケットのペイロードをダミーデータに変更して転送する。
【００４９】
また、同様に、疑似応答制御部３３は、例えば、第２のコネクションによって攻撃側コンピュータ装置３から被攻撃側コンピュータ装置２に向けて送信された第４の通信パケットを通信履歴として、通信履歴記憶部２４に記憶させる。そして、疑似応答制御部３３は、シーケンス管理情報記憶部２３が記憶する管理情報に基づいて、第４の通信パケットを第１のコネクション用のシーケンス番号及び確認応答番号に変更して、第２の転送パケットとして被攻撃側コンピュータ装置２に向けて送信（転送）する。また、疑似応答制御部３３は、この第３の通信パケットのペイロードをダミーデータに変更して転送する。
なお、第１の転送パケットと第２の転送パケットとを総称して転送パケットと称する。
【００５０】
なお、疑似応答制御部３３は、例えば、ペイロードの内容が安全であると予め判明している場合や、被攻撃側コンピュータ装置２及び攻撃側コンピュータ装置３から情報を引き出す場合には、第３の通信パケットのペイロードをダミーデータに変更せずに転送する。また、自装置が成りすましていることを、被攻撃側コンピュータ装置２及び攻撃側コンピュータ装置３に検知される可能性がある場合には、疑似応答制御部３３は、所定の頻度で、第３の通信パケットのペイロードをダミーデータに変更せずに転送してもよい。
ここで、ペイロードをダミーデータに変更するか否かは、上述したパケット判定部３２が、判定ルール記憶部２２が記憶するルール情報に基づいて判定する。すなわち、疑似応答制御部３３は、パケット判定部３２が判定した判定結果に基づいて、第３の通信パケット及び第４の通信パケットのそれぞれのペイロードをダミーデータに変更するか否かを切り替える。
【００５１】
また、疑似応答制御部３３は、被攻撃側コンピュータ装置２及び攻撃側コンピュータ装置３の双方との通信を維持するために、通信制御装置１から被攻撃側コンピュータ装置２又は攻撃側コンピュータ装置３に向けて所定の送信パケットを送信する。また、疑似応答制御部３３は、被攻撃側コンピュータ装置２及び攻撃側コンピュータ装置３の双方との通信を維持するために、被攻撃側コンピュータ装置２又は攻撃側コンピュータ装置３から受信した通信パケットに対して、通信制御装置１から送信元に所定の返信パケットを送信する。
また、疑似応答制御部３３は、応答生成部３３１と、送信制御部３３２とを備えている。
【００５２】
応答生成部３３１は、上述した疑似パケット、転送パケット、送信パケット、及び返信パケットなどの通信制御装置１から他装置に向けて送信するＴＣＰパケットを生成する。応答生成部３３１は、例えば、シーケンス管理情報記憶部２３が記憶する攻撃側管理情報又は被攻撃側管理情報に基づくＴＣＰのヘッダ部を含むＴＣＰパケットを生成する。例えば、応答生成部３３１は、第１のコネクションにより、被攻撃側コンピュータ装置２に向けたＴＣＰパケットを生成する場合には、シーケンス管理情報記憶部２３が記憶する被攻撃側管理情報に基づくシーケンス番号及び確認応答番号を含むＴＣＰパケットを生成する。また、応答生成部３３１は、第２のコネクションにより、攻撃側コンピュータ装置３に向けたＴＣＰパケットを生成する場合には、シーケンス管理情報記憶部２３が記憶する攻撃側管理情報に基づくシーケンス番号及び確認応答番号を含むＴＣＰパケットを生成する。
【００５３】
また、応答生成部３３１は、パケット判定部３２の判定結果に基づいて、疑似パケット、転送パケット、及び返信パケットなどのＴＣＰパケットを生成する。また、転送パケットを生成する場合には、応答生成部３３１は、パケット判定部３２の判定結果に基づいて、ペイロードをダミーデータに変更するか否かを切り替えて、転送パケットを生成する。
また、応答生成部３３１は、例えば、被攻撃側コンピュータ装置２及び攻撃側コンピュータ装置３の情報収集のために、通信制御装置１を管理する管理者からの指令に基づいて、送信パケットなどのＴＣＰパケットを生成する。
なお、応答生成部３３１は、第１のコネクション用のシーケンス番号（ＤＭ）と、第２のコネクション用のシーケンス番号（Ｍ）との差が所定の閾値分以上になるように、ＴＣＰパケットのペイロードのデータ数を調整してＴＣＰパケットを生成してもよい。また、応答生成部３３１は、第１のコネクション用のシーケンス番号（Ｎ）と、第２のコネクション用のシーケンス番号（ＤＮ）との差が所定の閾値分以上になるように、ＴＣＰパケットのペイロードのデータ数を調整してＴＣＰパケットを生成してもよい。
【００５４】
送信制御部３３２は、応答生成部３３１が生成したＴＣＰパケットを被攻撃側コンピュータ装置２又は攻撃側コンピュータ装置３に向けて通信部１０を介して送信させる制御を行う。
【００５５】
次に、本実施形態による通信制御装置１の動作について、図面を参照して説明する。
図４は、本実施形態における通信制御装置１が被攻撃側コンピュータ装置２とのコネクションを確立する動作の一例を示す図である。
この図では、被攻撃側コンピュータ装置２と攻撃側コンピュータ装置３との間のコネクションを確立する際に、通信制御装置１が、確立しようとしている当該コネクションを乗っ取って、通信制御装置１と被攻撃側コンピュータ装置２との間の第１のコネクションを確立する場合の一例を示している。
なお、図４において、“ＳｅｇＮＯ”は、ＴＣＰのシーケンス番号を示し、“Ａｃｋ”は、ＴＣＰの確認応答番号を示す。
【００５６】
図４の（１）に示すように、まず、被攻撃側コンピュータ装置２が、「ＳＹＮ」パケット（ＳｅｇＮＯ＝ｎ）を攻撃側コンピュータ装置３に向けて送信する（ステップＳ１０１）。
【００５７】
次に、通信制御装置１は、「ＳＹＮ」パケット（ＳｅｇＮＯ＝ｎ）に対して、「ＳＹＮ＋ＡＣＫ」パケット（ＳｅｑＮＯ（＝ＤＭ）＝ｄｍ、Ａｃｋ＝ｎ＋１）を被攻撃側コンピュータ装置２に向けて送信する（図４の（２）、ステップＳ１０２）。すなわち、通信制御装置１は、ネットワーク機器４を介して、この「ＳＹＮ」パケット（ＳｅｑＮＯ＝ｎ）を受信する。通信制御装置１の疑似応答制御部３３は、受信した「ＳＹＮ」パケットに含まれる、被攻撃側コンピュータ装置２の「ＩＰ」及び「ポート番号」と、「ＳｅｑＮＯ（Ｎ＝ｎ）」とを関連付けてシーケンス管理情報記憶部２３に記憶させる。
【００５８】
また、疑似応答制御部３３は、例えば、乱数生成器（付図示）などにより生成した乱数に基づいて、シーケンス番号（ＤＭ）を生成する。なお、疑似応答制御部３３は、このシーケンス番号（ＤＭ）を攻撃側コンピュータ装置３のシーケンス番号（Ｍ）と一致しないように、乱数に基づいて生成する。なお、ここでは、各装置のシーケンス番号の初期値は、「ＳｅｑＮＯ（ＤＭ）」が“ｄｍ”、「ＳｅｑＮＯ（Ｎ）」が“ｎ”、「ＳｅｑＮＯ（Ｍ）」が“ｍ”、及び「ＳｅｑＮＯ（ＤＮ）」が“ｎ”であるものとして説明する。
疑似応答制御部３３は、生成したシーケンス番号（ＤＭ）を「ＳｅｑＮＯ（ＤＭ）」として、シーケンス管理情報記憶部２３に記憶させる。そして、疑似応答制御部３３の応答生成部３３１は、生成したシーケンス番号（ＤＭ）を含む「ＳＹＮ＋ＡＣＫ」パケット（ＳｅｑＮＯ（＝ＤＭ）＝ｄｍ、Ａｃｋ＝ｎ＋１）を疑似パケットとして生成する。
【００５９】
疑似応答制御部３３の送信制御部３３２は、「ＳＹＮ＋ＡＣＫ」パケット（ＳｅｑＮＯ（＝ＤＭ）＝ｄｍ、Ａｃｋ＝ｎ＋１）を被攻撃側コンピュータ装置２に向けて通信部１０を介して送信させる。なお、「ＳＹＮ」パケット（ＳｅｑＮＯ＝ｎ）は、攻撃側コンピュータ装置３に送信されているが、送信制御部３３２は、攻撃側コンピュータ装置３が送信する返信パケット（「ＳＹＮ＋ＡＣＫ」パケット）よりも早くに（先に）、被攻撃側コンピュータ装置２に向けて「ＳＹＮ＋ＡＣＫ」パケット（ＳｅｑＮＯ（＝ＤＭ）＝ｄｍ、Ａｃｋ＝ｎ＋１）を送信させる。すなわち、疑似応答制御部３３は、後述する攻撃側コンピュータ装置３からの「ＳＹＮ＋ＡＣＫ」パケット（図５の（４）、ステップＳ２０１）とシーケンス番号が異なるように生成した疑似パケットを、攻撃側コンピュータ装置３より先に被攻撃側コンピュータ装置２に向けて送信する。
なお、通信制御装置１は、例えば、乱数に基づいてシーケンス番号（ＤＭ）を生成すので、攻撃側コンピュータ装置３で生成されるシーケンス番号（Ｍ）と番号が一致する確率がきわめて低い。そのため、通信制御装置１は、実質的に支障が生じることがない。また、通信制御装置１は、生成した疑似パケットを被攻撃側コンピュータ装置２に送信した場合に、通信制御装置１の配置により攻撃側コンピュータ装置３からの応答（返信パケット）よりも疑似パケットが先に攻撃側コンピュータ装置３に到着する．
【００６０】
次に、被攻撃側コンピュータ装置２は、「ＳＹＮ＋ＡＣＫ」パケットに対して、「ＡＣＫ」パケット（ＳｅｑＮＯ＝ｎ＋１、Ａｃｋ＝ｄｍ＋１）を送信する（図４の（３）、ステップＳ１０３）。この「ＡＣＫ」パケットは、通信制御装置１により受信され、第１のコネクションが確立される。なお、この「ＡＣＫ」パケットは、攻撃側コンピュータ装置３においても受信されるが、シーケンス番号（Ｍ＝ｍ）と異なるため、被攻撃側コンピュータ装置２と攻撃側コンピュータ装置３との間でコネクションを確立することができない。すなわち、通信制御装置１は、被攻撃側コンピュータ装置２と攻撃側コンピュータ装置３との間のコネクションを乗っ取り、第１のコネクションを確立する。
【００６１】
また、図５は、本実施形態における通信制御装置１が攻撃側コンピュータ装置３とのコネクションを確立する動作の一例を示す図である。
この図では、被攻撃側コンピュータ装置２と攻撃側コンピュータ装置３との間のコネクションを確立する際に、通信制御装置１が、確立しようとしている当該コネクションを乗っ取って、通信制御装置１と攻撃側コンピュータ装置３との間の第２のコネクションを確立する場合の一例を示している。ここでは、図４に示すステップＳ１０１の処理に続く処理を示している。
【００６２】
「ＳＹＮ」パケット（ＳｅｇＮＯ＝ｎ）（図４の（１）、ステップＳ１０１）に対して、図５の（４）に示すように、攻撃側コンピュータ装置３が、「ＳＹＮ＋ＡＣＫ」パケット（ＳｅｑＮＯ＝ｍ、Ａｃｋ＝ｎ＋１）を被攻撃側コンピュータ装置２に向けて送信する（ステップＳ２０１）。
【００６３】
通信制御装置１は、この「ＳＹＮ＋ＡＣＫ」パケット（ＳｅｑＮＯ＝ｍ、Ａｃｋ＝ｎ＋１）に対して、「ＡＣＫ」パケット（ＳｅｑＮＯ（＝ＤＮ）＝ｎ＋１、Ａｃｋ＝ｍ＋１）を攻撃側コンピュータ装置３に向けて送信する（図５の（５）、ステップＳ２０２）。すなわち、通信制御装置１は、ネットワーク機器４を介して、この「ＳＹＮ＋ＡＣＫ」パケット（ＳｅｑＮＯ＝ｍ、Ａｃｋ＝ｎ＋１）を受信する。通信制御装置１の疑似応答制御部３３は、受信した「ＳＹＮ＋ＡＣＫ」パケットに含まれる、攻撃側コンピュータ装置３の「ＩＰ」及び「ポート番号」と、「ＳｅｑＮＯ（Ｍ＝ｍ）」と、「ＳｅｑＮＯ（ＤＮ＝ｎ＋１）」とを関連付けてシーケンス管理情報記憶部２３に記憶させる。ここでは、疑似応答制御部３３は、受信したシーケンス番号（ＤＮ＝ｎ＋１）を「ＳｅｑＮＯ（ＤＮ）」として、シーケンス管理情報記憶部２３に記憶させる。そして、疑似応答制御部３３の応答生成部３３１は、生成したシーケンス番号（ＤＮ）を含む「ＡＣＫ」パケット（ＳｅｑＮＯ（＝ＤＮ）＝ｎ＋１、Ａｃｋ＝ｍ＋１）を疑似パケットとして生成する。
【００６４】
疑似応答制御部３３の送信制御部３３２は、応答生成部３３１が生成した「ＡＣＫ」パケット（ＳｅｑＮＯ（＝ＤＮ）＝ｎ＋１、Ａｃｋ＝ｍ＋１）を攻撃側コンピュータ装置３に向けて通信部１０を介して送信させる。なお、通信制御装置１は、生成した疑似パケット（「ＡＣＫ」パケット（ＳｅｑＮＯ（＝ＤＮ）＝ｎ＋１、Ａｃｋ＝ｍ＋１））を攻撃側コンピュータ装置３に送信した場合に、通信制御装置１の配置により被攻撃側コンピュータ装置２からの応答（返信パケット）よりも疑似パケットが先に被攻撃側コンピュータ装置２に到着する。攻撃側コンピュータ装置３が、通信制御装置１からの「ＡＣＫ」パケット（ＳｅｑＮＯ（＝ＤＮ）＝ｎ＋１、Ａｃｋ＝ｍ＋１）を受信することで、第２のコネクションが確立される。
このように、通信制御装置１は、被攻撃側コンピュータ装置２と攻撃側コンピュータ装置３との間のコネクションを乗っ取り、第２のコネクションを確立する。
【００６５】
なお、第１のコネクション及び第２のコネクションを確立した後は、送信制御部３３２は、第１のコネクション及び第２のコネクションによる通信に応じて、シーケンス管理情報記憶部２３のシーケンス番号（Ｎ）、シーケンス番号（ＤＭ）、シーケンス番号（Ｍ）、及びシーケンス番号（ＤＮ）を更新させる。
【００６６】
次に、図６を参照して、コネクションの乗っ取りからその後の通信までの通信制御装置１の動作について説明する。
図６は、本実施形態における通信制御装置１の動作の一例を示す図である。
この図において、まず、被攻撃側コンピュータ装置２が「ＳＹＮ」パケット（ＳｅｑＮＯ＝ｎ）を攻撃側コンピュータ装置３に向けて送信する（ステップＳ１０１）。この「ＳＹＮ」パケット（ＳｅｑＮＯ＝ｎ）は、通信制御装置１及び攻撃側コンピュータ装置３により受信される。
【００６７】
次に、通信制御装置１は、「ＳＹＮ」パケット（ＳｅｑＮＯ＝ｎ）に対して、上述の図４で説明したように、「ＳＹＮ＋ＡＣＫ」パケット（ＳｅｑＮＯ（＝ＤＭ）＝ｄｍ、Ａｃｋ＝ｎ＋１）を攻撃側コンピュータ装置３よりも先に被攻撃側コンピュータ装置２に向けて送信する（ステップＳ１０２）。
被攻撃側コンピュータ装置２は、「ＳＹＮ＋ＡＣＫ」パケット（ＳｅｑＮＯ（＝ＤＭ）＝ｄｍ、Ａｃｋ＝ｎ＋１）に対して、「ＡＣＫ」パケット（ＳｅｑＮＯ＝ｎ＋１、Ａｃｋ＝ｄｍ＋１）を送信する（ステップＳ１０３）。このパケットを通信制御装置１が受信することで、第１のコネクションが確立される。これにより、通信制御装置１は、被攻撃側コンピュータ装置２に対して、攻撃側コンピュータ装置３に成りすまして通信を行うことが可能になる。
【００６８】
また、一方で、攻撃側コンピュータ装置３は、「ＳＹＮ」パケット（ＳｅｑＮＯ＝ｎ）に対して、上述の図５で説明したように、「ＳＹＮ＋ＡＣＫ」パケット（ＳｅｑＮＯ＝ｍ、Ａｃｋ＝ｎ＋１）を被攻撃側コンピュータ装置２に向けて送信する（ステップＳ２０１）。
次に、通信制御装置１は、「ＳＹＮ＋ＡＣＫ」パケット（ＳｅｑＮＯ＝ｍ、Ａｃｋ＝ｎ＋１）に対して、上述の図５で説明したように、「ＡＣＫ」パケット（ＳｅｑＮＯ（＝ＤＮ）＝ｎ＋１、Ａｃｋ＝ｍ＋１）を被攻撃側コンピュータ装置２よりも先に攻撃側コンピュータ装置３に向けて送信する（ステップＳ２０２）。このパケットを攻撃側コンピュータ装置３が受信することで、第２のコネクションが確立される。これにより、通信制御装置１は、攻撃側コンピュータ装置３に対して、攻撃側コンピュータ装置３に成りすまして通信を行うことが可能になる。
【００６９】
また、被攻撃側コンピュータ装置２は、ステップＳ２０１により送信された「ＳＹＮ＋ＡＣＫ」パケット（ＳｅｑＮＯ＝ｍ、Ａｃｋ＝ｎ＋１）に対して、「ＲＳＴ＋ＡＣＫ」パケット（ＳｅｑＮＯ＝ｎ＋１、Ａｃｋ＝ｍ＋１）を攻撃側コンピュータ装置３に向けて送信する（ステップＳ１０４）。すなわち、被攻撃側コンピュータ装置２は、コネクションを確立していない攻撃側コンピュータ装置３からの「ＳＹＮ＋ＡＣＫ」パケット（ＳｅｑＮＯ＝ｍ、Ａｃｋ＝ｎ＋１）を不正なパケットと判定し、「ＲＳＴ＋ＡＣＫ」パケット（ＳｅｑＮＯ＝ｎ＋１、Ａｃｋ＝ｍ＋１）を攻撃側コンピュータ装置３に向けて送信する。攻撃側コンピュータ装置３は、被攻撃側コンピュータ装置２との間のコネクションが確立していない状態（接続されていない状態）であるため、この「ＲＳＴ＋ＡＣＫ」パケットを廃棄する。
【００７０】
また、攻撃側コンピュータ装置３は、ステップＳ１０３により送信された「ＡＣＫ」パケット（ＳｅｑＮＯ＝ｎ＋１、Ａｃｋ＝ｄｍ＋１）に対して、「ＲＳＴ＋ＡＣＫ」パケット（ＳｅｑＮＯ＝ｍ＋１、Ａｃｋ＝ｎ＋１）を被攻撃側コンピュータ装置２に向けて送信する（ステップＳ２０３）。すなわち、攻撃側コンピュータ装置３は、コネクションを確立していない被攻撃側コンピュータ装置２からの「ＡＣＫ」パケット（ＳｅｑＮＯ＝ｎ＋１、Ａｃｋ＝ｄｍ＋１）を不正なパケットと判定し、「ＲＳＴ＋ＡＣＫ」パケット（ＳｅｑＮＯ＝ｍ＋１、Ａｃｋ＝ｎ＋１）を被攻撃側コンピュータ装置２に向けて送信する。被攻撃側コンピュータ装置２は、攻撃側コンピュータ装置３との間のコネクションが確立していない状態（接続されていない状態）であるため、この「ＲＳＴ＋ＡＣＫ」パケットを廃棄する。
【００７１】
次に、被攻撃側コンピュータ装置２から例えば、Ｘバイトのデータを送信する場合の一例を説明する。この場合、被攻撃側コンピュータ装置２は、第１のコネクションにより、「ＡＣＫ」パケット（ＳｅｑＮＯ＝ｎ＋１、Ａｃｋ＝ｍ＋１、Ｘバイト）を送信する（ステップＳ１０５）。なお、この場合の「ＡＣＫ」パケットには、ペイロードにＸバイトのデータが含まれる。
【００７２】
通信制御装置１は、「ＡＣＫ」パケット（ＳｅｑＮＯ＝ｎ＋１、Ａｃｋ＝ｍ＋１、Ｘバイト）に対して、第１のコネクションにより、「ＡＣＫ」パケット（ＳｅｑＮＯ（＝ＤＭ）＝ｄｍ＋１、Ａｃｋ（＝Ｎ）＝ｎ＋１＋Ｘ）を被攻撃側コンピュータ装置２に向けて送信する（ステップＳ１０６）。すなわち、通信制御装置１の疑似応答制御部３３は、受信した「ＡＣＫ」パケット（ＳｅｑＮＯ＝ｎ＋１、Ａｃｋ＝ｍ＋１、Ｘバイト）を通信履歴として通信履歴記憶部２４に記憶させる。また、疑似応答制御部３３は、受信した「ＡＣＫ」パケット（ＳｅｑＮＯ＝ｎ＋１、Ａｃｋ＝ｍ＋１、Ｘバイト）に基づいて、シーケンス管理情報記憶部２３の被攻撃側管理情報を更新する。
【００７３】
そして、疑似応答制御部３３の応答生成部３３１は、この被攻撃側管理情報に基づくＴＣＰのヘッダ部を含む生成した「ＡＣＫ」パケット（ＳｅｑＮＯ（＝ＤＭ）＝ｄｍ＋１、Ａｃｋ（＝Ｎ）＝ｎ＋１＋Ｘ）を生成する。疑似応答制御部３３の送信制御部３３２は、応答生成部３３１が生成した「ＡＣＫ」パケット（ＳｅｑＮＯ（＝ＤＭ）＝ｄｍ＋１、Ａｃｋ（＝Ｎ）＝ｎ＋１＋Ｘ）を被攻撃側コンピュータ装置２に向けて送信させる。
【００７４】
また、攻撃側コンピュータ装置３は、ステップＳ１０５により送信された「ＡＣＫ」パケット（ＳｅｑＮＯ＝ｎ＋１、Ａｃｋ＝ｍ＋１、Ｘバイト）に対して、「ＲＳＴ＋ＡＣＫ」パケット（ＳｅｑＮＯ＝ｍ＋１、Ａｃｋ＝ｎ＋１）を被攻撃側コンピュータ装置２に向けて送信する（ステップＳ２０４）。なお、被攻撃側コンピュータ装置２は、攻撃側コンピュータ装置３との間のコネクションが確立していない状態（接続されていない状態）であるため、この「ＲＳＴ＋ＡＣＫ」パケットを廃棄する。
【００７５】
次に、攻撃側コンピュータ装置３から例えば、Ｙバイトのデータを送信する場合の一例を説明する。この場合、攻撃側コンピュータ装置３は、第２のコネクションにより、「ＡＣＫ」パケット（ＳｅｑＮＯ＝ｍ＋１、Ａｃｋ＝ｎ＋１、Ｙバイト）を送信する（ステップＳ２０５）。なお、この場合の「ＡＣＫ」パケットには、ペイロードにＹバイトのデータが含まれる。
【００７６】
通信制御装置１は、「ＡＣＫ」パケット（ＳｅｑＮＯ＝ｍ＋１、Ａｃｋ＝ｎ＋１、Ｙバイト）に対して、第２のコネクションにより、「ＡＣＫ」パケット（ＳｅｑＮＯ（＝ＤＮ）＝ｎ＋１、Ａｃｋ（＝Ｍ）＝ｍ＋１＋Ｙ）を攻撃側コンピュータ装置３に向けて送信する（ステップＳ２０６）。すなわち、通信制御装置１の疑似応答制御部３３は、受信した「ＡＣＫ」パケット（ＳｅｑＮＯ＝ｍ＋１、Ａｃｋ＝ｎ＋１、Ｙバイト）を通信履歴として通信履歴記憶部２４に記憶させる。また、疑似応答制御部３３は、受信した「ＡＣＫ」パケット（ＳｅｑＮＯ＝ｍ＋１、Ａｃｋ＝ｎ＋１、Ｙバイト）に基づいて、シーケンス管理情報記憶部２３の攻撃側管理情報を更新する。
【００７７】
そして、疑似応答制御部３３の応答生成部３３１は、この攻撃側管理情報に基づくＴＣＰのヘッダ部を含む生成した「ＡＣＫ」パケット（ＳｅｑＮＯ（＝ＤＮ）＝ｎ＋１、Ａｃｋ（＝Ｍ）＝ｍ＋１＋Ｙ）を生成する。疑似応答制御部３３の送信制御部３３２は、応答生成部３３１が生成した「ＡＣＫ」パケット（ＳｅｑＮＯ（＝ＤＮ）＝ｎ＋１、Ａｃｋ（＝Ｍ）＝ｍ＋１＋Ｙ）を攻撃側コンピュータ装置３に向けて送信させる。
【００７８】
また、被攻撃側コンピュータ装置２は、ステップＳ２０５により送信された「ＡＣＫ」パケット（ＳｅｑＮＯ＝ｍ＋１、Ａｃｋ＝ｎ＋１、Ｙバイト）に対して、「ＲＳＴ＋ＡＣＫ」パケット（ＳｅｑＮＯ＝ｎ＋１＋Ｘ、Ａｃｋ＝ｄｍ＋１）を攻撃側コンピュータ装置３に向けて送信する（ステップＳ１０７）。なお、攻撃側コンピュータ装置３は、被攻撃側コンピュータ装置２との間のコネクションが確立していない状態（接続されていない状態）であるため、この「ＲＳＴ＋ＡＣＫ」パケットを廃棄する。
【００７９】
このように、第１のコネクション及び第２のコネクションを確立した後に、通信制御装置１は、被攻撃側コンピュータ装置２と通信制御装置１との間の通信、及び攻撃側コンピュータ装置３と通信制御装置１との間の通信の制御を行う。
なお、上述した図４〜図６に示す例では、コネクションの確立が被攻撃側コンピュータ装置２から開始される場合について説明したが、コネクションの確立が攻撃側コンピュータ装置３から開始される場合についても同様である。但し、その場合には、通信制御装置１は、疑似パケットにおいて、第２のコネクションにおけるシーケンス番号（ＤＮ）を生成することになる。
【００８０】
次に、図７を参照して、通信制御装置１が、被攻撃側コンピュータ装置２と通信制御装置１との間でデータをダミーデータに置き換えて転送する場合の一例について説明する。
図７は、本実施形態における通信制御装置１が、ダミーデータを転送する場合の動作の一例を示す図である。
この図において、第１のコネクション及び第２のコネクションを確立した後の状態であり、各装置のシーケンス番号の初期値は、「ＳｅｑＮＯ（ＤＭ）」が“ｄｍ＋１”、「ＳｅｑＮＯ（Ｎ）」が“ｎ＋１”、「ＳｅｑＮＯ（ＤＮ）」が“ｎ＋１”、及び「ＳｅｑＮＯ（Ｍ）」が“ｍ＋１”であるものとして説明する。
【００８１】
図７において、まず、攻撃側コンピュータ装置３は、第２のコネクションにより、「ＡＣＫ」パケット（ＳｅｑＮＯ＝ｍ＋１、Ａｃｋ＝ｎ＋１、ＤＡＴＡ１）を送信する（ステップＳ２１１）。なお、この場合の「ＡＣＫ」パケットには、例えば、αバイトのデータ（ＤＡＴＡ１）が含まれているものとする。
【００８２】
次に、通信制御装置１は、「ＡＣＫ」パケット（ＳｅｑＮＯ＝ｍ＋１、Ａｃｋ＝ｎ＋１、ＤＡＴＡ１）に対して、第１のコネクションにより、「ＡＣＫ」パケット（ＳｅｑＮＯ（＝ＤＭ）＝ｄｍ＋１、Ａｃｋ（＝Ｎ）＝ｎ＋１、ＤＭＹＤ１）を被攻撃側コンピュータ装置２に向けて送信（転送）する（ステップＳ１１１）。すなわち、通信制御装置１の疑似応答制御部３３は、受信した「ＡＣＫ」パケット（ＳｅｑＮＯ＝ｍ＋１、Ａｃｋ＝ｎ＋１、ＤＡＴＡ１）のペイロードをダミーデータ（ＤＭＹＤ１）に変更するとともに、第１のコネクションにおけるシーケンス番号及び確認応答番号に変更した転送パケットを被攻撃側コンピュータ装置２に向けて送信する。なお、疑似応答制御部３３は、パケット判定部３２が判定した判定結果に基づいて、ペイロードをダミーデータに変更するか否かを切り替える。また、ダミーデータ（ＤＭＹＤ１）のサイズは、データ（ＤＡＴＡ１）と等しく、αバイトとする。
【００８３】
この場合、通信制御装置１は、無害化したダミーデータ（ＤＭＹＤ１）を被攻撃側コンピュータ装置２に送信するので、攻撃側コンピュータ装置３から被攻撃側コンピュータ装置２を不正に操作することを防止することができる。
【００８４】
また、被攻撃側コンピュータ装置２は、ステップＳ２１１により送信された「ＡＣＫ」パケット（ＳｅｑＮＯ＝ｍ＋１、Ａｃｋ＝ｎ＋１、ＤＡＴＡ１）に対して、「ＲＳＴ＋ＡＣＫ」パケット（ＳｅｑＮＯ＝ｎ＋１、Ａｃｋ＝ｄｍ＋１）を攻撃側コンピュータ装置３に向けて送信する（ステップＳ１１２）。なお、攻撃側コンピュータ装置３は、被攻撃側コンピュータ装置２との間のコネクションが確立していない状態（接続されていない状態）であるため、この「ＲＳＴ＋ＡＣＫ」パケットを廃棄する。
【００８５】
また、被攻撃側コンピュータ装置２は、例えば、ステップＳ１１１により送信された「ＡＣＫ」パケット（ＳｅｑＮＯ（＝ＤＭ）＝ｍ＋１、Ａｃｋ（＝Ｎ）＝ｎ＋１、ＤＭＹＤ１）に対して、第１のコネクションにより、「ＡＣＫ」パケット（ＳｅｑＮＯ＝ｎ＋１、Ａｃｋ＝ｄｍ＋１+α、ＤＡＴＡ２）を攻撃側コンピュータ装置３に向けて送信する（ステップＳ１１３）。なお、この場合の「ＡＣＫ」パケットには、例えば、βバイトのデータ（ＤＡＴＡ２）が含まれているものとする。
【００８６】
次に、通信制御装置１は、「ＡＣＫ」パケット（ＳｅｑＮＯ＝ｎ＋１、Ａｃｋ＝ｄｍ＋１＋α、ＤＡＴＡ２）に対して、第２のコネクションにより、「ＡＣＫ」パケット（ＳｅｑＮＯ（＝ＤＮ）＝ｎ＋１、Ａｃｋ（＝Ｍ）＝ｍ＋１＋α、ＤＭＹＤ２）を攻撃側コンピュータ装置３に向けて送信（転送）する（ステップＳ２１２）。すなわち、通信制御装置１の疑似応答制御部３３は、受信した「ＡＣＫ」パケット（ＳｅｑＮＯ＝ｎ＋１、Ａｃｋ＝ｄｍ＋１＋α、ＤＡＴＡ２）のペイロードをダミーデータ（ＤＭＹＤ２）に変更するとともに、第２のコネクションにおけるシーケンス番号及び確認応答番号に変更した転送パケットを攻撃側コンピュータ装置３に向けて送信する。なお、疑似応答制御部３３は、パケット判定部３２が判定した判定結果に基づいて、ペイロードをダミーデータに変更するか否かを切り替える。また、ダミーデータ（ＤＭＹＤ２）のサイズは、データ（ＤＡＴＡ２）と等しく、βバイトとする。
【００８７】
この場合、通信制御装置１は、無害化したダミーデータ（ＤＭＹＤ２）を攻撃側コンピュータ装置３に送信するので、被攻撃側コンピュータ装置２から攻撃側コンピュータ装置３に秘匿情報が流出することを防止することができる。
【００８８】
また、攻撃側コンピュータ装置３は、ステップＳ１１３により送信された「ＡＣＫ」パケット（ＳｅｑＮＯ＝ｎ＋１、Ａｃｋ＝ｄｍ＋１＋α、ＤＡＴＡ２）に対して、「ＲＳＴ＋ＡＣＫ」パケット（ＳｅｑＮＯ＝ｍ＋１、Ａｃｋ＝ｎ＋１）を被攻撃側コンピュータ装置２に向けて送信する（ステップＳ２１３）。なお、被攻撃側コンピュータ装置２は、攻撃側コンピュータ装置３との間のコネクションが確立していない状態（接続されていない状態）であるため、この「ＲＳＴ＋ＡＣＫ」パケットを廃棄する。
【００８９】
また、攻撃側コンピュータ装置３は、例えば、ステップＳ２１２により送信された「ＡＣＫ」パケット（ＳｅｑＮＯ（＝ＤＭ）＝ｎ＋１、Ａｃｋ（＝Ｍ）＝ｍ＋１＋α、ＤＭＹＤ２）に対して、第２のコネクションにより、「ＡＣＫ」パケット（ＳｅｑＮＯ＝ｍ＋１＋α、Ａｃｋ＝ｎ＋１＋β）を被攻撃側コンピュータ装置２に向けて送信する（ステップＳ２１４）。
【００９０】
次に、図８を参照して、通信制御装置１が、被攻撃側コンピュータ装置２と通信制御装置１との間で生データを転送する場合の一例について説明する。
図８は、本実施形態における通信制御装置１が、生データを転送する場合の動作の一例を示す図である。
この図において、第１のコネクション及び第２のコネクションを確立した後の状態であり、各装置のシーケンス番号の初期値は、「ＳｅｑＮＯ（ＤＭ）」が“ｄｍ＋１”、「ＳｅｑＮＯ（Ｎ）」が“ｎ＋１”、「ＳｅｑＮＯ（ＤＮ）」が“ｎ＋１”、及び「ＳｅｑＮＯ（Ｍ）」が“ｍ＋１”であるものとして説明する。
【００９１】
図８において、まず、攻撃側コンピュータ装置３は、第２のコネクションにより、「ＡＣＫ」パケット（ＳｅｑＮＯ＝ｍ＋１、Ａｃｋ＝ｎ＋１、ＤＡＴＡ１）を送信する（ステップＳ２２１）。なお、この場合の「ＡＣＫ」パケットには、例えば、αバイトのデータ（ＤＡＴＡ１）が含まれているものとする。
【００９２】
次に、通信制御装置１は、「ＡＣＫ」パケット（ＳｅｑＮＯ＝ｍ＋１、Ａｃｋ＝ｎ＋１、ＤＡＴＡ１）に対して、第１のコネクションにより、「ＡＣＫ」パケット（ＳｅｑＮＯ（＝ＤＭ）＝ｄｍ＋１、Ａｃｋ（＝Ｎ）＝ｎ＋１、ＤＡＴＡ１）を被攻撃側コンピュータ装置２に向けて送信（転送）する（ステップＳ１２１）。すなわち、通信制御装置１の疑似応答制御部３３は、受信した「ＡＣＫ」パケット（ＳｅｑＮＯ＝ｍ＋１、Ａｃｋ＝ｎ＋１、ＤＡＴＡ１）を、第１のコネクションにおけるシーケンス番号及び確認応答番号に変更した転送パケットを被攻撃側コンピュータ装置２に向けて送信する。
【００９３】
また、被攻撃側コンピュータ装置２は、ステップＳ２２１により送信された「ＡＣＫ」パケット（ＳｅｑＮＯ＝ｍ＋１、Ａｃｋ＝ｎ＋１、ＤＡＴＡ１）に対して、「ＲＳＴ＋ＡＣＫ」パケット（ＳｅｑＮＯ＝ｎ＋１、Ａｃｋ＝ｄｍ＋１）を攻撃側コンピュータ装置３に向けて送信する（ステップＳ１２２）。なお、攻撃側コンピュータ装置３は、被攻撃側コンピュータ装置２との間のコネクションが確立していない状態（接続されていない状態）であるため、この「ＲＳＴ＋ＡＣＫ」パケットを廃棄する。
【００９４】
また、被攻撃側コンピュータ装置２は、例えば、ステップＳ１２１により送信された「ＡＣＫ」パケット（ＳｅｑＮＯ（＝ＤＭ）＝ｄｍ＋１、Ａｃｋ（＝Ｎ）＝ｎ＋１、ＤＡＴＡ１）に対して、第１のコネクションにより、「ＡＣＫ」パケット（ＳｅｑＮＯ＝ｎ＋１、Ａｃｋ＝ｄｍ＋１+α、ＤＡＴＡ２）を攻撃側コンピュータ装置３に向けて送信する（ステップＳ１２３）。なお、この場合の「ＡＣＫ」パケットには、例えば、βバイトのデータ（ＤＡＴＡ２）が含まれているものとする。
【００９５】
次に、通信制御装置１は、「ＡＣＫ」パケット（ＳｅｑＮＯ＝ｎ＋１、Ａｃｋ＝ｄｍ＋１＋α、ＤＡＴＡ２）に対して、第２のコネクションにより、「ＡＣＫ」パケット（ＳｅｑＮＯ（＝ＤＮ）＝ｎ＋１、Ａｃｋ（＝Ｍ）＝ｍ＋１＋α、ＤＡＴＡ２）を攻撃側コンピュータ装置３に向けて送信（転送）する（ステップＳ２２２）。すなわち、通信制御装置１の疑似応答制御部３３は、受信した「ＡＣＫ」パケット（ＳｅｑＮＯ＝ｎ＋１、Ａｃｋ＝ｄｍ＋１＋α、ＤＡＴＡ２）を、第２のコネクションにおけるシーケンス番号及び確認応答番号に変更した転送パケットを攻撃側コンピュータ装置３に向けて送信する。
【００９６】
また、攻撃側コンピュータ装置３は、ステップＳ１２３により送信された「ＡＣＫ」パケット（ＳｅｑＮＯ＝ｎ＋１、Ａｃｋ＝ｄｍ＋１＋α、ＤＡＴＡ２）に対して、「ＲＳＴ＋ＡＣＫ」パケット（ＳｅｑＮＯ＝ｍ＋１、Ａｃｋ＝ｎ＋１）を被攻撃側コンピュータ装置２に向けて送信する（ステップＳ２２３）。なお、被攻撃側コンピュータ装置２は、攻撃側コンピュータ装置３との間のコネクションが確立していない状態（接続されていない状態）であるため、この「ＲＳＴ＋ＡＣＫ」パケットを廃棄する。
【００９７】
また、攻撃側コンピュータ装置３は、例えば、ステップＳ２２２により送信された「ＡＣＫ」パケット（ＳｅｑＮＯ（＝ＤＭ）＝ｎ＋１、Ａｃｋ（＝Ｍ）＝ｍ＋１＋α、ＤＡＴＡ２）に対して、第２のコネクションにより、「ＡＣＫ」パケット（ＳｅｑＮＯ＝ｍ＋１＋α、Ａｃｋ＝ｎ＋１＋β）を被攻撃側コンピュータ装置２に向けて送信する（ステップＳ２２４）。
このように、通信制御装置１は、ペイロードの内容が安全であると予め判明している場合や、被攻撃側コンピュータ装置２及び攻撃側コンピュータ装置３から情報を引き出す場合には、パケットのペイロードをダミーデータに変更せずに生データを転送する。
【００９８】
以上説明したように、本実施形態による通信制御装置１は、送信元及び送信先の２つのコンピュータ装置との間の応答速度よりも送信元のコンピュータ装置と自装置との間の応答速度が速くなるように配置され、パケット検知部３１と、疑似応答制御部３３とを備えている。パケット検知部３１は、ネットワークで通信されるＴＣＰパケットを監視し、ネットワークを介して接続された少なくとも２つのコンピュータ装置（例えば、被攻撃側コンピュータ装置２及び攻撃側コンピュータ装置３）の間で通信される通信パケットを検知する。そして、疑似応答制御部３３は、パケット検知部３１が通信パケットを検知した場合に、当該通信パケットに対する送信先のコンピュータ装置からの返信パケットを無効にするように生成された疑似パケットを、送信元のコンピュータ装置に向けて、返信パケットよりも早く送信させる。
これにより、本実施形態による通信制御装置１は、２つのコンピュータ装置の間のＴＣＰのコネクションを無効にするとともに、送信元のコンピュータ装置とのＴＣＰのコネクションを確立することができる。そのため、本実施形態による通信制御装置１は、２つのコンピュータ装置との接続状態を維持しつつ、情報を収集することができる。よって、本実施形態による通信制御装置１は、不正な通信に対する対策を行うことができる。
【００９９】
例えば、内部ＬＡＮ内の被攻撃側コンピュータ装置２にスパイウェアのような不正プログラムをインストールされて、内部の被攻撃側コンピュータ装置２から外部の攻撃側コンピュータ装置３にアクセスして不正に攻撃者が情報を取得するような場合が考えられる。本実施形態による通信制御装置１は、被攻撃側コンピュータ装置２と攻撃側コンピュータ装置３との直接の通信を禁止しつつ、被攻撃側コンピュータ装置２及び攻撃側コンピュータ装置３の双方と通信可能であるので、このような場合であっても、安全を確保しつつ、情報を収集することができる。
すなわち、本実施形態による通信制御装置１は、被攻撃側コンピュータ装置２及び攻撃側コンピュータ装置３の間のコネクションを乗っ取るとともに、被攻撃側コンピュータ装置２及び攻撃側コンピュータ装置３の双方に成りすますことで、双方から攻撃に関する有効な情報を収集することができる。また、被攻撃側コンピュータ装置２と攻撃側コンピュータ装置３との直接の通信を禁止するので、本実施形態による通信制御装置１は、不正プログラムに感染した被攻撃側コンピュータ装置２が、内部ＬＡＮ内の他のコンピュータ装置に対して攻撃を実施することを防ぐことができる。
【０１００】
また、本実施形態では、疑似応答制御部３３は、２つのコンピュータ装置の間でコネクションを確立する際に疑似パケットの送信を開始する場合に、シーケンス番号が送信先のコンピュータ装置からの返信パケットと異なるように生成した疑似パケットを、送信元のコンピュータ装置に向けて送信させる。
これにより、本実施形態による通信制御装置１は、簡易な手法により、２つのコンピュータ装置の間でコネクションを無効にして、２つのコンピュータ装置の双方に成りすますことができる。また、本実施形態による通信制御装置１は、コネクションを確立する際にコネクションを無効にするので、２つのコンピュータ装置の間の通信の開始時点から安全を確保しつつ、情報を収集することができる。
【０１０１】
また、本実施形態では、２つのコンピュータ装置には、被攻撃側コンピュータ装置２（被攻撃側のコンピュータ装置）と、攻撃側コンピュータ装置３（攻撃側のコンピュータ装置）とが含まれる。そして、疑似応答制御部３３は、被攻撃側コンピュータ装置２から攻撃側コンピュータ装置３に送信された第１の通信パケットに対する攻撃側コンピュータ装置３からの第１の返信パケットを無効にするように、第１の疑似パケットを生成する。疑似応答制御部３３は、生成した第１の疑似パケットを被攻撃側コンピュータ装置２に向けて送信させて、自装置と被攻撃側コンピュータ装置２との間の第１のコネクションを確立する。また、疑似応答制御部３３は、攻撃側コンピュータ装置３から被攻撃側コンピュータ装置２に送信された第２の通信パケットに対する被攻撃側コンピュータ装置２からの第２の返信パケットを無効にするように、第２の疑似パケットを生成する。疑似応答制御部３３は、生成した第２の疑似パケットを攻撃側コンピュータ装置３に向けて送信させて、自装置と攻撃側コンピュータ装置３との間の第２のコネクションを確立する。
これにより、本実施形態による通信制御装置１は、被攻撃側コンピュータ装置２と攻撃側コンピュータ装置３との間のコネクションを乗っ取って、双方のコンピュータ装置に成りすますことができる。
【０１０２】
また、本実施形態では、疑似応答制御部３３は、第１のコネクション及び第２のコネクションを確立した後に、第１のコネクションによって被攻撃側コンピュータ装置２から送信された第３の通信パケットのペイロードをダミーデータに変更するとともに、当該第３の通信パケットを第２のコネクションにおけるシーケンス番号及び確認応答番号に変更して、攻撃側コンピュータ装置３に向けて送信させる。また、疑似応答制御部３３は、第１のコネクション及び第２のコネクションを確立した後に、第２のコネクションによって攻撃側コンピュータ装置３から送信された第４の通信パケットのペイロードをダミーデータに変更するとともに、当該第４の通信パケットを第１のコネクションにおけるシーケンス番号及び確認応答番号に変更して、被攻撃側コンピュータ装置２に向けて送信させる。
これにより、本実施形態による通信制御装置１は、ペイロードの内容を無害化しつつ、被攻撃側コンピュータ装置２及び攻撃側コンピュータ装置３との通信状態を維持することができる。よって、本実施形態による通信制御装置１は、より安全を確保しつつ、情報を収集することができる。
【０１０３】
また、本実施形態による通信制御装置１は、パケット判定部３２を備えている。パケット判定部３２は、第１のコネクション及び第２のコネクションを確立した後に、予め定められたルールに基づいて、第３の通信パケット及び第４の通信パケットのそれぞれのペイロードをダミーデータに変更するか否かを判定する。そして、疑似応答制御部３３は、パケット判定部３２が判定した判定結果に基づいて、上述した第３の通信パケット及び第４の通信パケットのそれぞれのペイロードを、ダミーデータに変更するか否かを切り替えて処理する。
これにより、本実施形態による通信制御装置１は、例えば、ペイロードの内容が安全であると予め判明している場合に、被攻撃側コンピュータ装置２及び攻撃側コンピュータ装置３の双方のコンピュータ装置に生データを転送することができる。そのため、本実施形態による通信制御装置１は、双方のコンピュータ装置が通信制御装置１にコネクションを乗っ取られたことを検知する確率を低減することができる。
なお、本実施形態による通信制御装置１は、例えば、安全が確保できる所定の頻度以下で、双方のコンピュータ装置に生データを転送するようにしてもよい。
【０１０４】
また、本実施形態では、パケット判定部３２は、第１のコネクション及び第２のコネクションを確立した後に、ペイロードの内容を判定ルール記憶部２２が記憶する判定ルールに基づいて判定する。そして、疑似応答制御部３３は、パケット判定部３２が判定した判定結果に基づいて、ペイロードの内容を変更する。
これにより、本実施形態による通信制御装置１は、疑似パケット、転送パケット、送信パケット、及び返信パケットなどを、ペイロードの内容に応じた適切に生成することができる。
【０１０５】
また、本実施形態による通信制御装置１は、通信履歴を記憶する通信履歴記憶部２４を備えている。
これにより、本実施形態による通信制御装置１は、２つのコンピュータ装置の間の通信を記録しておくことが可能になる。よって、本実施形態による通信制御装置１は、通信履歴記憶部２４が記憶する通信履歴を解析することにより、効率よく不正な通信に対する対策を行うことができる。
【０１０６】
また、本実施形態による通信制御方法は、パケット検知ステップと、制御ステップとを含んでいる。パケット検知ステップにおいて、通信制御装置１が、ネットワークで通信されるＴＣＰパケットを監視し、ネットワークを介して接続された少なくとも２つのコンピュータ装置の間で通信される通信パケットを検知する。そして、制御ステップにおいて、通信制御装置１が、パケット検知ステップにて通信パケットを検知した場合に、当該通信パケットに対する送信先のコンピュータ装置からの返信パケットを無効にするように生成された疑似パケットを、送信元のコンピュータ装置に向けて、返信パケットよりも早く送信する。
これにより、本実施形態による通信制御方法は、上述した通信制御装置１と同様に、２つのコンピュータ装置との接続状態を維持しつつ、情報を収集することができるので、不正な通信に対する対策を行うことができる。
【０１０７】
［第２の実施形態］
次に、第２の実施形態による通信制御装置１ａについて、図面を参照して説明する。
図９は、第２の実施形態による通信制御装置１ａの一例を示す機能ブロック図である。
図９に示すように、通信制御装置１ａは、通信部１０と、記憶部２０と、制御部３０ａとを備えている。なお、通信制御装置１ａ及びネットワーク機器４は、第１の実施形態と同様に、被攻撃側コンピュータ装置２と、攻撃側コンピュータ装置３との間の通信経路上に配置されている。
【０１０８】
なお、この図において、図１に示す構成と同一の構成については同一の符号を付し、その説明を省略する。
また、上述した第１の実施形態の通信制御装置１は、コネクションの乗っ取りを開始するタイミングがコネクションの確立する際であるのに対して、本実施形態の通信制御装置１ａは、コネクションが確立された後に開始する点が異なる。すなわち、本実施形態では、制御部３０ａの一部の機能が、第１の実施形態の制御部３０と異なり、この異なる機能について以下説明する。
【０１０９】
制御部３０ａは、例えば、ＣＰＵなどを含むプロセッサであり、通信制御装置１ａを統括的に制御する。また、制御部３０ａは、パケット検知部３１と、パケット判定部３２と、疑似応答制御部３３ａとを備えている。
疑似応答制御部３３ａは、コネクションの乗っ取りを開始するタイミングが異なる点を除いて、第１の実施形態の疑似応答制御部３３と同様の機能を有する。疑似応答制御部３３ａは、例えば、２つのコンピュータ装置の間でコネクションを確立した後に疑似パケットの送信を開始する場合に、ペイロードのデータ数が送信先のコンピュータ装置からの返信パケットと異なるように生成した疑似パケットを、送信元のコンピュータ装置に向けて送信させる。
【０１１０】
疑似応答制御部３３ａは、例えば、コネクションの乗っ取りを開始する前に、被攻撃側コンピュータ装置２と攻撃側コンピュータ装置３との間の通信に応じて、シーケンス管理情報記憶部２３のシーケンス番号（Ｎ）、シーケンス番号（ＤＭ）、シーケンス番号（Ｍ）、及びシーケンス番号（ＤＮ）を記憶及び更新させる。なお、この場合、コネクションの乗っ取りを開始する前であるので、シーケンス番号（ＤＭ）とシーケンス番号（Ｍ）とは等しい値が記憶され、シーケンス番号（Ｎ）とシーケンス番号（ＤＮ）とは、等しい値が記憶される。そして、疑似応答制御部３３ａは、コネクションの乗っ取りを開始する際に、シーケンス番号（ＤＭ）とシーケンス番号（Ｍ）とが異なる値になるように、ペイロードのデータ数を変更した疑似パケットを、被攻撃側コンピュータ装置２に向けて送信させる。また、疑似応答制御部３３ａは、コネクションの乗っ取りを開始する際に、シーケンス番号（Ｎ）とシーケンス番号（ＤＮ）とが異なる値になるように、ペイロードのデータ数を変更した疑似パケットを、攻撃側コンピュータ装置３に向けて送信させる。
【０１１１】
具体的に、疑似応答制御部３３ａは、被攻撃側コンピュータ装置２に向けた疑似パケットのペイロードのデータ数を例えば、“８バイト”にして送信させ、攻撃側コンピュータ装置３に向けた疑似パケットのペイロードのデータ数を例えば、“４バイト”にして送信させる。
なお、疑似応答制御部３３ａは、シーケンス番号（ＤＭ）と、シーケンス番号（Ｍ）との差が所定の閾値分以上になるように、ペイロードのデータ数を調整してＴＣＰパケットを生成してもよい。また、疑似応答制御部３３ａは、シーケンス番号（Ｎ）と、シーケンス番号（ＤＮ）との差が所定の閾値分以上になるように、ペイロードのデータ数を調整してＴＣＰパケットを生成してもよい。
【０１１２】
また、疑似応答制御部３３ａは、応答生成部３３１ａと、送信制御部３３２とを備えている。
応答生成部３３１ａは、第１の実施形態の応答生成部３３１が有する機能の他に、上述した疑似パケットなどのＴＣＰパケットを生成する。
【０１１３】
次に、本実施形態による通信制御装置１ａの動作について、図１０を参照して説明する。
図１０は、本実施形態における通信制御装置１ａの動作の一例を示す図である。
この図では、被攻撃側コンピュータ装置２と攻撃側コンピュータ装置３との間のコネクションを確立した後に、通信制御装置１ａが、被攻撃側コンピュータ装置２と攻撃側コンピュータ装置３との間の当該コネクションを乗っ取る場合の一例を示している。すなわち、この図では、被攻撃側コンピュータ装置２と攻撃側コンピュータ装置３との間のコネクションを確立した後に、通信制御装置１ａが、通信制御装置１ａと被攻撃側コンピュータ装置２との間の第１のコネクションと、通信制御装置１ａと攻撃側コンピュータ装置３との間の第２のコネクションとを確立する場合の一例を示している。
【０１１４】
図１０において、被攻撃側コンピュータ装置２と攻撃側コンピュータ装置３とは、まず、コネクションを確立する。
被攻撃側コンピュータ装置２が、「ＳＹＮ」パケット（ＳｅｑＮＯ＝ｎ）を攻撃側コンピュータ装置３に向けて送信する（ステップＳ３０１）。
次に、攻撃側コンピュータ装置３は、「ＳＹＮ」パケット（ＳｅｑＮＯ＝ｎ）に対して、「ＳＹＮ＋ＡＣＫ」パケット（ＳｅｑＮＯ＝ｍ、Ａｃｋ＝ｎ＋１）を被攻撃側コンピュータ装置２に向けて送信する（ステップＳ４０１）。
【０１１５】
次に、被攻撃側コンピュータ装置２が、「ＡＣＫ」パケット（ＳｅｑＮＯ＝ｎ＋１、Ａｃｋ＝ｍ＋１）を攻撃側コンピュータ装置３に向けて送信する（ステップＳ３０２）。
これにより、被攻撃側コンピュータ装置２と攻撃側コンピュータ装置３との間のコネクションが確立される。
なお、通信制御装置１ａは、この間に、被攻撃側コンピュータ装置２と攻撃側コンピュータ装置３との間で通信されるＴＣＰパケットに基づいて、シーケンス管理情報記憶部２３のシーケンス番号（Ｎ）、シーケンス番号（ＤＭ）、シーケンス番号（Ｍ）、及びシーケンス番号（ＤＮ）を記憶及び更新させる。
【０１１６】
次に、通信制御装置１ａは、コネクションの乗っ取りを開始する所定の条件を満足した場合に、コネクションの乗っ取りを開始する。このコネクションの乗っ取りを開始する所定の条件は、例えば、予め定められた所定のＴＣＰパケットを受信した場合であってもよいし、通信制御装置１ａを管理する管理者からの指令に基づいて、コネクションの乗っ取りを開始してもよい。
この図に示す例では、被攻撃側コンピュータ装置２が、「ＡＣＫ」パケット（ＳｅｑＮＯ＝ｎ＋１、Ａｃｋ＝ｍ＋１）を送信した後に開始するものとして説明する。
【０１１７】
被攻撃側コンピュータ装置２が、「ＡＣＫ」パケット（ＳｅｑＮＯ＝ｎ＋１、Ａｃｋ＝ｍ＋１）を攻撃側コンピュータ装置３に向けて送信する（ステップＳ３０３）。この「ＡＣＫ」パケット（ＳｅｑＮＯ＝ｎ＋１、Ａｃｋ＝ｍ＋１）は、通信制御装置１ａ及び攻撃側コンピュータ装置３により受信される。
【０１１８】
次に、通信制御装置１ａは、「ＡＣＫ」パケット（ＳｅｑＮＯ＝ｎ＋１、Ａｃｋ＝ｍ＋１）に対して、「ＡＣＫ」パケット（ＳｅｑＮＯ（＝ＤＭ）＝ｍ＋１、Ａｃｋ（＝Ｎ）＝ｎ＋１、８バイト）を攻撃側コンピュータ装置３よりも先に被攻撃側コンピュータ装置２に向けて送信する（ステップＳ３０４）。この「ＡＣＫ」パケット（ＳｅｑＮＯ（＝ＤＭ）＝ｍ＋１、Ａｃｋ（＝Ｎ）＝ｎ＋１、８バイト）には、ペイロードに８バイトのデータが含まれる。
【０１１９】
次に、被攻撃側コンピュータ装置２は、「ＡＣＫ」パケット（ＳｅｑＮＯ（＝ＤＭ）＝ｍ＋１、Ａｃｋ（＝Ｎ）＝ｎ＋１、８バイト）に対して、「ＡＣＫ」パケット（ＳｅｑＮＯ＝ｎ＋１、Ａｃｋ＝ｍ＋９）を送信する（ステップＳ３０５）。このパケットを通信制御装置１ａが受信することで、第１のコネクションが確立される。これにより、通信制御装置１ａは、被攻撃側コンピュータ装置２に対して、攻撃側コンピュータ装置３に成りすまして通信を行うことが可能になる。
【０１２０】
また、一方で、攻撃側コンピュータ装置３は、「ＡＣＫ」パケット（ＳｅｑＮＯ＝ｎ＋１、Ａｃｋ＝ｍ＋１）に対して、「ＡＣＫ」パケット（ＳｅｑＮＯ＝ｍ＋１、Ａｃｋ＝ｎ＋１）を被攻撃側コンピュータ装置２に向けて送信する（ステップＳ４０２）。
次に、通信制御装置１ａは、「ＡＣＫ」パケット（ＳｅｑＮＯ＝ｍ＋１、Ａｃｋ＝ｎ＋１）に対して、「ＡＣＫ」パケット（ＳｅｑＮＯ（＝ＤＮ）＝ｎ＋１、Ａｃｋ（＝Ｍ）＝ｍ＋１，４バイト）を被攻撃側コンピュータ装置２よりも先に攻撃側コンピュータ装置３に向けて送信する（ステップＳ４０３）。このパケットを攻撃側コンピュータ装置３が受信することで、第２のコネクションが確立される。これにより、通信制御装置１ａは、攻撃側コンピュータ装置３に対して、攻撃側コンピュータ装置３に成りすまして通信を行うことが可能になる。
【０１２１】
また、被攻撃側コンピュータ装置２は、ステップＳ４０２により送信された「ＡＣＫ」パケット（ＳｅｑＮＯ＝ｍ＋１、Ａｃｋ＝ｎ＋１）に対して、「ＲＳＴ＋ＡＣＫ」パケット（ＳｅｑＮＯ＝ｎ＋１、Ａｃｋ＝ｍ＋９）を攻撃側コンピュータ装置３に向けて送信する（ステップＳ３０６）。攻撃側コンピュータ装置３は、被攻撃側コンピュータ装置２との間のコネクションが確立していない状態（接続されていない状態）であるため、この「ＲＳＴ＋ＡＣＫ」パケットを廃棄する。
【０１２２】
また、攻撃側コンピュータ装置３は、ステップＳ３０５により送信された「ＡＣＫ」パケット（ＳｅｑＮＯ＝ｎ＋１、Ａｃｋ＝ｍ＋９）に対して、「ＲＳＴ＋ＡＣＫ」パケット（ＳｅｑＮＯ＝ｍ＋１、Ａｃｋ＝ｎ＋５）を被攻撃側コンピュータ装置２に向けて送信する（ステップＳ４０４）。被攻撃側コンピュータ装置２は、攻撃側コンピュータ装置３との間のコネクションが確立していない状態（接続されていない状態）であるため、この「ＲＳＴ＋ＡＣＫ」パケットを廃棄する。
また、以降の処理は、第１の実施形態における通信制御装置１と同様であるので、ここではその説明を省略する。
【０１２３】
なお、上述した図１０に示す例では、コネクションの乗っ取りを被攻撃側コンピュータ装置２からのＴＣＰパケットに対して開始される場合について説明したが、攻撃側コンピュータ装置３からのＴＣＰパケットに対して開始される場合についても同様である。
【０１２４】
以上説明したように、本実施形態による通信制御装置１ａは、疑似応答制御部３３ａを備えている。疑似応答制御部３３ａは、２つのコンピュータ装置の間でコネクションを確立した後に疑似パケットの送信を開始する場合に、送信先のコンピュータ装置からの返信パケットとペイロードのデータ数が異なるように生成した疑似パケットを、送信元のコンピュータ装置に向けて送信させる。
これにより、本実施形態による通信制御装置１ａは、第１の実施形態と同様に、不正な通信に対する対策を行うことができる。また、本実施形態による通信制御装置１ａは、簡易な手法により、２つのコンピュータ装置の間でコネクションを無効にして、２つのコンピュータ装置の双方に成りすますことができる。また、本実施形態による通信制御装置１ａは、既にコネクションを確立している場合であっても、コネクションを無効にすることができる。
【０１２５】
また、本実施形態では、疑似応答制御部３３ａは、第１のコネクションにおける通信制御装置１ａのシーケンス番号（ＤＭ）と、攻撃側コンピュータ装置３のシーケンス番号（Ｍ）との差が所定の閾値分以上になるように、ペイロードのデータ数を変更（調整）してＴＣＰパケットを生成する。また、疑似応答制御部３３ａは、被攻撃側コンピュータ装置２のシーケンス番号（Ｎ）と、第２のコネクションにおける通信制御装置１ａのシーケンス番号（ＤＮ）との差が所定の閾値分以上になるように、ペイロードのデータ数を調整してＴＣＰパケットを生成する。
これにより、本実施形態による通信制御装置１ａは、被攻撃側コンピュータ装置２と攻撃側コンピュータ装置３とが、偶然にコネクションが確立されてしまう可能性を低減することができる。よって、本実施形態による通信制御装置１ａは、よりより安全を確保しつつ、情報を収集することができる。
【０１２６】
［第３の実施形態］
次に、第３の実施形態による通信制御装置１ｂについて、図面を参照して説明する。
図１１は、第３の実施形態による通信制御装置１ｂの一例を示す機能ブロック図である。
図１１に示すように、通信制御装置１ｂは、通信部１０と、記憶部２０と、制御部３０ｂとを備えている。なお、通信制御装置１ｂ及びネットワーク機器４は、第１及び第２の実施形態と同様に、被攻撃側コンピュータ装置２と、攻撃側コンピュータ装置３との間の通信経路上に配置されている。
【０１２７】
なお、この図において、図１に示す構成と同一の構成については同一の符号を付し、その説明を省略する。
本実施形態の通信制御装置１ｂは、コネクションが確立された後に開始する点が異なる。すなわち、本実施形態では、制御部３０ｂの一部の機能が、第１の実施形態の制御部３０と異なり、この異なる機能について以下説明する。
【０１２８】
制御部３０ｂは、例えば、ＣＰＵなどを含むプロセッサであり、通信制御装置１ｂを統括的に制御する。また、制御部３０ａは、パケット検知部３１と、パケット判定部３２と、疑似応答制御部３３と、駆除用処理部３４とを備えている。なお、本実施形態における制御部３０ｂは、駆除用処理部３４を備えている点が、第１の実施形態における制御部３０と異なる。
【０１２９】
駆除用処理部３４は、被攻撃側コンピュータ装置２の不正プログラムの危険な兆候を検知した場合に、被攻撃側コンピュータ装置２を隔離して、不正プログラムの駆除を行う処理を実行する。駆除用処理部３４は、例えば、被攻撃側コンピュータ装置２から攻撃側コンピュータ装置３へのＴＣＰパケットの内容に、“GET/HTTP/1.1”が含まれている場合に、不正プログラムの危険な兆候であると判定する。なお、駆除用処理部３４は、パケットの内容に、“GET/HTTP/1.1”が含まるか否かの判定を、パケット判定部３２の判定結果に基づいて判定する。
駆除用処理部３４は、“GET/HTTP/1.1”が含まれている場合に、被攻撃側コンピュータ装置２に向けて、“HTTP/1.1 301 Moved Permanently”を含むＴＣＰパケットを送信させる。これにより、被攻撃側コンピュータ装置２は、例えば、内部ＬＡＮ内の安全なサーバ装置と強制的に接続させて隔離される。また、駆除用処理部３４は、攻撃側コンピュータ装置３に向けて、“GET/HTTP/1.1”を含むＴＣＰパケットを第２のコネクションにより送信させて、例えば、悪意のあるコンテンツを収集し、通信履歴記憶部２４に通信履歴として記憶させる。
【０１３０】
次に、本実施形態における通信制御装置１ｂの動作について、図１２を参照して説明する。本実施形態における通信制御装置１ｂの基本的な動作は、第１の実施形態における通信制御装置１と同様なので、ここではその説明を省略する。ここでは、通信制御装置１ｂが、被攻撃側コンピュータ装置２の危険な兆候を検知した場合の動作の一例について説明する。
【０１３１】
図１２は、本実施形態における通信制御装置１ｂの動作の一例を示す図である。
なお、この図において、第１のコネクション及び第２のコネクションを確立した後の状態である。
図１２に示す例では、被攻撃側コンピュータ装置２が、まず、「ＡＣＫ」パケット（GET/HTTP/1.1 HOST:evik.example.com）を攻撃側コンピュータ装置３に向けて送信する（ステップＳ５０１）。ここでは、被攻撃側コンピュータ装置２が、危険なＷｅｂサイトである“evik.example.com”に接続しようとしている状態である。
【０１３２】
次に、通信制御装置１ｂは、「ＡＣＫ」パケット（GET/HTTP/1.1 HOST:evik.example.com）に対して、「ＡＣＫ」パケット（HTTP/1.1 301 Moved Permanently Location:www.example.com）を、第１のコネクションにより被攻撃側コンピュータ装置２に向けて送信する（ステップＳ５０２）。すなわち、通信制御装置１ｂは、被攻撃側コンピュータ装置２を安全な内部ＬＡＮ内のサーバ装置（www.example.com）に転送して隔離する。ここで、サーバ装置（www.example.com）が、例えば、不正プログラムの駆除ソフトを被攻撃側コンピュータ装置２にダウンロードさせることで、不正プログラムの駆除を行うことが可能である。
【０１３３】
また、通信制御装置１ｂは、「ＡＣＫ」パケット（GET/HTTP/1.1 HOST:evik.example.com）を、第２のコネクションにより攻撃側コンピュータ装置３に向けて送信する（ステップＳ６０１）。
攻撃側コンピュータ装置３は、「ＡＣＫ」パケット（HTTP/1.1 200 OK）を第２のコネクションにより送信し（ステップＳ６０２）、さらに、「ＡＣＫ」パケット（悪意のあるコンテンツ）を第２のコネクションにより送信する（ステップＳ６０３）。
【０１３４】
通信制御装置１ｂは、攻撃側コンピュータ装置３からの「ＡＣＫ」パケット（悪意のあるコンテンツ）を第２のコネクションにより受信し、悪意のあるコンテンツを収集する。
【０１３５】
以上説明したように、本実施形態による通信制御装置１ｂは、被攻撃側コンピュータ装置２の不正プログラムの危険な兆候を検知した場合に、被攻撃側コンピュータ装置２を予め安全が確認されているコンピュータ装置に接続させて隔離する駆除用処理部３４を備えている。
これにより、被攻撃側コンピュータ装置２が安全に隔離されるので、本実施形態による通信制御装置１ｂは、より安全を確保しつつ、攻撃側コンピュータ装置３からの情報を収集することができる。
【０１３６】
なお、本発明は、上記の各実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で変更可能である。
例えば、上記の各実施形態において、それぞれの実施形態を単独で実施する場合を説明したが、これに限定されるものではなく、上記の各実施形態のうちの複数の実施形態を組み合わせて実施してもよい。
【０１３７】
また、上記の各実施形態において、通信制御装置１（１ａ、１ｂ）は、ネットワーク機器４を介してネットワークに接続する例を説明したが、通信制御装置１（１ａ、１ｂ）が、ネットワーク機器４を含む構成であってもよい。
また、上記の各実施形態において、通信制御装置１（１ａ、１ｂ）は、１台の被攻撃側コンピュータ装置２と１台の攻撃側コンピュータ装置３との間の通信を制御する例を説明したが、これに限定されるものではない。例えば、通信制御装置１（１ａ、１ｂ）は、複数台の被攻撃側コンピュータ装置２と複数台の攻撃側コンピュータ装置３との間の通信を制御してもよい。
【０１３８】
また、上記の各実施形態において、通信制御装置１（１ａ、１ｂ）は、パケット検知部３１及びパケット判定部３２を疑似応答制御部３３（３３ａ）とは別の構成として備える例を説明したが、疑似応答制御部３３（３３ａ）が、パケット検知部３１及びパケット判定部３２いずれか一方又は両方を含む構成としてもよい。また、同様に、疑似応答制御部３３が、駆除用処理部３４を含む構成であってもよい。また、通信制御装置１（１ａ、１ｂ）は、各機能部を複数の装置（例えば、複数台のコンピュータ装置など）に分散して構成してもよい。
【０１３９】
また、上記の各実施形態において、ダミーデータに変更したＴＣＰパケットを転送する場合に、変更前のデータと同一サイズのダミーデータに変更する例を説明したが、通信制御装置１（１ａ、１ｂ）は、これに限定されるものではない。例えば、ダミーデータは、変更前のデータと異なるサイズであってもよい。この場合、ダミーデータには、０バイト（データなし）の場合も含まれる。
【０１４０】
なお、上述した通信制御装置１（１ａ、１ｂ）が備える各構成は、内部に、コンピュータシステムを有している。そして、上述した通信制御装置１（１ａ、１ｂ）が備える各構成の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより上述した通信制御装置１（１ａ、１ｂ）が備える各構成における処理を行ってもよい。ここで、「記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行する」とは、コンピュータシステムにプログラムをインストールすることを含む。ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。
また、「コンピュータシステム」は、インターネットやＷＡＮ、ＬＡＮ、専用回線等の通信回線を含むネットワークを介して接続された複数のコンピュータ装置を含んでもよい。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。このように、プログラムを記憶した記録媒体は、ＣＤ−ＲＯＭ等の非一過性の記録媒体であってもよい。
【０１４１】
また、記録媒体には、当該プログラムを配信するために配信サーバからアクセス可能な内部又は外部に設けられた記録媒体も含まれる。なお、プログラムを複数に分割し、それぞれ異なるタイミングでダウンロードした後に通信制御装置１（１ａ、１ｂ）が備える各構成で合体される構成や、分割されたプログラムのそれぞれを配信する配信サーバが異なっていてもよい。さらに「コンピュータ読み取り可能な記録媒体」とは、ネットワークを介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、上述した機能の一部を実現するためのものであってもよい。さらに、上述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【０１４２】
また、上述した機能の一部又は全部を、ＬＳＩ（Large Scale Integration）等の集積回路として実現してもよい。上述した各機能は個別にプロセッサ化してもよいし、一部、又は全部を集積してプロセッサ化してもよい。また、集積回路化の手法はＬＳＩに限らず専用回路、又は汎用プロセッサで実現してもよい。また、半導体技術の進歩によりＬＳＩに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いてもよい。
【符号の説明】
【０１４３】
１，１ａ、１ｂ  通信制御装置
２  被攻撃側コンピュータ装置
３  攻撃側コンピュータ装置
４  ネットワーク機器
１０  通信部
２０  記憶部
２１  検知対象記憶部
２２  判定ルール記憶部
２３  シーケンス管理情報記憶部
２４  通信履歴記憶部
３０、３０ａ、３０ｂ  制御部
３１  パケット検知部
３２  パケット判定部
３３、３３ａ  疑似応答制御部
３４  駆除用処理部
３３１、３３１ａ  応答生成部
３３２  送信制御部
【図１】
2015176579.tif 000003
【図２】
2015176579.tif 000004
【図３】
2015176579.tif 000005
【図４】
2015176579.tif 000006
【図５】
2015176579.tif 000007
【図６】
2015176579.tif 000008
【図７】
2015176579.tif 000009
【図８】
2015176579.tif 000010
【図９】
2015176579.tif 000011
【図１０】
2015176579.tif 000012
【図１１】
2015176579.tif 000013
【図１２】
2015176579.tif 000014