(57)【要約】【課題】ある機器が自己感染型悪性プログラムに感染したことの検知の確実性を高める。【解決手段】監視装置３０において、通信制御部３１がＩＤＳ２０からログデータを受信してログ記憶部３２に記憶し、ログ抽出部３３がログ記憶部３２から所定時間内のログデータを抽出し、ログ分割部３４がログデータを発信元ＩＰアドレスごとに分割し、ログ解析部３５が、分割後のログデータを解析し、宛先ＩＰアドレスの数が閾値を超えており、宛先ＩＰアドレスがネットブロック定義記憶部３６に定義された複数のネットブロックに跨っており、宛先ＩＰアドレスのネットブロックごとの数が閾値を超えていれば、その分割後のログデータに対応する発信元ＩＰアドレスを有するクライアントが自己感染型悪性プログラムに感染している旨の解析結果を解析結果記憶部３７に記憶し、表示制御部３８が、その解析結果を表示する。【選択図】図２
2011002916.tif 000002
【特許請求の範囲】
【請求項１】
自己感染型悪性プログラムによる感染活動を検知する感染活動検知装置であって、
複数の通信機器による監視の対象であるＩＰアドレスへのアクセスに関するアクセス情報を含むログデータを、当該複数の通信機器から受信する受信手段と、
前記受信手段により受信した前記ログデータを記憶する記憶手段と、
前記記憶手段に記憶された前記ログデータから、所定期間内の特定の機器からのアクセスに関する特定のアクセス情報を抽出する抽出手段と、
前記抽出手段により抽出された前記特定のアクセス情報におけるアクセスの宛先として指定されたＩＰアドレスの数が予め定めた閾値を超えており、当該指定されたＩＰアドレスが予め定めた複数のＩＰアドレスのグループのうちの少なくとも２つのグループに跨っていることを１つの条件として、前記特定の機器が前記自己感染型悪性プログラムに感染した可能性があることを示す情報を出力する出力手段と
を備えたことを特徴とする感染活動検知装置。
【請求項２】
前記出力手段は、前記抽出手段により抽出された前記特定のアクセス情報におけるアクセスの宛先として指定されたＩＰアドレスのうち、前記少なくとも２つのグループの各グループに含まれるＩＰアドレスの数が、当該各グループについて予め定めた閾値を超えていることを更に１つの条件として、前記特定の機器が前記自己感染型悪性プログラムに感染した可能性があることを示す情報を出力することを特徴とする請求項１に記載の感染活動検知装置。
【請求項３】
前記抽出手段は、前記記憶手段に記憶された前記ログデータから、所定期間内の前記特定の機器以外の他の機器からのアクセスに関する他のアクセス情報を抽出し、
前記出力手段は、前記抽出手段により抽出された前記他のアクセス情報におけるアクセスの宛先として指定されたＩＰアドレスの数が予め定めた閾値を超えており、当該指定されたＩＰアドレスが予め定めた複数のＩＰアドレスのグループのうちの少なくとも２つのグループに跨っており、前記特定の機器からのアクセスによる攻撃内容と前記他の機器からのアクセスによる攻撃内容との類似度が予め定めた基準を超えていることを１つの条件として、複数の機器が前記自己感染型悪性プログラムに感染した可能性があることを示す情報を出力することを特徴とする請求項１に記載の感染活動検知装置。
【請求項４】
前記出力手段は、前記抽出手段により抽出された前記特定のアクセス情報におけるアクセスの宛先として指定されたＩＰアドレスの数が予め定めた閾値未満であることを１つの条件として、前記特定の機器を用いて人的攻撃が行われている可能性があることを示す情報を出力することを特徴とする請求項１に記載の感染活動検知装置。
【請求項５】
自己感染型悪性プログラムによる感染活動を検知する感染活動検知方法であって、
複数の通信機器による監視の対象であるＩＰアドレスへのアクセスに関するアクセス情報を含むログデータを、当該複数の通信機器から受信するステップと、
受信した前記ログデータを記憶手段に記憶するステップと、
前記記憶手段に記憶された前記ログデータから、所定期間内の特定の機器からのアクセスに関する特定のアクセス情報を抽出するステップと、
抽出された前記特定のアクセス情報におけるアクセスの宛先として指定されたＩＰアドレスの数が予め定めた閾値を超えており、当該指定されたＩＰアドレスが予め定めた複数のＩＰアドレスのグループのうちの少なくとも２つのグループに跨っていることを１つの条件として、前記特定の機器が前記自己感染型悪性プログラムに感染した可能性があることを示す情報を出力するステップと
を含むことを特徴とする感染活動検知方法。
【請求項６】
自己感染型悪性プログラムによる感染活動を検知するコンピュータに、
複数の通信機器による監視の対象であるＩＰアドレスへのアクセスに関するアクセス情報を含むログデータを、当該複数の通信機器から受信する機能と、
受信した前記ログデータを記憶手段に記憶する機能と、
前記記憶手段に記憶された前記ログデータから、所定期間内の特定の機器からのアクセスに関する特定のアクセス情報を抽出する機能と、
抽出された前記特定のアクセス情報におけるアクセスの宛先として指定されたＩＰアドレスの数が予め定めた閾値を超えており、当該指定されたＩＰアドレスが予め定めた複数のＩＰアドレスのグループのうちの少なくとも２つのグループに跨っていることを１つの条件として、前記特定の機器が前記自己感染型悪性プログラムに感染した可能性があることを示す情報を出力する機能と
を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自己感染型悪性プログラムによる感染活動を検知する感染活動検知装置、感染活動検知方法、及びプログラムに関する。
【背景技術】
【０００２】
インターネットの普及に伴い、ネットワークを介した悪性プログラムによる被害が多く報告されている。ここで、悪性プログラムは、「マルウェア」とも呼ばれ、ユーザにとって好ましくない動作を行う悪意を持つプログラムのことである。例えば、コンピュータに侵入して破壊活動を行ったり、他のコンピュータへの感染活動を行ったり、情報を外部に漏洩させたりするプログラムがこれに該当し、ワームはその一例である。
【０００３】
また、近年、ボットと呼ばれる悪性プログラムによる被害も急増している。ボットも、ワームと同様にネットワークを介して自己増殖を行う自己感染型悪性プログラムであるが、外部から制御可能である点がワームとは異なる。ワームは、プログラムされた通り動作するオートマンである。これに対して、ボットは脆弱なコンピュータに感染した後、Ｃ＆Ｃ（コマンド＆コントロール）サーバと呼ばれる制御用サーバに接続し、ボットの管理者（bot herder）からの指示を待ち受ける。この結果、ボットの自己増殖に伴い、Ｃ＆Ｃサーバを中心とするボット感染コンピュータのネットワーク、即ちボットネットが形成されることとなり、ボット管理者はＣ＆Ｃサーバに対して命令を送信することでボットネットに接続された数千から数万のボットを同時に制御することが可能となっている。
【０００４】
ここで、公報記載の技術として、ワームの侵入をイベントと捉え、ネットワーク全体で起こっているイベントを検出する技術がある（例えば、特許文献１参照）。この特許文献１では、解析端末が、監視対象の特徴量を監視し、特徴量の変化が検出されると、管理端末に特徴量の変化が検出されたことを通知し、管理端末は、特徴量の変化を通知してきた解析端末の数を集計し、集計値によってイベントが発生したかを判断している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−１７９１３１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１では、添付ファイル通数の変化を通知した解析端末の数に基づいて、ワームの侵入がネットワーク全体で起こっていることを検出しているに過ぎず、ある機器がワームに感染したことを検知する手法は提示されていない。
このように、従来、ある機器がワームに感染したことをある程度の確実性をもって検知することはできないという問題点があった。また、同様の問題点は、ボット等、自己感染型悪性プログラム一般について指摘することができる。
【０００７】
本発明の目的は、ある機器が自己感染型悪性プログラムに感染したことの検知の確実性を高めることにある。
【課題を解決するための手段】
【０００８】
かかる目的のもと、本発明は、自己感染型悪性プログラムによる感染活動を検知する感染活動検知装置であって、複数の通信機器による監視の対象であるＩＰアドレスへのアクセスに関するアクセス情報を含むログデータを、複数の通信機器から受信する受信手段と、受信手段により受信したログデータを記憶する記憶手段と、記憶手段に記憶されたログデータから、所定期間内の特定の機器からのアクセスに関する特定のアクセス情報を抽出する抽出手段と、抽出手段により抽出された特定のアクセス情報におけるアクセスの宛先として指定されたＩＰアドレスの数が予め定めた閾値を超えており、指定されたＩＰアドレスが予め定めた複数のＩＰアドレスのグループのうちの少なくとも２つのグループに跨っていることを１つの条件として、特定の機器が自己感染型悪性プログラムに感染した可能性があることを示す情報を出力する出力手段とを備えた感染活動検知装置を提供する。
【０００９】
また、この装置において、出力手段は、抽出手段により抽出された特定のアクセス情報におけるアクセスの宛先として指定されたＩＰアドレスのうち、少なくとも２つのグループの各グループに含まれるＩＰアドレスの数が、各グループについて予め定めた閾値を超えていることを更に１つの条件として、特定の機器が自己感染型悪性プログラムに感染した可能性があることを示す情報を出力する、ものであってよい。
【００１０】
更に、抽出手段は、記憶手段に記憶されたログデータから、所定期間内の特定の機器以外の他の機器からのアクセスに関する他のアクセス情報を抽出し、出力手段は、抽出手段により抽出された他のアクセス情報におけるアクセスの宛先として指定されたＩＰアドレスの数が予め定めた閾値を超えており、指定されたＩＰアドレスが予め定めた複数のＩＰアドレスのグループのうちの少なくとも２つのグループに跨っており、特定の機器からのアクセスによる攻撃内容と他の機器からのアクセスによる攻撃内容との類似度が予め定めた基準を超えていることを１つの条件として、複数の機器が自己感染型悪性プログラムに感染した可能性があることを示す情報を出力する、ものであってよい。
【００１１】
更にまた、出力手段は、抽出手段により抽出された特定のアクセス情報におけるアクセスの宛先として指定されたＩＰアドレスの数が予め定めた閾値未満であることを１つの条件として、特定の機器を用いて人的攻撃が行われている可能性があることを示す情報を出力する、ものであってよい。
【００１２】
また、本発明は、自己感染型悪性プログラムによる感染活動を検知する感染活動検知方法であって、複数の通信機器による監視の対象であるＩＰアドレスへのアクセスに関するアクセス情報を含むログデータを、複数の通信機器から受信するステップと、受信したログデータを記憶手段に記憶するステップと、記憶手段に記憶されたログデータから、所定期間内の特定の機器からのアクセスに関する特定のアクセス情報を抽出するステップと、抽出された特定のアクセス情報におけるアクセスの宛先として指定されたＩＰアドレスの数が予め定めた閾値を超えており、指定されたＩＰアドレスが予め定めた複数のＩＰアドレスのグループのうちの少なくとも２つのグループに跨っていることを１つの条件として、特定の機器が自己感染型悪性プログラムに感染した可能性があることを示す情報を出力するステップとを含む感染活動検知方法も提供する。
【００１３】
更に、本発明は、自己感染型悪性プログラムによる感染活動を検知するコンピュータに、複数の通信機器による監視の対象であるＩＰアドレスへのアクセスに関するアクセス情報を含むログデータを、複数の通信機器から受信する機能と、受信したログデータを記憶手段に記憶する機能と、記憶手段に記憶されたログデータから、所定期間内の特定の機器からのアクセスに関する特定のアクセス情報を抽出する機能と、抽出された特定のアクセス情報におけるアクセスの宛先として指定されたＩＰアドレスの数が予め定めた閾値を超えており、指定されたＩＰアドレスが予め定めた複数のＩＰアドレスのグループのうちの少なくとも２つのグループに跨っていることを１つの条件として、特定の機器が自己感染型悪性プログラムに感染した可能性があることを示す情報を出力する機能とを実現させるためのプログラムも提供する。
【発明の効果】
【００１４】
本発明によれば、ある機器が自己感染型悪性プログラムに感染したことの検知の確実性を高めることができる。
【図面の簡単な説明】
【００１５】
【図１】本実施の形態が適用されるコンピュータシステムの全体構成図である。
【図２】本実施の形態における監視装置の機能構成例を示したブロック図である。
【図３】本実施の形態の監視装置が記憶するログデータの例を示した図である。
【図４】本実施の形態の監視装置が記憶するネットブロック定義の例を示した図である。
【図５】本実施の形態の監視装置におけるログ抽出部、ログ分割部、ログ解析部の動作例を示したフローチャートである。
【図６−１】本実施の形態の監視装置が生成する分割データの例を示した図である。
【図６−２】本実施の形態の監視装置が生成する分割データの例を示した図である。
【図７】本実施の形態の監視装置が記憶する解析結果の例を示した図である。
【図８】本実施の形態が適用されるコンピュータのハードウェア構成図である。
【発明を実施するための形態】
【００１６】
以下、添付図面を参照して、本発明の実施の形態について詳細に説明する。
まず、本実施の形態が適用されるコンピュータシステムについて説明する。
図１は、このようなコンピュータシステムの全体構成例を示した図である。
図示するように、このコンピュータシステムは、クライアント１０ａ，１０ｂと、ＩＤＳ（Intrusion Detection System）２０ａ，２０ｂと、監視装置３０とが、ネットワーク８０を介して接続されている。
【００１７】
クライアント１０ａ，１０ｂは、ユーザが使用するコンピュータである。例えば、パーソナルコンピュータやワークステーション、その他のコンピュータ装置にて実現される。本実施の形態では、クライアント１０ａ，１０ｂを、自己感染型悪性プログラムに感染する可能性のある特定の機器、他の機器の一例として設けている。ここで、自己感染型悪性プログラムには、ワーム、ボット等があるが、以下では、ボットを例にとり説明する。尚、図では、クライアント１０ａ，１０ｂを示したが、これらを区別する必要がない場合は、クライアント１０と称することもある。また、図には、２台のクライアント１０しか示していないが、３台以上のクライアント１０を設けてもよい。
【００１８】
ＩＤＳ２０ａ，２０ｂは、ネットワーク８０から送られるパケットを監視することにより、防御対象のサーバ等（図示せず）への侵入を検知すると共に、通信の履歴であるログデータを記録する装置であり、通信機器の一例である。特に、本実施の形態では、このログデータを任意のタイミングで監視装置３０へ送信する機能を備える。尚、図では、ＩＤＳ２０ａ，２０ｂを示したが、これらを区別する必要がない場合は、ＩＤＳ２０と称することもある。また、図には、２台のＩＤＳ２０しか示していないが、３台以上のＩＤＳ２０を設けてもよい。
【００１９】
監視装置３０は、このコンピュータシステムの管理者又はこのコンピュータシステム内でのボットの検知サービスを提供する業者が使用するコンピュータである。例えば、パーソナルコンピュータやワークステーション、その他のコンピュータ装置にて実現される。この監視装置３０は、ＩＤＳ２０ａ，２０ｂからログデータを収集して記憶し、このログデータを解析することにより、クライアント１０ａ，１０ｂがボットに感染した可能性があるか（クライアント１０ａ，１０ｂがボット化した可能性があるか）を検知する装置であり、感染活動検知装置の一例である。
ネットワーク８０は、情報の送受信に用いる通信回線である。このネットワーク８０としては、インターネットやＬＡＮ（Local Area Network）が例示される。
【００２０】
このように、本実施の形態では、監視装置３０が、ＩＤＳ２０から収集したログデータに基づいて、クライアント１０がボット化した可能性があるか検証する。
そこで、まず、この監視装置３０の機能構成について説明する。
図２は、監視装置３０の機能構成例を示したブロック図である。
図示するように、監視装置３０は、通信制御部３１と、ログ記憶部３２と、ログ抽出部３３と、ログ分割部３４と、ログ解析部３５と、ネットブロック定義記憶部３６と、解析結果記憶部３７と、表示制御部３８とを備えている。
【００２１】
通信制御部３１は、他の装置との通信を制御する。特に、本実施の形態では、ＩＤＳ２０からのログデータの受信を制御する。本実施の形態では、ログデータを受信する受信手段の一例として、通信制御部３１を設けている。
ログ記憶部３２は、通信制御部３１が受信したログデータを記憶する。ここで、ログデータは、ある発信元からある宛先への１回のアクセスに関する情報であるログレコードを、アクセスの回数だけ含むデータである。各ログレコードには、少なくとも、アクセスが行われた時刻、発信元のＩＰアドレス（発信元ＩＰアドレス）、宛先のＩＰアドレス（宛先ＩＰアドレス）、アクセスによる攻撃の特徴を示す攻撃情報を含む。本実施の形態では、アクセス情報の一例として、ログレコードを用いており、ログデータを記憶する記憶手段の一例として、ログ記憶部３２を設けている。
【００２２】
ログ抽出部３３は、ログ記憶部３２に記憶されたログデータから、所定時間内のアクセスに関するログレコードからなるログデータを抽出する。ログ分割部３４は、ログ抽出部３３が抽出したログデータを発信元ＩＰアドレスごとに分割し、分割されたログデータ（以下、「分割データ」という）を取得する。本実施の形態では、所定期間内の特定の機器からのアクセスに関する特定のアクセス情報の一例として、分割データを用いており、特定のアクセス情報を抽出する抽出手段の一例として、ログ抽出部３３及びログ分割部３４を設けている。
【００２３】
ログ解析部３５は、各分割データを解析し、各分割データに対応する発信元ＩＰアドレスを有するクライアント１０がボット化した可能性があるかどうかを調べる。本実施の形態では、特定の機器が自己感染型悪性プログラムに感染した可能性があることを示す情報を出力する出力手段の一例として、ログ解析部３５を設けている。
ネットブロック定義記憶部３６は、ネットブロックの定義情報を記憶する。ここで、ネットブロックとは、複数のＩＰアドレスのグループを予め１つのブロックとして定義したものである。ネットブロックの定義情報は、例えば、ネットブロックを一意に識別するための情報（以下、「ネットブロックＩＤ」という）とＩＰアドレスの範囲とを対応付けることで管理すればよい。
解析結果記憶部３７は、各発信元ＩＰアドレスを有するクライアント１０がボット化した可能性があるかどうか、その可能性はどの程度であるか、といった解析結果を記憶する。
表示制御部３８は、解析結果記憶部３７に記憶された解析結果の表示を制御する。
【００２４】
尚、これらの各機能は、ソフトウェアとハードウェア資源とが協働することにより実現される。具体的には、ＣＰＵ９０ａ（図８参照）が、通信制御部３１、ログ抽出部３３、ログ分割部３４、ログ解析部３５、表示制御部３８の各機能を実現するプログラムを、例えば磁気ディスク装置９０ｇ（図８参照）からメインメモリ９０ｃ（図８参照）に読み込んで処理を行う。また、ログ記憶部３２、ネットブロック定義記憶部３６、解析結果記憶部３７は、例えば磁気ディスク装置９０ｇ（図８参照）によって実現される。
【００２５】
ここで、ログ記憶部３２に記憶されるログデータについて具体的に説明する。
図３は、ログデータの一例を示した図である。
図示するように、ログデータは、時刻と、発信元ＩＰアドレスと、宛先ＩＰアドレスと、攻撃情報とを対応付けたものとなっている。既に述べた通り、時刻は、アクセスが行われた時刻であり、発信元ＩＰアドレスは、アクセスの発信元のＩＰアドレスであり、宛先ＩＰアドレスは、アクセスの宛先のＩＰアドレスである。また、攻撃情報は、アクセスによる攻撃の特徴を示す情報である。この攻撃の特徴としては、どのセキュリティホールを悪用した攻撃であるか、といった情報が例示される。但し、図では、一般化して、「ｅｘｐｌｏｉｔ１」、「ｅｘｐｌｏｉｔ２」といった記号で示している。
【００２６】
尚、監視装置３０は、１時間よりも遥かに長い時間のログデータを記憶するのが通常であるが、ここでは、図面作成の都合上、１０時から１１時までのログデータのみを示している。即ち、図において、省略記号を示した先頭行は１０時よりも前のログデータを省略していることを意味するものとし、１１時以降のログデータは存在していないものとする。
また、図には、ログレコードとして、丁度２分間隔のアクセスに関するものが示され、発信元ＩＰアドレスとして、「２．２．２．２」、「３．３．３．３」、「４．４．４．４」、「５．５．５．５」の４つのみが示されているが、これは説明を簡略化するための例に過ぎない。実際のシステムでＩＤＳ２０から収集されるログデータの場合、アクセスの間隔はもっとランダムであり、発信元ＩＰアドレスとしてもより多くのＩＰアドレスを含むものとなる。
【００２７】
また、ネットブロック定義記憶部３６に記憶されるネットブロック定義について具体的に説明する。
図４は、ネットブロック定義の一例を示した図である。
図示するように、ネットブロック定義は、ネットブロックＩＤと、ＩＰアドレス範囲とを対応付けたものとなっている。ここでは、ＩＰアドレス「１．２．３．１」からＩＰアドレス「１．２．３．１０」までがネットブロックＩＤ「Ａ」で特定されるネットブロックであり、ＩＰアドレス「１．２．３．１１」からＩＰアドレス「１．２．３．２０」までがネットブロックＩＤ「Ｂ」で特定されるネットブロックであることが示されている。
尚、このネットブロック定義は、監視装置３０のユーザが適宜設定できるようにするとよい。また、この例では、ＩＰアドレス範囲として、連続したＩＰアドレスを設定しているが、これには限らない。現実社会において互いに関連する組織のサーバのＩＰアドレスを、ＩＰアドレスが連続するかどうかに関わらず、１つのネットブロックとして定義してもよい。
【００２８】
次に、本実施の形態における監視装置３０の動作について説明する。
監視装置３０では、まず、通信制御部３１が、複数のＩＤＳ２０からログデータを受信し、ログ記憶部３２に記憶しておく。ここで、通信制御部３１が、ログデータを受信するタイミングはＩＤＳ２０に依存するものとしてよい。即ち、ＩＤＳ２０が、定期的にログデータを監視装置３０に送信し、監視装置３０は、ログデータが送信されるとそれを受信するようにするとよい。
このように、ログ記憶部３２にログデータが記憶されると、ログ抽出部３３、ログ分割部３４、ログ解析部３５によるログデータの解析処理が行われる。
【００２９】
図５は、このときのログ抽出部３３、ログ分割部３４、ログ解析部３５の動作例を示したフローチャートである。
この解析処理が開始すると、まず、ログ抽出部３３は、ログ記憶部３２に記憶されたログデータから所定時間内のログデータを抽出する（ステップ３０１）。
次に、ログ分割部３４は、ステップ３０１で抽出したログデータを、発信元ＩＰアドレスごとに分割して、分割データを生成する（ステップ３０２）。
【００３０】
その後、ステップ３０２で生成した複数の分割データごとに、その分割データに対応する発信元ＩＰアドレスを有するクライアント１０がボット化した可能性があるかどうかを検証する。
即ち、ログ解析部３５は、ログ分割部３４がログデータを分割することで生成された複数の分割データのうちの１つに着目する（ステップ３０３）。
そして、その現在着目している分割データ（以下、「着目分割データ」という）に宛先ＩＰアドレスとして含まれるＩＰアドレスの数ＣｎｔＤｓｔＡｌｌを求める（ステップ３０４）。この場合、ＩＰアドレスの数としてはユニークなＩＰアドレスの数を採用すればよい。つまり、１つの宛先ＩＰアドレスに対して複数回のアクセスがあったとしても、その宛先ＩＰアドレスは１つとして数えればよい。
【００３１】
次に、ログ解析部３５は、宛先ＩＰアドレスの数ＣｎｔＤｓｔＡｌｌが閾値Ｔｈ１を超えているかどうかを判定する（ステップ３０５）。このＣｎｔＤｓｔＡｌｌがＴｈ１を超えているという条件が、着目分割データに対応する発信元ＩＰアドレス（以下、「着目ＩＰアドレス」という）を有するクライアント１０がボット化した可能性があると判断するための第１の条件である。ここで、閾値Ｔｈ１としては、クライアント１０がボット化した場合に、ステップ３０１で用いた所定時間内にアクセスされる虞のあるＩＰアドレスの数の下限を予め設定しておけばよい。
ステップ３０５においてＣｎｔＤｓｔＡｌｌがＴｈ１を超えていると判定されれば、ログ解析部３５は、ネットブロック定義記憶部３６を参照して、着目分割データ内の各宛先ＩＰアドレスに対してネットブロックＩＤ（図では「ＮｂＩｄ」と表記）を付加する（ステップ３０６）。
【００３２】
そして、ネットブロックＩＤが付加された結果、着目分割データ内に複数のネットブロックＩＤが存在するようになったかどうか、つまり、着目分割データ内の宛先ＩＰアドレスが複数のネットブロックに跨っているかどうかを判定する（ステップ３０７）。この宛先ＩＰアドレスが複数のネットブロックに跨っているという条件が、着目ＩＰアドレスを有するクライアント１０がボット化した可能性があると判断するための第２の条件である。
ここで、宛先ＩＰアドレスが複数のネットブロックに跨っていると判定されれば、ログ解析部３５は、全てのネットブロックについて、宛先ＩＰアドレスの数ＣｎｔＤｓｔＮｂ（ｎ）が閾値Ｔｈ２を超えているかどうかを判定する（ステップ３０８）。このＣｎｔＤｓｔＮｂ（ｎ）がＴｈ２を超えているという条件が、着目ＩＰアドレスを有するクライアント１０がボット化した可能性があると判断するための第３の条件である（ｎは１からネットブロックの数までの全ての自然数を示す）。ここで、閾値Ｔｈ２としては、クライアント１０がボット化した場合に、ステップ３０１で用いた所定時間内に１つのネットブロック内でアクセスされる虞のあるＩＰアドレスの数の下限をネットブロックごとに予め設定しておけばよい。
【００３３】
ステップ３０８においてＣｎｔＤｓｔＮｂ（ｎ）がＴｈ２を超えていると判定されれば、ログ解析部３５は、着目ＩＰアドレスを有するクライアント１０がボット化した可能性がある旨の解析結果を解析結果記憶部３７に記憶する処理を行う。尚、このとき、本実施の形態では、１つのクライアント１０がボット化した程度の状況なのか、複数のクライアント１０がボット化するようなボットが蔓延した状況なのかの情報も記憶する。
【００３４】
即ち、ログ解析部３５は、まず、着目分割データ内の攻撃情報と類似する攻撃情報が、着目ＩＰアドレス以外のＩＰアドレスを有するクライアント１０が感染したボットから既に発見されているかどうかを判定する（ステップ３０９）。この場合の攻撃情報が類似するかどうかの判定は、例えば、次のように行えばよい。まず、着目分割データ内の攻撃の種類ごとの出現頻度と、着目ＩＰアドレス以外のＩＰアドレスに対応する分割データ内の攻撃の種類ごとの出現頻度とを求める。次に、各分割データ内の攻撃の種類の中から、出現頻度が全体の所定割合以上を占めるものを選択し、これらの攻撃の種類ごとの出現頻度の差分を攻撃内容の類似度として求める。そして、この差分が予め定めた閾値を下回っていれば、つまり、類似度が予め定めた基準を超えていれば、攻撃内容は類似すると判断する。
【００３５】
そして、着目分割データ内の攻撃情報と類似する攻撃情報がまだ発見されていなければ、ログ解析部３５は、解析結果記憶部３７に対し、着目ＩＰアドレスとボットフラグとボットスコアと攻撃情報とを記憶する（ステップ３１０）。ここで、着目ＩＰアドレスは、既述の通り、着目分割データに対応する発信元ＩＰアドレスであり、ボットフラグは、着目ＩＰアドレスを有するクライアント１０がボット化した可能性があることを示すフラグであり、ボットスコアは、その可能性がどの程度あるかを示すスコアである。また、攻撃情報は、着目分割データ内に含まれていた攻撃情報である。
【００３６】
また、着目分割データ内の攻撃情報と類似する攻撃情報が既に発見されていれば、ログ解析部３５は、解析結果記憶部３７に記憶されたその類似する攻撃情報に対応する全てのボットスコアをより高いボットスコアに変更すると共に、発信元ＩＰアドレスとボットフラグとその変更後のボットスコアと攻撃情報とを記憶する（ステップ３１１）。
【００３７】
一方、ステップ３０５においてＣｎｔＤｓｔＡｌｌがＴｈ１を超えていないと判定されれば、ログ解析部３５は、宛先ＩＰアドレスの数ＣｎｔＤｓｔＡｌｌが閾値Ｔｈ３未満であるかどうかを判定する（ステップ３１２）。
ここで、ＣｎｔＤｓｔＡｌｌがＴｈ３未満であると判定されれば、ログ解析部３５は、着目ＩＰアドレスを有するクライアント１０から人的な攻撃（人手による攻撃）がなされていると判断し、解析結果記憶部３７に対し、着目ＩＰアドレスと人的攻撃フラグとを記憶する（ステップ３１３）。ここで、人的攻撃フラグは、着目ＩＰアドレスを有するクライアント１０を用いて人的な攻撃が行われている可能性があることを示すフラグである。
【００３８】
尚、ステップ３０７で宛先ＩＰアドレスが複数のネットブロックに跨っていないと判定された場合、ステップ３０８で何れかのｎについてＣｎｔＤｓｔＮｂ（ｎ）がＴｈ２以下であると判定された場合、ステップ３１２でＣｎｔＤｓｔＡｌｌがＴｈ３以上であると判定された場合、ログ解析部３５は、着目ＩＰアドレスを有するクライアント１０がボット化したとも、そのクライアント１０を用いて人的な攻撃がなされているとも判断できないので、解析結果記憶部３７に対して情報を出力せずにステップ３１４へ進む。
これにより、ログ解析部３５は、未処理の分割データが他にあるかどうか判定する（ステップ３１４）。そして、未処理の分割データがあれば、その分割データを着目分割データとしてステップ３０３〜３１３の処理を行う。また、未処理の分割データがなければ、処理を終了する。
【００３９】
このようにして処理が終了すると、解析結果記憶部３７には、ログ解析部３５による解析結果が記憶されている。
そこで、最後に、表示制御部３８が、解析結果記憶部３７に記憶された解析結果が表示されるよう、表示機構９０ｄ（図８参照）を制御する。
【００４０】
以下、図５に示した動作例について、図３のログデータ及び図４のネットブロック定義を用いて、具体的に説明する。
まず、ステップ３０１で、所定時間を、現在時刻から遡って１時間であるとすると、ログ抽出部３３は、１０時２分のログレコードから１０時５８分のログレコードまでを、図３のログデータから抽出する。
次に、この例ではログデータに４つの発信元ＩＰアドレスが含まれるので、ステップ３０２で、ログ分割部３４は、４つの分割データを生成する。
【００４１】
図６−１及び図６−２に、このとき生成される分割データについて示す。
このうち、図６−１（ａ）は、発信元ＩＰアドレス「２．２．２．２」に対応する分割データであり、同（ｂ）は、発信元ＩＰアドレス「３．３．３．３」に対応する分割データであり、図６−２（ｃ）は、発信元ＩＰアドレス「４．４．４．４」に対応する分割データであり、同（ｄ）は、発信元ＩＰアドレス「５．５．５．５」に対応する分割データである。
但し、図６−１（ａ），（ｂ）、図６−２（ｃ）に示したネットブロックＩＤは、後述するステップ３０６で設定されるものであるので、この時点では設定されていないものとする。
【００４２】
その後、ステップ３０３〜３１３では、これら４つの分割データごとにボット化の検証を行うが、ここでは、発信元ＩＰアドレス「２．２．２．２」に対応する分割データ、発信元ＩＰアドレス「３．３．３．３」に対応する分割データ、発信元ＩＰアドレス「４．４．４．４」に対応する分割データ、発信元ＩＰアドレス「５．５．５．５」に対応する分割データの順に検証を行うものとする。尚、この検証において用いる閾値は、Ｔｈ１を「６」、Ｔｈ２を「３」、Ｔｈ３を「３」とする。
【００４３】
まず、ステップ３０３で発信元ＩＰアドレス「２．２．２．２」に対応する分割データに着目した場合について述べる。
この場合は、ステップ３０４で、ＣｎｔＤｓｔＡｌｌに「１０」が設定され、これは「６」よりも大きいので、ステップ３０５で、ＣｎｔＤｓｔＡｌｌがＴｈ１よりも大きいと判定される。従って、ステップ３０６へ進み、図６−１（ａ）に示すように、ＩＰアドレス「１．２．３．４」から「１．２．３．８」までにネットブロックＩＤ「Ａ」が付加され、ＩＰアドレス「１．２．３．１４」から「１．２．３．１８」までにネットブロックＩＤ「Ｂ」が付加される。これにより、ステップ３０７では、ネットブロックＩＤが複数存在すると判定される。また、ステップ３０８で、ネットブロックＩＤ「Ａ」で特定されるネットブロック内の宛先ＩＰアドレスの数ＣｎｔＤｓｔＮｂ（１）、ネットブロックＩＤ「Ｂ」で特定されるネットブロック内の宛先ＩＰアドレスの数ＣｎｔＤｓｔＮｂ（２）に「５」が設定され、これは「３」よりも大きいので、ステップ３０８で、ＣｎｔＤｓｔＮｂ（ｎ）がＴｈ２よりも大きいと判定される。
【００４４】
このようにして、ＩＰアドレス「２．２．２．２」を有するクライアント１０はボット化している可能性があると判定される。
そこで、ログ解析部３５は、その旨の情報を解析結果記憶部３７に記憶することになるが、解析結果記憶部３７に過去の検証に関する情報が何も記憶されていないとすると、ステップ３０９で、この分割データ内の攻撃情報に類似する攻撃情報はまだ記憶されていないと判定され、ステップ３１０へ進むことになる。
【００４５】
図７（ａ）に、ステップ３１０で解析結果記憶部３７に記憶される解析結果について示す。
図示するように、解析結果は、発信元ＩＰアドレスと、フラグと、ボットスコアと、攻撃情報とを対応付けたものとなっている。ここで、フラグは、発信元ＩＰアドレスを有するクライアント１０がボット化した可能性があること、又は、発信元ＩＰアドレスを有するクライアント１０を用いて人的な攻撃が行われていることを示すフラグである。前者の場合、フラグにはボットフラグ「ｂｏｔ」が設定され、後者の場合、フラグには人的攻撃フラグ「ｍａｎ」が設定される。また、ボットスコアは、発信元ＩＰアドレスを有するクライアント１０がボット化した可能性の程度を表すスコアである。
この図に示されるように、ステップ３１０では、発信元ＩＰアドレスとして、「２．２．２．２」が記憶され、フラグとして、ボット化した可能性があることを示す「ｂｏｔ」が記憶され、ボットスコアとして、「ｓｃｏｒｅ１」が記憶される。
【００４６】
次に、ステップ３０３で発信元ＩＰアドレス「３．３．３．３」に対応する分割データに着目した場合について述べる。
この場合は、ステップ３０４で、ＣｎｔＤｓｔＡｌｌに「１０」が設定され、これは「６」よりも大きいので、ステップ３０５で、ＣｎｔＤｓｔＡｌｌがＴｈ１よりも大きいと判定される。従って、ステップ３０６へ進み、図６−１（ｂ）に示すように、ＩＰアドレス「１．２．３．１８」から「１．２．３．１４」までにネットブロックＩＤ「Ｂ」が付加され、ＩＰアドレス「１．２．３．８」から「１．２．３．４」までにネットブロックＩＤ「Ａ」が付加される。これにより、ステップ３０７では、ネットブロックＩＤが複数存在すると判定される。また、ステップ３０８で、ネットブロックＩＤ「Ａ」で特定されるネットブロック内の宛先ＩＰアドレスの数ＣｎｔＤｓｔＮｂ（１）、ネットブロックＩＤ「Ｂ」で特定されるネットブロック内の宛先ＩＰアドレスの数ＣｎｔＤｓｔＮｂ（２）に「５」が設定され、これは「３」よりも大きいので、ステップ３０８で、ＣｎｔＤｓｔＮｂ（ｎ）がＴｈ２よりも大きいと判定される。
【００４７】
このようにして、ＩＰアドレス「３．３．３．３」を有するクライアント１０はボット化している可能性があると判定される。
そこで、ログ解析部３５は、その旨の情報を解析結果記憶部３７に記憶することになるが、解析結果記憶部３７にはＩＰアドレス「２．２．２．２」に対応する分割データ内の攻撃情報が記憶されているので、これをＩＰアドレス「３．３．３．３」に対応する分割データ内の攻撃情報と比較する。この場合、攻撃情報は共に「ｅｘｐｌｏｉｔ１」であるので、ステップ３０９で、この分割データ内の攻撃情報に類似する攻撃情報が既に記憶されていると判定され、ステップ３１１へ進むことになる。
【００４８】
図７（ｂ）に、ステップ３１１で解析結果記憶部３７に記憶される解析結果について示す。尚、解析結果を構成する各項目については既に述べたので、ここでの説明は省略する。
この図に示されるように、ステップ３１１では、発信元ＩＰアドレスとして、「３．３．３．３」が記憶され、フラグとして、ボット化した可能性があることを示す「ｂｏｔ」が記憶され、ボットスコアとして、「ｓｃｏｒｅ２」が記憶される。ここで、「ｓｃｏｒｅ２」は、「ｓｃｏｒｅ１」よりも高いスコアであり、ボットが蔓延している可能性があることを示している。即ち、「ｓｃｏｒｅ１」は、特定の機器が自己感染型悪性プログラムに感染した可能性があることを示す情報の一例であり、「ｓｃｏｒｅ２」は、複数の機器が自己感染型悪性プログラムに感染した可能性があることを示す情報の一例である。
【００４９】
次いで、ステップ３０３で発信元ＩＰアドレス「４．４．４．４」に対応する分割データに着目した場合について述べる。
この場合は、ステップ３０４で、ＣｎｔＤｓｔＡｌｌに「７」が設定され、これは「６」よりも大きいので、ステップ３０５で、ＣｎｔＤｓｔＡｌｌがＴｈ１よりも大きいと判定される。従って、ステップ３０６へ進み、図６−２（ｃ）に示すように、ＩＰアドレス「１．２．３．１」から「１．２．３．５」までにネットブロックＩＤ「Ａ」が付加され、ＩＰアドレス「１．２．３．１３」、「１．２．３．１４」にネットブロックＩＤ「Ｂ」が付加される。これにより、ステップ３０７では、ネットブロックＩＤが複数存在すると判定される。また、ステップ３０８で、ネットブロックＩＤ「Ａ」で特定されるネットブロック内の宛先ＩＰアドレスの数ＣｎｔＤｓｔＮｂ（１）に「５」が設定され、ネットブロックＩＤ「Ｂ」で特定されるネットブロック内の宛先ＩＰアドレスの数ＣｎｔＤｓｔＮｂ（２）に「２」が設定される。ところが、この場合、前者は「３」よりも大きいものの、後者は「３」よりも大きくないので、ステップ３０８で、ＣｎｔＤｓｔＮｂ（ｎ）がＴｈ２よりも大きくないと判定される。
【００５０】
このようにして、ＩＰアドレス「４．４．４．４」を有するクライアント１０はボット化している可能性があまりないと判定される。この場合、ログ解析部３５は、解析結果記憶部３７に情報を記憶しない。
【００５１】
最後に、ステップ３０３で発信元ＩＰアドレス「５．５．５．５」に対応する分割データに着目した場合について述べる。
この場合は、ステップ３０４で、ＣｎｔＤｓｔＡｌｌに「２」が設定され、これは「６」よりも小さいので、ステップ３０５で、ＣｎｔＤｓｔＡｌｌがＴｈ１よりも大きくないと判定される。また、ＣｎｔＤｓｔＡｌｌの値「２」は「３」よりも小さいので、ステップ３１２で、ＣｎｔＤｓｔＡｌｌがＴｈ３よりも大きくないと判定される。
【００５２】
このようにして、ＩＰアドレス「５．５．５．５」を有するクライアント１０については、これを用いて人的攻撃が行われている可能性があると判定される。
そこで、ログ解析部３５は、ステップ３１３で、その旨の情報を解析結果記憶部３７に記憶することになる。
【００５３】
図７（ｃ）に、ステップ３１３で解析結果記憶部３７に記憶される解析結果について示す。尚、解析結果を構成する各項目については既に述べたので、ここでの説明は省略する。
この図に示されるように、ステップ３１３では、発信元ＩＰアドレスとして、「５．５．５．５」が記憶され、フラグとして、人的攻撃が行われている可能性があることを示す「ｍａｎ」が記憶されている。
【００５４】
以上により、本実施の形態の動作は終了する。
尚、本実施の形態において、監視装置３０は、ＩＤＳ２０からログデータを収集するものとしたが、これには限らない。例えば、ＩＰＳ（Intrusion Prevention System）、ＷＡＦ（Web Application Firewall）、ハニーネット等の通信機器や通信ソフトウェアからログデータを収集するようにしてもよい。
【００５５】
以上述べたように、本実施の形態では、所定時間内に１つの発信元ＩＰアドレスからアクセスされた宛先ＩＰアドレスの数が閾値を超えているという第１の条件と、その宛先ＩＰアドレスが複数のネットブロックに跨っているという第２の条件と、ネットブロックごとの宛先ＩＰアドレスの数が閾値を超えているという第３の条件とが満たされた場合に、その発信元ＩＰアドレスを有するクライアント１０が自己感染型悪性プログラムに感染した可能性があると判断するようにした。これにより、クライアント１０が自己感染型悪性プログラムに感染したことを、ある程度の確実性をもって検知することが可能となった。
【００５６】
最後に、本実施の形態を適用するのに好適なコンピュータのハードウェア構成について説明する。図８は、このようなコンピュータのハードウェア構成の一例を示した図である。図示するように、コンピュータは、演算手段であるＣＰＵ（Central Processing Unit）９０ａと、Ｍ／Ｂ（マザーボード）チップセット９０ｂを介してＣＰＵ９０ａに接続されたメインメモリ９０ｃと、同じくＭ／Ｂチップセット９０ｂを介してＣＰＵ９０ａに接続された表示機構９０ｄとを備える。また、Ｍ／Ｂチップセット９０ｂには、ブリッジ回路９０ｅを介して、ネットワークインターフェイス９０ｆと、磁気ディスク装置（ＨＤＤ）９０ｇと、音声機構９０ｈと、キーボード／マウス９０ｉと、フレキシブルディスクドライブ９０ｊとが接続されている。
【００５７】
尚、図８において、各構成要素は、バスを介して接続される。例えば、ＣＰＵ９０ａとＭ／Ｂチップセット９０ｂの間や、Ｍ／Ｂチップセット９０ｂとメインメモリ９０ｃの間は、ＣＰＵバスを介して接続される。また、Ｍ／Ｂチップセット９０ｂと表示機構９０ｄとの間は、ＡＧＰ（Accelerated Graphics Port）を介して接続されてもよいが、表示機構９０ｄがＰＣＩ Ｅｘｐｒｅｓｓ対応のビデオカードを含む場合、Ｍ／Ｂチップセット９０ｂとこのビデオカードの間は、ＰＣＩ Ｅｘｐｒｅｓｓ（ＰＣＩｅ）バスを介して接続される。また、ブリッジ回路９０ｅと接続する場合、ネットワークインターフェイス９０ｆについては、例えば、ＰＣＩ Ｅｘｐｒｅｓｓを用いることができる。また、磁気ディスク装置９０ｇについては、例えば、シリアルＡＴＡ（AT Attachment）、パラレル転送のＡＴＡ、ＰＣＩ（Peripheral Components Interconnect）を用いることができる。更に、キーボード／マウス９０ｉ、及び、フレキシブルディスクドライブ９０ｊについては、ＵＳＢ（Universal Serial Bus）を用いることができる。
【符号の説明】
【００５８】
１０…クライアント、２０…ＩＤＳ、３０…監視装置、３１…通信制御部、３２…ログ記憶部、３３…ログ抽出部、３４…ログ分割部、３５…ログ解析部、３６…ネットブロック定義記憶部、３７…解析結果記憶部、３８…表示制御部
【図１】
2011002916.tif 000003
【図２】
2011002916.tif 000004
【図３】
2011002916.tif 000005
【図４】
2011002916.tif 000006
【図５】
2011002916.tif 000007
【図６−１】
2011002916.tif 000008
【図６−２】
2011002916.tif 000009
【図７】
2011002916.tif 000010
【図８】
2011002916.tif 000011