(57)【要約】【課題】各コンピュータの処理量を軽減してワームの感染源とその経路を特定することを可能とするワーム感染源特定システム等を提供する。【解決手段】  エージェントコンピュータ２１他が、通信パケットを検査して通信ログ一時テーブルとして記録するパケット検査手段２５１と、ワームによる通信を検出する条件とこれに対応するシグネチャＩＤを記憶するシグネチャ管理テーブル２６１と、通信ログ一時テーブルの内容の中から発信元、宛先ネットワーク、シグネチャＩＤが同一である通信を集約する通信ログ集約手段２０２〜２０３と、これを送信する通信ログ送信手段２５４とを有し、マネージャコンピュータ２０が、エージェントコンピュータから受信した内容を通信ログ管理テーブルとして保存する通信ログ格納手段２０１と、この通信ログ管理テーブルに記録されたデータからワーム感染端末を特定するワーム感染源特定手段２０２とを有する。【選択図】図１
2011101172.tif 000002
【特許請求の範囲】
【請求項１】
ワームに感染したコンピュータ装置であるワーム感染端末が、コンピュータネットワークに接続されたことを検出するワーム感染源特定システムであって、
前記ワーム感染端末に関する情報を収集するエージェントコンピュータと、前記エージェントコンピュータが収集した情報を受信して前記ワーム感染端末を特定するマネージャコンピュータとを備え、
前記エージェントコンピュータが、前記コンピュータネットワーク上の通信パケットを検査してその検査結果を通信ログ一時テーブルとして記録するパケット検査手段と、前記ワームによる通信を検出する条件とこれに対応するシグネチャＩＤを予め記憶しているシグネチャ管理テーブルと、前記通信ログ一時テーブルの内容の中から発信元、宛先ネットワークおよび前記シグネチャＩＤが同一である通信を集約して通信ログ送信用テーブルを作成する通信ログ集約手段と、前記通信ログ送信用テーブルを前記マネージャコンピュータに送信する通信ログ送信手段とを有することを特徴とするワーム感染源特定システム。
【請求項２】
前記エージェントコンピュータの前記通信ログ集約手段が、
前記通信ログ一時テーブルの内容の中から発信元、宛先ネットワークおよび前記シグネチャＩＤが同一である通信を集計して宛先ＩＰ数をカウントし、通信ログ集約テーブルを作成する通信ログ第１次集約部と、
前記通信ログ集約テーブルの内容の中から発信元、宛先ネットワークおよび前記シグネチャＩＤが同一である通信を集約して前記宛先ＩＰ数を合計し、前記通信ログ送信用テーブルを作成する通信ログ第２次集約部とを含むことを特徴とする、請求項１に記載のワーム感染源特定システム。
【請求項３】
前記エージェントコンピュータの前記通信ログ第１次集約部が、前記シグネチャ管理テーブルに予め記憶されたタイムアウト時間を経過したデータを前記通信ログ一時テーブルから削除する機能を有することを特徴とする、請求項２に記載のワーム感染源特定システム。
【請求項４】
前記エージェントコンピュータが、前記ワーム感染端末の検出の対象としない通信内容について記憶している例外情報管理テーブルを有し、
前記パケット検査手段が、前記通信パケットの前記検査結果の中から前記例外情報管理テーブルに記憶されている内容の通信を除外して前記通信ログ一時テーブルに記録することを特徴とする、請求項１に記載のワーム感染源特定システム。
【請求項５】
前記マネージャコンピュータが、前記エージェントコンピュータから受信した前記通信ログ送信用テーブルの内容を通信ログ管理テーブルとして保存する通信ログ格納手段と、前記通信ログ管理テーブルに記録されたデータから前記ワーム感染端末を特定して感染経路リストを出力するワーム感染源特定手段とを有することを特徴とする、請求項１に記載のワーム感染源特定システム。
【請求項６】
前記マネージャコンピュータの前記ワーム感染源特定手段が、前記通信ログ管理テーブルに記録された前記通信パケットに含まれる、特定ユーザを示すユーザＩＤの数であるユーザＩＤ数および宛先となるＩＰアドレスの数である宛先ＩＰ数のうち、少なくとも１つ以上から前記ワーム感染端末を特定することを特徴とする、請求項５に記載のワーム感染源特定システム。
【請求項７】
前記マネージャコンピュータが、前記感染経路リストから前記ワームが前記コンピュータネットワーク内で感染を広げた日時と経路を図示する感染経路図を作成して出力する感染経路図作成手段を有することを特徴とする、請求項５に記載のワーム感染源特定システム。
【請求項８】
前記マネージャコンピュータと前記エージェントコンピュータとの間が、前記コンピュータネットワークとは別系統の管理用ネットワークで接続されていることを特徴とする、請求項１ないし請求項７のうちいずれか１項に記載のワーム感染源特定システム。
【請求項９】
ワームに感染したコンピュータ装置であるワーム感染端末に関する情報を収集してマネージャコンピュータに送信するエージェントコンピュータであって、
前記コンピュータネットワーク上の通信パケットを検査してその検査結果を通信ログ一時テーブルとして記録するパケット検査手段と、
前記ワームによる通信を検出する条件とこれに対応するシグネチャＩＤを予め記憶しているシグネチャ管理テーブルと、
前記通信ログ一時テーブルの内容の中から発信元、宛先ネットワークおよび前記シグネチャＩＤが同一である通信を集約して通信ログ送信用テーブルを作成する通信ログ集約手段と、
前記通信ログ送信用テーブルを前記マネージャコンピュータに送信する通信ログ送信手段と
を有することを特徴とするエージェントコンピュータ。
【請求項１０】
ワームに感染したコンピュータ装置であるワーム感染端末がコンピュータネットワークに接続されたことを検出するマネージャコンピュータであって、
同一のコンピュータネットワークに接続されたエージェントコンピュータから受信した前記ワーム感染端末に関する情報を通信ログ管理テーブルとして保存する通信ログ格納手段と、
前記通信ログ管理テーブルに記録されたデータから前記ワーム感染端末を特定して前記ワームの感染経路を示す感染経路リストを作成するワーム感染源特定手段と
を有することを特徴とするマネージャコンピュータ。
【請求項１１】
ワームに感染したコンピュータ装置であるワーム感染端末が、コンピュータネットワークに接続されたことを検出するマネージャコンピュータと、前記ワーム感染端末に関する情報を収集して前記マネージャコンピュータに送信するエージェントコンピュータとを備えるワーム感染源特定システムにあって、
前記エージェントコンピュータが、前記ワームによる通信を検出する条件とこれに対応するシグネチャＩＤをシグネチャ管理テーブルに予め記憶し、
前記エージェントコンピュータが、前記コンピュータネットワーク上の通信パケットを検査し、
前記エージェントコンピュータが、前記通信パケットを前記シグネチャ管理テーブルと照合して前記シグネチャＩＤを特定し、
前記エージェントコンピュータが、前記通信パケットの検査結果を通信ログ一時テーブルとして記録し、
前記エージェントコンピュータが、前記通信ログ一時テーブルの内容の中から発信元、宛先ネットワークおよび前記シグネチャＩＤが同一である通信を集約して通信ログ送信用テーブルを作成し、
前記エージェントコンピュータが、前記通信ログ送信用テーブルを前記マネージャコンピュータに送信し、
前記マネージャコンピュータが、前記エージェントコンピュータから受信した前記通信ログ送信用テーブルの内容を通信ログ管理テーブルとして保存し、
前記マネージャコンピュータが、前記通信ログ管理テーブルに記録されたデータから前記ワーム感染端末を特定して前記ワームの感染経路を示す感染経路リストを作成する
ことを特徴とするワーム感染源特定方法。
【請求項１２】
ワームに感染したコンピュータ装置であるワーム感染端末が、コンピュータネットワークに接続されたことを検出するマネージャコンピュータと、前記ワーム感染端末に関する情報を収集して前記マネージャコンピュータに送信するエージェントコンピュータとを備えるワーム感染源特定システムにあって、前記ワームによる通信を検出する条件とこれに対応するシグネチャＩＤをシグネチャ管理テーブルに予め記憶した前記エージェントコンピュータに、
前記コンピュータネットワーク上の通信パケットを検査する手順と、
前記通信パケットを前記シグネチャ管理テーブルと照合して前記シグネチャＩＤを特定する手順と、
前記通信パケットの検査結果を通信ログ一時テーブルとして記録する手順と、
前記通信ログ一時テーブルの内容の中から発信元、宛先ネットワークおよび前記シグネチャＩＤが同一である通信を集約して通信ログ送信用テーブルを作成する手順と、
前記通信ログ送信用テーブルを前記マネージャコンピュータに送信する手順と
を実行させることを特徴とするワーム感染源特定プログラム。
【請求項１３】
ワームに感染したコンピュータ装置であるワーム感染端末が、コンピュータネットワークに接続されたことを検出するマネージャコンピュータと、前記ワーム感染端末に関する情報を収集して前記マネージャコンピュータに送信するエージェントコンピュータとを備えるワーム感染源特定システムにあって、前記マネージャコンピュータに、
前記エージェントコンピュータから受信した前記ワーム感染端末に関する情報を通信ログ管理テーブルとして保存する手順と、
前記通信ログ管理テーブルに記録されたデータから前記ワーム感染端末を特定して前記ワームの感染経路を示す感染経路リストを作成する手順と
を実行させることを特徴とするワーム感染源特定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はコンピュータネットワーク上でワームの感染源とその経路を特定することに関し、特にその感染源および経路を特定する処理にかかるコンピュータ装置およびネットワークへの負荷を軽減することに関する。
【背景技術】
【０００２】
コンピュータネットワークが社会や企業などにとって重要なインフラとなると同時に、ネットワークを介して感染を広げていく不正プログラム、即ち広義のコンピュータウィルスによる被害も深刻化している。本明細書では、広義のコンピュータウィルスの中で、宿主となるファイルを必要とせず、それ自体で独立して実行可能なプログラムファイルであるものを、ワームという。
【０００３】
このワームにより、ＤｏＳ攻撃（Denial of Service attack）や迷惑メールの送信、機密データの漏洩などのような不正な動作がなされ、その結果としてたとえば特定のウェブサーバや電子メールサーバなどに対して過大な負荷を生じさせられてネットワークの障害が起こるなどのような被害が実際に発生している。これは企業にとっては業務の支障、あるいは社会的信用の喪失などになるので、企業内のネットワークにワームに感染したコンピュータ装置（以後これを感染源という）が接続された場合、そのコンピュータ装置を速やかに特定し、適切な措置を執る必要がある。
【０００４】
しかしながら、ワームは次々と亜種や新種が出現し、その感染を拡大する手口も年々巧妙になってきていることから、ワーム対策は「いたちごっこ」にならざるを得ない。また、セキュリティと利便性はトレードオフの関係にあり、さらに設定したセキュリティポリシーの欠陥をついてワームが感染することさえある。このため、ワームによる感染被害を完全に防止することは困難を極める。
【０００５】
既存のアンチウィルスなどの技術で検出できないワームや、セキュリティ設定の欠陥部分をついて感染するワームについて、ＩＰＳ（Intrusion Prevention System、侵入防止システム）を利用して、ネットワークに接続されたファイアウォールや端末などの通信ログをサーバコンピュータに集約し、相関分析などを行って異常な通信を検出し、その感染経路や感染源の特定を行うということが通常は行われている。
【０００６】
これに関連して、次のような技術文献がある。特許文献１には、各端末の情報をＩＰノードスコープが収集し、そこで収集した情報からモニタシステムがワームを検出するという感染防止システムが記載されている。特許文献２には、通信ログのデータの中から所定の検出条件に該当する通信を検出することによりワームを検出するというワーム判定装置が記載されている。特許文献３には、不正な通信パケットを捕捉および記録し、その伝搬経路を特定するというワーム伝搬監視システムが記載されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００７−１０９２４７号公報
【特許文献２】特許４０５１０２０号公報
【特許文献３】特許４２３５９０７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、ネットワークに接続された各機器に保存される通信ログはただでさえ膨大な量である。この中から、特定の条件を満たす通信を検出してワームの感染を検出するには、この処理を担当するコンピュータ装置に膨大な負荷を強いることになる。
【０００９】
また、この膨大なログをネットワークを介して機器間を転送することも、ネットワーク全体に対して負荷を強いることとなる。ネットワーク上にワームに感染した機器があると、ただでさえその機器が異常な回数や容量の通信を行ってネットワークの帯域を圧迫して他の機器に過大な負荷を強いているので、その中で膨大なログを転送することは現実的であるとは言えない。
【００１０】
前述の特許文献１〜３のいずれにも、転送されるデータ量および各コンピュータでの処理量を軽減することについては記載されていないので、これらの技術では上記の問題点を解決することはできない。
【００１１】
本発明の目的は、ネットワーク上で転送されるデータ量、および検出処理に係る各コンピュータの処理量を軽減してワームの感染源とその経路を特定することを可能とするワーム感染源特定システム、特定方法および特定プログラム、エージェント並びにマネージャコンピュータを提供することにある。
【課題を解決するための手段】
【００１２】
上記目的を達成するため、本発明に係るワーム感染源特定システムは、ワームに感染したコンピュータ装置であるワーム感染端末が、コンピュータネットワークに接続されたことを検出するワーム感染源特定システムであって、ワーム感染端末に関する情報を収集するエージェントコンピュータと、エージェントコンピュータが収集した情報を受信してワーム感染端末を特定するマネージャコンピュータとを備え、エージェントコンピュータが、コンピュータネットワーク上の通信パケットを検査してその検査結果を通信ログ一時テーブルとして記録するパケット検査手段と、ワームによる通信を検出する条件とこれに対応するシグネチャＩＤを予め記憶しているシグネチャ管理テーブルと、通信ログ一時テーブルの内容の中から発信元、宛先ネットワークおよびシグネチャＩＤが同一である通信を集約して通信ログ送信用テーブルを作成する通信ログ集約手段と、通信ログ送信用テーブルをマネージャコンピュータに送信する通信ログ送信手段とを有することを特徴とする。
【００１３】
上記目的を達成するため、本発明に係るエージェントコンピュータは、ワームに感染したコンピュータ装置であるワーム感染端末に関する情報を収集してマネージャコンピュータに送信するエージェントコンピュータであって、コンピュータネットワーク上の通信パケットを検査してその検査結果を通信ログ一時テーブルとして記録するパケット検査手段と、ワームによる通信を検出する条件とこれに対応するシグネチャＩＤを予め記憶しているシグネチャ管理テーブルと、通信ログ一時テーブルの内容の中から発信元、宛先ネットワークおよびシグネチャＩＤが同一である通信を集約して通信ログ送信用テーブルを作成する通信ログ集約手段と、通信ログ送信用テーブルをマネージャコンピュータに送信する通信ログ送信手段とを有することを特徴とする。
【００１４】
上記目的を達成するため、本発明に係るマネージャコンピュータは、ワームに感染したコンピュータ装置であるワーム感染端末が、コンピュータネットワークに接続されたことを検出するマネージャコンピュータであって、同一のコンピュータネットワークに接続されたエージェントコンピュータから受信したワーム感染端末に関する情報を通信ログ管理テーブルとして保存する通信ログ格納手段と、通信ログ管理テーブルに記録されたデータからワーム感染端末を特定してワームの感染経路を示す感染経路リストを作成するワーム感染源特定手段とを有することを特徴とする。
【００１５】
上記目的を達成するため、本発明に係るワーム感染源特定方法は、ワームに感染したコンピュータ装置であるワーム感染端末が、コンピュータネットワークに接続されたことを検出するマネージャコンピュータと、ワーム感染端末に関する情報を収集してマネージャコンピュータに送信するエージェントコンピュータとを備えるワーム感染源特定システムにあって、エージェントコンピュータが、ワームによる通信を検出する条件とこれに対応するシグネチャＩＤをシグネチャ管理テーブルに予め記憶し、エージェントコンピュータが、コンピュータネットワーク上の通信パケットを検査し、エージェントコンピュータが、通信パケットをシグネチャ管理テーブルと照合してシグネチャＩＤを特定し、エージェントコンピュータが、通信パケットの検査結果を通信ログ一時テーブルとして記録し、エージェントコンピュータが、通信ログ一時テーブルの内容の中から発信元、宛先ネットワークおよびシグネチャＩＤが同一である通信を集約して通信ログ送信用テーブルを作成し、エージェントコンピュータが、通信ログ送信用テーブルをマネージャコンピュータに送信し、マネージャコンピュータが、エージェントコンピュータから受信した通信ログ送信用テーブルの内容を通信ログ管理テーブルとして保存し、マネージャコンピュータが、通信ログ管理テーブルに記録されたデータからワーム感染端末を特定してワームの感染経路を示す感染経路リストを作成することを特徴とする。
【００１６】
上記目的を達成するため、本発明に係るワーム感染源特定プログラムは、ワームに感染したコンピュータ装置であるワーム感染端末が、コンピュータネットワークに接続されたことを検出するマネージャコンピュータと、ワーム感染端末に関する情報を収集してマネージャコンピュータに送信するエージェントコンピュータとを備えるワーム感染源特定システムにあって、ワームによる通信を検出する条件とこれに対応するシグネチャＩＤをシグネチャ管理テーブルに予め記憶したエージェントコンピュータに、コンピュータネットワーク上の通信パケットを検査する手順と、通信パケットをシグネチャ管理テーブルと照合してシグネチャＩＤを特定する手順と、通信パケットの検査結果を通信ログ一時テーブルとして記録する手順と、通信ログ一時テーブルの内容の中から発信元、宛先ネットワークおよびシグネチャＩＤが同一である通信を集約して通信ログ送信用テーブルを作成する手順と、通信ログ送信用テーブルをマネージャコンピュータに送信する手順とを実行させることを特徴とする。
【００１７】
上記目的を達成するため、本発明に係る別のワーム感染源特定プログラムは、ワームに感染したコンピュータ装置であるワーム感染端末が、コンピュータネットワークに接続されたことを検出するマネージャコンピュータと、ワーム感染端末に関する情報を収集してマネージャコンピュータに送信するエージェントコンピュータとを備えるワーム感染源特定システムにあって、マネージャコンピュータに、エージェントコンピュータから受信したワーム感染端末に関する情報を通信ログ管理テーブルとして保存する手順と、通信ログ管理テーブルに記録されたデータからワーム感染端末を特定してワームの感染経路を示す感染経路リストを作成する手順とを実行させることを特徴とする。
【発明の効果】
【００１８】
上述したように本発明は、エージェントコンピュータが通信ログを集約してマネージャコンピュータに送信し、マネージャコンピュータがそこからワーム感染端末を特定するように構成したので、エージェントコンピュータとマネージャコンピュータの双方で処理量を軽減して、さらに転送されるデータ量も削減できる。これによって、ネットワーク上で転送されるデータ量、および検出処理に係る各コンピュータの処理量を軽減してワームの感染源とその経路を特定することが可能であるという、優れた特徴を持つワーム感染源特定システム、特定方法および特定プログラム、エージェント並びにマネージャコンピュータを提供することができる。
【図面の簡単な説明】
【００１９】
【図１】本発明の第１の実施形態に係るコンピュータネットワークの構成を示す説明図である。
【図２】図１に示した各コンピュータ装置のハードウェアとしての構成を示す説明図である。
【図３】図２に示したマネージャプログラムのソフトウェアとしての構成を示す説明図である。
【図４】図２に示したエージェントプログラムのソフトウェアとしての構成を示す説明図である。
【図５】図４に示したシグネチャ管理テーブルのデータ構成を示す説明図である。
【図６】図４に示した例外情報管理テーブルのデータ構成を示す説明図である。
【図７】図４に示したネットワーク管理テーブルのデータ構成を示す説明図である。
【図８】図４に示した通信ログ一時テーブルのデータ構成を示す説明図である。
【図９】図４に示した通信ログ集約テーブルおよび通信ログ送信用テーブルのデータ構成を示す説明図である。
【図１０】図３に示したエージェントコンピュータ情報テーブルのデータ構成を示す説明図である。
【図１１】図３に示した通信ログ管理テーブルのデータ構成を示す説明図である。
【図１２】図４で示したパケット検査手段が受信パケットを検査して通信ログ一時テーブルに通信ログを格納する動作を示すフローチャートである。
【図１３】図４で示した通信ログ１次集約手段が通信ログ一時テーブルを定期参照して通信ログ集約テーブルに通信ログを集約する動作を示すフローチャートである。
【図１４】図４で示した通信ログ２次集約手段が通信ログ集約テーブルを定期参照して通信ログ送信用テーブルに通信ログを集約し、通信ログ送信手段が通信ログ送信用テーブルをマネージャコンピュータに送信する動作を示すフローチャートである。
【図１５】図４に示した通信ログ送信用テーブルのデータ構成を示す説明図である。
【図１６】図３で示した通信ログ格納手段が、エージェントコンピュータから送出された通信ログ送信用テーブルの内容を受信してこれを通信ログ管理テーブルに保存する動作を示すフローチャートである。
【図１７】図１１に示した通信ログ管理テーブルから、ワームの感染源および感染経路の特定に必要な情報を抽出した例である。
【図１８】図３で示したワーム感染源特定手段２０２が抽出済通信ログ管理テーブルからＮＷ到達リストを作成する動作を示すフローチャートである。
【図１９】図１７に示した抽出済通信ログ管理テーブルの通信ログＩＤの各々（１〜５）に対して作成されたＮＷ到達リストを示す説明図である。
【図２０】図３で示したワーム感染源特定手段がＮＷ到達リストから感染経路リストを作成する動作を示すフローチャートである。
【図２１】ＮＷ到達リストに対して図２０に示した処理によって作成された感染経路リストを示す説明図である。
【図２２】図３で示した感染経路図作成手段２０３が感染経路リストから感染経路リストを作成し、ワームの感染源と感染経路とを感染経路図に出力する動作を示すフローチャートである。
【図２３】図２２に示した処理によって図２１に示した感染経路リストから作成された感染経路図を示す説明図である。
【図２４】本発明の第２の実施形態に係るコンピュータネットワークの構成を示す説明図である。
【図２５】図２４に示した各エージェントコンピュータのソフトウェアとしての構成を示す説明図である。
【図２６】図２４に示したネットワーク管理テーブルのデータ構成を示す説明図である。
【発明を実施するための形態】
【００２０】
（第１の実施形態）
以下、本発明の第１の実施形態の構成について添付図１〜４に基づいて説明する。
最初に、本実施形態の基本的な内容について説明し、その後でより具体的な内容について説明する。
本実施形態に係るワーム感染源特定システムは、コンピュータネットワーク１にワームに感染したコンピュータ装置であるワーム感染端末が接続されたことを検出するワーム感染源特定システムである。このシステムは、ワーム感染端末に関する情報を収集するエージェントコンピュータ２１、２２、２３と、エージェントコンピュータが収集した情報を受信してワーム感染端末を特定するマネージャコンピュータ２０とを備える。エージェントコンピュータ２１、２２、２３は、コンピュータネットワーク上の通信パケットを検査してその検査結果を通信ログ一時テーブル２６４として記録するパケット検査手段２５１と、ワームによる通信を検出する条件とこれに対応するシグネチャＩＤを記憶するシグネチャ管理テーブル２６１と、通信ログ一時テーブルの内容の中から発信元、宛先ネットワークおよびシグネチャＩＤが同一である通信を集約して通信ログ送信用テーブル２６６を作成する通信ログ集約手段２０２〜２０３と、通信ログ送信用テーブルをマネージャコンピュータに送信する通信ログ送信手段２５４とを有する。
【００２１】
ここで、エージェントコンピュータの通信ログ集約手段は、通信ログ一時テーブルの内容の中から発信元、宛先ネットワークおよびシグネチャＩＤが同一である通信を集計して宛先ＩＰ数をカウントし、通信ログ集約テーブルを作成する通信ログ第１次集約部（通信ログ１次集約手段２５２）と、通信ログ集約テーブルの内容の中から発信元、宛先ネットワークおよびシグネチャＩＤが同一である通信を集約して宛先ＩＰ数を合計し、通信ログ送信用テーブルを作成する通信ログ第２次集約部（通信ログ２次集約手段２５３）とを含む。また、この通信ログ第１次集約部は、シグネチャ管理テーブルに予め記憶されたタイムアウト時間を経過したデータを通信ログ一時テーブルから削除する機能を有する。
【００２２】
さらに、エージェントコンピュータは、ワーム感染端末の検出の対象としない通信内容について記憶している例外情報管理テーブル２６２を有し、パケット検査手段２５１が、通信パケットの検査結果の中から例外情報管理テーブルに記憶されている内容の通信を除外して通信ログ一時テーブルに記録する。
【００２３】
一方のマネージャコンピュータ２０は、エージェントコンピュータから受信した通信ログ送信用テーブルの内容を通信ログ管理テーブル２１２として保存する通信ログ格納手段２０１と、通信ログ管理テーブルに記録されたデータからワーム感染端末を特定してワームの感染経路を示す感染経路リスト２１８を作成するワーム感染源特定手段２０２とを有する。
【００２４】
このマネージャコンピュータのワーム感染源特定手段２０２は、通信ログ管理テーブル２１２に記録された通信パケットのユーザＩＤ数および宛先ＩＰ数のうち少なくとも１つ以上からワーム感染端末を特定する。そしてマネージャコンピュータは、感染経路リスト２１８からワームがコンピュータネットワーク内で感染を広げた日時と経路を図示する感染経路図２１９を作成して出力する感染経路図作成手段２０３を有する。
【００２５】
以上の構成を備えることにより、このワーム感染源特定システムは、各コンピュータの処理量を軽減してワームの感染源とその感染経路を特定することが可能となる。
以下、これをより詳細に説明する。
【００２６】
図１は、本発明の第１の実施形態に係るコンピュータネットワーク１の構成を示す説明図である。コンピュータネットワーク１は、各々のコンピュータ装置がイーサネット（登録商標）などの通信規格によって相互に接続されて構成された複数のＬＡＮ（Local Area Network）が、データを中継するネットワーク機器であるルータによってさらに相互に接続されて構成されている。
【００２７】
コンピュータネットワーク１は、第１セグメント１１、第２セグメント１２、第３セグメント１３という３つのＬＡＮに分けることができ、第１のルータ４１は第１セグメント１１と第２セグメント１２との間でデータを中継する。第２のルータ４２は第２セグメント１２と第３セグメント１３との間でデータを中継する。
【００２８】
第３セグメント１３には、コンピュータネットワーク１全体のワーム感染検出の動作を管理するコンピュータ装置であるマネージャコンピュータ２０と、マネージャコンピュータ２０からの制御に基づいてワーム感染検出の動作を行うコンピュータ装置であるエージェントコンピュータ２３とが接続されている。
【００２９】
第２セグメント１２には、マネージャコンピュータ２０からの制御に基づいてワーム感染検出の動作を行うコンピュータ装置であるエージェントコンピュータ２２が接続されている。第１セグメント１１には、やはりマネージャコンピュータ２０からの制御に基づいてワーム感染検出の動作を行うコンピュータ装置であるエージェントコンピュータ２１と、ワームに感染したコンピュータ装置であるワーム感染端末３０が接続されている。また、各々のセグメントにはこれらのマネージャコンピュータ２０、エージェントコンピュータ、ワーム感染端末３０以外にも、複数台のコンピュータ装置であるクライアント３１、３２、…が接続されている。
【００３０】
ここで、第１セグメント１１に割り振られるＩＰアドレス範囲は「１９２．１６８．３．０／２４」である。同様に第２セグメント１２に割り振られるＩＰアドレス範囲は「１９２．１６８．４．０／２４」であり、第３セグメント１３に割り振られるＩＰアドレス範囲は「１９２．１６８．５．０／２４」である。各セグメントに属する各々のコンピュータには、これらの範囲からＩＰアドレスが割り振られている。
【００３１】
その中で、ワーム感染端末３０のＩＰアドレスは「１９２．１６８．３．１」、エージェントコンピュータ２１のＩＰアドレスは「１９２．１６８．３．２５４」、エージェントコンピュータ２２のＩＰアドレスは「１９２．１６８．４．２５４」、エージェントコンピュータ２３のＩＰアドレスは「１９２．１６８．５．２５４」、マネージャコンピュータ２０のＩＰアドレスは「１９２．１６８．５．１」である。各々のクライアント３１、３２、…には、上記のアドレス範囲の中で、マネージャコンピュータ２０、エージェントコンピュータ２１、２２、２３、ワーム感染端末３０に該当しないＩＰアドレスが割り振られている。
【００３２】
本実施形態では、ルータによって区切られた各セグメントに、エージェントコンピュータを１台ずつ配置している。そしてマネージャコンピュータをコンピュータネットワーク１全体に対して１台配置している。また、マネージャコンピュータとエージェントコンピュータとの間の通信は、暗号化して行うことが望ましいが、この暗号化方法そのものは本発明の範囲ではないので、公知の暗号化方法を適用することができる。
【００３３】
ただし、実際の運用についてはこの例の通りであるとは限らない。エージェントコンピュータは、該当ネットワークの通信をモニタすることおよびマネージャコンピュータとの通信が可能であれば、どの装置上に導入してもよい。また一台のコンピュータ装置が、複数のマネージャコンピュータに対応するエージェントコンピュータになることもできる。
【００３４】
図２は、図１に示したマネージャコンピュータ２０、エージェントコンピュータ２１〜２３のハードウェアとしての構成を示す説明図である。マネージャコンピュータ２０およびエージェントコンピュータ２１〜２３は各々、コンピュータプログラムを実施する演算装置であるプロセッサ１０１と、プログラムやデータを記憶する記憶手段１０２と、コンピュータネットワーク１に接続して他のコンピュータ装置とのデータ通信を行う通信手段１０３、結果をユーザ向けに出力する出力手段１０４（ディスプレイやプリンタなど）とを備える。エージェントコンピュータ２１〜２３については、全て同一の構成であるので、エージェントコンピュータ２１についてのみ詳しい構成を図示している。また、本実施形態ではエージェントコンピュータ２１〜２３の出力手段１０４を使用しないので、これについては図示していない。
【００３５】
プロセッサ１０１で、後述する各プログラムが実行される。また、その動作で使用される各種データが、記憶手段１０２に記憶される。以後、マネージャコンピュータ２０で実行されるプログラムをマネージャプログラム２００という。また、エージェントコンピュータ２１、２２、２３でそれぞれ実行されるプログラムをエージェントプログラム２５０という。
【００３６】
図３は、図２に示したマネージャプログラム２００のソフトウェアとしての構成を示す説明図である。マネージャプログラム２００は、記憶手段１０２上のエージェントコンピュータ情報テーブル２１１に登録されたエージェントコンピュータからデータを定期的に取得して記憶手段１０２上の通信ログ管理テーブル２１２に格納する通信ログ格納手段２０１と、記憶手段１０２上の通信ログ管理テーブル２１２を定期的に参照してワームの感染源と感染経路を特定し、これらの特定結果を記憶手段１０２上の感染経路リスト２１８に格納するワーム感染源特定手段２０２と、そこから感染経路図２１９を作成して出力手段１０４に出力する感染経路図作成手段２０３とを有する。
【００３７】
また、記憶手段１０２には、マネージャプログラム２００の初期設定パラメータを記憶した初期設定ファイル２７１も記憶されている。ここでいう初期設定パラメータは、ワーム検出条件、およびワーム検出間隔である。
【００３８】
ワーム検出条件は、ワーム感染源の特定を行うか否かを判断する条件となるユーザＩＤ数および宛先ＩＰ数の各々の数値である。通信ログ管理テーブル２１２のユーザＩＤ数および宛先ＩＰ数の各々について、ワーム感染源の特定を行うか否かを決定する閾値をここに設定する。初期値はユーザＩＤ数＞１、宛先ＩＰ数＞１とする。条件は複数指定可能であり、かつ条件毎に検査対象期間を指定可能である。ワーム検出間隔は、ワーム感染源特定手段２０２が通信ログ管理テーブル２１２を確認してワーム感染源の特定処理を行う間隔である。
【００３９】
図４は、図２に示したエージェントプログラム２５０のソフトウェアとしての構成を示す説明図である。エージェントプログラム２５０は、通信手段１０３が他の装置から受信した通信パケットを検査するパケット検査手段２５１と、この通信パケットの検査結果を集約する通信ログ１次集約手段２５２と通信ログ２次集約手段２５３と、集約された通信ログをマネージャプログラム２００に送信する通信ログ送信手段２５４とからなる。
【００４０】
パケット検査手段２５１は、記憶手段１０２上のシグネチャ管理テーブル２６１および例外情報管理テーブル２６２を参照して通信パケットを検査し、その検査結果を記憶手段１０２上の通信ログ一時テーブル２６４に格納する。通信ログ１次集約手段２５２は、記憶手段１０２上のシグネチャ管理テーブル２６１およびネットワーク管理テーブル２６３を参照しつつ、記憶手段１０２上の通信ログ一時テーブル２６４を定期的に確認し、その中でシグネチャ管理テーブル２６１に設定された閾値を越えたものを記憶手段１０２上の通信ログ集約テーブル２６５に記録する。
【００４１】
通信ログ１次集約手段２５２はさらに、記憶手段１０２上の通信ログ集約テーブル２６５に記録された中で、記憶手段１０２上のシグネチャ管理テーブル２６１に設定されたタイムアウト値を超えたものを削除する。そして通信ログ２次集約手段２５３は、通信ログ集約テーブル２６５をさらに集約した通信ログ送信用テーブル２６６を記憶手段１０２上に作成する。通信ログ送信手段２５４は、その通信ログ送信用テーブル２６６をマネージャプログラム２００に送信する。
【００４２】
また、記憶手段１０２には、エージェントプログラム２５０の初期設定パラメータを記憶した初期設定ファイル２７１も記憶されている。ここでいう初期設定パラメータは、通信ログ一時テーブルチェック間隔、および通信ログ集約テーブルチェック間隔である。
【００４３】
通信ログ１次集約手段２５２は、通信ログ一時テーブルチェック間隔の値を基にして定期的に通信ログ一時テーブル２６４を確認し、シグネチャ管理テーブル２６１の閾値と検査タイムアウトのカラムを基にエントリの削除もしくは通信ログ集約テーブル２６５への集約を行う。参照したエントリを集約後に通信ログ一時テーブル２６４から削除することで、エージェントコンピュータのリソース消費を軽減する。
【００４４】
通信ログ２次集約手段２５３は、通信ログ集約テーブルチェック間隔の値を基にして定期的に通信ログ集約テーブル２６５を確認して、通信ログ集約テーブル２６５のエントリをさらに集約して通信ログ送信用テーブル２６６とする。
【００４５】
図５は、図４に示したシグネチャ管理テーブル２６１のデータ構成を示す説明図である。エージェントプログラム２５０は、シグネチャ管理テーブル２６１の記録データを必要に応じて変更できる権限を有している。また、マネージャプログラム２００からも、各エージェントコンピュータに指令して、このシグネチャ管理テーブル２６１を参照および変更できる。
【００４６】
シグネチャ管理テーブル２６１は、次に示す内容を記録している。シグネチャＩＤ２６１ａは、ワームの種類、もしくはワームによる攻撃の種類（これをシグネチャという）を一意に特定するためのＩＤである。パケット検査手段２５１は、後述のプロトコル毎に、シグネチャＩＤ２６１ａの小さいものから順に受信パケットと比較する。
【００４７】
識別名２６１ｂは、各シグネチャの識別名である。これは任意に命名することができる。プロトコル２６１ｃは、検査対象のプロトコルの名称、たとえばＴＣＰ（Transmission Control Protocol）、ＵＤＰ（User Datagram Protocol）、ＩＣＭＰ（Internet Control Message Protocol）などである。
【００４８】
ルール２６１ｄは、検査対象とする通信内容のルールを示す。たとえば「宛先ポート＝８０」とあるものは、このポートに対する通信を検査対象とする。他にもプロトコル２６１ｃを「ＴＣＰ」、ルール２６１ｄを「宛先ポート＝２５」でかつ「ＲＣＰＴ  ＴＯ：%ＵＮＩＱ＿ＩＤ%」として、電子メール送信を検出することもできる。%ＵＮＩＱ＿ＩＤ%とは、受信パケットに含まれ、電子メール送信時に指定されるユーザ固有の識別情報をいう。これが、後述する通信ログ一時テーブル２６４などに含まれるユーザＩＤ（２６４ｃ）となる。また、ここでプロトコル２６１ｃを「ＩＣＭＰ」として、ルール２６１ｄを「タイプ＝８」とすれば、エコー要求（ｐｉｎｇコマンド）を検出することができる。
【００４９】
閾値２６１ｅは、ワームによる不正な攻撃であるか否かを判定する基準となる数値である。通信ログ１次集約手段２５２は、後述の通信ログ一時テーブル２６４を更新する時に、通信ログ一時テーブル２６４の該当行の攻撃数と閾値２６１ｅとを比較し、単位時間内に行われる攻撃数が閾値２６１ｅを超えているか否かを確認し、超えていればこれに該当する行のデータを通信ログ集約テーブル２６５に集約する。この動作について詳細は後述する。
【００５０】
検査タイムアウト秒数２６１ｆは、通信ログ一時テーブル２６４に登録された通信が、そこから削除されるまでの秒数の設定値である。通信ログ１次集約手段２５２は、通信ログ一時テーブル２６４を更新する時に、通信ログ一時テーブル２６４の該当する行のデータ登録時刻と検査タイムアウト秒数２６１ｆとを比較し、データが登録されてからの経過時間が検査タイムアウト秒数２６１ｆを超えていた場合には通信ログ一時テーブル２６４から該当行を削除する。
【００５１】
シグネチャ管理テーブル２６１の末尾には、パケット検査手段２５１が取りこぼしなくパケットを捕捉できるよう、次のようなエントリを登録しておくことが望ましい。識別名２６１ｂを「ｏｔｈｅｒ＄｛ｕｎｉｑ＿ｎｕｍ｝」、プロトコル２６１ｃを「ＴＣＰ」、ルール２６１ｄを「宛先ポート＝＄｛ｄｓｔ＿ｐｏｒｔ｝」、閾値２６１ｅを「１」、検査タイムアウト秒数２６１ｆを「１」とする。ｕｎｉｑ＿ｎｕｍは、ユニークな番号を表す変数であり、ｄｓｔ＿ｐｏｒｔは宛先ポート番号を表す変数である。これと同様のルールを、プロトコル２６１ｃがＵＤＰやＩＣＭＰの場合についても設定しておくことが望ましい。
【００５２】
未知のワームに対応するため、シグネチャ管理テーブル２６１に、ワームの動作として予め想定される通信を予めすべて登録しておいてもよいし、パケット検査手段２５１がシグネチャ管理テーブル２６１に登録されていない通信を検出したタイミングで、動的にＩＤと識別名を割り当てて新規エントリを追加するようにしてもよい。
【００５３】
図６は、図４に示した例外情報管理テーブル２６２のデータ構成を示す説明図である。エージェントプログラム２５０は、例外情報管理テーブル２６２の記録データを必要に応じて変更できる権限を有している。例外情報管理テーブル２６２は、次に示す内容を記録している。ＩＤ２６２ａは、登録されている例外情報を一意に特定するためのＩＤである。送信元アドレス２６２ｂ、宛先アドレス２６２ｃ、プロトコル２６２ｄは、例外扱いとする対象の通信の、各々送信元アドレス、宛先アドレス、プロトコルである。ルール２６２ｅは、例外扱いとする対象の通信の、上記した以外の属性を示す。
【００５４】
例外情報管理テーブル２６２には、たとえばネットワークプリンタを使用して印刷を行う際に生じる通信など、明らかにワームとは無関係である通信について登録する。パケット検査手段２５１は、捕捉した通信とシグネチャ管理テーブル２６１のエントリとを比較する前に、捕捉した通信と例外情報管理テーブル２６２のエントリを比較し、この通信が例外情報管理テーブル２６２のエントリに該当する場合は、ここで捕捉した通信の検査を打ち切る。これによって、マシンリソースを節約することができる。
【００５５】
図７は、図４に示したネットワーク管理テーブル２６３のデータ構成を示す説明図である。エージェントプログラム２５０は、ネットワーク管理テーブル２６３の記録データを必要に応じて変更できる権限を有している。また、マネージャプログラム２００からも、各エージェントコンピュータに指令して、このネットワーク管理テーブル２６３を参照することができる。
【００５６】
ネットワーク管理テーブル２６３は、次に示す内容を記録している。ネットワークＩＤ２６３ａは、登録されているネットワークアドレスを一意に特定するためのＩＤである。ネットワークアドレス２６３ｂは、各々のネットワークＩＤ２６３ａに属するＩＰアドレスの範囲を表す。
【００５７】
第１セグメント１１は、ネットワークＩＤ２６３ａ＝「１」、ネットワークアドレス２６３ｂ＝「１９２．１６８．３．０／２４」である。同様に第２セグメント１２は、ネットワークＩＤ２６３ａ＝「２」、ネットワークアドレス２６３ｂ＝「１９２．１６８．４．０／２４」であり、第３セグメント１３はネットワークＩＤ２６３ａ＝「３」、ネットワークアドレス２６３ｂ＝「１９２．１６８．５．０／２４」である。
【００５８】
図８は、図４に示した通信ログ一時テーブル２６４のデータ構成を示す説明図である。エージェントプログラム２５０は、通信ログ一時テーブル２６４の記録データを必要に応じて変更できる権限を有している。通信ログ一時テーブル２６４は、次に示す内容を記録している。送信元ＩＰ２６４ａ、宛先ＩＰ２６４ｂは、パケット検査手段２５１が捕捉した通信の、各々送信元および宛先のＩＰアドレスを示す。
【００５９】
ユーザＩＤ２６４ｃは、パケット検査手段２５１が捕捉した通信にユーザを示す文字列が含まれている場合、その文字列を示す。ユーザを示す文字列がなければ、空データ（ｎｕｌｌ）となる。シグネチャＩＤ２６４ｄは、捕捉した通信に対応するシグネチャ管理テーブル２６１のシグネチャＩＤ２６１ａを示す。
【００６０】
登録時刻２６４ｅは、この行に該当するデータが通信ログ一時テーブル２６４に最初に登録された時刻を示す。攻撃数２６４ｆは、データが通信ログ一時テーブル２６４に最初に登録されてから、同一の送信元ＩＰ２６４ａ、宛先ＩＰ２６４ｂ、ユーザＩＤ２６４ｃ、シグネチャＩＤ２６４ｄの通信が行われた回数を示す。
【００６１】
図９は、図４に示した通信ログ集約テーブル２６５および通信ログ送信用テーブル２６６のデータ構成を示す説明図である。エージェントプログラム２５０は、通信ログ集約テーブル２６５および通信ログ送信用テーブル２６６の記録データを必要に応じて変更できる権限を有している。
【００６２】
通信ログ集約テーブル２６５は、次に示す内容を記録している。送信元ＩＰ２６５ａは、パケット検査手段２５１が捕捉した通信の送信元ＩＰアドレスである。宛先ＮＷ２６５ｂは、パケット検査手段２５１が捕捉した通信の宛先ネットワークアドレスを一意に特定可能なＩＤである。これは通信ログ１次集約手段２５２がネットワーク管理テーブル２６３を参照して、該当するネットワークＩＤ２６３ａの値を登録する。なお、本明細書では「ネットワーク」を略して「ＮＷ」ということがある。
【００６３】
宛先ＩＰ数２６５ｃは、パケット検査手段２５１が捕捉した通信に含まれていた宛先ＩＰアドレスの数の合計を示す。これは通信ログ１次集約手段２５２が通信ログ一時テーブル２６４もしくは通信ログ集約テーブル２６５から通信ログを集約する際に、通信ログのユニークな宛先ＩＰアドレスの数を集計して登録する。
【００６４】
ユーザＩＤ数２６５ｄは、パケット検査手段２５１が捕捉した通信に含まれていたユーザを示すユニークな文字列の数を示す。これは通信ログ１次集約手段２５２が通信ログ一時テーブル２６４もしくは通信ログ集約テーブル２６５から通信ログを集約する際に、通信ログのユーザＩＤの数を集計して登録する。
【００６５】
シグネチャＩＤ２６５ｅは、パケット検査手段２５１が捕捉した通信に対応するシグネチャ管理テーブル２６１のシグネチャＩＤである。検知時刻２６５ｆは、シグネチャＩＤ２６５ｅに示す通信が開始された時刻である。登録時刻２６５ｇは、通信ログ１次集約手段２５２が通信ログ一時テーブル２６４もしくは通信ログ集約テーブル２６５のエントリを集約して該当データを登録した時刻である。
【００６６】
攻撃数２６５ｈは、シグネチャＩＤ２６５ｅに該当する通信が開始されてから登録時刻２６５ｇの時刻までに、同一の送信元ＩＰ２６５ａ、宛先ＮＷ２６５ｂ、シグネチャＩＤ２６５ｅの通信が行われた回数を示す。
【００６７】
通信ログ送信用テーブル２６６も、通信ログ集約テーブル２６５と同内容のデータ構成を有するので、これらを各々送信元ＩＰ２６６ａ、宛先ＮＷ２６６ｂ、宛先ＩＰ数２６６ｃ、ユーザＩＤ数２６６ｄ、シグネチャＩＤ２６６ｅ、検知時刻２６６ｆ、登録時刻２６６ｇ、攻撃数２６６ｈという。通信ログ送信用テーブル２６６の具体的なデータの例については後述する。
【００６８】
図１０は、図３に示したエージェントコンピュータ情報テーブル２１１のデータ構成を示す説明図である。マネージャプログラム２００は、エージェントコンピュータ情報テーブル２１１の記録データを必要に応じて変更できる権限を有している。またマネージャプログラム２００は、エージェントコンピュータ情報テーブル２１２に登録されたエージェントコンピュータからのみ通信ログを受け取る。
【００６９】
エージェントコンピュータ情報テーブル２１１は、次に示す内容を記録している。エージェントコンピュータＩＤ２１１ａは、登録されているエージェントコンピュータを一意に特定するためのＩＤである。エージェントコンピュータＩＰ２１１ｂは、そのエージェントコンピュータのＩＰアドレスである。
【００７０】
管理者メールアドレス２１１ｃは、そのエージェントコンピュータの管理者のメールアドレスである。監視対象ＮＷ２１１ｄは、監視対象ネットワークを一意に特定可能なＩＤである。これは、通信ログ格納手段２０１がネットワーク管理テーブル２６３を参照することによって、該当するネットワークＩＤ２６３ａの値を登録する。
【００７１】
図１１は、図３に示した通信ログ管理テーブル２１２のデータ構成を示す説明図である。マネージャプログラム２００は、通信ログ管理テーブル２１２の記録データを必要に応じて変更できる権限を有している。通信ログ格納手段２０１は、エージェントコンピュータから入手した通信ログにデータ入手元のエージェントコンピュータのＩＰアドレスを付加して、通信ログ管理テーブル２１２として記録する。
【００７２】
通信ログ管理テーブル２１２は、次に示す内容を記録している。エージェントコンピュータＩＰ２１２ａは、該当するデータを送信したエージェントコンピュータのＩＰアドレスであり、前述のように通信ログ格納手段２０１が付加する。これ以外は、図９で示した通信ログ集約テーブル２６５と同一の内容のデータを有するので、これらを各々送信元ＩＰ２１２ｂ、宛先ＮＷ２１２ｃ、宛先ＩＰ数２１２ｄ、ユーザＩＤ数２１２ｅ、シグネチャＩＤ２１２ｆ、検知時刻２１２ｇ、登録時刻２１２ｈ、攻撃数２１２ｉという。これらの各データが意味する内容も、通信ログ集約テーブル２６５における同名のデータと同一である。
【００７３】
図３に示した感染経路リスト２１８は、ワーム感染源特定手段２０２が特定したワームによる通信の記録を格納するものであるが、このデータ構成については後述する。
【００７４】
以後、本実施形態の説明においては、ワーム感染源とはコンピュータネットワーク１内にワームの感染が拡大する原因となったワーム感染端末３０のことをいう。また、ワーム感染経路とは、ワームが発したと推測される通信がどの端末間、あるいはネットワーク間で行われたかを示す経路という意味でいう。
【００７５】
（通信ログの格納と集約）
図１２は、図４で示したパケット検査手段２５１が受信パケットを検査して通信ログ一時テーブル２６４に通信ログを格納する動作を示すフローチャートである。パケット検査手段２５１は、受信したパケットごとに図１２で示す動作を行う。
【００７６】
通信を受信したパケット検査手段２５１は（ステップＳ３０１）、まずこの受信したパケットが自ネットワークを起源（発信元）とするものか否かを判断する（ステップＳ３０２）。発信元が自ネットワークでない場合は、ここで処理を終了する。発信元が自ネットワークであればステップＳ３０３に進んで処理を継続する。送信元が自ネットワークの場合のみ受信パケットを検査する動作を行うので、これによってエージェントコンピュータのマシンリソースを節約することができる。
【００７７】
発信元が自ネットワークの場合、パケット検査手段２５１は受信パケットと例外情報管理テーブル２６２とを比較して、受信パケットの内容に該当するエントリが例外情報として登録されているか否かを確認する（ステップＳ３０３）。例外情報として登録されている場合は、ここで処理を終了する。
【００７８】
例外情報として登録されていなければ、パケット検査手段２５１はさらに受信パケットがシグネチャ情報テーブル２６１とを比較して、受信パケットの内容に該当するエントリが存在するか否かを確認する（ステップＳ３０４）。該当するエントリが存在しない場合は、ここで処理を終了する。
【００７９】
該当するエントリが存在する場合、パケット検査手段２５１はシグネチャ管理テーブル２６１のルール２６１ｄを確認し、ユーザＩＤを含むルール（たとえば、図１２に示した例でいえばシグネチャＩＤ２６１ａ＝「４」でルール２６１ｄにユニークなユーザＩＤを示す「ＵＮＩＱ＿ＩＤ」が含まれていること）が定義されているか否かを確認する（ステップＳ３０５）。定義されていれば、そのルールに従ってユーザＩＤを取得し（ステップＳ３０６）、ステップＳ３０７に進む。定義されていなければ、そのままステップＳ３０７に進む。
【００８０】
引き続いてパケット検査手段２５１は、受信パケットの送信元ＩＰアドレス、宛先ＩＰアドレス、ステップＳ３０６で取得したユーザＩＤ、ステップＳ３０４で取得したシグネチャＩＤをキーとして通信ログ一時テーブル２６４を検索し、同一内容のエントリが既に存在するか否かを確認する（ステップＳ３０７）。
【００８１】
同一内容のエントリが存在しなければ、パケット検査手段２５１はその送信元ＩＰアドレス２６４ａ、宛先ＩＰアドレス２６４ｂ、ユーザＩＤ２６４ｃ、シグネチャＩＤ２６４ｄで新規エントリを通信ログ一時テーブル２６４に作成する（ステップＳ３０８）。その際、登録時刻２６４ｅおよび攻撃数２６４ｆの初期値は０とする。新規エントリの作成を完了したら、ステップＳ３０９に進む。同一内容のエントリが存在すれば、そのままステップＳ３０９に進む。
【００８２】
引き続いてパケット検査手段２５１は、該当するエントリの攻撃数２６４ｆを＋１して（ステップＳ３０９）、これで受信パケットの検査処理を終了する。ステップＳ３０８で新規エントリを作成した場合は、その新規エントリの攻撃数２６４ｆ＝「０」を「１」とすることになる。図８には、このパケット検査処理を実行した後の通信ログ一時テーブル２６４の例を示している。
【００８３】
図１３は、図４で示した通信ログ１次集約手段２５２が通信ログ一時テーブル２６４を定期参照して通信ログ集約テーブル２６５に通信ログを集約する動作を示すフローチャートである。通信ログ１次集約手段２５２は、通信ログ一時テーブル２６４を上から順に確認し、未参照のエントリに対してのみステップＳ４０２以後に示す通信ログ集約処理を行う（ステップＳ４０１）。
【００８４】
通信ログ１次集約手段２５２はまず、通信ログ一時テーブル２６４の参照中のエントリと送信元ＩＰアドレス２６４ａ、ユーザＩＤ２６４ｃ、シグネチャＩＤ２６４ｄが同一で、かつ宛先ＩＰアドレス２６４ｂが自らと同一ネットワークである（ネットワーク管理テーブル２６３を参照して判断する）エントリを抽出して（ステップＳ４０２）、通信ログ１次集約手段２５２はこれを上から順に確認し、ステップＳ４０４以後に示す通信ログ集約処理を行う（ステップＳ４０３）。
【００８５】
通信ログ１次集約手段２５２は、参照中のエントリの攻撃数２６４ｆの値が、参照中のエントリのシグネチャＩＤ２６４ｄ（２６１ａ）をキーにしてシグネチャ管理テーブル２６１を検索し、抽出された閾値２６１ｅと比較する（ステップＳ４０４）。攻撃数２６４ｆ≧閾値２６１ｅであればステップＳ４０５に進み、攻撃数２６４ｆ＜閾値２６１ｅであればステップＳ４０９に進む。
【００８６】
通信ログ１次集約手段２５２は、参照中のエントリの送信元ＩＰアドレス２６４ａ、シグネチャＩＤ２６４ｄと宛先ＩＰアドレス２６４ｂが属するネットワークアドレスをキーとして通信ログ集約テーブル２６５を検索し同一内容のエントリが存在するか否かを確認する（ステップＳ４０５）。同一内容のエントリが存在しなければステップＳ４０６に、同一内容のエントリが存在する場合はステップＳ４０７にそれぞれ進む。
【００８７】
ステップＳ４０５で同一内容のエントリが存在しなければ、該当する内容の新規エントリを通信ログ集約テーブル２６５上に作成する（ステップＳ４０６）。その際、送信元ＩＰ２６５ａは、通信ログ一時テーブル２６４で参照中のエントリの送信元ＩＰ２６４ａを記録する。宛先ＮＷ２６５ｂは、通信ログ一時テーブル２６４で参照中のエントリの宛先ＩＰ２６４ｂが属するネットワークアドレスを記録する。
【００８８】
宛先ＩＰ数２６５ｃは、ユニークな宛先ＩＰ２６４ｂをカウントした数（初期値は１）を記録する。ユーザＩＤ数２６５ｄは、ユニークなユーザＩＤ２６４ｃをカウントした数（初期値は、ユーザＩＤを取得している場合は１、取得していない場合は０）を記録する。シグネチャＩＤ２６５ｅ、検知時刻２６５ｆ、攻撃数２６５ｈは、通信ログ一時テーブル２６４で参照中のエントリのシグネチャＩＤ２６４ｄ、登録時刻２６４ｅ、攻撃数２６４ｆを各々記録する。登録時刻２６５ｇは、この処理を行っている時点の現在時刻である。
【００８９】
ステップＳ４０５で同一内容のエントリが存在すれば、通信ログ１次集約手段２５２は通信ログ集約テーブル２６５上の該エントリの宛先ＩＰ数２６５ｃ、ユーザＩＤ数２６５ｄ、検知時刻２６５ｆ、登録時刻２６５ｇ、攻撃数２６５ｈを各々更新する（ステップＳ４０７）。これらのデータ更新の具体的な内容については、次の行から詳しく説明する。
【００９０】
通信ログ一時テーブル２６４で参照中の宛先ＩＰ２６４ｂが未カウントの場合は、通信ログ集約テーブル２６５の該当行の宛先ＩＰ数２６５ｃを＋１する。同様に、参照中のユーザＩＤ２６４ｃが未カウントの場合は、通信ログ集約テーブル２６５の該当行のユーザＩＤ数２６５ｄを＋１する。その際、同一の宛先ＩＰ２６４ｂおよびユーザＩＤ２６４ｃを重複してカウントしないように、参照中の通信ログの宛先ＩＰアドレスとユーザＩＤとをメモリ上などに適宜キャッシュしておくとよい。
【００９１】
通信ログ集約テーブル２６５の該当行の検知時刻２６５ｆと通信ログ一時テーブル２６４で参照中の登録時刻２６４ｅとを比較して、古い方の時刻を検知時刻２６５ｆとする。また、該当行の登録時刻２６５ｇは、この処理を行っている時点の現在時刻とする。そして該当行の攻撃数２６５ｈに、参照中の通信ログの攻撃数２６４ｆを加算する。以上がステップＳ４０７の処理の詳細である。ステップＳ４０６またはステップＳ４０７の終了後、ステップＳ４０８に進む。
【００９２】
一方、ステップＳ４０４で攻撃数２６４ｆ＜閾値２６１ｅの場合は、通信ログ１次集約手段２５２は参照中のエントリの登録時刻２６４ｅから現在までの経過時間と、参照中のエントリのシグネチャＩＤ２６４ｄ（２６１ａ）をキーにしてシグネチャ管理テーブル２６１を検索して抽出した行の検査タイムアウト秒数２６１ｆの値を比較して、経過時間≧検査タイムアウト秒数２６１ｆであるか否かを判断する（ステップＳ４０８）。経過時間≧検査タイムアウト秒数２６１ｆであれば、タイムアウトしたことになるのでステップＳ４０９に進む。経過時間＜検査タイムアウト秒数２６１ｆであれば、ステップＳ４１０に進む。
【００９３】
ステップＳ４０８でタイムアウトしていた場合、または通信ログ集約テーブル２６５のエントリを追加もしくは更新した場合、参照中の通信ログ一時テーブル２６４の該当エントリを削除する（ステップＳ４０９）。
【００９４】
図９に示した例では、図８に示した通信ログ一時テーブル２６４からこの処理を通じて集約された通信ログ集約テーブル２６５を示している。たとえば、図８の最初の６件のエントリは、図９の先頭の１件のエントリに集約される。即ち、宛先ＩＰアドレス２６４ｂが異なる６回の通信は、同一の送信元ＩＰアドレス２６４ａから発せられた同一の内容の通信（攻撃）であると判断されて、宛先ＩＰ数２６５ｃ＝「６」である同内容の攻撃として１つのエントリにまとめられている。
【００９５】
通信ログは、通常は膨大なデータ容量となり、これを参照してワームによる攻撃を検出するだけでもマシンリソースの浪費となる。本実施形態では、以上で説明した処理によって、通信ログを通信ログ一時テーブル２６４から通信ログ集約テーブル２６５に集約して、参照した通信ログを通信ログ一時テーブル２６４から削除する。これで、エージェントコンピュータのマシンリソースの消費を抑えることができる。
【００９６】
図１４は、図４で示した通信ログ２次集約手段２５３が通信ログ集約テーブル２６５を定期参照して通信ログ送信用テーブル２６６に通信ログを集約し、通信ログ送信手段２５４が通信ログ送信用テーブル２６６をマネージャコンピュータ２０に送信する動作を示すフローチャートである。通信ログ２次集約手段２５３は、通信ログ集約テーブル２６５を上から順に確認し、未参照の通信ログに対してのみステップＳ５０２以後に示す通信ログ集約処理を行う（ステップＳ５０１）。
【００９７】
通信ログ２次集約手段２５３は、通信ログ集約テーブル２６５の参照中のエントリと送信元ＩＰアドレス２６５ａ、宛先ＮＷ２６５ｂ、シグネチャＩＤ２６５ｅが同一である通信ログを抽出し（ステップＳ５０２）、通信ログ２次集約手段２５３はこれを上から順に確認し、ステップＳ５０４以後に示す通信ログ集約処理を行う（ステップＳ５０３）。
【００９８】
通信ログ２次集約手段２５３は、通信ログ集約テーブル２６５の参照中のエントリの送信元ＩＰアドレス２６５ａ、宛先ＮＷ２６５ｂ、シグネチャＩＤ２６５ｅをキーとして通信ログ送信用テーブル２６５を検索し、同一内容のエントリが存在するか否かを確認する（ステップＳ５０４）。同一内容のエントリが存在しなければステップＳ５０５に進み、存在すればステップＳ５０６に進む。
【００９９】
ステップＳ５０４で同一内容のエントリが存在しなければ、通信ログ２次集約手段２５３は通信ログ送信用テーブル２６６に新規エントリを作成する（ステップＳ５０５）。その際、送信元ＩＰアドレス２６６ａ、宛先ＮＷ２６６ｂ、宛先ＩＰ数２６６ｃ、ユーザＩＤ数２６６ｄ、シグネチャＩＤ２６６ｅ、検知時刻２６６ｆ、攻撃数２６６ｈは、通信ログ集約テーブル２６５の参照中のエントリの送信元ＩＰアドレス２６５ａ、宛先ＮＷ２６５ｂ、宛先ＩＰ数２６５ｃ、ユーザＩＤ数２６５ｄ、シグネチャＩＤ２６５ｅ、検知時刻２６５ｆ、攻撃数２６５ｈをそのまま記録する。登録時刻２６６ｇは、この処理を行っている時点の現在時刻である。
【０１００】
ステップＳ５０４で同一内容のエントリが存在すれば、通信ログ２次集約手段２５３は通信ログ送信用テーブル２６６の該当行の宛先ＩＰ数２６６ｃ、ユーザＩＤ数２６６ｄ、検知時刻２６６ｆ、登録時刻２６６ｇ、攻撃数２６６ｈを各々更新する（ステップＳ５０６）。これらのデータ更新の具体的な内容については、次の行から詳しく説明する。
【０１０１】
宛先ＩＰ数２６６ｃとユーザＩＤ数２６６ｄに、通信ログ集約テーブル２６５の参照中のエントリの宛先ＩＰ数２６５ｃとユーザＩＤ数２６５ｄを各々加算する。検知時刻２６６ｆと、通信ログ集約テーブル２６５の参照中のエントリの検知時刻２６５ｆとを比較し、古い方の時刻を検知時刻２６６ｆとする。登録時刻２６６ｇは、この処理を行っている時点の現在時刻とする。そして攻撃数２６６ｈに、通信ログ集約テーブル２６５の参照中のエントリの攻撃数２６５ｈを加算する。
【０１０２】
ステップＳ５０５またはＳ５０６の処理が終了した後、通信ログ２次集約手段２５３は参照中の通信ログ集約テーブル２６５の該当エントリを削除する（ステップＳ５０７）。以上の処理を、全ての通信ログ集約テーブル２６５の全ての行に対して繰り返した後、通信ログ送信手段２５４は集約の完了した通信ログ送信用テーブル２６６をマネージャコンピュータ２０に送信して、さらに送信が完了した通信ログ送信用テーブル２６６を削除し（ステップＳ５０８）、処理を完了する。
【０１０３】
図１５は、図４に示した通信ログ送信用テーブル２６６のデータ構成を示す説明図である。図１５に示した例では、図９に示した通信ログ集約テーブル２６５からこの処理を通じて集約された通信ログ送信用テーブル２６６を示している。
【０１０４】
前述のように、通信ログ送信用テーブル２６６は通信ログ集約テーブル２６５と同一のデータ項目を記憶しているが、たとえば図９で複数あったシグネチャＩＤ２６５ｅ＝「１」のエントリが、通信ログ送信用テーブル２６６では１行に集約されている。即ち、検知時刻２６５ｆが異なる複数の攻撃は、同一の送信元ＩＰアドレス２６５ａから発せられた同一の内容の攻撃であると判断されて、一つのデータにまとめられている。
【０１０５】
このように、本実施形態ではワーム感染源の特定に必要となるデータをエージェントコンピュータ２１、２２、２３の側で３つのテーブル（通信ログ一時テーブル２６４、通信ログ集約テーブル２６５、通信ログ送信用テーブル２６６）に分けて管理し、各テーブルに対して保存期間を設定して管理しつつ２段階の工程を経て集約して、マネージャコンピュータ２０に送信している。
【０１０６】
このことにより、本実施形態ではエージェントコンピュータおよびマネージャコンピュータのリソース（コンピュータ資源）の浪費を抑制し、双方の側で効率よくワーム感染源の特定に係る処理を行うことができる。
【０１０７】
（通信ログの受信とワーム感染源の特定）
図１６は、図３で示した通信ログ格納手段２０１が、エージェントコンピュータ２１、２２、２３から送出された通信ログ送信用テーブル２６６の内容を受信してこれを通信ログ管理テーブル２１２に保存する動作を示すフローチャートである。各エージェントコンピュータからの通信を受信した通信ログ格納手段２０１は（ステップＳ６０１）、受信した内容の先頭にその内容を送出したエージェントコンピュータのＩＰアドレスをエージェントコンピュータＩＰ２１２ａとして付加して、通信ログ管理テーブル２１２に保存する（ステップＳ６０２）。
【０１０８】
図１１に示した例では、図１５に示した通信ログ送信用テーブル２６６から図１６の処理によってマネージャコンピュータ２０の側に集約された通信ログ管理テーブル２１２を示している。前述のように通信ログ管理テーブル２１２は、通信ログ送信用テーブル２６６の内容を送出したエージェントコンピュータのＩＰアドレスが、エージェントコンピュータＩＰ２１２ａとして先頭に付加されている以外は、全て通信ログ送信用テーブル２６６（および通信ログ集約テーブル２６５）と同一のデータ項目を有する。
【０１０９】
図１７は、図１１に示した通信ログ管理テーブル２１２から、ワームの感染源および感染経路の特定に必要な情報を抽出した例である（以後これを抽出済通信ログ管理テーブル２２０という）。ワーム検出条件として、シグネチャＩＤ２１２ｆ＝４、かつ（ユーザＩＤ数２１２ｄ≧１００または宛先ＩＰ数２１２ｃ≧１０）という条件があらかじめ設定されている。シグネチャＩＤ２１２ｆ（２６１ａ）＝４をキーとしてシグネチャ管理テーブル２６１を検索すれば、ルール２６１ｄとして「宛先ポート番号がＴＣＰ／２５番」が設定されている。ワーム感染源特定手段２０２は、この条件に従って通信ログ管理テーブル２１２から抽出済通信ログ管理テーブル２２０を抽出した。
【０１１０】
ワームは、大きく分けてソフトウェアの脆弱性を利用して感染拡大を図るものと、電子メールや共有フォルダを経由して感染拡大を図るものがある。前者のワームは、短期間に多数の宛先に対して特定の通信を行う。後者のワームは、特定の宛先に多数のＩＤを利用したアクセスを試みる。
【０１１１】
このため本実施形態では、図１１および図１７で説明したように、ワーム検出条件として「シグネチャＩＤ２１２ｆ＝４で、かつ（ユーザＩＤ数２１２ｄ≧１００または宛先ＩＰ数２１２ｃ≧１０）」という条件を設定している。前者のワームに対しては宛先ＩＰ数２１２ｃの条件を、後者のワームに対してはユーザＩＤ数２１２ｄの条件を設けて対応している。
【０１１２】
抽出済通信ログ管理テーブル２２０の各データ項目とその各々が示す内容は、図１１と同一であり、ただ先頭にユニークな通信ログＩＤ２２０ａが挿入されるだけであるので、以後それぞれエージェントコンピュータＩＰ２２０ｂ、送信元ＩＰ２２０ｃ、宛先ＮＷ２２０ｄ、宛先ＩＰ数２２０ｅ、ユーザＩＤ数２２０ｆ、シグネチャＩＤ２２０ｇ、開始時刻（検知時刻）２２０ｈ、終了時刻（登録時刻）２２０ｉ、攻撃数２２０ｊという。図１７に示した例では、開始時刻２２０ｈと終了時刻２２０ｉに記号を用いているが、これらはそれぞれＳ１＜Ｓ２＜Ｓ３＜Ｓ４＜Ｓ５、Ｅ１＜Ｅ２＜Ｅ３＜Ｅ４＜Ｅ５の関係にあるものとする。
【０１１３】
ワーム感染源特定手段２０２は、ワーム感染の疑いがあるネットワークのアドレスおよび各ネットワークへワームに感染した疑いのある端末からパケットが到達した時刻を格納するＮＷ到達リスト２１３〜２１７と、ワームの感染経路を格納する感染経路リスト２１８とを作成する。
【０１１４】
ＮＷ到達リスト２１３〜２１７は、後述するように、通信（攻撃）の宛先となるネットワークアドレスを示す宛先ＮＷ２１３ａと、そのネットワークアドレスにワームに感染した疑いのある端末からの通信（攻撃）が到達した時刻を示す到達時刻２１３ｂとが一対で登録されたリストである。
【０１１５】
図１８は、図３で示したワーム感染源特定手段２０２が抽出済通信ログ管理テーブル２２０からＮＷ到達リスト２１３〜２１７を作成する動作を示すフローチャートである。ワーム感染源特定手段２０２は、抽出済通信ログ管理テーブル２２０を上から順に確認し、それぞれの内容に対して図１８に示す処理を行ってＮＷ到達リスト２１３〜２１７を作成する。
【０１１６】
ワーム感染源特定手段２０２はまず、抽出済通信ログ管理テーブル２２０の宛先ＮＷ２２０ｄに記載されたネットワークアドレスをキーにしてＮＷ到達リスト２１３を検索し、既に同じネットワークアドレスが登録されているか否かを確認する（ステップＳ７０１）。同じネットワークアドレスが登録されていればステップＳ７０２に進み、いなければステップＳ７０３に進む。
【０１１７】
ステップＳ７０１で、ＮＷ到達リスト２１３に同じネットワークアドレスが格納されていない場合、ワーム感染源特定手段２０２は、宛先ＮＷ２２０ｄと、抽出済通信ログ管理テーブル２２０でこの宛先ＮＷ２２０ｄに該当する開始時刻２２０ｈを到達時刻２１３ｂとして、この宛先ＮＷ２２０ｄ（２１３ａ）と到達時刻２１３ｂとを組にしてＮＷ到達リスト２１３に格納して（ステップＳ７０２）処理を終了する。
【０１１８】
ステップＳ７０１で、ＮＷ到達リスト２１３に同じネットワークアドレスが格納されている場合、ワーム感染源特定手段２０２は、ＮＷ到達リスト２１３上で宛先ＮＷ２１３ａ（２２０ｄ）に該当する到達時刻２１３ｂと、抽出済通信ログ管理テーブル２２０上の開始時刻２２０ｈとを比較する（ステップＳ７０３）。到達時刻２１３ｂ≧開始時刻２２０ｈであれば、ワーム感染源特定手段２０２は、到達時刻２１３ｂを開始時刻２２０ｈの値として登録して（ステップＳ７０４）該当する通信ログの確認処理を終了する。
【０１１９】
図１９は、図１７に示した抽出済通信ログ管理テーブル２２０の通信ログＩＤ２２０ａの各々（１〜５）に対して作成されたＮＷ到達リスト２１３〜２１７を示す説明図である。通信ログＩＤ＝１から抽出されたＮＷ到達リスト２１３は、宛先ＮＷ２１３ａと、そこにワームが到達した到達時刻２１３ｂとを示す。通信ログＩＤ＝２〜５から各々抽出されたその他のＮＷ到達リスト２１４〜２１７も、同様のデータを示す。
【０１２０】
また図２０は、図３で示したワーム感染源特定手段２０２がＮＷ到達リスト２１３〜２１７から感染経路リスト２１８を作成する動作を示すフローチャートである。そして図２１は、ＮＷ到達リスト２１３〜２１７に対して図２０に示した処理によって作成された感染経路リスト２１８を示す説明図である。
【０１２１】
感染経路リスト２１８は、抽出済通信ログ管理テーブル２２０の通信ログＩＤ２２０ａに対応する通信ログＩＤ２１８ａと、これに対応する送信元ＩＰ２１８ｂ、宛先ＮＷ２１８ｃ、シグネチャＩＤ２１８ｄ、開始時刻２１８ｅ、終了時刻２１８ｆ、攻撃数２１８ｇ、感染源フラグ２１８ｈといった各データを格納する。これらの各データの内容は、図１７に示した抽出済通信ログ管理テーブル２２０の同名のデータと同一である。感染源フラグ２１８ｈは、送信元ＩＰ２１８ｂに該当する機器がワームの感染元とであると考えられる場合は１、そうでない場合は０の値を持つ。
【０１２２】
ワーム感染源特定手段２０２はまず、感染経路リスト２１８に新規エントリを追加する（ステップＳ８０１）。通信ログＩＤ２１８ａ、送信元ＩＰ２１８ｂ、宛先ＮＷ２１８ｃ、シグネチャＩＤ２１８ｄ、開始時刻２１８ｅ、終了時刻２１８ｆ、攻撃数２１８ｇは、各々抽出済通信ログ管理テーブル２２０の通信ログＩＤ２２０ａ、送信元ＩＰ２２０ｃ、宛先ＮＷ２２０ｄ、シグネチャＩＤ２２０ｇ、開始時刻２２０ｈ、終了時刻２２０ｉ、攻撃数２２０ｊのデータを格納する。感染源フラグ２１８ｈの初期値はｎｕｌｌである。
【０１２３】
次にワーム感染源特定手段２０２は、送信元ＩＰ２１８ｂをキーにしてＮＷ到達リスト２１３〜２６０を検索し、同一ネットワークに対するエントリがあるか否かを確認する（ステップＳ８０２）。同一ネットワークに対するエントリがあればステップＳ８０３に、なければステップＳ８０４にそれぞれ進む。
【０１２４】
ステップＳ８０２で、ＮＷ到達リスト２１３〜２６０に同一ネットワークに対するエントリがない場合、感染経路リスト２１８で該当するエントリの感染源フラグ２１８ｈ＝１として（ステップＳ８０３）処理を終了する。
【０１２５】
ステップＳ８０２で、同一ネットワークに対するエントリが存在する場合、ＮＷ到達リスト２１３〜２６０の該当するエントリの到達時刻２１３ｂと、感染経路リスト２１８で該当するエントリの開始時刻２２０ｈとを比較する（ステップＳ８０４）。到達時刻２１３ｂ≦開始時刻２２０ｈであれば、前述のステップＳ８０３に進む。到達時刻２１３ｂ＞開始時刻２２０ｈであれば、感染経路リスト２１８で該当するエントリの感染源フラグ２１８ｈ＝０として（ステップＳ８０５）処理を終了する。
【０１２６】
（感染経路図の作成）
図２２は、図３で示した感染経路図作成手段２０３が感染経路リスト２１８からワームの感染源と感染経路とを感染経路図２１９に出力する動作を示すフローチャートである。感染経路図作成手段２０３は、感染経路リスト２１８の内容を先頭から順番に確認し、各エントリに対して感染源と感染経路感染経路図２１９に出力する。
【０１２７】
感染経路図２１９は、縦軸に感染経路リスト２１８の通信ログＩＤ２２０ａを、横軸に開始時刻２１８ｅまたは終了時刻２１８ｆを取り、開始時刻と終了時刻をそれぞれ○（白抜きの円）と◎（二重丸）として示す図である。感染経路図作成手段２０３は、感染経路リスト２１８の各々の通信ログＩＤ２２０ａに対して、○と◎を出力する（ステップＳ９０１）。
【０１２８】
そして感染経路図作成手段２０３は、感染端末を意味する○と、感染端末から感染拡大目的のパケットが流れ込んでいるのでワーム感染の疑いがあるネットワークとして出力した◎とを、◎側に向いた太い矢印で結ぶ（ステップＳ９０２）。さらに○の上に送信元ＩＰ２１８ｂの値を、◎の上に宛先ＮＷ２１８ｃの値を、それぞれ出力する（ステップＳ９０３〜９０４）。
【０１２９】
次に感染経路図作成手段２０３は、感染源フラグ２１８ｈが１であるか否かを確認する（ステップＳ９０５）。０であればステップＳ９０６に、１であればステップＳ９０７にそれぞれ進む。ステップＳ９０５で感染源フラグ２１８ｈ＝０の場合、感染経路リスト２１８で送信元ＩＰ２１８ｂをキーとして検索し、感染源フラグ２１８ｈ＝１であるエントリが他に存在するか否かを確認する（ステップＳ９０６）。存在すればステップＳ９０７に、存在しなければステップＳ９０８に、それぞれ進む。
【０１３０】
該当するエントリの感染源フラグ２１８ｈ＝１、もしくは該当するエントリの感染源フラグ２１８ｈ＝０だが同一の送信元ＩＰ２１８ｂで感染源フラグ２１８ｈ＝１のエントリが存在する場合は、この送信元ＩＰ２１８ｂが感染源であると判断できるので、既に出力した○を●（黒丸）で上書きする（ステップＳ９０７）。●は感染源を意味するマークとして扱うことができる。
【０１３１】
感染源フラグ２１８ｈ＝１であるエントリが存在しない場合、感染経路リスト２１８の宛先ＮＷ２１８ｃをステップＳ９０３で出力した送信元ＩＰ２１８ｂをキーとして検索し、宛先ＮＷ２１８ｃに感染端末の属するネットワークが格納されたエントリが存在するか否かを確認する（ステップＳ９０８）。存在しなければ、それで処理を終了する。
【０１３２】
ステップＳ９０８で、ステップＳ９０３で出力した送信元ＩＰ２１８ｂに該当する宛先ＮＷ２１８ｃのエントリが存在する場合、その中に感染源フラグ２１８ｈ＝１であるエントリが存在するか否かを確認する（ステップＳ９０９）。存在しなければ、それで処理を終了する。
【０１３３】
ステップＳ９０９で、感染源フラグ２１８ｈ＝１であるエントリが存在した場合、その通信はワームによる攻撃であると考えられる。この通信がどの端末とネットワークとの間で行われたかを示す経路情報を出力するため、ステップＳ９０９で抽出した各々のエントリの◎とステップＳ９０１で出力した○とを○側に向いた細い矢印で結び（ステップＳ９１０）、これで処理を終了する。
【０１３４】
図２３は、図２２に示した処理によって図２１に示した感染経路リスト２１８から作成された感染経路図２１９を示す説明図である。前述のように、○（白抜きの円）は感染端末、◎（二重丸）は感染の疑いのあるネットワーク、●（黒丸）は感染源を示す。またステップＳ９０２で描かれた太い矢印は、感染端末から感染拡大目的で送出されたパケットの向きを示し、ステップＳ９１０で描かれた細い矢印は、ワームの感染拡大目的で使用された可能性がある経路を示す。
【０１３５】
図２３に示した感染経路図２１９では、ＩＰアドレス「１９２．１６８．３．１」を持つ端末（ワーム感染端末３０）は、ＩＰアドレス「１９２．１６８．３．０／２４」のネットワーク（第１セグメント１１）に感染が広がった可能性がある時刻Ｔ３以前に、エージェントコンピュータ側でワーム感染が検出されている。このため、第１セグメント１１ではワーム感染端末３０がワームの感染源であると判断できる。
【０１３６】
また、これと同様に、第２セグメント１２に属するＩＰアドレス「１９２．１６８．４．１」「１９２．１６８．４．２」の各クライアントは、ＩＰアドレス「１９２．１６８．４．０／２４」のネットワーク（第２セグメント１２）に感染が広がった可能性がある時刻Ｔ４以前に、エージェントコンピュータ側でワーム感染が検出されている。このため、第２セグメント１２ではこれらの端末がワームの感染源であると判断できる。
【０１３７】
ワームに感染したＩＰアドレス「１９２．１６８．４．２」のクライアントから送出された、感染を拡大する目的と考えられるパケットが、ＩＰアドレス「１９２．１６８．４．０／２４」のネットワーク（第２セグメント１２）にＴ４の時刻で届いている。さらにその後に、ワームに感染したＩＰアドレス「１９２．１６８．４．５」のクライアントから送出された、感染を拡大する目的と考えられるパケットが、ＩＰアドレス「１９２．１６８．４．０／２４」（第２セグメント１２）および「１９２．１６８．５．０／２４」（第３セグメント１３）のネットワークに届いている。
【０１３８】
このことから、第２セグメント１２に属するＩＰアドレス「１９２．１６８．４．５」のクライアントのワーム感染が、同じセグメントに即するＩＰアドレス「１９２．１６８．４．２」のクライアントに引き起こされた可能性が高いと推測することもできる。
【０１３９】
（第１の実施形態の全体的な動作）
次に、上記の実施形態の全体的な動作について説明する。本実施形態に係るワーム感染源特定方法は、コンピュータネットワークに接続され、コンピュータネットワークにワームに感染したコンピュータ装置であるワーム感染端末が接続されたことを検出するコンピュータ装置であるマネージャコンピュータ２０と、ワーム感染端末に関する情報を収集してマネージャコンピュータに送信するエージェントコンピュータ２１、２２、２３とを含むコンピュータネットワークにあって、ワームの感染源を特定する方法である。まずエージェントコンピュータが、ワームによる通信を検出する条件とこれに対応するシグネチャＩＤをシグネチャ管理テーブル２５５に予め記憶し、コンピュータネットワーク上の通信パケットを検査し（図１２・ステップＳ３０１）、通信パケットをシグネチャ管理テーブルと照合してシグネチャＩＤを特定し（図１２・ステップＳ３０７〜３０８）、通信パケットの検査結果を通信ログ一時テーブルとして記録し（図１２・ステップＳ３０９）、エージェントコンピュータが、通信ログ一時テーブルの内容の中から発信元、宛先ネットワークおよびシグネチャＩＤが同一である通信を集約して通信ログ送信用テーブルを作成し（図１３・ステップＳ４０４〜４０８、および図１４・ステップＳ５０４〜５０７）、通信ログ送信用テーブルをマネージャコンピュータに送信する（図１４・ステップＳ５０８）。これに対してマネージャコンピュータが、エージェントコンピュータから受信した通信ログ送信用テーブルの内容を通信ログ管理テーブルとして保存し（図１６・ステップＳ６０１〜６０２）、通信ログ管理テーブルに記録されたデータからワーム感染端末を特定して感染経路リストを作成する（図２０・ステップＳ８０１〜８０５）。
【０１４０】
ここで、上記各動作ステップについては、これをコンピュータで実行可能にプログラム化し、これらを前記各ステップを直接実行するコンピュータであるマネージャコンピュータ２０および各エージェントコンピュータ２１，２２，２３に実行させるようにしてもよい。
この構成および動作により、本実施形態は以下のような効果を奏する。
【０１４１】
本実施形態の第１の効果は、ワーム感染後に多くのマシンリソースを必要とせずに、ワームの感染源および感染経路の特定を行うことができることである。その理由は、通信ログの膨大なデータを２段階に分けて集約し、不要となったデータを削除することで、エージェントコンピュータおよびマネージャコンピュータが膨大なログの中から特定の条件を満たす通信を検出する処理にかかるリソース消費を抑えているためである。さらに、エージェントコンピュータとマネージャコンピュータとで役割を分担させて、一台あたりのマシンリソースの消費を抑制しているためでもある。
【０１４２】
本実施形態の第２の効果は、ログ収集時に生じるネットワークの帯域圧迫の問題を解決できることである。その理由は、前述したように通信ログのデータを集約してからエージェントコンピュータからマネージャコンピュータに送信しているためである。
【０１４３】
本実施形態の第３の効果は、各ネットワーク装置の膨大なログを１件ずつ確認する場合に比べて、特別なスキルを必要とせずにワームの感染源および感染経路を特定できることである。その理由は、通信ログ管理テーブル２１２にユーザＩＤ数２１２ｄおよび宛先ＩＰ数２１２ｃというデータ項目を設けて、ネットワーク経由で感染を拡大するワームの通信上の特徴を保持してそこからワームを検出するようにしているためである。
【０１４４】
（第２の実施形態）
本発明の第２の実施形態では、前述の第１の実施形態の構成に加えて、マネージャコンピュータおよびエージェントコンピュータを結ぶ管理専用ネットワークを、通常のネットワークとは別に設ける構成とした。これにより、ワームの感染によってネットワーク帯域が圧迫された場合でも、エージェントコンピュータとマネージャコンピュータとの間で通信が困難になることはないので、本発明にかかる動作をより確実に実行してワームを検出することができる。以下、これをより詳細に説明する。
【０１４５】
図２４は、本発明の第２の実施形態に係るコンピュータネットワーク１００１の構成を示す説明図である。コンピュータネットワーク１００１は、前述の第１の実施形態に係るコンピュータネットワーク１と同一のコンピュータで構成されている。第１セグメント１１に属するエージェントコンピュータをエージェントコンピュータ１０２１、第２セグメント１２に属するエージェントコンピュータをエージェントコンピュータ１０２２、第３セグメント１１に属するエージェントコンピュータをエージェントコンピュータ１０２３という。
【０１４６】
各エージェントコンピュータ１０２１、１０２２、１０２３と、マネージャコンピュータコンピュータ２０とは、通常のネットワークとは別個の、破線で示す管理専用ネットワーク１００２で結ばれている。管理専用ネットワーク１００２は、データを中継するルータ１０４１および１０４２も、通常のネットワークとは別個に設けられている。
【０１４７】
図２５は、図２４に示した各エージェントコンピュータ１２１、１２２、１２３のソフトウェアとしての構成を示す説明図である。各エージェントコンピュータ１２１、１２２、１２３は、ハードウェアとしては、通信手段１０３が、通常のネットワークおよび管理専用ネットワーク１００２の両方に接続されている点以外は、図２に示した第１の実施形態と同一の構成を持っている。ソフトウェアとしての構成も、記憶手段１０２に記憶されているネットワーク管理テーブル２６３がネットワーク管理テーブル１２６３に変更されている以外は、第１の実施形態と同一である。構成の中で第１の実施形態と同一の要素は、同一の名称および参照番号で呼ぶ。
【０１４８】
図２６は、図２４に示したネットワーク管理テーブル１２６３のデータ構成を示す説明図である。エージェントプログラム２５０は、ネットワーク管理テーブル１２６３の記録データを必要に応じて変更できる権限を有している。また、マネージャプログラム２００からも、各エージェントコンピュータに指令して、このネットワーク管理テーブル１２６３を参照することができる。
【０１４９】
ネットワーク管理テーブル１２６３は、次に示す内容を記録している。ネットワークＩＤ１２６３ａは、登録されているネットワークアドレスを一意に特定するためのＩＤである。ネットワークアドレス１２６３ｂは、通常のネットワークでの各セグメントのアドレス範囲、管理用アドレス１２６３ｃはこのセグメントに属するエージェントコンピュータの管理専用ネットワーク１００２でのＩＰアドレスを表す。
【０１５０】
たとえば、第１セグメント１１は、通常のネットワークではＩＰアドレス「１９２．１６８．３．０／２４」であるが、これに属するエージェントコンピュータ１２１の管理専用ネットワーク１００２のＩＰアドレスは「１０．５．１．１」である。このように、ネットワーク管理テーブル１２６３は、通常のネットワークでの各セグメントのＩＰアドレスをネットワークアドレス１２６３ｂ、このセグメントに属するエージェントコンピュータの管理専用ネットワーク１００２でのＩＰアドレスを管理用アドレス１２６３ｃとして記憶し、相互に対応づけている。また、ネットワークＩＤ１２６３ａ＝「Ｍ」として、マネージャコンピュータ２０の管理用アドレス１２６３ｃも記憶している。
【０１５１】
この点以外は、コンピュータネットワーク１００１は、前述の第１の実施形態に係るコンピュータネットワーク１と同一の機能を持ち、同一の動作をする。ただ、エージェントコンピュータとマネージャコンピュータとの間の通信は、ワームの侵入の心配がない管理専用ネットワーク１００２を利用して行うことができる。このことにより、ワームがＤｏＳ攻撃などのようにネットワークの帯域を圧迫する動作をした場合でも、エージェントコンピュータとマネージャコンピュータとの間の通信が困難となることはなく、本発明にかかる動作を確実に行って、前述した通りの効果を確実に得ることができる。
【０１５２】
これまで本発明について図面に示した特定の実施形態をもって説明してきたが、本発明は図面に示した実施形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができる。
【産業上の利用可能性】
【０１５３】
本発明はコンピュータネットワークのセキュリティ向上に利用することができる。
【符号の説明】
【０１５４】
１、１００１  コンピュータネットワーク
１１  第１セグメント
１２  第２セグメント
１３  第３セグメント
２０  各コンピュータ装置
２１  プロセッサ
２２  記憶手段
２３  通信手段
２４  出力手段
２１、２２、２３、１２１、１２２、１２３  エージェントコンピュータ
３０  ワーム感染端末
４１、４２、１０４１、１０４２  ルータ
２０  マネージャコンピュータ
３１  クライアント
２００  エージェントプログラム
２０１  パケット検査手段
２０２  通信ログ１次集約手段
２０３  通信ログ２次集約手段
２０４  通信ログ送信手段
２１１、２７１  初期設定ファイル
２１１  エージェントコンピュータ情報テーブル
２１２  通信ログ管理テーブル
２１３、２１４、２１７  ＮＷ到達リスト
２１８  感染経路リスト
２１９  感染経路図
２２０  抽出済通信ログ管理テーブル
２５０  マネージャプログラム
２５１  通信ログ格納手段
２５２  ワーム感染源特定手段
２５３  感染経路図作成手段
２６１  シグネチャ管理テーブル
２６２  例外情報管理テーブル
２６３、１２６３  ネットワーク管理テーブル
２６４  通信ログ一時テーブル
２６５  通信ログ集約テーブル
２６６  通信ログ送信用テーブル
１００２  管理専用ネットワーク
【図１】
2011101172.tif 000003
【図２】
2011101172.tif 000004
【図３】
2011101172.tif 000005
【図４】
2011101172.tif 000006
【図５】
2011101172.tif 000007
【図６】
2011101172.tif 000008
【図７】
2011101172.tif 000009
【図８】
2011101172.tif 000010
【図９】
2011101172.tif 000011
【図１０】
2011101172.tif 000012
【図１１】
2011101172.tif 000013
【図１２】
2011101172.tif 000014
【図１３】
2011101172.tif 000015
【図１４】
2011101172.tif 000016
【図１５】
2011101172.tif 000017
【図１６】
2011101172.tif 000018
【図１７】
2011101172.tif 000019
【図１８】
2011101172.tif 000020
【図１９】
2011101172.tif 000021
【図２０】
2011101172.tif 000022
【図２１】
2011101172.tif 000023
【図２２】
2011101172.tif 000024
【図２３】
2011101172.tif 000025
【図２４】
2011101172.tif 000026
【図２５】
2011101172.tif 000027
【図２６】
2011101172.tif 000028