(57)【特許請求の範囲】
【請求項１】
悪意のある攻撃者からの未知の攻撃に対して、攻撃者に対してあたかも攻撃が成功しているかのように擬似的な応答を生成するための通信監視システムであって、
悪意のある攻撃者の攻撃ホスト装置と、
前記攻撃ホスト装置からの攻撃を受ける被攻撃ホスト装置と、
通常の通信を行わず、受信するパケットは悪意があると推定できる擬似的なホスト装置である仮想ホスト装置と、
通信監視装置と、
前記仮想ホスト装置及び前記通信監視装置で共有される、攻撃パターンが格納された攻撃パターンＤＢ、攻撃パターンを検出するためのマスキングルールが格納されたマスキングルールＤＢ、悪意のある攻撃パターンとその応答パターンを格納する攻撃応答パターンＤＢと、
を有し、
前記通信監視装置は、
前記攻撃ホスト装置及び前記被攻撃ホスト装置からパケットを受信すると、該パケットからペイロードとヘッダ情報を抽出し、該ペイロードのパターンが前記攻撃応答パターンＤＢの攻撃パターンと一致するかを判定し、一致しない場合には、類似するかを判定し、類似する場合は、前記マスキングルールＤＢからマスキングルールを取得して該ペイロードのパターンに適用することによりマスキングを行い、マスキングされたパターンが、前記攻撃パターンＤＢの攻撃パターンと一致する場合は、該マスキングされたパターンと前記被攻撃ホスト装置から受信した応答を該攻撃応答パターンＤＢに追加登録する攻撃応答パターン生成手段を有し、
前記仮想ホスト装置は、
前記攻撃ホスト装置からパケットを受信すると、該パケットからペイロードを抽出し、前記マスキングルールＤＢのマスキングルールを適用してマスキングを行い、マスキング後のパターンが前記攻撃パターンＤＢに登録されているかを判定するパターン判定手段と、
前記パターン判定手段において、前記マスキング後のパターンが前記攻撃パターンＤＢに登録されていなかった場合は、該マスキング後のパターンを該攻撃パターンＤＢに登録し、登録されていた場合は、該パケットのセッション情報、該マスキングルール、マスキング後のパターン及び前記攻撃応答パターンＤＢから取得した応答パターンにより擬似応答パケットを生成する応答生成手段と、
を有することを特徴とする通信監視システム。
【請求項２】
前記仮想ホスト装置は、
受信したパケットのペイロードと一つ前に受信したパケットのペイロードのデータ列の差分量を求め、該差分量が所定の値より小さく、差分のデータ列が同一フローにおける過去のパケットに存在する場合は、差分を可変パラメータとしてマスクパターンを生成し、前記マスクパターンＤＢに登録するマスキングルール生成手段を
更に有する
請求項１記載の通信監視システム。
【請求項３】
悪意のある攻撃者からの未知の攻撃に対して、攻撃者に対してあたかも攻撃が成功しているかのように擬似的な応答を生成するための通信監視方法であって、
悪意のある攻撃者の攻撃ホスト装置と、
前記攻撃ホスト装置からの攻撃を受ける被攻撃ホスト装置と、
通常の通信を行わず、受信するパケットは悪意があると推定できる擬似的なホスト装置である仮想ホスト装置と、
通信監視装置と、
前記仮想ホスト装置及び前記通信監視装置で共有される、攻撃パターンが格納された攻撃パターンＤＢ、攻撃パターンを検出するためのマスキングルールが格納されたマスキングルールＤＢ、悪意のある攻撃パターンとその応答パターンを格納する攻撃応答パターンＤＢと、
からなるシステム上で、
前記通信監視装置が、前記攻撃ホスト装置及び前記被攻撃ホスト装置からパケットを受信すると、該パケットからペイロードとヘッダ情報を抽出し、該ペイロードのパターンが前記攻撃応答パターンＤＢの攻撃パターンと一致するかを判定し、
一致しない場合には、類似するかを判定し、類似する場合は、前記マスキングルールＤＢからマスキングルールを取得して該ペイロードのパターンに適用することによりマスキングを行い、マスキングされたパターンが、前記攻撃パターンＤＢの攻撃パターンと一致する場合は、該マスキングされたパターンと前記被攻撃ホスト装置から受信した応答を前記攻撃応答パターンＤＢに追加登録する攻撃応答パターン生成ステップと、
前記仮想ホスト装置が、前記攻撃ホスト装置からパケットを受信すると、該パケットからペイロードを抽出し、前記マスキングルールＤＢのマスキングルールを適用してマスキングを行い、マスキング後のパターンが前記攻撃パターンＤＢに登録されているかを判定するパターン判定ステップと、
前記パターン判定ステップにおいて、前記マスキング後のパターンが前記攻撃パターンＤＢに登録されていなかった場合は、該マスキング後のパターンを該攻撃パターンＤＢに登録し、登録されていた場合は、該パケットのセッション情報、該マスキングルール、マスキング後のパターン及び前記攻撃応答パターンＤＢから取得した応答パターンにより擬似応答パケットを生成する応答生成ステップと、
を行うことを特徴とする通信監視方法。
【請求項４】
前記仮想ホスト装置において、
受信したパケットのペイロードと一つ前に受信したパケットのペイロードのデータ列の差分量を求め、該差分量が所定の値より小さく、差分のデータ列が同一フローにおける過去のパケットに存在する場合は、差分を可変パラメータとしてマスクパターンを生成し、前記マスクパターンＤＢに登録するマスキングルール生成ステップを
更に行う請求項３記載の通信監視方法。
【請求項５】
悪意のある攻撃者からの未知の攻撃に対して、攻撃者に対してあたかも攻撃が成功しているかのように擬似的な応答を生成するための通信監視装置であって、
攻撃ホスト装置及び該攻撃ホスト装置から攻撃を受ける被攻撃ホスト装置からパケットを受信すると、該パケットからペイロードとヘッダ情報を抽出し、該ペイロードのパターンが、悪意のある攻撃パターンとその応答パターンを格納する攻撃応答パターンＤＢの攻撃パターンと一致するかを判定し、
一致しない場合には、類似するかを判定し、
類似する場合は、攻撃パターンを検出するためのマスキングルールが格納されたマスキングルールＤＢからマスキングルールを取得して前記ペイロードのパターンに適用することによりマスキングを行い、マスキングされたパターンが、攻撃パターンＤＢの攻撃パターンと一致する場合は、該マスキングされたパターンと前記被攻撃ホスト装置から受信した応答を該攻撃応答パターンＤＢに追加登録する攻撃応答パターン生成手段を有する
ことを特徴とする通信監視装置。
【請求項６】
悪意のある攻撃者からの未知の攻撃に対して、攻撃者に対してあたかも攻撃が成功しているかのように擬似的な応答を生成するため、通常の通信を行わず、受信するパケットは悪意があると推定できる擬似的なホスト装置である仮想ホスト装置であって、
攻撃ホスト装置からパケットを受信すると、該パケットからペイロードを抽出し、攻撃パターンを検出するためのマスキングルールが格納されたマスキングルールＤＢのマスキングルールを適用してマスキングを行い、マスキング後のパターンが、攻撃パターンＤＢに登録されているかを判定するパターン判定手段と、
前記パターン判定手段において、前記マスキング後のパターンが前記攻撃パターンＤＢに登録されていなかった場合は、該マスキング後のパターンを該攻撃パターンＤＢに登録し、登録されていた場合は、該パケットのセッション情報、前記マスキングルール、該マスキング後のパターン及び悪意のある攻撃パターンとその応答パターンが格納された攻撃応答パターンＤＢから取得した該応答パターンにより擬似応答パケットを生成する応答生成手段と、
受信したパケットのペイロードと一つ前に受信したパケットのペイロードのデータ列の差分量を求め、該差分量が所定の値より小さく、差分のデータ列が同一フローにおける過去のパケットに存在する場合は、差分を可変パラメータとしてマスクパターンを生成し、前記マスクパターンＤＢに登録するマスキングルール生成手段と、
を有することを特徴とする仮想ホスト装置。
【請求項７】
コンピュータを、
請求項５に記載の通信監視装置の各手段として機能させるための通信監視プログラム。
【請求項８】
コンピュータを、
請求項６に記載の仮想ホスト装置の各手段として機能させるための通信監視プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信監視システム及び方法及び通信監視装置及び仮想ホスト装置及び通信監視プログラムに係り、特に、悪意のある攻撃者による攻撃と攻撃をうけた側の応答の組み合わせをパターン学習し、前記悪意のある攻撃者からの未知の攻撃に対して、攻撃者に対してあたかも攻撃が成功しているかのように擬似的な応答を自動生成するための通信監視システム及び方法及び通信監視装置及び仮想ホスト装置及び通信監視プログラムに関する。
【背景技術】
【０００２】
インターネットの急速な普及に伴い、ワームやボットネットと呼ばれるマルウェア (悪意のあるソフトウェア)による被害が深刻化している。マルウェアはコンピュータに感染すると，システムの破壊や個人情報の流出等を引き起こし、他のホストに感染を広める場合がある。このような被害を未然に防ぐために、マルウェア本体や，マルウェアが送受信する通信を検出する技術が必要となる。
【０００３】
マルウェアはシステムに実装された通信サービスの脆弱性を突くことによってシステムへの侵入を試みる。この点に着目し、マルウェアの種別や挙動、通信を効率的に観測するために、脆弱性を持たせたシステムをネットワーク上に設置して、当該システムを意図的にマルウェアに感染させるシステム (ハニーポット)が広く用いられ、実用に供している（例えば、非特許文献1参照）。
【０００４】
ハニーポットには実装方式の違いにより2種類が存在する。1つは、実際のOS等で用いられている脆弱性を有するサービスを動作させる高対話型ハニーポット、他方は脆弱性をエミュレートしたサービスを動作させる低対話型ハニーポットである。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】Lance Spitzner, "Honeypots tracking hackers," Addison Wesley. ISBN 0321108957. http://www.tracking-hackers.com/
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記従来の技術における高対話型ハニーポットは、マルウェアの詳細な情報を得られる一方、感染の度にシステムを感染前の状態に復帰させる仕組みや、マルウェアの意図しない挙動を防ぐ配慮が必要となる。低対話型ハニーポットは、観測者側で感染に関わる通信をすべて掌握できるため、安全に観測を実施できる。その一方で、攻撃パターンをすべて事前にシステムに入力する必要があるため、新規、あるいは未知の攻撃には対応できない問題がある。
【０００７】
本発明は、上記の点に鑑みなされたもので、低対話型ハニーポットのメリットを継承しつつ、高対話型と同様に、未知の攻撃パターンに対しても擬似的な応答パケットを返すことにより、通信を継続し、より多くの攻撃者や攻撃手法に関する情報を引き出すことを可能とする通信監視方法及び装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記の課題を解決するため、本発明は、悪意のある攻撃者からの未知の攻撃に対して、攻撃者に対してあたかも攻撃が成功しているかのように擬似的な応答を生成するための通信監視システムであって、
悪意のある攻撃者の攻撃ホスト装置と、
前記攻撃ホスト装置からの攻撃を受ける被攻撃ホスト装置と、
通常の通信を行わず、受信するパケットは悪意があると推定できる擬似的なホスト装置である仮想ホスト装置と、
通信監視装置と、
前記仮想ホスト装置及び前記通信監視装置で共有される、攻撃パターンが格納された攻撃パターンＤＢ、攻撃パターンを検出するためのマスキングルールが格納されたマスキングルールＤＢ、悪意のある攻撃パターンとその応答パターンを格納する攻撃応答パターンＤＢと、
を有し、
前記通信監視装置は、
前記攻撃ホスト装置及び前記被攻撃ホスト装置からパケットを受信すると、該パケットからペイロードとヘッダ情報を抽出し、該ペイロードのパターンが前記攻撃応答パターンＤＢの攻撃パターンと一致するかを判定し、一致しない場合には、類似するかを判定し、類似する場合は、前記マスキングルールＤＢからマスキングルールを取得して該ペイロードのパターンに適用することによりマスキングを行い、マスキングされたパターンが、前記攻撃パターンＤＢの攻撃パターンと一致する場合は、該マスキングされたパターンと前記被攻撃ホスト装置から受信した応答を該攻撃応答パターンＤＢに追加登録する攻撃応答パターン生成手段を有し、
前記仮想ホスト装置は、
前記攻撃ホスト装置からパケットを受信すると、該パケットからペイロードを抽出し、前記マスキングルールＤＢのマスキングルールを適用してマスキングを行い、マスキング後のパターンが前記攻撃パターンＤＢに登録されているかを判定するパターン判定手段と、
前記パターン判定手段において、前記マスキング後のパターンが前記攻撃パターンＤＢに登録されていなかった場合は、該マスキング後のパターンを該攻撃パターンＤＢに登録し、登録されていた場合は、該パケットのセッション情報、該マスキングルール、マスキング後のパターン及び前記攻撃応答パターンＤＢから取得した応答パターンにより擬似応答パケットを生成する応答生成手段と、を有する。
【０００９】
また、本発明は、前記仮想ホスト装置において、受信したパケットのペイロードと一つ前に受信したパケットのペイロードのデータ列の差分量を求め、該差分量が所定の値より小さく、差分のデータ列が同一フローにおける過去のパケットに存在する場合は、差分を可変パラメータとしてマスクパターンを生成し、前記マスクパターンＤＢに登録するマスキングルール生成手段を更に有する。
【発明の効果】
【００１０】
上述のように、本発明によれば、低対話型ハニーポットのメリットを継承しつつ、高対話型と同様に、未知の攻撃パターンに対しても擬似的な応答パケットを返すことにより通信を継続し，より多くの攻撃者や攻撃手法に関する情報を引き出すことが可能となる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施の形態におけるシステム構成図である。
【図２】本発明の一実施の形態における仮想ホストの構成図である。
【図３】本発明の一実施の形態における攻撃応答パターン生成まで動作のフローチャートである。
【図４】本発明の一実施の形態におけるマスキングルール生成処理のフローチャートである。
【図５】本発明の一実施の形態における仮想ホストによる擬似応答送受信のフローチャートである。
【発明を実施するための形態】
【００１２】
以下図面と共に、本発明の実施の形態を説明する。
【００１３】
本発明は、低対話型ハニーポットが未知の攻撃に対し応答可能なシステムを提案するものである。
【００１４】
本発明に示すシステムは、一般ユーザの通信が流れるネットワークを分析し、マルウェアの攻撃パターンを抽出し学習する。学習した攻撃パターンに基づき、本システムはマルウェアからの通信要求に対して、あたかも攻撃が成立したかのようにみせかけることを可能とするような擬似的な応答を返すものである。
【００１５】
図１は、本発明の一実施の形態におけるシステム構成を示す。
【００１６】
同図に示すシステムは、通信監視装置１００、仮想ホスト装置（以下、単に「仮想ホスト」と記す）２００、マスキングルールＤＢ３１０、攻撃パターンＤＢ３２０，攻撃応答パターンＤＢ３３０、複数のホスト装置Ａ，Ｂ（以下、単に「攻撃ホスト」と記す）、ホスト装置Ｃ（被攻撃ホスト）、ルータ等のデータ転送装置４００から構成される。
【００１７】
マスキングルールＤＢ３１０は、攻撃パターンを検出するためのマスキングルールを格納する。
【００１８】
攻撃パターンＤＢ３２０は、攻撃パターンを格納し、マスキング後の通信パターンと照合される。
【００１９】
攻撃応答パターンＤＢ３３０は、マルウェア等の悪意のある攻撃パターンとその応答パターンを記録・保持する。攻撃応答パターンは、攻撃を構成するセッション情報（セッションにおいて何パケット目にどのような通信が生じるかといった情報）と、データ部(ペイロード・応答パターン)で構成される。
【００２０】
同図に示すシステムにおける主要な構成要素は、通信監視装置１００と仮想ホスト２００の２つである。
【００２１】
（１）通信監視装置：
まず、通信監視装置１００について説明する。
【００２２】
通信監視装置１００は、独立した装置としてネットワークにおける外部接続点等の任意の位置に設置する。通信監視装置１００は、セッション管理部１１０、攻撃判定部１２０、通信パターン分析部１３０から成り、マルウェアの攻撃パターンを抽出し、学習する。
【００２３】
通信監視装置１００は外部から到着したすべての通信を通信パターン分析部１３０に転送することもできるが、一部の通信パターンのみを通信パターン分析部１３０に転送することで通信パターン分析部１３０の負荷を低減することもできる。以下、後者の方法について述べる。
【００２４】
通信監視装置１００におけるセッション管理部１１０では到着するパケットをセッションの単位で管理し、該当したパケットがどのセッションに属するか、あるいは何パケット目であるかといった情報をメモリ（図示せず）で記録・管理する。ここでセッションとは通信の開始から終了までの一連のデータ集合を指す。各パケットは攻撃通信に含まれる主たるサービスのバイト列であるペイロードを含む。
【００２５】
通信監視装置１００がパケットを受信すると、はじめにセッション管理部１１０においてどのセッションのパケットであるかを確認し、次に該セッションにおいて何パケット目の通信であるかを確認する。その値をXとして(X=1,2,3,…)メモリ（図示せず）に格納する。
【００２６】
次に、攻撃判定部１２０では、セッション管理部１１０で取得したセッションにおけるパケット番号の情報(X)をもとに、動的に変化する部分を削除し、必要な情報のみを抽出するためのマスキングルールが格納されたマスキングルールDB３１０を参照し、情報Xに該当するマスキングルールの集合Ωを得る。マスキングルールについては後述する。さらに該パケットのペイロードに対して、取得したマスキングルールの集合Ωに含まれるルールをそれぞれ適用する。各々のマスキングルールを該パケットのペイロードに適用した結果が攻撃パターンDB３２０に存在するかを参照し、存在した場合について、その後の該パケットに対する応答も含めて通信パターン分析部１３０に転送する。複数マッチする場合は最初のものを採用するか、ランダムに選択した結果を採用する。
【００２７】
また、通信監視装置１００は、攻撃パターンDB３２０を予め定められた周期が到来するごとに走査し、現在時刻とエントリーしている通信パターンの最終更新日時の差が一定値よりも大きい場合に該エントリーを攻撃パターンDB３２０から削除する。
【００２８】
通信パターン分析部１３０は、攻撃判定部１２０を通過して送られてきた情報を元に、攻撃応答パターンDB３３０を管理する。
【００２９】
（２）仮想ホスト：
次に、仮想ホスト２００について説明する。
【００３０】
仮想ホスト２００は攻撃者からみて脆弱性がある通常のホストとして振舞う。すなわち擬似的なホストの役割を果たす。仮想ホスト２００は通信機能を有し、通信に必要なアドレス(IPアドレス等)が割り当てられる。アドレスは複数割り当てることも可能である。また、仮想ホストは通常の通信を行わないため、外部からの通信を受信した場合、高い確率で悪意がある通信であるとみなすことができる。
【００３１】
図２は、本発明の一実施の形態における仮想ホストの構成を示す。
【００３２】
同図に示す仮想ホスト２００は、通信受信部２１０、セッション管理部２２０、セッションＤＢ２３０、パターン判定部２４０、応答生成部２５０、通信装置部２６０から構成され、パターン判定部２４０には、攻撃パターンＤＢ３２０、マスキングルールＤＢ３１０、攻撃応答パターンＤＢ３３０が接続され、応答生成部２５０には攻撃応答パターンＤＢ３３０が接続されている。
【００３３】
仮想ホスト２００は、外部からの通信を通信受信部２１０で受信する。受信された通信データはセッション管理部２２０へと送られ、セッションごとの通信状態がセッションDB２３０で管理される。さらに通信データはパターン判定部２４０へと送られる。パターン判定部２４０では受信した通信データに対してマスキングルールDB３１０(後述)に登録されたマスキングルール(後述)を適用し、得られたマスキング後の通信パターンに基づいて攻撃パターンDB３２０を参照する。前記マスキング後の通信パターンが攻撃パターンDB３２０に登録されていなかった場合、当該マスキング後の通信パターンを攻撃パターンDB３２０に登録するとともに最終更新日時を更新する。
【００３４】
攻撃パターンDB３２０に登録されていた場合は、前記セッション情報、マスキングルール、およびマスキング後の通信パターンを応答生成部２５０に送信する。応答生成部２５０は該通信パターンを攻撃応答パターンDB３３０に照会し、応答パターン得る。次に、応答生成部２５０は、前記応答パターン、マスキングルール、ならびに該通信パターンに対応するセッション情報を使って応答通信を生成する．応答通信の生成方法は後述する。前記生成した応答通信は通信送信部２６０を通じて該通信の送信元ホストへの応答として送信される。
【００３５】
（３）マスキング手法：
次に、仮想ホスト２００によるマスキングの手法について説明する。
【００３６】
マスキング手法はペイロードにセッションに固有な可変パラメータが含まれている場合でも、攻撃応答パターンDB３００への検索と応答パケットの生成を可能にする手段である。以下のようなペイロード列を観測したとする。
【００３７】
X1:  aaaabbbbxxxxdddd
X2:  aaaabbbbyyyyydddd
データ列X1とX2を含むパケットが送信されるきっかけとなった1つ前のパケットのペイロードが等しく、かつ、X1，X2の差異がごく僅かである場合、X1, X2はほぼ同一の中身であり、一部に可変パラメータを含むと推測できる。
【００３８】
上記の例では、X1のxxxxとX2のyyyyyは既存の文字列差分抽出アルゴリズム等によって抽出できる。抽出した差分をペイロードにおける可変パラメータであると仮定し、前記可変パラメータに対してマスクを適用することにより抽象化することができる。
【００３９】
マスキングのルールを正規表現の形式を利用して表現すると下記のようになる。
【００４０】
Xabs: aaaabbbb(.+)dddd
上記がマスキング後の通信パターンとなる。ここで、未知のバイナリ列:X3
X3: aaaabbbbzzzzzzdddd 
が出現した場合、X3をXabsのパターンでマスキングをして、その結果がXabsと一致する場合、X3はX1, X2と同じ種類であり、パラメータが異なるパケットとみなす。
【００４１】
攻撃パターンを検出するためのマスキングのルールはマスキングルールDB３１０で管理される。
【００４２】
以下ではマスキングルールを構成する方法を述べる。仮想ホスト２００が受信するパケットは正常な通信が存在しないため、基本的に攻撃である可能性があり、マスキングルールの生成対象となる。仮想ホスト２００は受信したパケットが該セッションにおける何パケット目であるか、および、攻撃応答パターンDB３３０の該パケット以前に判定されたパターンを元に、該パケットに対して参照すべきマスキングルールを限定する。例えば、
A->B->C->X
A->B->C->Y
A->B->C->Z
という4パケット目に可変パラメータを含む3パターンのフローが観測された場合、X,Y,Zのそれぞれに掛けるべきマスキングルールは、(A->B->C)というパターンが続いた場合のマスクというように限定する。また、そのようなマスクは複数存在する場合もある。
【００４３】
このようにして得た、マスキングルールの集合を該パケットのペイロードに適用し、その結果と攻撃パターンDB３２０に登録された対応する攻撃通信パターンとの編集距離を算出し、編集距離が予め定めた閾値より小さかった場合に該当したマスクをマスキングルールDB３１０に登録する。なお、ここでは攻撃パターンDB３２０には予めいくつかの既存攻撃のパターンを登録するか、しばらく監視した後に頻出であると判定された攻撃パターンが登録されているとする。
【００４４】
（４）応答パケットの生成方法：
次に、仮想ホスト２００の応答生成部２５０において、可変パラメータを含む応答パケットの生成方法について説明する。
【００４５】
ペイロードに含まれる可変パラメータは、セッション毎あるいはホスト毎に固有ではないケースがあり、事前に学習した攻撃パターンから一意に求まらないことがある。その場合は、仮想ホスト２００よって確立されているセッションから可変パラメータを推定する必要がある。
【００４６】
可変パラメータは主に以下のケースが存在する。
【００４７】
1) ホストごとに固有の値 (IPアドレス，ポート番号，サーバ名，共有名(SMBプロトコルの場合)など)：
2) セッションごとに固有の値 (プロセス番号，セッション識別子(ID)など)：
3) Challenge and Response，ハッシュ等の一方向関数により生成された値：
ケース1)のIPアドレスやポート番号は、当該ホストのTCP/UDPレイヤ以下のヘッダに含まれるIPアドレスやポート番号から推測することが可能である。また、サーバ名・共有名等はユーザが任意に指定することができるため、仮想ホスト２００側で適当な値を生成し、同一セッション内で同一の値を用いる限りは通信を成立させることができる。
【００４８】
ケース2）のセッションごとに固有の値は、マルウェアから受信したパケット(X)に対してマスキング・パターン(Xabs)を適用して可変パラメータを抽出する。応答パケットの
パターン(Yabs)に可変パラメータを埋め込むことで、応答パケット(Y)を生成できる。
【００４９】
a) X: aaabbbcccddd
b) Xabs: aaabbb(.+)ddd
c) 可変パラメータ : ccc
d) Yabs: oooppp(.+)rrr
e) Y: ooopppcccrrr
ケース3）の場合、一方向関数はプロトコルの仕様に依存することから、本システムの方式による可変パラメータ値の推定ができない。ケース3）の性質を持つパケットは本発明の対象外である。
【００５０】
以下に、上記のシステム構成における方法について説明する。
【００５１】
また、以下の例ではTCP/IPネットワークを対象とした実現形態の例を示すが、本発明の適用範囲はこの限りではない。
【００５２】
図１に示すシステムにおいて、通信監視装置１００は、ルータ等ネットワーク転送装置４００に内部に実装しても良いし、外付けの形態でネットワークに接続される形態で実装しても良い。仮想ホスト２００には監視対象とするIPアドレスを複数割り当て、攻撃元ホストからの攻撃に応答を返すことが出来る場所に設置する。通信監視装置１００と仮想ホスト２００はマスキングルールDB３１０、攻撃パターンDB３２０、攻撃応答パターンDB３３０のそれぞれを共有する。
【００５３】
まず、通信監視装置１００において、通信パケットを受信した後に、最終的に攻撃応答パターンを生成するまでの動作を説明する。
【００５４】
図３は、本発明の一実施の形態における攻撃応答パターン生成までのフローチャートである。なお、以下の処理では、既に仮想ホスト２００でマスキングルールＤＢ３１０が構築されているものとする。
【００５５】
ステップ１０１）  通信監視装置１００のセッション管理部１１０は、ネットワークからパケットを受信する。
【００５６】
ステップ１０２）  セッション管理部１１０は、受信したパケットがどのセッションのパケットであるか、あるいは、何パケット目（パケット番号）であるかを、当該セッション管理部１１０内に保持しているセッションＤＢ（図示せず）を参照することにより判定し、当該パケットの情報をメモリ（図示せず）に格納する。
【００５７】
ステップ１０３）  セッション管理部１１０は、受信したパケットからヘッダ情報とペイロードを抽出する。
【００５８】
ステップ１０４）  攻撃判定部１２０は、パケットのペイロードに基づいて攻撃応答パターンＤＢ３３０を参照し、一致するものがある場合はステップ１０１に戻る。一致しない場合はステップ１０５に移行する。
【００５９】
ステップ１０５）  攻撃判定部１２０は、攻撃応答パターンＤＢ３３０にパケットのペイロードに類似するものがある場合は、ステップ１０６に移行し、ない場合はステップ１０１に移行する。ここで、ペイロードに類似するものとは、攻撃応答パターンＤＢ３３０の攻撃通信パターンとパケットのペイロードとの編集距離が所定の値より小さいものを指す。
【００６０】
ステップ１０６）  攻撃判定部１２０は、ステップ１０２で取得したセッションにおけるパケットのペイロードに基づいて、マスキングルールＤＢ３１０を参照し、該当するマスキングルールを取得して適用し、マスキングを行い、マスキング後のパターンをメモリ（図示せず）に格納する。
【００６１】
ステップ１０７）  マスキング後のパターンが攻撃パターンＤＢ３２０の攻撃パターンと一致するかを判定し、一致する場合にはステップ１０９に移行し、一致しない場合はステップ１０１に移行する。
【００６３】
ステップ１０９）  ステップ１０７において、マスキング後のパターンが既知の攻撃パターンと一致しない場合はステップ１０１に移行し、一致する場合には攻撃応答パターンＤＢ３３０にマスキング後のパターンとペイロード及び、攻撃を構成するセッション情報を攻撃応答パターンとして追加する。
【００６４】
次に、仮想ホスト２００におけるマスキングルールの生成方法について説明する。
【００６５】
図４は、本発明の一実施の形態におけるマスキングルール生成処理のフローチャートである。
【００６６】
ステップ２０１）  仮想ホスト２００のパターン判定部２４０は、攻撃パターンＤＢ３２０からセッションの通信パターンを抽出する。
【００６７】
ステップ２０２）  パターン判定部２４０は、攻撃パターンＤＢ３２０に格納されているフローを構成する第nまでのパケットが同一、あるいは、マスク処理済みの場合、第n+1のパケット同士で差分を計算する。ここで、第nのパケット同士の差分とは、攻撃パターンＤＢ３２０のパケットｎのペイロードと受信したパケットｎのペイロードの編集距離を指す。
【００６８】
ステップ２０３）  計算された差分（編集距離）が僅か（所定の値以下）である場合はステップ２０４に移行し、所定の値より大きい場合はステップ２１０に移行する。
【００６９】
ステップ２０４）  ステップ２０３において、差分が僅かであると判定された場合は、「可変長パラメータあり」と判断する。
【００７０】
ステップ２０５）  攻撃パターンＤＢ３２０を参照して、ステップ２０２で求められた差分値が同一フローにおける過去のパケットに存在するかを判定し、存在する場合にはステップ２０６に移行し、存在しない場合はステップ２１１に移行する。
【００７１】
ステップ２０６）  パターン判定部２４０は、フローにおける差分の検出位置に基づいてマスクパターンを生成する。
【００７２】
ステップ２０７）  攻撃パターンＤＢ３２０から差分値に従属するパラメータ（例えば、IPアドレス）を検索する。
【００７３】
ステップ２０８）  パターン判定部２４０は、マスキングルールＤＢ３１０にマスクパターンと従属パラメータを登録する。
【００７４】
ステップ２０９）  マスキングルール生成処理を終了する。
【００７５】
ステップ２１０）  ステップ２０３において、差分量が所定の値を越えている場合には、可変長パラメータなし、または、学習不可として、ステップ２０１に戻る。
【００７６】
ステップ２１１）  ステップ２０５において、差分値が同一フローにおける過去のパケットに存在していない場合は、可変長パラメータなし、または、学習不可、または、サンプル不足と判断し、ステップ２０１に戻る。
【００７７】
次に、図２に示す仮想ホスト２００の疑似応答時の動作を説明する。
【００７８】
図５は、本発明の一実施の形態における仮想ホストによる疑似応答送受信のフローチャートである。
【００７９】
ステップ３０１）  仮想ホスト２００の通信受信部２１０は、他ホスト（攻撃ホスト）からパケットを受信し、当該パケットのペイロードやセッション情報をセッションＤＢ２３０に格納する。
【００８０】
ステップ３０２）  セッション管理部２２０は、受信したパケットにペイロードを含むか判定し、含む場合はステップ３０３に移行し、含まない場合はステップ３０１に戻る。
【００８１】
ステップ３０３）  パターン判定部２４０は、攻撃応答パターンＤＢ３３０を参照して、ステップ３０２で取得したペイロードに一致するパターンがあるかを判定し、ある場合はステップ３０８に移行し、ない場合は、ステップ３０４に移行する。
【００８２】
ステップ３０４）  ステップ３０３で一致するパターンが攻撃応答パターンＤＢ３３０にない場合は、類似するパターンがあるかを判定し、ある場合はステップ３０５に移行し、ない場合は、ステップ３０９に移行する。
【００８３】
ステップ３０５）  パターン判定部２４０は、マスキングルールＤＢ３１０を参照して前述の方法によりマスキング処理を行う。
【００８４】
ステップ３０６）  マスキング後、攻撃パターンＤＢ３２０を参照して、一致するパターンがあるかを判定し、ある場合はステップ３０７に移行し、ない場合はステップ３１０に移行する。
【００８５】
ステップ３０７）  応答生成部２５０が応答パケット送信処理を行い、ステップ３０１に戻る。当該処理は後述する。
【００８６】
ステップ３０８）  上記と同様の応答パケット送信処理を行い、ステップ３０１に戻る。
【００８７】
ステップ３０９）  パターン判定部２４０は、ステップ３０４において、類似するパターンが攻撃応答パターンＤＢ３３０に存在しない場合は、攻撃パターンＤＢ３２０に新たな攻撃パターンとしてペイロードを追加し、ステップ３０１に戻る。
【００８８】
ステップ３１０）  ステップ３０６において、マスキング後のパターンと一致するパターンが攻撃パターンＤＢ３２０にない場合は、パターン判定部２４０において、当該パターンを新たな攻撃パターンとして攻撃パターンＤＢ３２０に追加し、ステップ３０１に戻る。
【００８９】
次に、上記のステップ３０７，３０８の応答パケット送信処理について説明する。
【００９０】
ステップ４０１）  仮想ホスト２００の応答生成部２５０は、攻撃応答パターンＤＢ３３０より応答パターンを取得する。
【００９１】
ステップ４０２）  取得した応答パターンがマスキング処理済みであるかを判定し、マスキング処理済みであればステップ４０３に移行し、マスキング処理がなされていない場合はステップ４０５に移行する。
【００９２】
ステップ４０３）  応答生成部２５０は、マスキング処理がなされている場合には、セッションＤＢ２３０に格納されているパケットのペイロードから可変長パラメータを抽出する。
【００９３】
ステップ４０４）  前述の（４）の応答パケットの生成方法に示す方法により可変長パラメータを推定する。
【００９４】
ステップ４０５）  応答パケットのパターンに可変長パラメータを埋め込み、応答パケットを生成する。
【００９５】
ステップ４０６）  通信送信部２６０は、ステップ３０１で受信したパケットの送信元に応答パケットを送信する。
【００９６】
なお、上記の通信監視装置１００及び仮想ホスト２００の各構成要素の動作をプログラムとして構築し、通信監視装置、仮想ホストとして利用されるコンピュータにインストールして実行させる、または、ネットワークを介して流通させることが可能である。
【００９７】
本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において種々変更・応用が可能である。
【符号の説明】
【００９８】
１００  通信監視装置
１１０  セッション管理部
１２０  攻撃判定部
１３０  通信パターン分析部
２００  仮想ホスト
２１０  通信受信部
２２０  セッション管理部
２３０  セッションＤＢ
２４０  パターン判定部
２５０  応答生成部
２６０  通信送信部
３１０  マスキングルールＤＢ
３２０  攻撃パターンＤＢ
３３０  攻撃応答パターンＤＢ
４００  ルータ等
【図１】
0005713445.tif 000002
【図２】
0005713445.tif 000003
【図３】
0005713445.tif 000004
【図４】
0005713445.tif 000005
【図５】
0005713445.tif 000006