(57)【要約】【課題】ネットワーク上でマルウェアの通信を高精度に検知する。【解決手段】実ネットワーク６上で端末装置が感染するマルウェアの通信を検知するマルウェア検知システム１であって、マルウェアを実際に実行する実行環境部１３と、この実行環境部１３に接続する仮想ネットワーク環境部１４とを構築し、マルウェアが及ぼす影響を解析結果として取得するマルウェア解析装置３と、解析結果に基づき、マルウェア実行時の状態遷移パターンを生成する状態遷移パターン生成装置５と、実ネットワーク６上に流れる実通信データの解析結果に基づき実通信データ取得時の状態遷移パターンを生成する実データ状態遷移パターン生成部３４と、実通信データ取得時の状態遷移パターンとマルウェア実行時の状態遷移パターンとを比較照合し、この照合結果に基づき、実ネットワーク６上でマルウェアによる通信を検知する状態遷移パターン照合部３５とを有している。【選択図】図１
2010015513.tif 000002
【特許請求の範囲】
【請求項１】
実ネットワーク上で端末装置が感染するマルウェアの通信を検知するマルウェア検知システムであって、
前記マルウェアを実際に実行する実行環境部と、この実行環境部に接続する仮想ネットワーク環境部とを構築し、前記実行環境部及び前記仮想ネットワーク環境部で前記マルウェアが及ぼす影響を前記マルウェア実行時の解析結果として取得するマルウェア解析部と、
このマルウェア解析部にて取得した前記マルウェア実行時の解析結果に基づき、前記マルウェア実行時の状態遷移パターンを生成するマルウェア状態遷移パターン生成部と、
前記実ネットワーク上に流れる実通信データが及ぼす影響を実通信データ取得時の解析結果として取得し、この取得した実通信データ取得時の解析結果に基づき、前記実通信データ取得時の状態遷移パターンを生成する実データ状態遷移パターン生成部と、
前記実データ状態遷移パターン生成部にて生成した前記実通信データ取得時の状態遷移パターンと前記マルウェア状態遷移パターン生成部にて生成した前記マルウェア実行時の状態遷移パターンとを比較照合し、この照合結果に基づき、前記実ネットワーク上で前記マルウェアによる通信を検知するパターン照合部と、
を有することを特徴とするマルウェア検知システム。
【請求項２】
前記マルウェア状態遷移パターン生成部は、
前記マルウェア実行時の解析結果から前記マルウェア実行時の状態データを抽出し、
前記実データ状態遷移パターン生成部は、
前記実通信データ取得時の解析結果から前記実通信データ取得時の状態データを抽出し、
前記パターン照合部は、
前記実通信データ取得時の状態データに合致する前記マルウェア実行時の状態データがあるか否かを判定し、前記実通信データ取得時の状態データに合致する前記マルウェア実行時の状態データがあると判定されると、前記実通信データ取得時の状態遷移パターンと前記マルウェア実行時の状態遷移パターンとの比較照合動作を開始することを特徴とする請求項１記載のマルウェア検知システム。
【請求項３】
前記マルウェア状態遷移パターン生成部は、
前記マルウェア実行時の状態データを順次保存することで、保存中のマルウェア実行時の状態データを時間推移で示す前記マルウェア実行時の状態遷移パターンを生成することを特徴とする請求項２記載のマルウェア検知システム。
【請求項４】
前記実データ状態遷移パターン生成部は、
前記実通信データ取得時の状態データを順次保存することで、保存中の実通信データ取得時の状態データを時間推移で示す前記実通信データ取得時の状態遷移パターンを生成することを特徴とする請求項３記載のマルウェア検知システム。
【請求項５】
前記マルウェア解析部は、  
前記仮想ネットワーク環境部側で前記実行環境部上の前記マルウェアからの通信データを受信すると、通信データ内のペイロードに基づき、プロトコルを識別判定するプロトコル判定部と、
このプロトコル判定部にて識別判定されたプロトコル及び、前記通信データの宛先情報・ペイロードデータに基づき、前記仮想ネットワーク環境部を前記実ネットワークに接続するか否かを判定する外部接続判定部と、
この外部接続判定部にて前記仮想ネットワーク環境部を前記実ネットワークに接続すると判定されると、前記仮想ネットワーク環境部側で前記実行環境部上の前記マルウェアから受信した前記通信データを前記実ネットワークに対して中継送信し、この通信データに対する前記実ネットワークからの応答を前記実行環境部上の前記マルウェアに中継送信する外部接続中継部と、
前記外部接続判定部にて前記仮想ネットワーク環境部を前記実ネットワークに接続しないと判定されると、前記仮想ネットワーク環境部側で前記実行環境部上の前記マルウェアから受信した前記通信データに対する応答を前記実行環境部上の前記マルウェアに送信する仮想応答生成部と、
を有することを特徴とする請求項１〜４の何れか一に記載のマルウェア検知システム。
【請求項６】
前記外部接続中継部は、
前記仮想ネットワーク環境部側で前記実行環境部上の前記マルウェアから受信した前記通信データを前記実ネットワークに対して中継送信した後、前記通信データの通信内容に応じて、特定の通信ポートを開放して前記実ネットワークからの通信データの受信を待機し、前記実ネットワークから受信した通信データを前記実行環境部上の前記マルウェアに中継送信することを特徴とする請求項５記載のマルウェア検知システム。
【請求項７】
前記マルウェア状態遷移パターン生成部は、
前記仮想ネットワーク環境部側で前記実行環境部上の前記マルウェアから受信する前記通信データの内、通信元ＩＰアドレス、通信元ＦＱＤＮ、通信元ポート番号、通信先ＩＰアドレス、通信先ＦＱＤＮ、通信先ポート番号、通信ペイロード、Ｌ４プロトコル種別、前パケット送信からの経過時間及び接続成否の何れかの識別種別を指定し、この指定した識別種別を前記マルウェア実行時の状態データとして抽出することを特徴とする請求項１〜６の何れか一に記載のマルウェア検知システム。
【請求項８】
前記実データ状態遷移パターン生成部は、
前記実ネットワーク上に流れる前記実通信データの前記識別種別の内、前記マルウェア実行時の状態データとして抽出された識別種別と同一種別を指定して、この識別種別を前記実通信データ取得時の状態データとして抽出することを特徴とする請求項７記載のマルウェア検知システム。
【請求項９】
実ネットワーク上で端末装置が感染するマルウェアの通信を検知するマルウェア検知方法であって、
前記マルウェアを実際に実行する実行環境部と、この実行環境部に接続する仮想ネットワーク環境部とを構築する環境構築ステップと、
前記実行環境部及び前記仮想ネットワーク環境部で前記マルウェアが及ぼす影響を前記マルウェア実行時の解析結果として取得するマルウェア解析ステップと、
前記マルウェア実行時の解析結果に基づき、前記マルウェア実行時の状態遷移パターンを生成するマルウェア状態遷移パターン生成ステップと、
前記実ネットワーク上に流れる実通信データが及ぼす影響を実通信データ取得時の解析結果として取得し、この取得した実通信データ取得時の解析結果に基づき、前記実通信データ取得時の状態遷移パターンを生成する実データ状態遷移パターン生成ステップと、
前記実データ状態遷移パターン生成ステップにて生成した前記実通信データ取得時の状態遷移パターンと前記マルウェア状態遷移パターン生成ステップにて生成した前記マルウェア実行時の状態遷移パターンとを比較照合し、この照合結果に基づき、前記実ネットワーク上で前記マルウェアによる通信を検知するパターン照合ステップと、
を含むことを特徴とするマルウェア検知方法。
【請求項１０】
実ネットワーク上に配置したコンピュータ装置に、この実ネットワーク上に配置した端末装置が感染するマルウェアの通信を検知する処理を実行させるマルウェア検知プログラムであって、
前記マルウェアを実際に実行する実行環境部と、この実行環境部に接続する仮想ネットワーク環境部とを構築する環境構築手順と、
前記実行環境部及び前記仮想ネットワーク環境部で前記マルウェアが及ぼす影響を前記マルウェア実行時の解析結果として取得するマルウェア解析手順と、
前記マルウェア実行時の解析結果に基づき、前記マルウェア実行時の状態遷移パターンを生成するマルウェア状態遷移パターン生成手順と、
前記実ネットワーク上に流れる実通信データが及ぼす影響を実通信データ取得時の解析結果として取得し、この取得した実通信データ取得時の解析結果に基づき、前記実通信データ取得時の状態遷移パターンを生成する実データ状態遷移パターン生成手順と、
前記実データ状態遷移パターン生成手順にて生成した前記実通信データ取得時の状態遷移パターンと前記マルウェア状態遷移パターン生成手順にて生成した前記マルウェア実行時の状態遷移パターンとを比較照合し、この照合結果に基づき、前記実ネットワーク上で前記マルウェアによる通信を検知するパターン照合手順と、
を前記コンピュータ装置に実行させることを特徴とするマルウェア検知プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報漏洩や不正アクセス等の脅威をもたらす、例えば、コンピュータウィルス、スパイウェアやボットプログラム等の不正プログラム（以下、単にマルウェアと称する）による通信をネットワーク上で検知するマルウェア検知システム、マルウェア検知方法及びマルウェア検知プログラムに関する。
【背景技術】
【０００２】
近年、情報漏洩や不正アクセス等の脅威をもたらすマルウェアが猛威を振るっている。
【０００３】
マルウェアには、そのソースコードがインターネット上に公開されているものが存在し、容易に新種や亜種を作成することができるため、一日に約７０種類程度の新種や亜種が出現して、アンチウィルスソフトでの検知が困難になっているのが実情である（例えば、非特許文献１参照）。
【０００４】
その結果、一般のユーザは、自分のコンピュータ装置がマルウェアに感染していることに気付きにくくなっている。
【０００５】
しかしながら、マルウェアは、実行されると、特徴的な挙動を引き起こすことになるため、その挙動を検知する方法として、実ネットワークに接続可能な仮想ネットワーク環境上でマルウェアを実行し、そのマルウェアで引き起こす挙動を把握する方法が知られている（例えば、非特許文献２参照）。
【０００６】
また、マルウェアに感染したコンピュータ装置からの通信をネットワーク上で検知する方法としては、マルウェアの一種であるボットプログラムがＣ＆Ｃ（Ｃｏｍｍａｎｄ  ａｎｄ  Ｃｏｎｔｒｏｌ）サーバと通信する特徴的なペイロードに基づき、マルウェアに感染したコンピュータ装置からの通信を検知する方法が知られている（例えば、非特許文献３参照）。
【０００７】
しかしながら、ボットプログラムには、命令コマンドを暗号化して送受信するものや、ＩＲＣ（Ｉｎｔｅｒｎｅｔ  Ｒｅｌａｙ  Ｃｈａｔ）プロトコル以外にも、一般的に使用されているＨＴＴＰ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）を利用するものが存在する（例えば、非特許文献４参照）。
【０００８】
従って、非特許文献３の技術のみでは、ネットワーク上でマルウェアの通信を高精度に検知するのに必要な、不正アクセス検出用パターン等のシグネチャを作成することは難しく、誤検知や検知漏れが生じるおそれがある。
【０００９】
そこで、このような事態に対処すべく、単一のセッションに含まれる通信データに対するシグネチャマッチングではなく、複数のセッション間の関連性についても検査し、誤検知や検知漏れを低減した方法が知られている（例えば、非特許文献５参照）。
【００１０】
しかしながら、非特許文献５の方法では、マルウェアによる通信を定義する状態遷移パターンの作成手法が確立されていないため、マルウェアの通信を高精度に検知するには不十分である。
【００１１】
【非特許文献１】小山  覚（Ｔｅｌｅｃｏｍ−ＩＳＡＣ  Ｊａｐａｎ）「ボットネット実態調査結果“Ｏｕｒ  ｓｅｃｕｒｉｔｙ  ｄｅｐｅｎｄｓ  ｏｎ  ｙｏｕｒ  ｓｅｃｕｒｉｔｙ．”」、Ｂｌａｃｋ  Ｈａｔ  Ｊａｐａｎ  ２００５  Ｂｒｉｅｆｉｎｇｓ
【非特許文献２】青木一史、岩村誠、伊藤光恭、「半透性仮想ネットワークを用いたボットの動的解析手法の提案」、電子情報通信学会２００８年総合大会、２００８年３月１８日
【非特許文献３】Ｊａｎ  Ｇｏｅｂｅｌ，Ｔｈｏｒｓｔｅｎ  Ｈｏｌｚ，「Ｒｉｓｈｉ：Ｉｄｅｎｔｉｆｙ  Ｂｏｔ  Ｃｏｎｔａｍｉｎａｔｅｄ  Ｈｏｓｔｓ  ＢＹ  ＩＲＣ  Ｎｉｃｋｎａｍｅ  Ｅｖａｌｕａｔｉｏｎ」、ＵＳＥＮＩＸ  ＨｏｔＢｏｔｓ‘０７
【非特許文献４】Ｊｏｓｅ  Ｎａｚａｒｉｏ，「Ｂｏｔｎｅｔ  Ｔｒａｃｋｉｎｇ：Ｔｏｏｌｓ，Ｔｅｃｈｎｉｑｕｅｓ，ａｎｄ  Ｌｅｓｓｏｎｓ  Ｌｅａｒｎｅｄ」、Ｂｌａｃｋ  Ｈａｔ  ＤＣ  ２００７  Ｂｒｉｅｆｉｎｇｓ
【非特許文献５】水谷正慶、白畑真、南政樹、村井純、「Ｓｅｓｓｉｏｎ  Ｂａｓｅｄ  ＩＤＳの設計と実装」、電子情報通信学会論文誌Ｂ  Ｖｏｌ．Ｊ８８−Ｂ  Ｎｏ．３  ｐｐ，５５１−５６２
【発明の開示】
【発明が解決しようとする課題】
【００１２】
現在、一般のユーザでは、自分のコンピュータ装置がマルウェアに感染しているか否かを認識しにくい状態になっているため、ネットワーク側で感染したコンピュータ装置を見つけ出すことは急務である。
【００１３】
そこで、複数のセッションの関連性に基づきマルウェアを検知する方法が知られているが、マルウェアによる通信を定義するシグネチャを生成する方法が確立されていないため、マルウェアによる通信を高精度に検知することは難しい。
【００１４】
従って、ネットワーク側からマルウェアに感染したコンピュータ装置の通信を高精度に検知するには、マルウェアに見られる通信パターンを自動的に収集し、複数のセッションの関連性からマルウェアの通信を検知することが求められている。
【００１５】
また、非特許文献２では、マルウェアから外部に対して特定の通信を透過させるものの、通信を契機としてマルウェアが特定のポートを開くという挙動には対応していないため、このような挙動を引き起こす特殊なマルウェアをネットワーク上で検知することができない。
【００１６】
本発明は上記点に鑑みてなされたものであり、その目的とするところは、複数のセッションの関連性に基づくマルウェアの検知方法において、マルウェアの通信として定義される状態遷移パターンを自動的に生成し、ネットワーク上でマルウェアによる通信を高精度に検知することができるマルウェア検知システム、マルウェア検知方法及びマルウェア検知プログラムを提供することにある。
【課題を解決するための手段】
【００１７】
上記目的を達成するために本願請求項１記載のマルウェア検知システムは、実ネットワーク上で端末装置が感染するマルウェアの通信を検知するマルウェア検知システムであって、前記マルウェアを実際に実行する実行環境部と、この実行環境部に接続する仮想ネットワーク環境部とを構築し、前記実行環境部及び前記仮想ネットワーク環境部で前記マルウェアが及ぼす影響を前記マルウェア実行時の解析結果として取得するマルウェア解析部と、このマルウェア解析部にて取得した前記マルウェア実行時の解析結果に基づき、前記マルウェア実行時の状態遷移パターンを生成するマルウェア状態遷移パターン生成部と、前記実ネットワーク上に流れる実通信データが及ぼす影響を実通信データ取得時の解析結果として取得し、この取得した実通信データ取得時の解析結果に基づき、前記実通信データ取得時の状態遷移パターンを生成する実データ状態遷移パターン生成部と、前記実データ状態遷移パターン生成部にて生成した前記実通信データ取得時の状態遷移パターンと前記マルウェア状態遷移パターン生成部にて生成した前記マルウェア実行時の状態遷移パターンとを比較照合し、この照合結果に基づき、前記実ネットワーク上で前記マルウェアによる通信を検知するパターン照合部と、を有するようにした。
【００１８】
本願請求項２記載のマルウェア検知システムは、本願請求項１記載の構成において、前記マルウェア状態遷移パターン生成部は、前記マルウェア実行時の解析結果から前記マルウェア実行時の状態データを抽出し、前記実データ状態遷移パターン生成部は、前記実通信データ取得時の解析結果から前記実通信データ取得時の状態データを抽出し、前記パターン照合部は、前記実通信データ取得時の状態データに合致する前記マルウェア実行時の状態データがあるか否かを判定し、前記実通信データ取得時の状態データに合致する前記マルウェア実行時の状態データがあると判定されると、前記実通信データ取得時の状態遷移パターンと前記マルウェア実行時の状態遷移パターンとの比較照合動作を開始するようにした。
【００１９】
本願請求項３記載のマルウェア検知システムは、本願請求項２記載の構成において、前記マルウェア状態遷移パターン生成部は、前記マルウェア実行時の状態データを順次保存することで、保存中のマルウェア実行時の状態データを時間推移で示す前記マルウェア実行時の状態遷移パターンを生成するようにした。
【００２０】
また、本願請求項４記載のマルウェア検知システムは、本願請求項３記載の構成において、前記実データ状態遷移パターン生成部は、前記実通信データ取得時の状態データを順次保存することで、保存中の実通信データ取得時の状態データを時間推移で示す前記実通信データ取得時の状態遷移パターンを生成するようにした。
【００２１】
本願請求項５記載のマルウェア検知システムは、本願請求項１〜４の何れか一に記載の構成において、前記マルウェア解析部は、前記仮想ネットワーク環境部側で前記実行環境部上の前記マルウェアからの通信データを受信すると、通信データ内のペイロードに基づき、プロトコルを識別判定するプロトコル判定部と、このプロトコル判定部にて識別判定されたプロトコル及び、前記通信データの宛先情報・ペイロードデータに基づき、前記仮想ネットワーク環境部を前記実ネットワークに接続するか否かを判定する外部接続判定部と、この外部接続判定部にて前記仮想ネットワーク環境部を前記実ネットワークに接続すると判定されると、前記仮想ネットワーク環境部側で前記実行環境部上の前記マルウェアから受信した前記通信データを前記実ネットワークに対して中継送信し、この通信データに対する前記実ネットワークからの応答を前記実行環境部上の前記マルウェアに中継送信する外部接続中継部と、前記外部接続判定部にて前記仮想ネットワーク環境部を前記実ネットワークに接続しないと判定されると、前記仮想ネットワーク環境部側で前記実行環境部上の前記マルウェアから受信した前記通信データに対する応答を前記実行環境部上の前記マルウェアに送信する仮想応答生成部と、を有するようにした。
【００２２】
また、本願請求項６記載のマルウェア検知システムは、本願請求項５記載の構成において、前記外部接続中継部は、前記仮想ネットワーク環境部側で前記実行環境部上の前記マルウェアから受信した前記通信データを前記実ネットワークに対して中継送信した後、前記通信データの通信内容に応じて、特定の通信ポートを開放して前記実ネットワークからの通信データの受信を待機し、前記実ネットワークから受信した通信データを前記実行環境部上の前記マルウェアに中継送信するようにした。
【００２３】
本願請求項７記載のマルウェア検知システムは、本願請求項１〜６の何れか一に記載の構成において、前記マルウェア状態遷移パターン生成部は、前記仮想ネットワーク環境部側で前記実行環境部上の前記マルウェアから受信する前記通信データの内、通信元ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレス、通信元ＦＱＤＮ（Ｆｕｌｌ  Ｑｕａｌｉｆｉｅｄ  Ｄｏｍａｉｎ  Ｎａｍｅ）、通信元ポート番号、通信先ＩＰアドレス、通信先ＦＱＤＮ、通信先ポート番号、通信ペイロード、Ｌ４プロトコル種別、前パケット送信からの経過時間及び接続成否の何れかの識別種別を指定し、この指定した識別種別を前記マルウェア実行時の状態データとして抽出するようにした。
【００２４】
また、本願請求項８記載のマルウェア検知システムは、本願請求項７記載の構成において、前記実データ状態遷移パターン生成部は、前記実ネットワーク上に流れる前記実通信データの前記識別種別の内、前記マルウェア実行時の状態データとして抽出された識別種別と同一種別を指定して、この識別種別を前記実通信データ取得時の状態データとして抽出するようにした。
【００２５】
また、上記目的を達成するために本願請求項９記載のマルウェア検知方法は、実ネットワーク上で端末装置が感染するマルウェアの通信を検知するマルウェア検知方法であって、前記マルウェアを実際に実行する実行環境部と、この実行環境部に接続する仮想ネットワーク環境部とを構築する環境構築ステップと、前記実行環境部及び前記仮想ネットワーク環境部で前記マルウェアが及ぼす影響を前記マルウェア実行時の解析結果として取得するマルウェア解析ステップと、前記マルウェア実行時の解析結果に基づき、前記マルウェア実行時の状態遷移パターンを生成するマルウェア状態遷移パターン生成ステップと、前記実ネットワーク上に流れる実通信データが及ぼす影響を実通信データ取得時の解析結果として取得し、この取得した実通信データ取得時の解析結果に基づき、前記実通信データ取得時の状態遷移パターンを生成する実データ状態遷移パターン生成ステップと、前記実データ状態遷移パターン生成ステップにて生成した前記実通信データ取得時の状態遷移パターンと前記マルウェア状態遷移パターン生成ステップにて生成した前記マルウェア実行時の状態遷移パターンとを比較照合し、この照合結果に基づき、前記実ネットワーク上で前記マルウェアによる通信を検知するパターン照合ステップと、を含むようにした。
【００２６】
また、上記目的を達成するために本願請求項１０記載のマルウェア検知プログラムは、実ネットワーク上に配置したコンピュータ装置に、この実ネットワーク上に配置した端末装置が感染するマルウェアの通信を検知する処理を実行させるマルウェア検知プログラムであって、前記マルウェアを実際に実行する実行環境部と、この実行環境部に接続する仮想ネットワーク環境部とを構築する環境構築手順と、前記実行環境部及び前記仮想ネットワーク環境部で前記マルウェアが及ぼす影響を前記マルウェア実行時の解析結果として取得するマルウェア解析手順と、前記マルウェア実行時の解析結果に基づき、前記マルウェア実行時の状態遷移パターンを生成するマルウェア状態遷移パターン生成手順と、前記実ネットワーク上に流れる実通信データが及ぼす影響を実通信データ取得時の解析結果として取得し、この取得した実通信データ取得時の解析結果に基づき、前記実通信データ取得時の状態遷移パターンを生成する実データ状態遷移パターン生成手順と、前記実データ状態遷移パターン生成手順にて生成した前記実通信データ取得時の状態遷移パターンと前記マルウェア状態遷移パターン生成手順にて生成した前記マルウェア実行時の状態遷移パターンとを比較照合し、この照合結果に基づき、前記実ネットワーク上で前記マルウェアによる通信を検知するパターン照合手順と、を前記コンピュータ装置に実行させるようにした。
【発明の効果】
【００２７】
上記のように構成された本願請求項１記載のマルウェア検知システムによれば、マルウェアを実際に実行する実行環境部と、この実行環境部に接続する仮想ネットワーク環境部とを構築し、前記実行環境部及び仮想ネットワーク環境部で前記マルウェアが及ぼす影響を前記マルウェア実行時の解析結果として取得し、この解析結果に基づき、マルウェア実行時の状態遷移パターンを予め生成しておき、実ネットワーク上に流れる実通信データが及ぼす影響を実通信データ取得時の解析結果とし、この解析結果に基づき実通信データ取得時の状態遷移パターンを生成し、実通信データ取得時の状態遷移パターンとマルウェア実行時の状態遷移パターンとを比較照合し、この照合結果に基づき、実ネットワーク上でマルウェアによる通信を検知するようにしたので、実行環境部上でマルウェアを実際に実行し、実行環境部及び仮想ネットワーク環境部でマルウェアが及ぼす影響の分析結果に基づくマルウェア実行時の状態遷移パターンを使用することで、実ネットワーク上でマルウェアによる通信を高精度に検知することができる。
【００２８】
また、本願請求項２記載のマルウェア検知システムによれば、本願請求項１記載の効果に加えて、前記マルウェア実行時の解析結果から前記マルウェア実行時の状態データを抽出し、前記実通信データ取得時の解析結果から前記実通信データ取得時の状態データを抽出し、前記実通信データ取得時の状態データに合致する前記マルウェア実行時の状態データがあると判定されると、前記実通信データ取得時の状態遷移パターンと前記マルウェア実行時の状態遷移パターンとの比較照合を開始するようにしたので、状態遷移パターンの比較照合に要する負担を大幅に軽減することができる。
【００２９】
また、本願請求項３記載のマルウェア検知システムによれば、本願請求項２記載の効果に加えて、前記マルウェア実行時の状態データを順次保存することで、保存中のマルウェア実行時の状態データを時間推移で示す前記マルウェア実行時の状態遷移パターンを生成するようにしたので、マルウェア実行時の状態遷移パターンを容易に生成することができる。
【００３０】
また、本願請求項４記載のマルウェア検知システムによれば、本願請求項３記載の効果に加えて、前記実通信データ取得時の状態データを順次保存することで、保存中の実通信データ取得時の状態データを時間推移で示す前記実通信データ取得時の状態遷移パターンを生成するようにしたので、実通信データ取得時の状態遷移パターンを容易に生成することができる。
【００３１】
また、本願請求項５記載のマルウェア検知システムによれば、本願請求項１〜４の何れか一に記載の効果に加えて、仮想ネットワーク環境部側で前記実行環境部上の前記マルウェアからの通信データを受信すると、通信データのプロトコル及び宛先情報・ペイロードデータに基づき、前記仮想ネットワーク環境部を前記実ネットワークに接続するか否かを判定し、前記仮想ネットワーク環境部を前記実ネットワークに接続する場合、前記仮想ネットワーク環境部側で前記実行環境部上の前記マルウェアから受信した前記通信データを前記実ネットワークに対して中継送信し、この通信データに対する前記実ネットワークからの応答を前記実行環境部上の前記マルウェアに中継送信するようにしたので、実ネットワークとの通信の結果、動作が変化するようなマルウェアについても、高精度な解析結果を取得し、その結果、マルウェア実行時の高精度な状態遷移パターンを生成することができる。
【００３２】
また、本願請求項５記載のマルウェア検知システムによれば、本願請求項１〜４の何れか一に記載の効果に加えて、仮想ネットワーク環境部側で前記実行環境部上の前記マルウェアからの通信データを受信すると、通信データのプロトコル及び宛先情報・ペイロードデータに基づき、前記仮想ネットワーク環境部を前記実ネットワークに接続するか否かを判定し、前記仮想ネットワーク環境部を前記実ネットワークに接続しない場合、前記仮想ネットワーク環境部側で前記実行環境部上の前記マルウェアから受信した前記通信データに対する応答を前記実行環境部上の前記マルウェアに送信するようにしたので、前記マルウェア側が送信した通信データに対して応答を必要とするタイプのマルウェアについても、実ネットワークに影響を与えることなく、安全に高精度な解析結果を取得し、その結果、マルウェア実行時の高精度な状態遷移パターンを生成することができる。
【００３３】
また、本願請求項６記載のマルウェア検知システムによれば、本願請求項５記載の効果に加えて、前記仮想ネットワーク環境部側で前記実行環境部上の前記マルウェアから受信した前記通信データを前記実ネットワークに対して中継送信した後、前記通信データの通信内容に応じて、特定の通信ポートを開放して前記実ネットワークからの通信データの受信を待機し、前記実ネットワークから受信した通信データを前記実行環境部上の前記マルウェアに中継送信するようにしたので、マルウェアが実ネットワークに通信データを送信した後、特定の通信ポートを開放して実ネットワークからの通信データを受信待機し、通信データを受信することで動作するタイプの特殊なマルウェアについても、高精度な解析結果を取得し、その結果、マルウェア実行時の高精度な状態遷移パターンを生成することができる。
【００３４】
また、本願請求項７記載のマルウェア検知システムによれば、本願請求項１〜６の何れか一に記載の効果に加えて、前記仮想ネットワーク環境部側で前記実行環境部上の前記マルウェアから受信する前記通信データの内、通信元ＩＰアドレス、通信元ＦＱＤＮ、通信元ポート番号、通信先ＩＰアドレス、通信先ＦＱＤＮ、通信先ポート番号、通信ペイロード、Ｌ４プロトコル種別、前パケット送信からの経過時間及び接続成否の何れかの識別種別を指定し、この指定した識別種別を前記マルウェア実行時の状態データとして抽出するようにしたので、高精度な解析結果を取得することができる。
【００３５】
また、本願請求項８記載のマルウェア検知システムによれば、本願請求項７記載の効果に加えて、前記実ネットワーク上に流れる前記実通信データの識別種別の内、前記マルウェア実行時の状態データとして抽出された識別種別と同一種別を指定して、この識別種別を前記実通信データ取得時の状態データとして抽出するようにしたので、マルウェア実行時及び実通信データ取得時の状態遷移パターン同士の比較照合を容易に行うことができる。
【００３６】
また、上記のように構成された本願請求項９記載のマルウェア検知方法によれば、マルウェアを実際に実行する実行環境部と、この実行環境部に接続する仮想ネットワーク環境部とを構築し、前記実行環境部及び仮想ネットワーク環境部で前記マルウェアが及ぼす影響を前記マルウェア実行時の解析結果として取得し、この解析結果に基づき、マルウェア実行時の状態遷移パターンを予め生成しておき、実ネットワーク上に流れる実通信データが及ぼす影響を実通信データ取得時の解析結果とし、この解析結果に基づき実通信データ取得時の状態遷移パターンを生成し、実通信データ取得時の状態遷移パターンとマルウェア実行時の状態遷移パターンとを比較照合し、この照合結果に基づき、実ネットワーク上でマルウェアによる通信を検知するようにしたので、実行環境部上でマルウェアを実際に実行し、実行環境部及び仮想ネットワーク環境部でマルウェアが及ぼす影響の分析結果に基づくマルウェア実行時の状態遷移パターンを使用することで、実ネットワーク上でマルウェアによる通信を高精度に検知することができる。
【００３７】
また、上記のように構成された本願請求項１０記載のマルウェア検知プログラムによれば、マルウェアを実際に実行する実行環境部と、この実行環境部に接続する仮想ネットワーク環境部とを構築し、前記実行環境部及び仮想ネットワーク環境部で前記マルウェアが及ぼす影響を前記マルウェア実行時の解析結果として取得し、この解析結果に基づき、マルウェア実行時の状態遷移パターンを予め生成しておき、実ネットワーク上に流れる実通信データが及ぼす影響を実通信データ取得時の解析結果とし、この解析結果に基づき実通信データ取得時の状態遷移パターンを生成し、実通信データ取得時の状態遷移パターンとマルウェア実行時の状態遷移パターンとを比較照合し、この照合結果に基づき、実ネットワーク上でマルウェアによる通信を検知するようにしたので、実行環境部上でマルウェアを実際に実行し、実行環境部及び仮想ネットワーク環境部でマルウェアが及ぼす影響の分析結果に基づくマルウェア実行時の状態遷移パターンを使用することで、実ネットワーク上でマルウェアによる通信を高精度に検知することができる。
【発明を実施するための最良の形態】
【００３８】
以下、図面に基づき本発明のマルウェア検知システム、マルウェア検知方法及びマルウェア検知プログラムに関わる実施の形態を示すマルウェア検知システムについて説明する。
【００３９】
（第１の実施の形態）
図１は、第１の実施の形態を示すマルウェア検知システム内部の概略構成を示すシステム説明図、図２は、マルウェア解析装置内部の概略構成を示すブロック図である。
【００４０】
図１に示すマルウェア検知システム１は、解析対象のマルウェアを記憶するマルウェアスプーラ２と、マルウェアが及ぼす影響をマルウェア実行時の挙動解析結果として取得するマルウェア解析装置３と、マルウェア解析装置３にて取得したマルウェア実行時の挙動解析結果を記憶する解析結果データベース４とを有している。
【００４１】
また、マルウェア検知システム１は、解析結果データベース４に記憶中のマルウェア実行時の挙動解析結果に基づき、マルウェア実行時の状態データ及び、その状態データを時間推移で示すマルウェア実行時の状態遷移パターンを生成する状態遷移パターン生成装置５と、外部の実ネットワーク６間に接続配置し、実ネットワーク６上でマルウェアによる通信を検知するマルウェア検知装置７とを有している。
【００４２】
マルウェア解析装置３は、解析対象のマルウェアを展開する解析環境を構築する解析環境部１１と、マルウェア解析装置３全体を制御する解析システムコントロール部１２とを有している。
【００４３】
解析環境部１１は、マルウェアスプーラ２に記憶中の解析対象となるマルウェアを実行する実行環境部１３と、実行環境部１３と接続する仮想ネットワーク環境部１４とを有し、実行環境部１３で実行するマルウェアは、実際の実ネットワーク６と通信しているかの如く、仮想ネットワーク環境部１４と通信するものである。尚、仮想ネットワーク環境部１４は、実ネットワーク６に接続可能である。
【００４４】
図２に示す仮想ネットワーク環境部１４は、実行環境部１３で実行中のマルウェアからの通信データを受信すると、実行環境部１３及び仮想ネットワーク環境部１４間でマルウェアが関与する通信を全て一度終端し、受信した通信データ内のペイロードに基づき、通信データのプロトコルを識別判定するプロトコル判定部２１を有している。図３は、シグネチャリストの一例を端的に示す説明図である。
【００４５】
プロトコル判定部２１は、マルウェアからの通信データ内の通信ペイロードと、予め準備したシグネチャリスト（図３参照）とを照合し、その照合結果に基づき、マルウェアからの通信データのプロトコルを識別判定するものである。例えば、プロトコル判定部２１は、マルウェアからの通信データを受信すると、その通信データのペイロードが“＾ＨＥＬＯ．＊”という正規表現とマッチする場合、図３に示すシグネチャリストと照合し、“＾ＨＥＬＯ．＊”という正規表現に対応するＳＭＴＰ（Ｓｉｍｐｌｅ  Ｍａｉｌ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）プロトコルと識別判定することになる。
【００４６】
また、仮想ネットワーク環境部１４は、プロトコル判定部２１にて識別判定したプロトコル及び、マルウェアから受信した通信データに含まれる通信先ＩＰアドレス、通信先ポート番号及び通信先ＦＱＤＮ等の宛先情報・ペイロードデータに基づき、この通信データを外部接続、すなわち実ネットワーク６上に接続するか否かを判定する外部接続判定部２２を有している。
【００４７】
また、仮想ネットワーク環境部１４は、外部接続判定部２２にて実ネットワーク６に接続する場合、実行環境部１３上のマルウェアから受信した通信データを実ネットワーク６に対して送信し、この通信データに対する実ネットワーク６からの応答を実行環境部１３上のマルウェアに送信する外部接続中継部２３を有している。
【００４８】
また、仮想ネットワーク環境部１４は、外部接続判定部２２にて実ネットワーク６に接続しない場合、実行環境部１３上のマルウェアから受信した通信データに対する応答を実行環境部１３上のマルウェアに返信する仮想応答生成部２４を有している。
【００４９】
また、外部接続中継部２３は、実行環境部１３上のマルウェアから受信した通信データを実ネットワーク６に対して送信した後、マルウェアから受信した通信データの通信内容に応じて、特定の通信ポートを開放して実ネットワーク６からの接続を待機し、実ネットワーク６から取得した通信データを実行環境部１３上のマルウェアに送信するものである。
【００５０】
また、実行環境部１３は、マルウェアを実行させた場合、マルウェアが呼び出すＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）シーケンス、システムコール及び、例えば実行環境部１３等の内部資源へのアクセス結果等の通信データを全て記録するロギング部１３Ａを有している。
【００５１】
解析システムコントロール部１２は、ロギング部１３Ａにて記録した全データ並びに仮想ネットワーク環境部１４を介して送受信された通信データ及び生起時刻を、実行環境部１３及び仮想ネットワーク環境部１４でのマルウェア実行時に見られる挙動解析結果として解析結果データベース４に記憶するものである。
【００５２】
また、図１に示す状態遷移パターン生成装置５は、解析結果データベース４に記憶中のマルウェア実行時の解析結果に基づき、解析対象のマルウェア毎に、マルウェア実行時の状態データを抽出するものである。
【００５３】
尚、マルウェア実行時の状態データは、マルウェアからの通信データに含まれるハッシュ値、通信元ＩＰアドレス、通信元ＦＱＤＮ、通信元ポート番号、通信先ＩＰアドレス、通信先ＦＱＤＮ、通信先ポート番号、通信ペイロード、Ｌ４プロトコル種別、前通信データ（パケット）送信からの経過時間及び接続成否の識別種別を含むデータに相当し、マルウェアの挙動を定義するデータに相当するものである。
【００５４】
また、状態遷移パターン生成装置５は、解析結果データベース４に記憶中のマルウェア実行時の解析結果から解析対象のマルウェアに関わるマルウェア実行時の状態データを抽出保存し、状態生起時刻の前後の状態データに基づき、マルウェア実行時の状態遷移パターンを生成し、マルウェア実行時の状態遷移パターンを解析結果データベース４内の別領域に保存するものである。
【００５５】
また、マルウェア検知装置７は、実ネットワーク６間に接続配置し、実ネットワーク６を通じて実通信データを受信するインタフェースを司る受信用通信インタフェース３１と、実ネットワーク６を通じて実通信データを送信するインタフェースを司る送信用通信インタフェース３２と、これら受信用通信インタフェース３１及び送信用通信インタフェース３２を通じて実ネットワーク６間を流れる実通信データを順次記憶するバッファ３３とを有している。
【００５６】
マルウェア検知装置７は、バッファ３３で順次記憶した実通信データを取得し、取得した実通信データが及ぼす影響を実通信データ取得時の解析結果として取得し、この取得した解析結果に基づき実通信データ取得時の状態データを抽出する実データ状態遷移パターン生成部３４を有している。
【００５７】
尚、実通信データ取得時の状態データは、通信元ＩＰアドレス、通信元ＦＱＤＮ、通信元ポート番号、通信先ＩＰアドレス、通信先ＦＱＤＮ、通信先ポート番号、通信ペイロード、Ｌ４プロトコル種別、前通信データ（パケット）送信からの経過時間及び接続成否の識別種別を含むマルウェア実行時の状態データと同一項目である。
【００５８】
実データ状態遷移パターン生成部３４は、実通信データ取得時の状態データを抽出保存すると、一致カウンタ値を初期化し、実通信データ取得時の状態データに対応するマルウェア実行時の状態データが解析結果データベース４内にあるか否かを判定するものである。
【００５９】
実データ状態遷移パターン生成部３４は、実通信データ取得時の状態データに対応するマルウェア実行時の状態データが解析結果データベース４内にある場合、一致カウンタ値を＋１インクリメントし、バッファ３３に記憶中の次の実通信データの解析結果を順次取得し、この取得した解析結果に基づき実通信データ取得時の状態データを抽出保存するものである。
【００６０】
さらに、実データ状態遷移パターン生成部３４は、実通信データ取得時の状態データを順次抽出保存すると、時間的な前後の状態データに基づき、連続的な実通信データ取得時の状態遷移パターンを生成し、この生成した実通信データ取得時の状態遷移パターンを生成するものである。
【００６１】
また、マルウェア検知装置７は、実データ状態遷移パターン生成部３４から実通信データ取得時の状態遷移パターンを取得すると、この実通信データ取得時の状態遷移パターンと解析結果データベース４の別領域に記憶中のマルウェア実行時の状態遷移パターンとを比較照合し、実通信データ取得時の状態遷移パターンとマルウェア実行時の状態遷移パターンとが合致したか否かを判定する状態遷移パターン照合部３５を有している。
【００６２】
状態遷移パターン照合部３５は、実通信データ取得時の状態遷移パターンとマルウェア実行時の状態遷移パターンとを照合し、状態データと一致する度に、一致カウンタ値を＋１インクリメントし、実通信データ取得時の状態遷移パターンがマルウェア実行時の状態遷移パターン最後尾まで一致確認したか否かを判定するものである。
【００６３】
状態遷移パターン照合部３５は、実通信データ取得時の状態遷移パターンがマルウェア実行時の状態遷移パターン最後尾まで一致確認した場合、一致カウンタ値に応じて一致スコアを設定するものである。
【００６４】
また、マルウェア検知装置７は、この状態遷移パターン照合部３５の照合結果を検知ログとして保存する検知ログ生成部３６と、このマルウェア検知装置７の通信制御を司る通信制御部３７とを有している。
【００６５】
通信制御部３７は、一致スコアに応じて通信遮断ルールに該当するか否かを判定し、一致スコアが通信遮断ルールに該当した場合、バッファ３３に記憶中の実通信データを破棄すると共に、一致スコアが通信遮断ルールに該当しない場合、バッファ３３に記憶中の実通信データを送信用通信インタフェース３２に転送するものである。
【００６６】
次に、第１実施の形態を示すマルウェア検知システム１の動作について説明する。図４は、マルウェア解析処理に関わるマルウェア解析装置３内部の処理動作を示すフローチャートである。
【００６７】
図４に示すマルウェア解析処理は、通常のマルウェア実行時の挙動解析結果は勿論のこと、外部への通信データ送信後、特定ポートを開放して外部からの通信データを受信待機する形式の特殊なマルウェア実行時の挙動解析結果をも取得することが可能な解析処理である。
【００６８】
図４においてマルウェア解析装置３は、仮想ネットワーク環境部１４を通じて実行環境部１３上のマルウェアから通信データを受信したか否かを判定する（ステップＳ１１）。
【００６９】
マルウェア解析装置３は、実行環境部１３上のマルウェアから通信データを受信した場合（ステップＳ１１肯定）、通信データの内容を検査する（ステップＳ１２）。
【００７０】
マルウェア解析装置３は、マルウェアからの通信データの通信内容を検査すると、外部である実ネットワーク６からの通信データを待機すべく、特定の通信ポートを開放する必要があるか否かを判定する（ステップＳ１３）。
【００７１】
マルウェア解析装置３は、実ネットワーク６からの通信データを受信すべく、特定の通信ポートを開放する必要がある場合（ステップＳ１３肯定）、実ネットワーク６側のインタフェースで受信した通信データに基づき算出した特定ポートを開放して実ネットワーク６からの通信データを受信待機する（ステップＳ１４）。尚、マルウェア解析装置３は、ステップＳ１４にて特定ポートを開放すると、ポート開放時間のタイマ計時動作を開始することになる。
【００７２】
マルウェア解析装置３は、ポート開放時間がタイムアウト時間を経過したか否かを判定する（ステップＳ１５）。マルウェア解析装置３は、ポート開放時間がタイムアウト時間を経過した場合（ステップＳ１５肯定）、特定ポートの開放を閉じて、図４に示す処理動作を終了する。
【００７３】
また、マルウェア解析装置３は、実行環境部１３上のマルウェアから通信データを受信しなかった場合（ステップＳ１１否定）、図４に示す処理動作を終了する。
【００７４】
また、マルウェア解析装置３は、ステップＳ１３にて特定の通信ポートを開放する必要がない場合（ステップＳ１３否定）、通常のマルウェア実行時と判断し、図４に示す処理動作を終了する。その結果、ロギング部１３Ａは、通常のマルウェア実行時の挙動に関わる全データをマルウェア実行時の解析結果として解析システムコントロール部１２経由で解析結果データベース４に記憶することになる。
【００７５】
また、マルウェア解析装置３は、ステップＳ１５にてポート開放時間がタイムアウト時間を経過しなかった場合（ステップＳ１５否定）、受信待機中の特定ポートに対して実ネットワーク６から通信データを受信したか否かを判定する（ステップＳ１６）。
【００７６】
マルウェア解析装置３は、受信待機中の特定ポートに対して実ネットワーク６から通信データを受信した場合（ステップＳ１６肯定）、外部接続中継部２３経由で実ネットワーク６から受信した通信データを実行環境部１３上のマルウェアに中継し（ステップＳ１７）、特殊なマルウェアが実行されたと判断し、図４に示す処理動作を終了する。
【００７７】
その結果、ロギング部１３Ａは、特殊なマルウェア実行時の挙動に関わる全データをマルウェア実行時の挙動解析結果として解析システムコントロール部１２経由で解析結果データベース４に記憶することになる。
【００７８】
また、マルウェア解析装置３は、受信待機中の特定ポートに対して実ネットワーク６から通信データを受信しなかった場合（ステップＳ１６否定）、ポート開放時間がタイムアウト時間を経過するまでステップＳ１５の監視動作を継続することになる。
【００７９】
図４に示すマルウェア解析処理では、通常のマルウェアを実行することで、通常のマルウェア実行時の挙動に関わる全データをマルウェア実行時の挙動解析結果として解析システムコントロール部１２経由で解析結果データベース４に記憶することができる。
【００８０】
また、マルウェア解析処理では、外部への通信データ送信後、特定ポートを開放して通信データの受信待機を実行する特殊なマルウェアに対しても、マルウェアからの通信データ送信後、特定ポートを開放して通信データの受信待機を実行し、さらに特定ポートを通じて外部からの通信データを受信して同通信データをマルウェアに中継することで、特殊なマルウェア実行時の挙動に関わる全データをマルウェア実行時の挙動解析結果として解析システムコントロール部１２経由で解析結果データベース４に記憶することができる。
【００８１】
次に、解析結果データベース４に記憶中のマルウェア実行時の解析結果に基づき、マルウェア実行時の状態データ及びマルウェア実行時の状態遷移パターンを生成する状態遷移パターン生成装置５の動作について説明する。図５は、マルウェア実行時の状態遷移パターン生成処理に関わる状態遷移パターン生成装置５内部の処理動作を示すフローチャートである。
【００８２】
図５において状態遷移パターン生成装置５は、解析結果データベース４内に、未読込のマルウェア実行時の解析結果があるか否かを判定する（ステップＳ２１）。
【００８３】
状態遷移パターン生成装置５は、解析結果データベース４内に未読込のマルウェア実行時の解析結果がある場合（ステップＳ２１肯定）、解析結果データベース４から一のマルウェアに関わる未読込のマルウェア実行時の解析結果を読み出し（ステップＳ２２）、この未読込のマルウェア実行時の解析結果から状態データを抽出保存する（ステップＳ２３）。
【００８４】
尚、状態データは、マルウェアのハッシュ値、通信元ＩＰアドレス、通信元ＦＱＤＮ、通信元ポート番号、通信先ＩＰアドレス、通信先ＦＱＤＮ、通信先ポート番号、通信ペイロード、Ｌ４プロトコル種別、前通信データ（パケット）からの経過時間及び接続成否の識別種別を含むデータに相当するものである。
【００８５】
状態遷移パターン生成装置５は、未読込のマルウェア実行時の解析結果から状態データを抽出保存すると、状態データの前後関係に基づき、時間推移で示すマルウェア実行時の状態遷移パターンを生成する（ステップＳ２４）。
【００８６】
状態遷移パターン生成装置５は、マルウェア実行時の状態遷移パターンを生成すると、マルウェア実行時の状態遷移パターンとして解析結果データベース４の別領域にマルウェア毎に記憶し（ステップＳ２５）、解析結果データベース４内に未読込みのマルウェア実行時の解析結果があるか否かを判定すべく、ステップＳ２１に移行する。
【００８７】
状態遷移パターン生成装置５は、ステップＳ２１にて解析結果データベース４内に未読込みのマルウェア実行時の解析結果がない場合（ステップＳ２１否定）、図５に示す処理動作を終了する。
【００８８】
図５に示すマルウェア実行時の状態遷移パターン生成処理では、解析結果データベース４内からマルウェア実行時の解析結果をマルウェア毎に読み出し、読み出したマルウェア実行時の解析結果からマルウェア実行時の状態データをマルウェア毎に抽出し、時間的な状態データの前後関係に基づき、マルウェア実行時の状態遷移パターンをマルウェア毎に生成し、生成したマルウェア毎のマルウェア実行時の状態遷移パターンを解析結果データベース４内の別領域に記憶するようにしたので、解析結果データベース４に記憶中のマルウェア毎のマルウェア実行時の解析結果に基づき、マルウェア実行時の状態遷移パターンをマルウェア毎に準備することができる。
【００８９】
尚、異なるマルウェアの解析結果から作成した状態遷移パターンが他の状態遷移パターンと一部一致が見られる場合には状態遷移パターンを併合するようにしても良い（図６参照）。
【００９０】
次に、状態遷移パターン生成装置５にて生成したマルウェア実行時の状態遷移パターンについて説明する。図６は、マルウェアの実行環境部１３が通信元であるデータに着目した状態遷移パターンの一例を示す説明図である。
【００９１】
図６に示す状態遷移パターンの状態データは、通信元ＩＰアドレス、通信元ＦＱＤＮ、通信元ポート番号、通信先ＩＰアドレス、通信先ＦＱＤＮ、通信先ポート番号、通信ペイロード及びＬ４プロトコル種別を示している。
【００９２】
状態遷移パターンでは、状態データＣから状態データＤ又は状態データＦへの遷移が存在しているが、これは異なるマルウェアの解析結果に基づき生成した状態遷移パターンが状態データＡから状態データＣまで一致し、その後、異なる状態データへと夫々遷移したという結果を併合したものである。尚、状態データ又は状態遷移パターンを参照する際のデータ形式はバイナリ形式であってもテキスト形式であっても良い。
【００９３】
次に、解析結果データベース４に記憶中のマルウェア実行時の状態遷移パターンを使用して実ネットワーク６上でマルウェアによる通信を検知するマルウェア検知装置７の処理動作について説明する。図７は、マルウェア検知処理に関わるマルウェア検知装置７内部の処理動作を示すフローチャートである。
【００９４】
図７に示すマルウェア検知処理は、実ネットワーク６上でマルウェアによる通信を検知する処理である。
【００９５】
図７においてマルウェア検知装置７は、実ネットワーク６間に流れる実通信データをバッファ３３に順次記憶し、実データ状態遷移パターン生成部３４にて実通信データ取得時の解析結果から実通信データ取得時の状態データを抽出し、抽出した実通信データ取得時の状態データに合致するマルウェア実行時の状態データがあるか否かを判定する状態データ照合処理を実行する（ステップＳ３１）。
【００９６】
マルウェア検知装置７は、状態データ照合処理を実行すると、実通信データ取得時の状態データに合致するマルウェア実行時の状態データがあるか否かを判定する（ステップＳ３２）。
【００９７】
マルウェア検知装置７は、実通信データ取得時の状態データに合致するマルウェア実行時の状態データがある場合（ステップＳ３２肯定）、バッファ３３に順次記憶する実通信データの時間的な状態遷移を監視し、状態遷移パターン照合部３５を通じて、実通信データ取得時の状態遷移パターンがマルウェア実行時の状態遷移パターンに合致しているか否かを確認するための状態遷移パターン照合処理を実行する（ステップＳ３３）。
【００９８】
マルウェア検知装置７は、状態遷移パターン照合処理を実行すると、検知ログ生成部３６を通じて、状態遷移パターン照合処理の照合結果を検知ログとして生成保存する（ステップＳ３４）。尚、検知ログは、実通信データ取得時の状態遷移パターンとマルウェア実行時の状態遷移パターンとが完全に合致しなかった場合でもログを記録するようにしても良い。
【００９９】
また、マルウェア検知装置７は、検知ログを生成保存すると、一致カウンタ値に基づき、通信制御部３７を通じて通信制御を実行するか否かを判定する（ステップＳ３５）。尚、通信制御部３７は、一致カウンタ値が第１閾値を超えた場合、通信制御を実行するものと判断し、一致カウンタ値が第１閾値を超えなかった場合、通信制御を実行しないものと判断するものである。
【０１００】
マルウェア検知装置７は、通信制御を実行する場合（ステップＳ３５肯定）、通信制御部３７を通じて、一致カウンタ値に基づき、通信遮断ルールに合致したか否かを判定する（ステップＳ３６）。尚、通信制御部３７は、一致カウンタ値が第２閾値を超えた場合、通信遮断ルールに合致したものと判断し、一致カウンタ値が第２閾値を超えなかった場合、通信遮断ルールに合致しないものと判断するものである。尚、第１閾値＜第２閾値である。
【０１０１】
マルウェア検知装置７は、通信遮断ルールに合致した場合（ステップＳ３６肯定）、現在の実通信データがマルウェアによる通信と判断し、通信制御部３７を通じて、バッファ３３に記憶中の実通信データを破棄し（ステップＳ３７）、図７に示す処理動作を終了する。その結果、マルウェア検知装置７は、マルウェアによる実通信データを破棄することで、実通信データの相手先コンピュータ装置へのマルウェア感染を防止したり、攻撃者による感染端末の操作を防止しながら、安全なコンピュータ環境をユーザに提供することができる。
【０１０２】
また、マルウェア検知装置７は、バッファ３３に記憶中の実通信データを破棄するだけでなく、実通信データを発信したコンピュータ装置に対しても、マルウェア感染のアラートを通知するようにしても良い。尚、相手先コンピュータ装置に対してもマルウェア感染のアラートを通知するようにしても良く、この場合、自己のコンピュータ装置がマルウェアに感染していることを認識することができる。
【０１０３】
また、マルウェア検知装置７は、ステップＳ３２にて実通信データ取得時の状態データに合致するマルウェア実行時の状態データがない場合（ステップＳ３２否定）、状態データ照合処理を実行すべく、ステップＳ３１に移行する。
【０１０４】
また、マルウェア検知装置７は、通信制御を実行しない場合（ステップＳ３５否定）、又は、通信遮断ルールに合致しない場合（ステップＳ３６否定）、バッファ３３に記憶中の実通信データを送信用通信インタフェース３２経由で実ネットワーク６上に転送し（ステップＳ３８）、図７に示す処理動作を終了する。
【０１０５】
図７に示すマルウェア検知処理では、実ネットワーク６上で実通信データを取得し、実通信データ取得時の状態遷移パターンがマルウェア実行時の状態遷移パターンに合致して一致カウンタ値が第２閾値を超えた場合、実通信データがマルウェアの通信と判断し、バッファ３３に記憶中の実通信データを破棄するようにしたので、マルウェアによる実通信データの相手先コンピュータ装置への感染を防止したり、攻撃者による感染端末の操作を防止しながら、安全なコンピュータ環境を提供することができる。
【０１０６】
マルウェア検知処理では、一致カウンタ値が第２閾値を超えた場合、実通信データがマルウェアの通信と判断し、マルウェアの実通信データを発信した端末装置に対してマルウェア感染のアラートを通知するようにしたので、アラートを受信した端末装置側のユーザは、マルウェア感染を認識することができる。
【０１０７】
次に、図７に示すステップＳ３１の状態データ照合処理について説明する。図８は、状態データ照合処理に関わるマルウェア検知装置７内部の処理動作を示すフローチャートである。
【０１０８】
図８においてマルウェア検知装置７は、一致カウンタ値を初期化した後（ステップＳ４１）、実ネットワーク６上に流れる実通信データをバッファ３３に順次記憶する（ステップＳ４２）。
【０１０９】
マルウェア検知装置７は、バッファ３３に実通信データを順次記憶すると、実データ状態遷移パターン生成部３４を通じて、バッファ３３に記憶中の実通信データから実通信データ取得時の解析結果を取得し、この解析結果から実通信データ取得時の状態データを抽出する（ステップＳ４３）。尚、実通信データ取得時の状態データは、通信元ＩＰアドレス、通信元ＦＱＤＮ、通信元ポート番号、通信先ＩＰアドレス、通信先ＦＱＤＮ、通信先ポート番号、通信ペイロード、Ｌ４プロトコル種別、前通信データ（パケット）からの経過時間の識別種別を含むデータに相当するものである。
【０１１０】
マルウェア検知装置７は、実通信データ取得時の状態データを抽出保存すると、抽出保存した実通信データ取得時の状態データに合致するマルウェア実行時の状態データが解析結果データベース４内にあるか否かを判定する（ステップＳ４４）。
【０１１１】
マルウェア検知装置７は、実通信データ取得時の状態データに合致するマルウェア実行時の状態データが解析結果データベース４内にある場合（ステップＳ４４肯定）、一致カウンタ値を＋１インクリメントし（ステップＳ４５）、実通信データ取得時の状態データに合致するマルウェア実行時の状態データがあると判断し（ステップＳ４６）、バッファ３３に記憶中の実通信データを送信用通信インタフェース３２経由で転送し（ステップＳ４７）、図８に示す処理動作を終了する。
【０１１２】
また、マルウェア検知装置７は、実通信データ取得時の状態データに合致するマルウェア実行時の状態データが解析結果データベース４内にない場合（ステップＳ４４否定）、実通信データ取得時の状態データに合致するマルウェア実行時の状態データがないものと判断し（ステップＳ４８）、バッファ３３に記憶中の実通信データを送信用通信インタフェース３２経由で転送すべく、ステップＳ４７に移行する。
【０１１３】
図８に示す状態データ照合処理では、一致カウンタ値を初期化し、実通信データ取得時の状態データを抽出すると、実通信データ取得時の状態データに合致するマルウェア実行時の状態データが解析結果データベース４内にあるか否かを判定し、実通信データ取得時の状態データに合致するマルウェア実行時の状態データがある場合、一致カウンタ値を＋１インクリメントし、実通信データ中にマルウェア実行時の状態データと合致するものが存在すると判断した上で、図７に示すステップＳ３３の状態遷移パターン照合処理に移行することができる。
【０１１４】
次に、図７に示すステップＳ３３の状態遷移パターン照合処理について説明する。図９は、状態遷移パターン照合処理に関わるマルウェア検知装置７内部の処理動作を示すフローチャートである。
【０１１５】
図９に示す状態遷移パターン照合処理は、実通信データ取得時の状態データに合致するマルウェア実行時の状態データが解析結果データベース４内にある場合に、実通信データ取得時の状態遷移パターンとマルウェア実行時の状態遷移パターンとを照合する処理である。
【０１１６】
図９においてマルウェア検知装置７は、実ネットワーク６上に流れる実通信データをバッファ３３に順次記憶し（ステップＳ５１）、実データ状態遷移パターン生成部３４を通じて、バッファ３３に記憶中の実通信データから実通信データ取得時の解析結果を取得し、実通信データ取得時の解析結果から実通信データ取得時の状態データを抽出保存する（ステップＳ５２）。
【０１１７】
マルウェア検知装置７は、実データ状態遷移パターン生成部３４を通じて、実通信データ取得時の状態データを抽出保存すると、実通信データ取得時の状態データに基づき、実通信データ取得時の状態データの前後関係に基づき、状態データの時間推移を示す実通信データ取得時の状態遷移パターンを生成保存する（ステップＳ５３）。
【０１１８】
さらに、マルウェア検知装置７は、状態遷移パターン照合部３５を通じて、実通信データ取得時の状態遷移パターンと解析結果データベース４内のマルウェア実行時の状態遷移パターンとを比較照合し、実通信データ取得時の状態遷移パターンとマルウェア実行時の状態遷移パターンとが合致しているか否かを判定する（ステップＳ５４）。
【０１１９】
マルウェア検知装置７は、実通信データ取得時の状態遷移パターンとマルウェア実行時の状態遷移パターンとが合致した場合（ステップＳ５４肯定）、一致カウンタ値を＋１インクリメントし（ステップＳ５５）、バッファ３３に記憶中の実通信データを送信用通信インタフェース３２経由で実ネットワーク６上に転送する（ステップＳ５６）。
【０１２０】
さらに、マルウェア検知装置７は、バッファ３３に記憶中の実通信データを送信用通信インタフェース３２経由で実ネットワーク６上に転送すると、実通信データ取得時の状態遷移パターンがマルウェア実行時の状態遷移パターンの最後尾まで一致確認したか否かを判定する（ステップＳ５７）。
【０１２１】
マルウェア検知装置７は、実通信データ取得時の状態遷移パターンがマルウェア実行時の状態遷移パターンの最後尾まで一致確認した場合（ステップＳ５７肯定）、現在の一致カウンタ値に応じて一致スコアを設定し（ステップＳ５８）、図９に示す処理動作を終了する。
【０１２２】
また、マルウェア検知装置７は、ステップＳ５７にて実通信データ取得時の状態遷移パターンがマルウェア実行時の状態遷移パターンの最後尾まで一致確認しなかった場合（ステップＳ５７否定）、バッファ３３に順次記憶中の実通信データから実通信データ取得時の解析結果を取得し、取得した解析結果に基づき実通信データ取得時の状態データを抽出すべく、ステップＳ５２に移行する。その結果、ステップＳ５４にて状態遷移パターンが合致する度に、ステップＳ５５にて一致カウンタ値を順次インクリメントすることで一致カウンタ値は上昇することになる。
【０１２３】
また、マルウェア解析装置７は、ステップＳ５４にて実通信データ取得時の状態遷移パターンとマルウェア実行時の状態遷移パターンとが合致しなかった場合（ステップＳ５４否定）、一致カウンタ値はインクリメントすることなく、現在の一致カウンタ値に応じて一致スコアを設定すべく、ステップＳ５８に移行する。
【０１２４】
図９に示す状態遷移パターン照合処理では、実通信データ取得時の状態遷移パターンとマルウェア実行時の状態遷移パターンとを比較照合し、実通信データ取得時の状態遷移パターンとマルウェア実行時の状態遷移パターンとが合致した回数を一致カウンタ値でカウントするようにしたので、実通信データ取得時の状態遷移パターンとマルウェア実行時の状態遷移パターンとの合致度を数値化することで、図７に示すマルウェア検知処理に関わる通信制御を実行するか否かの判断やアラートを発生するか否かの判断を簡易化することができる。
【０１２５】
第１の実施の形態によれば、マルウェアを実際に実行する実行環境部１３と、この実行環境部１３に接続する仮想ネットワーク環境部１４とを構築し、実行環境部１３及び仮想ネットワーク環境部１４でマルウェアが及ぼす影響をマルウェア実行時の解析結果として取得し、この解析結果に基づき、マルウェア実行時の状態遷移パターンを予め生成しておき、実ネットワーク６上に流れる実通信データが及ぼす影響を実通信データ取得時の解析結果とし、この解析結果に基づき実通信データ取得時の状態遷移パターンを生成し、実通信データ取得時の状態遷移パターンとマルウェア実行時の状態遷移パターンとを比較照合し、この照合結果に基づき、実ネットワーク６上でマルウェアによる通信を検知するようにした。その結果、実行環境部１３上でマルウェアを実際に実行し、実行環境部１３及び仮想ネットワーク環境部１４でマルウェアが及ぼす影響の分析結果に基づくマルウェア実行時の状態遷移パターンを使用することで、実ネットワーク６上でマルウェアによる通信を高精度に検知することができる。
【０１２６】
第１の実施の形態によれば、マルウェア実行時の解析結果からマルウェア実行時の状態データを抽出し、実通信データ取得時の解析結果から実通信データ取得時の状態データを抽出し、実通信データ取得時の状態データに合致するマルウェア実行時の状態データがあると判定されると、実通信データ取得時の状態遷移パターンとマルウェア実行時の状態遷移パターンとの比較照合を開始するようにしたので、状態遷移パターンの比較照合に要する負担を大幅に軽減することができる。
【０１２７】
第１の実施の形態によれば、仮想ネットワーク環境部１４側で実行環境部１３上のマルウェアからの通信データを受信すると、通信データのプロトコル及び宛先情報・ペイロードデータに基づき、仮想ネットワーク環境部１４を実ネットワーク６に接続するか否かを判定し、仮想ネットワーク環境部１４を実ネットワーク６に接続する場合、仮想ネットワーク環境部１４側で実行環境部１３上のマルウェアから受信した通信データを実ネットワーク６に対して中継送信し、この通信データに対する実ネットワーク６からの応答を実行環境部１３上の前記マルウェアに中継送信するようにした。その結果、実ネットワークとの通信の結果、動作が変化するようなマルウェアについても、高精度な解析結果を取得し、マルウェア実行時の高精度な状態遷移パターンを生成することができる。
【０１２８】
第１の実施の形態によれば、仮想ネットワーク環境部１４側で実行環境部１３上のマルウェアからの通信データを受信すると、通信データのプロトコル及び宛先情報・ペイロードデータに基づき、仮想ネットワーク環境部１４を実ネットワーク６に接続するか否かを判定し、仮想ネットワーク環境部１４を実ネットワーク６に接続しない場合、仮想ネットワーク環境部１４側で実行環境部１３上のマルウェアから受信した通信データに対する応答を実行環境部１３上のマルウェアに送信するようにした。その結果、マルウェア側が送信した通信データに対して応答を必要とするタイプのマルウェアについても、高精度な解析結果を取得し、マルウェア実行時の高精度な状態遷移パターンを生成することができる。
【０１２９】
第１の実施の形態によれば、仮想ネットワーク環境部１４側で実行環境部１３上のマルウェアから受信した通信データを実ネットワーク６に対して中継送信した後、通信データの通信内容に応じて、特定の通信ポートを開放して実ネットワーク６からの通信データの受信を待機し、実ネットワーク６から受信した通信データを実行環境部１３上のマルウェアに中継送信するようにした。その結果、マルウェアが実ネットワークに通信データを送信した後、特定の通信ポートを開放して実ネットワークからの通信データを受信待機し、通信データを受信することで動作するタイプの特殊なマルウェアについても、高精度な解析結果を取得し、マルウェア実行時の高精度な状態遷移パターンを生成することができる。
【０１３０】
第１の実施の形態によれば、仮想ネットワーク環境部１４側で実行環境部１３上のマルウェアから受信する通信データの内、通信元ＩＰアドレス、通信元ＦＱＤＮ、通信元ポート番号、通信先ＩＰアドレス、通信先ＦＱＤＮ、通信先ポート番号、通信ペイロード、Ｌ４プロトコル種別、前通信データ（パケット）送信からの経過時間及び接続成否の識別種別を指定し、この指定した識別種別をマルウェア実行時の状態データとして抽出するようにしたので、高精度な解析結果を取得することができる。
【０１３１】
第１の実施の形態によれば、マルウェア実行時の状態データを順次保存することで、保存中のマルウェア実行時の状態データを時間推移で示すマルウェア実行時の状態遷移パターンを生成するようにしたので、マルウェア実行時の状態遷移パターンを容易に生成することができる。
【０１３２】
第１の実施の形態によれば、実ネットワーク６上に流れる実通信データの識別種別の内、マルウェア実行時の状態データとして抽出された識別種別と同一種別を指定して、この識別種別を実通信データ取得時の状態データとして抽出するようにしたので、マルウェア実行時及び実通信データ取得時の状態遷移パターン同士の比較照合を容易に行うことができる。
【０１３３】
第１の実施の形態によれば、実通信データ取得時の状態データを順次保存することで、保存中の実通信データ取得時の状態データを時間推移で示す実通信データ取得時の状態遷移パターンを生成するようにしたので、実通信データ取得時の状態遷移パターンを容易に生成することができる。
【０１３４】
尚、上記第１の実施の形態においては、実ネットワーク６間にマルウェア検知装置７を配置し、受信用通信インタフェース３１経由で実ネットワーク６間に流れる実通信データをバッファ３３に順次記憶し、送信用通信インタフェース３２経由でバッファ３３に記憶中の実通信データを実ネットワーク６上に順次転送するようにしたが、例えば実ネットワーク６間にネットワークタップ装置を配置し、このネットワークタップ装置にマルウェア検知装置を接続するようにしても良く、この場合の実施の形態につき、第２の実施の形態として説明する。
【０１３５】
（第２の実施形態）
図１０は、第２の実施の形態を示すマルウェア検知システム内部の概略構成を示すシステム説明図である。尚、第１の実施の形態を示すマルウェア検知システム１と同一の構成については同一符号を付すことで、その重複する構成及び動作の説明については省略する。
【０１３６】
図１０に示すマルウェア検知システム１Ａが図１に示すマルウェア検知システム１と異なるところは、実ネットワーク６間にネットワークタップ装置８を配置し、ネットワークタップ装置８をマルウェア検知装置７Ａに接続した点と、マルウェア検知装置７内部の通信制御部３７を削除した点にある。
【０１３７】
マルウェア検知装置７Ａは、受信用通信インタフェース３１及び送信用通信インタフェース３２の代わりに、ネットワークタップ装置８とのインタフェースを司る通信インタフェース３１Ａを備え、ネットワークタップ装置８側で実ネットワーク６間に流れる実通信データをコピーし、このコピーした実通信データを通信インタフェース３１Ａ経由でバッファ３３に順次記憶するものである。
【０１３８】
マルウェア検知装置７Ａ側の実データ状態遷移パターン生成部３４は、バッファ３３に順次記憶中の実通信データを取得し、取得した実通信データが及ぼす影響を実通信データ取得時の解析結果として取得し、この取得した解析結果に基づき実通信データ取得時の状態データを抽出するものである。
【０１３９】
次に、第２の実施の形態を示すマルウェア検知システム１Ａの動作について説明する。図１１は、第２の実施の形態のマルウェア検知処理に関わるマルウェア検知装置７Ａの処理動作を示すフローチャートである。
【０１４０】
図１１においてマルウェア検知装置７Ａは、ネットワークタップ装置８でコピーされた実ネットワーク６からの実通信データをバッファ３３に順次記憶し、実データ状態遷移パターン生成部３４にて実通信データ取得時の解析結果から実通信データ取得時の状態データを抽出し、抽出した実通信データ取得時の状態データに合致するマルウェア実行時の状態データがあるか否かを判定する状態データ照合処理（図８参照）を実行する（ステップＳ６１）。
【０１４１】
マルウェア検知装置７Ａは、状態データ照合処理を実行すると、実通信データ取得時の状態データに合致するマルウェア実行時の状態データがあるか否かを判定する（ステップＳ６２）。
【０１４２】
マルウェア検知装置７Ａは、実通信データ取得時の状態データに合致するマルウェア実行時の状態データがある場合（ステップＳ６２肯定）、バッファ３３に順次記憶する実通信データの時間的な状態遷移を監視し、状態遷移パターン照合部３５を通じて、実通信データ取得時の状態遷移パターンがマルウェア実行時の状態遷移パターンに合致しているか否かを確認するための状態遷移パターン照合処理（図９参照）を実行する（ステップＳ６３）。
【０１４３】
マルウェア検知装置７Ａは、状態遷移パターン照合処理を実行すると、検知ログ生成部３６を通じて、状態遷移パターン照合処理の照合結果を検知ログとして生成保存する（ステップＳ６４）。尚、検知ログは、実通信データ取得時の状態遷移パターンとマルウェア実行時の状態遷移パターンとが完全に合致しなかった場合でもログを記録するようにしても良い。
【０１４４】
また、マルウェア検知装置７Ａは、検知ログを生成保存すると、一致カウンタ値に基づき、現在の実通信データがマルウェアの通信であるか否かを判定する（ステップＳ６５）。
【０１４５】
尚、マルウェア検知装置７Ａは、一致カウンタ値が第２閾値を超えた場合、現在の実通信データがマルウェアの通信であると判断するものである。また、マルウェア検知装置７Ａは、一致カウンタ値が第２閾値以下の場合、現在の実通信データがマルウェアの通信でないと判断するものである。
【０１４６】
マルウェア検知装置７Ａは、現在の実通信データがマルウェアの通信の場合（ステップＳ６５肯定）、実通信データの送信元及び送信先の端末装置に対してマルウェア感染のアラートを出力し（ステップＳ６６）、図１１に示す処理動作を終了する。
【０１４７】
また、マルウェア検知装置７Ａは、実通信データ取得時の状態データに合致するマルウェア実行時の状態データがない場合（ステップＳ６２否定）、状態データ照合処理を実行すべく、ステップＳ１１に移行する。
【０１４８】
また、マルウェア検知装置７Ａは、現在の実通信データがマルウェアの通信でない場合（ステップＳ６５否定）、図１１に示す処理動作を終了する。
【０１４９】
上記第２の実施の形態によれば、実ネットワーク６間のネットワークタップ装置８を通じて実通信データのコピーをマルウェア検知装置７Ａ内のバッファ３３に順次記憶するようにしたので、図１に示すマルウェア検知システム１に比較して実ネットワーク６間の実通信データの伝送遅延を抑制しながら、実ネットワーク６上でマルウェアによる通信を高精度に検知することができる。
【０１５０】
また、上記第２の実施の形態によれば、マルウェア検知装置７Ａにて実通信データ取得時の状態遷移パターンとマルウェア実行時の状態遷移パターンとを比較照合し、一致カウンタ値が第２閾値を超えた場合、実通信データがマルウェアによる通信と判断し、実通信データの送信元及び送信先の端末装置に対してマルウェア感染のアラートを通知するようにしたので、送信元及び送信先の端末装置側のユーザは、実通信データのマルウェア感染を認識することができる。
【０１５１】
尚、上記第１及び第２実施の形態においては、解析結果データベース４に記憶中のマルウェア実行時の解析結果からマルウェア実行時の状態データを抽出する際、又は通信データ取得時の解析結果から通信データ取得時の状態データを抽出する際、マルウェア実行時及び通信データ取得時の状態データには、通信ペイロードに含む特定情報を含めるようにしても良い。尚、特定情報とは、例えばＩＲＣ通信の場合は、ＮＩＣＫ（Ｎｉｃｋｎａｍｅ）やＰＲＩＶＭＳＧ（Ｐｒｉｖａｔｅ  Ｍｅｓｓａｇｅ）、ＤＮＳ（Ｄｏｍａｉｎ  Ｎａｍｅ  Ｓｅｒｖｉｃｅ）の場合は名前解決しようとしているホスト名や解決されたＩＰアドレス等に相当するものである。
【０１５２】
また、上記第１及び第２の実施の形態において、マルウェア実行時の状態データ及び通信データ取得時の状態データには、通信元ＩＰアドレス、通信元ＦＱＤＮ、通信元ポート番号、通信先ＩＰアドレス、通信先ＦＱＤＮ、通信先ポート番号、通信ペイロード、Ｌ４プロトコル種別、前通信データ（パケット）送信からの経過時間及び接続成否のデータを含めるようにしたが、これらデータの一部を使用するようにしても良く、その場合、状態データ比較照合や状態遷移パターン比較照合の処理負担を大幅に軽減することができる。
【０１５３】
また、上記第１及び第２の実施の形態においては、図８に示す状態データ照合処理のステップＳ４４にて実通信データ取得時の状態データに合致するマルウェア実行時の状態データが解析結果データベース４内にあるか否かを判定する状態データの照合に際し、状態データ内の全データを比較照合するようにしたが、状態データ内部の一部のデータ、例えば通信先や通信元のデータのみで比較照合し、その状態データの内、一部のデータが合致した場合にのみ、詳細に状態データ内部の全データの比較照合を実行するようにしても良く、この場合、実データ状態遷移パターン生成部３４の処理負担を大幅に軽減することができる。
【０１５４】
また、上記第１及び第２の実施の形態においては、図９に示す状態遷移パターン照合処理のステップＳ５１にて実通信データ取得時の状態遷移パターンとマルウェア実行時の状態遷移パターンとを比較照合する際、状態遷移パターン内部の状態データ内の全データを比較照合するようにしたが、状態遷移パターン内部の状態データ内の一部のデータ、例えば通信先や通信元のデータのみで比較照合し、その状態データの内、一部のデータが合致した場合にのみ、詳細に状態データ内部の全データの比較照合を実行するようにしても良く、この場合、状態遷移パターン照合部３５の処理負担を軽減することができる。
【０１５５】
また、上記第２の実施の形態においては、実通信データがマルウェアによる通信と判断した場合、実通信データの送信元及び送信先の端末装置に対してマルウェア感染のアラートを通知するようにしたが、例えば、実通信データの送信元の端末装置又は送信先の端末装置の何れか一方にのみ、マルウェア感染のアラートを通知するようにしても良いことは言うまでもない。
【０１５６】
以上、本発明の実施の形態について説明したが、本実施の形態によって本発明の技術的思想の範囲が限定されるものではなく、特許請求の範囲に記載した技術的思想の範囲を逸脱しない限り、各種様々な実施の形態が実施可能であることは言うまでもない。また、本実施の形態に記載した効果は、これに限定されるものではない。
【０１５７】
また、本実施の形態で説明した各種処理の内、自動的に行われるものとして説明した処理の全部又は一部を手動で行うことも可能であることは勿論のこと、その逆に、手動で行われるものとして説明した処理の全部又は一部を自動で行うことも可能であることは言うまでもない。また、本実施の形態で説明した処理手順、制御手順、具体的名称、各種データやパラメータを含む情報についても、特記した場合を除き、適宜変更可能であることは言うまでもない。
【０１５８】
また、図示した各装置の各構成要素は機能概念的に記載したものであって、必ずしも物理的に図示のように構成されるものではなく、その各装置の具体的な態様は図示のものに限縮されるものでは到底ないことは言うまでもない。
【０１５９】
さらに、各装置で行われる各種処理機能は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）（又はＭＰＵ（Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＭＣＵ（Ｍｉｃｒｏ  Ｃｏｎｔｒｏｌｌｅｒ  Ｕｎｉｔ）等のマイクロ・コンピュータ）上、又は同ＣＰＵ（又はＭＰＵ、ＭＣＵ等のマイクロ・コンピュータ）で解析実行するプログラム上、又はワイヤードロジックによるハードウェア上で、その全部又は任意の一部を実行するようにしても良いことは言うまでもない。
【産業上の利用可能性】
【０１６０】
上記のように構成された本発明のマルウェア検知システム、マルウェア検知方法及びマルウェア検知プログラムによれば、実ネットワーク上でマルウェアによる通信を高精度に検知できるようにしたので、ＩＳＰ（Ｉｎｔｅｒｎｅｔ  Ｓｅｒｖｉｃｅ  Ｐｒｏｖｉｄｅｒ）をはじめとするネットワーク事業者が感染者を検知して対処を行うことや、マルウェアのネットワークに対する被害を抑制するのに有用である。
【図面の簡単な説明】
【０１６１】
【図１】第１の実施の形態を示すマルウェア検知システム内部の概略構成を示すシステム説明図である。
【図２】マルウェア解析装置内部の概略構成を示すブロック図である。
【図３】シグネチャリストの一例を端的に示す説明図である。
【図４】マルウェア解析処理に関わるマルウェア解析装置内部の処理動作を示すフローチャートである。
【図５】マルウェア実行時の状態遷移パターン生成処理に関わる状態遷移パターン生成装置内部の処理動作を示すフローチャートである。
【図６】マルウェアの実行環境部が通信元であるデータに着目した状態遷移パターンの一例を示す説明図である。
【図７】マルウェア検知処理に関わるマルウェア検知装置内部の処理動作を示すフローチャートである。
【図８】状態データ照合処理に関わるマルウェア検知装置内部の処理動作を示すフローチャートである。
【図９】状態遷移パターン照合処理に関わるマルウェア検知装置内部の処理動作を示すフローチャートである。
【図１０】第２の実施の形態を示すマルウェア検知システム内部の概略構成を示すシステム説明図である。
【図１１】第２の実施の形態のマルウェア検知処理に関わるマルウェア検知装置内部の処理動作を示すフローチャートである。
【符号の説明】
【０１６２】
１  マルウェア検知システム
１Ａ  マルウェア検知システム
３  マルウェア解析装置
４  解析結果データベース
５  状態遷移パターン生成装置
６  実ネットワーク
７  マルウェア検知装置
７Ａ  マルウェア検知装置
１３  実行環境部
１４  仮想ネットワーク環境部
２１  プロトコル判定部
２２  外部接続判定部
２３  外部接続中継部
２４  仮想応答生成部
３４  実データ状態遷移パターン生成部
３５  状態遷移パターン照合部
【図１】
2010015513.tif 000003
【図２】
2010015513.tif 000004
【図３】
2010015513.tif 000005
【図４】
2010015513.tif 000006
【図５】
2010015513.tif 000007
【図６】
2010015513.tif 000008
【図７】
2010015513.tif 000009
【図８】
2010015513.tif 000010
【図９】
2010015513.tif 000011
【図１０】
2010015513.tif 000012
【図１１】
2010015513.tif 000013