(57)【要約】【課題】ボットに感染した装置に関する通信結果を精度よく抽出することができる情報処理装置、プログラム、および記録媒体を提供する。【解決手段】通信情報記憶部１１は、ネットワーク上で実行された通信に係る通信結果を記憶する。特徴量記憶部１５は、ボットに感染していることが既知である装置の通信結果に基づいて予め算出された、ボットに感染した装置が行う通信に見られる複数の状態に係る特徴量を状態毎に記憶する。カウンタ１３は、複数の状態の出現数を状態毎かつIPアドレス毎にカウントする。特徴量算出部１４は、出現数に基づいて、特徴量を状態毎かつIPアドレス毎に算出する。特徴量比較部１６は、特徴量算出部１４が算出した特徴量と、特徴量記憶部１５が記憶している特徴量とを状態毎に比較する。判定部１７は、比較の結果に基づいてIPアドレスを選択する。通信情報抽出部１８は、選択されたIPアドレスを含む通信結果を抽出する。【選択図】図１
2010092236.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク上で実行された通信に係るIPアドレスを含む通信結果を記憶する第１の記憶手段と、
ボットに感染していることが既知である装置のIPアドレスを含む通信結果に基づいて予め算出された、ボットに感染した装置が行う通信に見られる複数の状態に係る特徴量を状態毎に記憶する第２の記憶手段と、
前記第１の記憶手段によって記憶されている前記通信結果に基づいて、前記複数の状態の出現数を状態毎かつIPアドレス毎にカウントするカウント手段と、
前記出現数に基づいて、前記複数の状態に係る特徴量を状態毎かつIPアドレス毎に算出する算出手段と、
前記算出手段によって算出された特徴量と、前記第２の記憶手段によって記憶されている特徴量とを状態毎に比較する比較手段と、
前記比較手段による比較の結果に基づいてIPアドレスを選択する選択手段と、
前記第１の記憶手段によって記憶されている前記通信結果から、選択されたIPアドレスを含む通信結果を抽出する抽出手段と、
を備えたことを特徴とする情報処理装置。
【請求項２】
前記所定の状態は、送受信関係の確立に失敗したという状態を含むことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記所定の状態は、送信先のPortとしてTCP/UDPの135から139まで、445、1433、1434のPortのいずれかが使用されたという状態を含むことを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記所定の状態は、送信先のPortとしてTCPの1024以上（1433，1434を除く）のPortが使用されたという状態を含むことを特徴とする請求項１に記載の情報処理装置。
【請求項５】
前記所定の状態は、DNSサーバに対してドメイン名の名前解決を要求したが、エラーが発生したという応答、または当該ドメイン名に対応するIPアドレスが存在しないという応答があったという状態を含むことを特徴とする請求項１に記載の情報処理装置。
【請求項６】
前記所定の状態は、DNSサーバに対して、所定の国名以外の国名を有するドメイン名の名前解決を要求したという状態を含むことを特徴とする請求項１に記載の情報処理装置。
【請求項７】
前記所定の状態は、HTTP GETコマンドを使用して拡張子が.exeであるファイルを取得したという状態を含むことを特徴とする請求項１に記載の情報処理装置。
【請求項８】
前記所定の状態は、ユーザ名が不明であることを知らせるSMTP Responseがあったという状態を含むことを特徴とする請求項１に記載の情報処理装置。
【請求項９】
前記第２の記憶手段はさらに、ボットに感染していないことが既知である装置のIPアドレスを含む通信結果に基づいて予め算出された、ボットに感染した装置が行う通信に見られる複数の状態に係る特徴量を状態毎に記憶し、
前記選択手段は、前記算出手段によって算出された状態毎かつIPアドレス毎の前記特徴量が、前記第２の記憶手段によって記憶されている、ボットに感染していないことが既知である装置に係る状態毎の前記特徴量よりも、前記第２の記憶手段によって記憶されている、ボットに感染していることが既知である装置に係る状態毎の前記特徴量に近い場合に、前記算出手段によって算出された前記特徴量に係るIPアドレスを選択する
ことを特徴とする請求項１〜請求項８のいずれかに記載の情報処理装置。
【請求項１０】
ネットワーク上で実行された通信に係るIPアドレスを含む通信結果を記憶する第１の記憶手段と、
ボットに感染していることが既知である装置のIPアドレスを含む通信結果に基づいて予め算出された、ボットに感染した装置が行う通信に見られる複数の状態に係る特徴量を状態毎に記憶する第２の記憶手段と、
ボットの指令サーバとして機能することが既知である装置のIPアドレスを含む通信結果に基づいて予め算出された、ボットの指令サーバが行う通信に見られる所定の状態に係る特徴量を記憶する第３の記憶手段と、
前記第１の記憶手段によって記憶されている前記通信結果に基づいて、前記複数の状態の出現数を状態毎かつIPアドレス毎にカウントする第１のカウント手段と、
前記第１の記憶手段によって記憶されている前記通信結果に基づいて、前記所定の状態の出現数をIPアドレス毎にカウントする第２のカウント手段と、
前記第１のカウント手段によってカウントされた出現数に基づいて、前記複数の状態に係る特徴量を状態毎かつIPアドレス毎に算出する第１の算出手段と、
前記第２のカウント手段によってカウントされた出現数に基づいて、前記所定の状態に係る特徴量をIPアドレス毎に算出する第２の算出手段と、
前記第１の算出手段によって算出された特徴量と、前記第２の記憶手段によって記憶されている特徴量とを状態毎に比較する第１の比較手段と、
前記第２の算出手段によって算出された特徴量と、前記第３の記憶手段によって記憶されている特徴量とを比較する第２の比較手段と、
前記第１の比較手段による比較の結果に基づいてIPアドレスを選択する第１の選択手段と、
前記第２の比較手段による比較の結果に基づいてIPアドレスを選択する第２の選択手段と、
前記第１の記憶手段によって記憶されている前記通信結果から、前記第１の選択手段によって選択されたIPアドレスを送信元のIPアドレスに含み、前記第２の選択手段によって選択されたIPアドレスを送信先のIPアドレスに含む通信結果を抽出する抽出手段と、
を備えたことを特徴とする情報処理装置。
【請求項１１】
請求項１〜請求項１０のいずれかに記載の情報処理装置としてコンピュータを機能させるためのプログラム。
【請求項１２】
請求項１１に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク上で実行された通信の結果に関する情報を処理する情報処理装置に関する。また、本発明は、本情報処理装置としてコンピュータを機能させるためのプログラム、およびそのプログラムを記録した記録媒体にも関する。
【背景技術】
【０００２】
近年、コンピュータウィルスに感染したコンピュータに悪質な動作を実行させる、ボットと呼ばれるコンピュータウィルスによる被害が拡大している。ボットは、外部の指令サーバに通信セッションを確立して新たなコードをダウンロードする機能や、攻撃のための指令を受ける機能、指令に従って攻撃する機能などを持つ悪意のコードで構成されている。
【０００３】
昨今のボットは、多数の検体が作成されていること、Anti Virus（AV）のパターンファイルのダウンロードを阻止する機能を持つこと、二次感染や攻撃に関わる通信量を抑制する機能を持つことなどから、ボットの感染状態を検知することは難しい。これまで、ボットが指令サーバから新たな検体や指令を取得することに着目して、ユーザが操作しないPCから発信されるパケットの宛先の異常性を判定する研究がなされてきた（例えば非特許文献１参照）。また、PC内の正常なプロセスのWhitelistを作成しておき、これに一致しないプロセスが現れると異常と判定する研究もなされてきた（例えば非特許文献２参照）。これらはホスト型検知手法として注目されているが、個々のドメインや、Internet Service Provider（ISP）が管理するネットワーク上でボットを特定するネットワーク型検知手法には適していない。
【０００４】
ネットワーク型検知手法として、指令サーバとの通信に利用されがちなIRC（Internet Relay Chat）パケットに着目した検知手法が提案されている（例えば非特許文献３参照）。また、侵入検知システム（Intrusion Detection System：IDS）のアラートシナリオから、ボットらしさを評価する手法も提案されている（例えば非特許文献４参照）。
【非特許文献１】竹森敬祐，三宅優，“無操作ホストから発信されるパケットに注目したウイルス感染検知”，情処研報，CSEC-36，pp.141-146，2007年3月
【非特許文献２】Weidong Cui, Randy H. katz, and Wai-tian Tan, ”Design and Implementation of an Extrusion-based Break-In Detector for Personal Computers”, 21st ACSAC, pp.361-370, 2005
【非特許文献３】J. Goebel, “Rishi: Identify Bot Contaminated Hosts by IRC Nickname Evaluation,” In Proceeding of the HotBots’07, USENIX, April, 2007
【非特許文献４】G. Gu, P. Porras, V. Yegneswaran, M. Fong, and W. Lee, "BotHunter: Detecting Malware Infection Through IDS-Driven Dialog Correlation." In Proceedings of the Security'07, USENIX, August 2007
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、上記のネットワーク型検知手法では、IRC通信を伴わないボットが増えてきていることや、IDSのシグネチャに検知されないボットが増えてきていることなど、検知精度について問題がある。
【０００６】
本発明は、上述した課題に鑑みてなされたものであって、ボットに感染した装置に関する通信結果を精度よく抽出することができる情報処理装置、プログラム、および記録媒体を提供することを目的とする。
【課題を解決するための手段】
【０００７】
＜第１の発明＞
本発明は、上記の課題を解決するためになされたもので、ネットワーク上で実行された通信に係るIPアドレスを含む通信結果を記憶する第１の記憶手段と、ボットに感染していることが既知である装置のIPアドレスを含む通信結果に基づいて予め算出された、ボットに感染した装置が行う通信に見られる複数の状態に係る特徴量を状態毎に記憶する第２の記憶手段と、前記第１の記憶手段によって記憶されている前記通信結果に基づいて、前記複数の状態の出現数を状態毎かつIPアドレス毎にカウントするカウント手段と、前記出現数に基づいて、前記複数の状態に係る特徴量を状態毎かつIPアドレス毎に算出する算出手段と、前記算出手段によって算出された特徴量と、前記第２の記憶手段によって記憶されている特徴量とを状態毎に比較する比較手段と、前記比較手段による比較の結果に基づいてIPアドレスを選択する選択手段と、前記第１の記憶手段によって記憶されている前記通信結果から、選択されたIPアドレスを含む通信結果を抽出する抽出手段と、を備えたことを特徴とする情報処理装置である。
【０００８】
上記第１の発明によれば、ネットワーク上で実行された通信に係る通信結果から算出された、ボットに感染した装置が行う通信に見られる複数の状態に係る特徴量と、ボットに感染していることが既知である装置の通信結果から算出された、上記複数の状態に係る特徴量とを状態毎に比較した結果に基づいて選択されたIPアドレスを含む通信結果が抽出される。すなわち、上記第１の発明は、以下の２点を特徴とするものである。
（１）ネットワーク上で実行された通信に係る特徴量を、ボットに感染していることが既知である装置が実行した通信に係る特徴量と比較すること。
（２）ボットに感染した装置が行う通信に見られる複数の状態について状態毎に特徴量を比較すること。
したがって、上記第１の発明によれば、ボットに感染した装置に関する通信結果を精度よく抽出することができる。
【０００９】
＜第２の発明＞
また、本発明の情報処理装置において、前記所定の状態は、送受信関係の確立に失敗したという状態を含むことを特徴とする。
【００１０】
＜第３の発明＞
また、本発明の情報処理装置において、前記所定の状態は、送信先のPortとしてTCP/UDPの135から139まで、445、1433、1434のPortのいずれかが使用されたという状態を含むことを特徴とする。
【００１１】
＜第４の発明＞
また、本発明の情報処理装置において、前記所定の状態は、送信先のPortとしてTCPの1024以上（1433，1434を除く）のPortが使用されたという状態を含むことを特徴とする。
【００１２】
＜第５の発明＞
また、本発明の情報処理装置において、前記所定の状態は、DNSサーバに対してドメイン名の名前解決を要求したが、エラーが発生したという応答、または当該ドメイン名に対応するIPアドレスが存在しないという応答があったという状態を含むことを特徴とする。
【００１３】
＜第６の発明＞
また、本発明の情報処理装置において、前記所定の状態は、DNSサーバに対して、所定の国名以外の国名を有するドメイン名の名前解決を要求したという状態を含むことを特徴とする。
【００１４】
＜第７の発明＞
また、本発明の情報処理装置において、前記所定の状態は、HTTP GETコマンドを使用して拡張子が.exeであるファイルを取得したという状態を含むことを特徴とする。
【００１５】
＜第８の発明＞
また、本発明の情報処理装置において、前記所定の状態は、ユーザ名が不明であることを知らせるSMTP Responseがあったという状態を含むことを特徴とする。
【００１６】
上記第２〜第８の発明において、カウント手段が出現数をカウントする状態は、ボットに感染した装置が通信を行うことにより発生する、ボットに特有の状態である。したがって、上記第２〜第８の発明によれば、ボットに感染した装置が行った通信に係る通信結果をより高精度に抽出することができる。
【００１７】
＜第９の発明＞
また、本発明の情報処理装置において、前記第２の記憶手段はさらに、ボットに感染していないことが既知である装置のIPアドレスを含む通信結果に基づいて予め算出された、ボットに感染した装置が行う通信に見られる複数の状態に係る特徴量を状態毎に記憶し、前記選択手段は、前記算出手段によって算出された状態毎かつIPアドレス毎の前記特徴量が、前記第２の記憶手段によって記憶されている、ボットに感染していないことが既知である装置に係る状態毎の前記特徴量よりも、前記第２の記憶手段によって記憶されている、ボットに感染していることが既知である装置に係る状態毎の前記特徴量に近い場合に、前記算出手段によって算出された前記特徴量に係るIPアドレスを選択することを特徴とする。
【００１８】
上記第９の発明によれば、ボットに感染していることが既知である装置の通信結果から算出された、ボットに感染した装置が行う通信に見られる複数の状態に係る特徴量と共に、ボットに感染していないことが既知である装置の通信結果から算出された、上記複数の状態に係る特徴量も考慮されるので、ボットに感染した装置が行った通信に係る通信結果をより高精度に抽出することができる。
【００１９】
＜第１０の発明＞
また、本発明は、ネットワーク上で実行された通信に係るIPアドレスを含む通信結果を記憶する第１の記憶手段と、ボットに感染していることが既知である装置のIPアドレスを含む通信結果に基づいて予め算出された、ボットに感染した装置が行う通信に見られる複数の状態に係る特徴量を状態毎に記憶する第２の記憶手段と、ボットの指令サーバとして機能することが既知である装置のIPアドレスを含む通信結果に基づいて予め算出された、ボットの指令サーバが行う通信に見られる所定の状態に係る特徴量を記憶する第３の記憶手段と、前記第１の記憶手段によって記憶されている前記通信結果に基づいて、前記複数の状態の出現数を状態毎かつIPアドレス毎にカウントする第１のカウント手段と、前記第１の記憶手段によって記憶されている前記通信結果に基づいて、前記所定の状態の出現数をIPアドレス毎にカウントする第２のカウント手段と、前記第１のカウント手段によってカウントされた出現数に基づいて、前記複数の状態に係る特徴量を状態毎かつIPアドレス毎に算出する第１の算出手段と、前記第２のカウント手段によってカウントされた出現数に基づいて、前記所定の状態に係る特徴量をIPアドレス毎に算出する第２の算出手段と、前記第１の算出手段によって算出された特徴量と、前記第２の記憶手段によって記憶されている特徴量とを状態毎に比較する第１の比較手段と、前記第２の算出手段によって算出された特徴量と、前記第３の記憶手段によって記憶されている特徴量とを比較する第２の比較手段と、前記第１の比較手段による比較の結果に基づいてIPアドレスを選択する第１の選択手段と、前記第２の比較手段による比較の結果に基づいてIPアドレスを選択する第２の選択手段と、前記第１の記憶手段によって記憶されている前記通信結果から、前記第１の選択手段によって選択されたIPアドレスを送信元のIPアドレスに含み、前記第２の選択手段によって選択されたIPアドレスを送信先のIPアドレスに含む通信結果を抽出する抽出手段と、を備えたことを特徴とする情報処理装置である。
【００２０】
上記第１０の発明によれば、ネットワーク上で実行された通信に係る通信結果から算出された、ボットに感染した装置が行う通信に見られる複数の状態に係る特徴量と、ボットに感染していることが既知である装置の通信結果から算出された、上記複数の状態に係る特徴量とを状態毎に比較した結果に基づいてIPアドレスが選択される。このIPアドレスは、ボットに感染した装置のIPアドレスである可能性が高い。また、ネットワーク上で実行された通信に係る通信結果から算出された、ボットに感染した装置が行う通信に見られる所定の状態に係る特徴量と、ボットの指令サーバとして機能することが既知である装置の通信結果から算出された、上記所定の状態に係る特徴量とを比較した結果に基づいてIPアドレスが選択される。このIPアドレスは、ボットの指令サーバのIPアドレスである可能性が高い。したがって、ボットに感染したと思われる装置のIPアドレスを送信元のIPアドレスに含み、ボットの指令サーバと思われる装置のIPアドレスを送信先のIPアドレスに含む通信結果を抽出することによって、ボットに感染した装置が指令サーバと行った通信に係る通信結果をより高精度に抽出することができる。
【００２１】
＜第１１の発明＞
また、本発明は、上記の情報処理装置としてコンピュータを機能させるためのプログラムである。
【００２２】
＜第１２の発明＞
また、本発明は、上記のプログラムを記録したコンピュータ読み取り可能な記録媒体である。
【発明の効果】
【００２３】
本発明によれば、ボットに感染した装置に関する通信結果を精度よく抽出することができる。
【発明を実施するための最良の形態】
【００２４】
以下、図面を参照し、本発明の実施形態を説明する。図１は、本発明の一実施形態による情報処理装置の構成を示している。通信監視部１０は、ネットワーク上を伝送するパケットを取得し、そのパケットから通信情報を抽出する。通信情報記憶部１１は、通信監視部１０によって抽出された通信情報を記憶する。
【００２５】
通信情報は、通信の実行に係る送信側と受信側の関係を把握するのに必要な情報である。また、通信情報は、ネットワーク上で実行された通信の特徴を示す情報でもあり、この通信情報に基づいて異常な通信を検知することが可能である。本実施形態の通信情報は、時刻（Start Time，End Time）、通信プロトコル（ICMP，TCP，UDP等）、IPアドレス（Source IP，Destination IP）、Port番号（Source Port，Destination Port）、各種通信内容、および装置内で通信毎に付与される通信IDで構成されている。
【００２６】
通信解析部１２は、通信情報記憶部１１に記録されている所定時間内の通信結果に関する通信情報に基づいて通信内容を解析し、後述する所定の状態が発生したか否かを判定する。また、通信解析部１２は、この判定結果に基づいてカウンタ１３の動作を制御する。カウンタ１３は、IPアドレス毎に用意されたカウンタの集合である。カウンタ１３を構成する各カウンタは、対応するIPアドレスを送信元または送信先とする通信に係る複数の状態の出現数を状態毎にカウントする。ネットワーク上の全IPアドレスについて最初からカウンタを用意しておく必要はなく、通信情報から新たなIPアドレスが検出される毎に動的にカウンタを追加するようにしてもよい。
【００２７】
特徴量算出部１４は、カウンタ１３がカウントした複数の状態の出現数に基づいて、各状態に係る特徴量をIPアドレス毎に算出する。特徴量記憶部１５は、ボットに感染していることが既知である装置のIPアドレスを含む通信結果に基づいて予め算出された特徴量（以下、ボット通信特徴量とする）を記憶する。このボット通信特徴量は、ボットに感染した装置が行う通信に見られる複数の状態に係る状態毎の特徴量である。例えば、特定の装置をボットに感染させて動作させておき、その装置が行う通信を本実施形態の情報処理装置に監視させ、通信結果に基づいてボット通信特徴量を算出させてもよい。
【００２８】
特徴量記憶部１５は、ボットに感染していないことが既知である装置のIPアドレスを含む通信結果に基づいて予め算出された特徴量（以下、正常通信特徴量とする）も記憶する。この正常通信特徴量は、上記と同様にボットに感染した装置が行う通信に見られる複数の状態に係る状態毎の特徴量である。例えば、ボットに感染していないことが保証されている特定の装置を動作させておき、その装置が行う通信を本実施形態の情報処理装置に監視させ、通信結果に基づいて正常通信特徴量を算出させてもよい。
【００２９】
特徴量比較部１６は、特徴量算出部１４によって算出されたIPアドレス毎の特徴量と、特徴量記憶部１５によって記憶されているボット通信特徴量・正常通信特徴量とを状態毎に比較する。判定部１７は、特徴量比較部１６による比較の結果に基づいて、各IPアドレスが正常であるか異常であるかを判定する。特徴量算出部１４によって算出された特徴量が正常通信特徴量よりもボット通信特徴量に近い場合、判定対象のIPアドレスは異常であると判定される。また、特徴量算出部１４によって算出された特徴量がボット通信特徴量よりも正常通信特徴量に近い場合、判定対象のIPアドレスは正常であると判定される。判定部１７は、判定対象となったIPアドレスの中から、異常であると判定したIPアドレスのみを選択的に通信情報抽出部１８に通知する。
【００３０】
通信情報抽出部１８は、通信情報記憶部１１に記憶されている通信情報から、通信情報抽出部１８から通知されたIPアドレスを送信元または送信先のIPアドレスとして含む通信情報を抽出する。表示制御部１９は、通信情報抽出部１８によって抽出された通信情報を表示するためのグラフィック画像データを生成し、表示部２０へ出力する。表示部２０は、表示制御部１９から出力されたグラフィック画像データに基づいて、通信情報を視覚化する。
【００３１】
次に、本実施形態で検出対象とする７種類の状態を説明する。これら７種類の状態は、いずれもボットに感染した装置が行う通信に見られる状態である。
【００３２】
第１の状態は、送受信関係の確立に失敗したという状態である。ボットに感染した装置は、感染を拡大するために、多数のDestination IP（送信先IP）を探索するが、送受信関係の確立に失敗する場合が多い。このため、ボットに感染した装置が行う通信では、送受信関係の確立の成功率が低いという特徴的なパターンが現れる。
【００３３】
第１の状態は、ICMP Echoパケットに対するICMP Replyパケットの有無を監視することによって検出可能である。ICMP EchoパケットとICMP Replyパケットは対になっており、正常時にはICMP Echoパケットに対してICMP Replyパケットが返信されるが、ボットに感染した装置ではICMP Replyパケットの返信率が低い。したがって、ICMP EchoパケットとICMP Replyパケットの数をカウントすることによって第１の状態の出現数をカウントすることが可能となる。この場合の特徴量は、ICMP Echoパケットの数からICMP Replyパケットの数を引いた数をICMP Echoパケットの数で割り算した値（ICMP Echoパケットに対してICMP Replyパケットが返信されない割合）とする。
【００３４】
第１の状態は、TCP-SYNパケットに対するTCP-SYN-ACKパケットの有無を監視することによっても検出可能である。TCP-SYNパケットとTCP-SYN-ACKパケットは対になっており、正常時にはTCP-SYNパケットに対してTCP-SYN-ACKパケットが返信されるが、ボットに感染した装置ではTCP-SYN-ACKパケットの返信率が低い。
【００３５】
したがって、TCP-SYNパケットとTCP-SYN-ACKパケットの数をカウントすることによって第１の状態の出現数をカウントすることが可能となる。この場合の特徴量は、TCP-SYNパケットの数からTCP-SYN-ACKパケットの数を引いた数をTCP-SYNパケットの数で割り算した値（TCP-SYNパケットに対してTCP-SYN-ACKパケットが返信されない割合）とする。
【００３６】
第１の状態は、接続の拒否を示すICMP Unreachableパケットの有無を監視することによっても検出可能である。正常時にはICMP Unreachableパケットが返信されることは少ないが、ボットに感染した装置ではICMP Unreachableパケットの返信率が高い。したがって、ICMP Unreachableパケットの数をカウントすることによって第１の状態の出現数をカウントすることが可能となる。この場合の特徴量は、ICMP Unreachableパケットの数を送信パケットの総数で割り算した値（全送信パケットに対してICMP Unreachableパケットが占める割合）とする。
【００３７】
第２の状態は、Destination Port（送信先Port）としてTCP/UDPの135から139まで、445、1433、1434のPortのいずれかが使用されたという状態である。ボットに感染した装置が他の装置に対して感染を拡大するとき、上記のPortに向かうパケットが観測されるという特徴的なパターンが現れる。
【００３８】
したがって、上記のPortがDestination Portに使用されているパケットの数をカウントすることによって、第２の状態の出現数をカウントすることが可能となる。この場合の特徴量は、上記のPortがDestination Portに使用されているTCP/UDPパケットの数をTCP/UDPパケットの総数で割り算した値（全TCP/UDPパケットに対して、上記Portを使用したTCP/UDPパケットが占める割合）とする。
【００３９】
第３の状態は、Destination Port（送信先Port）としてTCPの1024以上（1433，1434を除く）のPortが使用されたという状態である。ボットに感染した装置が指令サーバと通信を行うとき、上記のPortに向かうパケットが観測されるという特徴的なパターンが現れる。
【００４０】
したがって、上記のPortがDestination Portに使用されているパケットの数をカウントすることによって、第３の状態の出現数をカウントすることが可能となる。TCPの1433，1434のPortは第２の状態として検出することにしているので、第３の状態ではこれらのPortを検出対象から除いている。この場合の特徴量は、上記のPortがDestination Portに使用されているTCP-SYNパケットの数をTCP-SYNパケットの総数で割り算した値（全TCP-SYNパケットに対して、上記Portを使用したTCP-SYNパケットが占める割合）とする。
【００４１】
第４の状態は、DNSサーバに対してドメイン名の名前解決を要求したが、エラーが発生したという応答、または当該ドメイン名に対応するIPアドレスが存在しないという応答があったという状態である。指令サーバのIPアドレスが頻繁に変化するため、ボットに感染した装置は、指令サーバのドメイン名の名前解決をDNSサーバに要求し、ドメイン名に対応したIPアドレスをDNSサーバから取得する。
【００４２】
しかし、異常な文字列から構成されるFQDN（Fully Qualified Domain Name）の名前解決が要求されて名前解決に失敗することにより、検索エラーが頻発するという特徴的なパターンが現れる。このとき、DNSサーバから返信されるDNS Recursive ResponseパケットにはErrorが記録される。また、名前解決を要求されたドメイン名が既に存在しなくなっており、IPアドレスが見つからないことが頻発するという特徴的なパターンも現れる。このとき、DNSサーバから返信されるDNS Recursive ResponseパケットにはNo such Nameが記録される。
【００４３】
したがって、Errorが記録されたDNS Recursive ResponseパケットまたはNo such Nameが記録されたDNS Recursive Responseパケット（もしくはその両方）の数をカウントすることによって、第４の状態の出現数をカウントすることが可能となる。この場合の特徴量は、Errorが記録されたDNS Recursive ResponseパケットまたはNo such Nameが記録されたDNS Recursive Responseパケット（もしくはその両方）の数をDNS Recursive Responseパケットの総数で割り算した値（全DNS Recursive Responseパケットに対して所定のDNS Recursive Responseパケットが占める割合）とする。
【００４４】
第５の状態は、DNSサーバに対して、所定の国名以外の国名を有するドメイン名の名前解決を要求したという状態である。指令サーバは、グローバルIPアドレスを持ち、インターネット上に広く分布して存在する。このため、指令サーバは様々な国に分布して存在することになり、DNSサーバに名前解決を要求する対象のドメイン名として、様々な国名コードを含むドメイン名が現れるという特徴的なパターンが現れる。
【００４５】
したがって、DNSサーバから返信されるDNS Recursive Responseパケットとして、.jpドメイン以外のドメインを含むドメイン名が記録されたパケットの数をカウントすることによって、第５の状態の出現数をカウントすることが可能となる。この場合の特徴量は、.jpドメイン以外のドメインを含むドメイン名が記録されたDNS Recursive Responseパケットの数をDNS Recursive Responseパケットの総数で割り算した値（全DNS Recursive Responseパケットに対して、.jpドメイン以外のドメインを含むドメイン名が記録されたDNS Recursive Responseパケットが占める割合）とする。
【００４６】
第６の状態は、HTTP GETコマンドを使用して拡張子が.exeであるファイルを取得したという状態である。ボットに感染した装置が指令サーバから新たなコードを取得するときには、HTTP GETコマンドを使用して拡張子が.exeであるファイルを取得するという特徴的なパターンが現れる。通常、HTTP GETコマンドを使用して拡張子が.exeであるファイルを取得することは稀である。
【００４７】
したがって、HTTP GETコマンドを使用して拡張子が.exeであるファイルを取得する通信に係るパケットの数をカウントすることによって、第６の状態の出現数をカウントすることが可能となる。この場合の特徴量は、HTTP GETコマンドを使用して拡張子が.exeであるファイルを取得する通信に係るパケットの数を、HTTP GETコマンドによる通信に係るパケットの総数で割り算した値（HTTP GETコマンドによる通信に係る全パケットに対して、拡張子が.exeであるファイルを取得する通信に係るパケットが占める割合）とする。
【００４８】
第７の状態は、ユーザ名が不明であることを知らせるSMTP Responseパケットがあったという状態である。ボットに感染した装置がスパムメールを送信する場合に、スパムメールを受け取るユーザ名をランダムに指定することが多い。このため、ユーザ名が不明であることを示すUser Unknownが記録された多くのSMTP Responseパケットがメールサーバから返信されるという特徴的なパターンが現れる。
【００４９】
したがって、User Unknownが記録されたSMTP Responseパケットの数をカウントすることによって、第７の状態の出現数をカウントすることが可能となる。この場合の特徴量は、User Unknownが記録されたSMTP Responseパケットの数をSMTP Responseパケットの総数で割り算した値（全SMTP Responseパケットに対して、User Unknownが記録されたSMTP Responseパケットが占める割合）とする。
【００５０】
次に、本実施形態による情報処理装置の動作を説明する。図２は情報処理装置の動作の手順を示している。通信監視部１０は、ネットワーク上を伝送するパケットを取得し、そのパケットから通信情報を抽出して通信情報記憶部１１に格納する（ステップＳ１００）。通信監視部１０がパケットの監視を開始してから所定の単位時間が経過するまで、この動作が繰り返し実行される。
【００５１】
通信監視部１０がパケットの監視を開始してから所定の単位時間が経過した場合（ステップＳ１０２でＹＥＳの場合）、通信解析部１２は、上記の単位時間内に通信情報記憶部１１に格納された通信情報を読み出し、各通信情報に基づいて通信内容を解析する。通信解析部１２は、通信内容の解析により、検出対象としている所定の状態（上記第１〜第７の状態のいずれか）が発生したか否かを判定し、判定結果に基づいてカウンタ１３を制御する。カウンタ１３は、通信解析部１２による制御に従って、所定の状態の出現数を状態毎かつIPアドレス毎にカウントする（ステップＳ１０４）。
【００５２】
以下、ステップＳ１０４の処理の具体例を説明する。前述したように、カウンタ１３は、IPアドレス毎に用意されたカウンタの集合である。以下では、第１の状態（送受信関係の確立に失敗したという状態）を検出対象とする。
【００５３】
通信解析部１２は、ICMP Echoパケットに対応する通信情報を検出した場合、通信情報に含まれるSource IP に対応するカウンタのカウント値を１増加させる。例えば、192.168.0.20をSource IPとするICMP Echoパケットに対応する通信情報が検出された場合、192.168.0.20に対応するカウンタのカウント値が１増加する。また、通信解析部１２は、ICMP Replyパケットに対応する通信情報を検出した場合、通信情報に含まれるDestination IP に対応するカウンタのカウント値を１減少させる。例えば、192.168.0.20をDestination IPとするICMP Replyパケットに対応する通信情報が検出された場合、192.168.0.20に対応するカウンタのカウント値が１減少する。正常な通信では、ICMP Echoパケットに対してICMP Replyパケットが返信されるため、カウント値は増加しない。しかし、ボットに感染した装置が通信を行うと、ICMP Replyパケットの返信率が低下するため、カウント値が増加するようになる。
【００５４】
上記では、各IPアドレスに対して１個のカウンタを用意しているが、各IPアドレスに対して、ICMP Echoパケットの数をカウントするためのカウンタ（第１のカウンタ）と、ICMP Replyパケットの数をカウントするためのカウンタ（第２のカウンタ）とを用意してもよい。この場合、第１の状態の出現数は、第１のカウンタがカウントした値から第２のカウンタがカウントした値を減算した数となる。これに対して、上記のように各IPアドレスに対して１個のカウンタのみで第１の状態の出現数をカウントすることによって、カウンタ１３の回路規模やカウント値の管理負荷を抑えることができる。
【００５５】
TCP-SYNパケットに対するTCP-SYN-ACKパケットの有無を監視することによって第１の状態を検出する場合には次のようにすればよい。すなわち、TCP-SYNパケットに対応する通信情報の検出に伴って、通信情報に含まれるSource IP に対応するカウンタのカウント値を１増加させ、TCP-SYN-ACKパケットに対応する通信情報の検出に伴って、その通信情報に含まれるDestination IP に対応するカウンタのカウント値を１減少させればよい。
【００５６】
ICMP Unreachableパケットの有無を監視することによって第１の状態を検出する場合には、ICMP Unreachableパケットに対応する通信情報の検出に伴って、その通信情報に含まれるDestination IP に対応するカウンタのカウント値を１増加させればよい。
【００５７】
第２の状態（Destination PortとしてTCP/UDPの135から139まで、445、1433、1434のPortのいずれかが使用されたという状態）を検出する場合には、これら特定のDestination Portを含む通信情報の検出に伴って、その通信情報に含まれるSource IP に対応するカウンタのカウント値を１増加させればよい。
【００５８】
第３の状態（Destination Port（送信先Port）としてTCPの1024以上（1433，1434を除く）のPortが使用されたという状態）を検出する場合には、1024以上（1433，1434を除く）のDestination Portを含む通信情報の検出に伴って、その通信情報に含まれるSource IP に対応するカウンタのカウント値を１増加させればよい。
【００５９】
第４の状態（DNSサーバに対してドメイン名の名前解決を要求したが、エラーが発生したという応答、または当該ドメイン名に対応するIPアドレスが存在しないという応答があったという状態）を検出する場合には、Errorが記録されたDNS Recursive ResponseパケットまたはNo such Nameが記録されたDNS Recursive Responseパケット（もしくはその両方）に対応する通信情報の検出に伴って、その通信情報に含まれるDestination IP に対応するカウンタのカウント値を１増加させればよい。
【００６０】
第５の状態（DNSサーバに対して、所定の国名以外の国名を有するドメイン名の名前解決を要求したという状態）を検出する場合には、.jpドメイン以外のドメインを含むドメイン名が記録されたDNS Recursive Responseパケットに対応する通信情報の検出に伴って、その通信情報に含まれるDestination IP に対応するカウンタのカウント値を１増加させればよい。
【００６１】
第６の状態（HTTP GETコマンドを使用して拡張子が.exeであるファイルを取得したという状態）を検出する場合には、HTTP GETコマンドを使用して拡張子が.exeであるファイルを取得する通信に係るパケットに対応する通信情報の検出に伴って、その通信情報に含まれるSource IP またはDestination IP に対応するカウンタのカウント値を１増加させればよい。
【００６２】
第７の状態（ユーザ名が不明であることを知らせるSMTP Responseパケットがあったという状態）を検出する場合には、User Unknownが記録されたSMTP Responseパケットに対応する通信情報の検出に伴って、その通信情報に含まれるDestination IP に対応するカウンタのカウント値を１増加させればよい。
【００６３】
以下、情報処理装置の動作の説明に戻る。ステップＳ１０４に続いて、特徴量算出部１４は、カウンタ１３がカウントした複数の状態の出現数に基づいて、各状態に係る特徴量をIPアドレス毎に算出する（ステップＳ１０６）。図３は、特定のIPアドレスに関する特徴量の一例を示している。
【００６４】
図３では、状態Ａ〜Ｊに対する特徴量が示されている。状態Ａは第１の状態（送受信関係の確立に失敗したという状態）であり、これに対応する特徴量は、ICMP EchoパケットとICMP Replyパケットの数に基づいて算出された特徴量である。状態Ｂも第１の状態であり、これに対応する特徴量は、TCP-SYNパケットとTCP-SYN-ACKパケットの数に基づいて算出された特徴量である。状態Ｃも第１の状態であり、これに対応する特徴量は、ICMP Unreachableパケットの数に基づいて算出された特徴量である。図３では、状態Ａ，Ｂ，Ｃは別々の状態として扱われている。
【００６５】
状態Ｄは第２の状態（Destination Port（送信先Port）としてTCP/UDPの135から139まで、445、1433、1434のPortのいずれかが使用されたという状態）である。状態Ｅは第３の状態（Destination Port（送信先Port）としてTCPの1024以上（1433，1434を除く）のPortが使用されたという状態）である。
【００６６】
状態Ｆは第４の状態（DNSサーバに対してドメイン名の名前解決を要求したが、エラーが発生したという応答、または当該ドメイン名に対応するIPアドレスが存在しないという応答があったという状態）であり、これに対応する特徴量は、Errorが記録されたDNS Recursive Responseパケットの数に基づいて算出された特徴量である。状態Ｇも第４の状態であり、これに対応する特徴量は、No such Nameが記録されたDNS Recursive Responseパケットの数に基づいて算出された特徴量である。図３では、状態Ｆ，Ｇは別々の状態として扱われている。
【００６７】
状態Ｈは第５の状態（DNSサーバに対して、所定の国名以外の国名を有するドメイン名の名前解決を要求したという状態）である。状態Ｉは第６の状態（HTTP GETコマンドを使用して拡張子が.exeであるファイルを取得したという状態）である。状態Ｊは第７の状態（ユーザ名が不明であることを知らせるSMTP Responseパケットがあったという状態）である。
【００６８】
ステップＳ１０６に続いて、特徴量比較部１６は、特徴量算出部１４によって算出されたIPアドレス毎の特徴量と、特徴量記憶部１５によって記憶されているボット通信特徴量・正常通信特徴量とを状態毎に比較する。このとき、特徴量比較部１６は、比較結果を客観的に表す指標としてユークリッド距離を算出する（ステップＳ１０８）。
【００６９】
図４は、ボット通信特徴量と正常通信特徴量の一例を示している。図４では、状態Ａ〜Ｊに対する特徴量が示されている。これらの状態Ａ〜Ｊは、図３に示した状態Ａ〜Ｊと同じである。３段に分けて特徴量が示されているが、上側２段の特徴量が正常通信特徴量であり、最下段の特徴量がボット通信特徴量である。
【００７０】
ユークリッド距離ｄａｂは以下の（１）式で表される。ただし、ａｊは、特徴量算出部１４によって算出された、特定のIPアドレスに関する状態毎の特徴量である。ｂｊは、特徴量記憶部１５によって記憶されている状態毎のボット通信特徴量または正常通信特徴量である。また、ｊは状態のインデックスであり、Ｎは状態の総数である。
【００７１】
【数１】
2010092236.tif 000003
【００７２】
特徴量算出部１４によって算出された特徴量とボット通信特徴量または正常通信特徴量が近い場合、ユークリッド距離は小さくなる。また、特徴量算出部１４によって算出された特徴量とボット通信特徴量または正常通信特徴量が遠い場合、ユークリッド距離は大きくなる。特徴量比較部１６は、特徴量算出部１４によって算出された特徴量とボット通信特徴量および正常通信特徴量との全ての組合せについてユークリッド距離を算出する。
【００７３】
ステップＳ１０８に続いて、判定部１７は、ステップＳ１０８で算出されたユークリッド距離に基づいて、各IPアドレスが正常であるか異常であるかを判定する（ステップＳ１１０）。具体的には、判定部１７は、判定対象のIPアドレス毎に、ステップＳ１０８で算出されたユークリッド距離の中から最小のユークリッド距離を選択する。選択したユークリッド距離の算出に正常通信特徴量が用いられていれば、判定部１７は判定対象のIPアドレスが正常であると判定する。また、選択したユークリッド距離の算出にボット通信特徴量が用いられていれば、判定部１７は判定対象のIPアドレスが異常であると判定する。
【００７４】
図３および図４に示した例では、図３に示した特徴量と図４に示したボット通信特徴量とから算出されたユークリッド距離が最小となる。したがって、図３に示した特徴量に対応したIPアドレスは異常であると判定される。これに対して、特徴量算出部１４によって算出された特徴量と正常通信特徴量とから算出されたユークリッド距離が最小となった場合には、特徴量算出部１４によって算出された特徴量に対応したIPアドレスは正常であると判定される。
【００７５】
このように、特徴量の比較を行うことによって、観測された通信が正常であるか異常であるかの判定を行うことができる。図３および図４に示した例では１０種類の状態に係る特徴量が用いられているが、これに限らず、前述した第１〜第７の状態の中から２種類以上の状態に係る特徴量を用いればよい。
【００７６】
ステップＳ１１０に続いて、判定部１７は、異常であると判定したIPアドレスがあるか否かを判定する（ステップＳ１１２）。異常であると判定したIPアドレスがなかった場合（ステップＳ１１２でＮＯの場合）、以降のステップＳ１１４，Ｓ１１６の処理がスキップされる。また、異常であると判定したIPアドレスが１つ以上ある場合（ステップＳ１１２でＹＥＳの場合）、判定部１７は、異常であると判定したIPアドレスを通信情報抽出部１８に通知する。通信情報抽出部１８は、通信情報記憶部１１に記憶されている通信情報から、判定部１７によって通知されたIPアドレスをSource IPまたはDestination IPに含む通信情報を抽出する（ステップＳ１１４）。
【００７７】
通信情報抽出部１８は、抽出した通信情報を表示制御部１９へ出力する。表示制御部１９は、通信情報抽出部１８によって抽出された通信情報を表示するためのグラフィック画像データを生成し、表示部２０へ出力する。表示部２０は、表示制御部１９から出力されたグラフィック画像データに基づいて通信情報を視覚化する（ステップＳ１１６）。例えば、判定部１７によって通知されたIPアドレスをSource IPに含む通信情報が抽出された場合に、その通信情報に含まれるSource IP とDestination IPの組合せを表示すればよい。このような視覚化によって、ボットに感染した装置による通信の状況を把握することができる。
【００７８】
ステップＳ１１６の後、処理を中止するなどの指示がなければ（ステップＳ１１８でＹＥＳの場合）、処理が再度ステップＳ１００に戻る。また、処理を中止するなどの指示があった場合（ステップＳ１１８でＮＯの場合）には、一連の処理が終了する。
【００７９】
次に、本実施形態の変形例を説明する。本変形例は、ボットに感染した可能性がある装置のIPアドレスをSource IPに含み、指令サーバの可能性がある装置のIPアドレスをDestination IPに含む通信情報を抽出するというものである。本変形例では、上記と同様に図２のステップＳ１０４〜Ｓ１１４の処理が実行され、異常であると判定されたIPアドレスをSource IPに含む通信情報が抽出される。このSource IPと同じIPアドレスを有する装置はボットに感染している可能性が高い。
【００８０】
また、所定の状態（第３の状態）に関して図２のステップＳ１０４〜Ｓ１１４の処理が実行され、異常であると判定されたIPアドレスをDestination IPに含む通信情報が抽出される。このDestination IPと同じIPアドレスを有する装置は指令サーバである可能性が高い。第３の状態（Destination Port（送信先Port）としてTCPの1024以上（1433，1434を除く）のPortが使用されたという状態）は指令サーバにも見られるので、指令サーバのIPアドレスを含む通信情報を抽出する際には、第３の状態が検出対象となる。
【００８１】
本変形例において、特徴量記憶部１５は、指令サーバとして機能することが既知である装置のIPアドレスを含む通信結果に基づいて予め算出された、第３の状態に係る特徴量（以下、指令サーバ通信特徴量とする）も記憶する。指令サーバのIPアドレスを含む通信情報を抽出するためにステップＳ１０８でユークリッド距離を算出する際には、この指令サーバ通信特徴量が使用される。
【００８２】
最終的に通信情報抽出部１８は、ボットに感染した可能性がある装置が行った通信に係る通信情報に含まれるSource IPと同じIPアドレスをSource IPに含み、指令サーバの可能性がある装置が行った通信に係る通信情報に含まれるDestination IPと同じIPアドレスをDestination IPに含む通信情報を抽出する。この通信情報は、ボットに感染した可能性がある装置と、指令サーバの可能性がある装置との間で行われた通信に関係する。このように、ボットに感染した可能性がある装置のIPアドレスをSource IPに含み、指令サーバの可能性がある装置のIPアドレスをDestination IPに含む通信情報を抽出することによって、ボットに感染した装置が指令サーバと行った通信に係る通信結果をより高精度に抽出することができる。
【００８３】
上述したように、本実施形態によれば、ネットワーク上で実行された通信に係る特徴量を、ボットに感染していることが既知である装置が実行した通信に係る特徴量と比較すること、かつボットに感染した装置が行う通信に見られる複数の状態について状態毎に特徴量を比較することによって、ボットに感染した装置に関する通信結果を精度よく抽出することができる。
【００８４】
本実施形態で検出対象とする状態は、ボットに感染した装置が通信を行うことにより発生する、ボットに特有の状態である。したがって、本実施形態によれば、ボットに感染した装置が行った通信に係る通信結果をより高精度に抽出することができる。
【００８５】
また、ネットワーク上で実行された通信に係る特徴量を、ボットに感染していることが既知である装置が実行した通信に係る特徴量と、ボットに感染していないことが既知である装置が実行した通信に係る特徴量との両方と比較し、比較結果に基づいて通信結果を抽出することによって、ボットに感染した装置が行った通信に係る通信結果をより高精度に抽出することができる。
【００８６】
また、本実施形態の変形例によれば、ボットに感染した可能性がある装置のIPアドレスをSource IPに含み、指令サーバの可能性がある装置のIPアドレスをDestination IPに含む通信情報を抽出することによって、ボットに感染した装置が指令サーバと行った通信に係る通信結果をより高精度に抽出することができる。
【００８７】
以上、図面を参照して本発明の実施形態について詳述してきたが、具体的な構成は上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。例えば、上述した実施形態による情報処理装置の動作および機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータに読み込ませ、実行させてもよい。
【００８８】
ここで、「コンピュータ」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【００８９】
また、上述したプログラムは、このプログラムを記憶装置等に格納したコンピュータから、伝送媒体を介して、あるいは伝送媒体中の伝送波により他のコンピュータに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように、情報を伝送する機能を有する媒体のことをいう。また、上述したプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能を、コンピュータに既に記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【図面の簡単な説明】
【００９０】
【図１】本発明の一実施形態による情報処理装置の構成を示すブロック図である。
【図２】本発明の一実施形態による情報処理装置の動作の手順を示すフローチャートである。
【図３】本発明の一実施形態における特徴量の一例を示す参考図である。
【図４】本発明の一実施形態における特徴量の一例を示す参考図である。
【符号の説明】
【００９１】
１０・・・通信監視部、１１・・・通信情報記憶部（第１の記憶手段）、１２・・・通信解析部、１３・・・カウンタ（カウント手段）、１４・・・特徴量算出部（算出手段）、１５・・・特徴量記憶部（第２の記憶手段、第３の記憶手段）、１６・・・特徴量比較部（比較手段）、１７・・・判定部（選択手段）、１８・・・通信情報抽出部（抽出手段）、１９・・・表示制御部、２０・・・表示部
【図１】
2010092236.tif 000004
【図２】
2010092236.tif 000005
【図３】
2010092236.tif 000006
【図４】
2010092236.tif 000007