(57)【要約】【課題】  ゼロデイアタックされたＰＣでのネットワーク型ウィルスの活動をシグネチャを用いずに検出し、感染拡大を防止する。【解決手段】  監視部１１は、ネットワークインターフェース３でアウトバウンド通信を監視し、プロセス特定部１２は、通信を発生させたプロセス２Ｘを特定し、プロセスツリー取得部１３は、プロセス２Ｘの上位プロセスを特定したプロセスツリー情報を出力する。判定部１４は、通信を発生したプロセスと上位プロセスとの組み合わせにより不正プロセスを定義した不正ルールファイル１８を参照し、通信情報、プロセス情報、プロセスツリー情報をもとにプロセス２Ｘが不正か否かを判定する。プロセス停止部１５は、不正と判定されたプロセス２Ｘを停止し、通知部１６は、プロセス２Ｘの停止をユーザに通知する。【選択図】図２
2006119754.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続されたコンピュータ内でのネットワーク型ウィルスの活動を検出するネットワーク型ウィルス活動検出処理方法を、コンピュータに実行させるためのプログラムであって、
コンピュータ内で動作中のプロセスを管理する管理情報をもとに、判定対象のプロセスを特定し、前記判定対象プロセスの上位プロセスを特定したプロセスツリー情報を出力するプロセス特定過程と、
ウィルス活動による不正プロセスに共通する挙動をプロセス間の階層関係によって定義した判定ルール情報および前記プロセスツリー情報を使用して、前記判定対象プロセスが不正プロセスであるか否かを判定する判定過程とを、
前記コンピュータに実行させるためのネットワーク型ウィルス活動検出プログラム。
【請求項２】
請求項１記載のネットワーク型ウィルス活動検出プログラムにおいて、
前記判定過程により不正プロセスと判定された前記判定対象プロセスを停止する停止過程を、
前記コンピュータに実行させるためのネットワーク型ウィルス活動検出プログラム。
【請求項３】
請求項１記載のネットワーク型ウィルス活動検出プログラムにおいて、
前記判定過程により不正プロセスと判定された前記判定対象プロセスが行う通信の遮断要求を出力する通信遮断要求過程を、
前記コンピュータに実行させるためのネットワーク型ウィルス活動検出プログラム。
【請求項４】
請求項２記載のネットワーク型ウィルス活動検出プログラムにおいて、
前記判定過程により不正プロセスと判定された前記判定対象プロセスの停止をユーザに通知する通知過程を、
前記コンピュータに実行させるためのネットワーク型ウィルス活動検出プログラム。
【請求項５】
請求項１記載のネットワーク型ウィルス活動検出プログラムにおいて、
前記コンピュータのアウトバウンド通信を監視する通信監視過程を、前記コンピュータに実行させると共に、
前記判定過程では、前記アウトバウンド通信において新たな通信を生成したプロセスを判定対象プロセスとする
ことを特徴とするネットワーク型ウィルス活動検出プログラム。
【請求項６】
請求項１記載のネットワーク型ウィルス活動検出プログラムにおいて、
前記プロセスが発生させたポートのステータスを監視するポート監視過程を、前記コンピュータに実行させると共に、
前記判定過程では、前記ポートに所定のステータスを設定したプロセスを判定対象プロセスとする
ことを特徴とするネットワーク型ウィルス活動検出プログラム。
【請求項７】
請求項５または請求項６のいずれかに記載のネットワーク型ウィルス活動検出プログラムにおいて、
正当なプロセスが行った通信について、少なくとも、通信方向、宛先ポート番号および当該プロセスの上位プロセスを記録するログ情報を蓄積するログ取得過程を、前記コンピュータに実行させると共に、
前記判定過程では、前記判定ルール情報が、判定対象プロセスおよび上位プロセスの宛先ポート番号の組み合わせによって不正プロセスを定義したものである場合に、前記ログ情報をもとに前記上位プロセスの宛先ポート番号を特定し、前記判定対象プロセスおよび前記上位プロセスの宛先ポート番号の関係によって前記判定対象プロセスが不正プロセスであるか否かを判定する
ことを特徴とするネットワーク型ウィルス活動検出プログラム。
【請求項８】
ネットワークに接続されたコンピュータ内でのネットワーク型ウィルスの活動を検出するネットワーク型ウィルス活動検出処理方法であって、
コンピュータ内で動作中のプロセスを管理する管理情報をもとに、判定対象のプロセスを特定し、前記判定対象プロセスの上位プロセスを特定したプロセスツリー情報を出力するプロセス特定過程と、
ウィルス活動による不正プロセスに共通する挙動をプロセス間の階層関係によって定義した判定ルール情報および前記プロセスツリー情報を使用して、前記判定対象プロセスが不正プロセスであるか否かを判定する判定過程とを備える
ことを特徴とするネットワーク型ウィルス活動検出処理方法。
【請求項９】
請求項８記載のネットワーク型ウィルス活動検出処理方法において、
前記判定過程により不正プロセスと判定された前記判定対象プロセスを停止する停止過程を備える
ことを特徴とするネットワーク型ウィルス活動検出処理方法。
【請求項１０】
ネットワークに接続されたコンピュータ内でのネットワーク型ウィルスの活動を検出するネットワーク型ウィルス活動検出システムであって、
ウィルス活動による不正プロセスに共通する挙動をプロセス間の階層関係によって定義した判定ルール情報を記憶する判定ルール記憶手段と、
コンピュータ内で動作中のプロセスを管理する管理情報をもとに、判定対象であるプロセスと前記判定対象プロセスの一または複数の上位プロセスとを特定し、前記判定対象プロセスおよび上位プロセスの関係を示すツリー情報を出力するプロセス特定手段と、
前記プロセスツリー情報および前記判定ルール情報を使用して前記判定対象プロセスが不正プロセスであるか否かを判定する判定手段を備える
ことを特徴とするネットワーク型ウィルス活動検出システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク型ウィルスによるゼロデイアタックを受けたクライアントＰＣ（コンピュータ）がネットワークに対して感染活動を行った場合に、当該感染活動を検出・停止する処理をコンピュータに実行させるためのネットワーク型ウィルス活動検出プログラム、処理方法およびシステムに関する。
【０００２】
より詳しくは、ネットワーク型ウィルスによるゼロデイアタックと呼ばれる、ベンダが脆弱性情報やパッチプログラムを公開する前にその脆弱性を悪用して行われる攻撃を受けたクライアントＰＣがネットワークに対して感染活動とみなされるプロセスを実行している場合に、例えばシグネチャのようなウィルスを特定するための情報を使用せずに当該プロセスが不正なものであるか否かを自動的に判別し、停止するネットワーク型ウィルス活動検出プログラム、処理方法およびシステムに関する。
【背景技術】
【０００３】
従来のネットワーク型ウィルス活動検出システムに関する技術として、以下のようなものが存在する。
（１）従来技術１
ジュピターテクノロジー株式会社の「ウィルス・ワーム除去ツール」は、ウィルスごとのユニークな一連の文字や数値などの情報であるシグネチャを利用してＰＣのＯＳ（オペレーティングシステム）のメモリをスキャンし、ウィルスを検出すると当該プロセスを停止して、ウィルスの感染拡大を防止、または、当該プロセスを停止できない場合はその通信を停止するものである（非特許文献１参照）。
（２）従来技術２
シマンテック社の「Ｓｙｍａｎｔｅｃ  Ｃｌｉｅｎｔ  Ｓｅｃｕｒｉｔｙ  ２．０  （ＳＣＳ  ２．０）」は、アンチウィルスソフト、パーソナルファイアウォール、侵入検知を備えるクライアントＰＣ向けの統合セキュリティ対策ソフトであり、シグネチャを利用してウィルスを検出し、新しい通信を発生させたプロセスの存在をユーザに通知する。
【非特許文献１】ジュピターテクノロジー株式会社、“ウィルス・ワーム除去ツール”、［online］、［平成１６年９月３０日検索］、インターネット＜URL:http://www.jtc-i.co.jp/avast/avast50-cleaner.htm＞
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、従来技術１は、シグネチャを利用してウィルスを検出するものであるため、ゼロデイアタックによるウィルスの活動を検出したり停止したりすることができない。また、ウィルス検出処理においてウィルスごとのシグネチャを使用するために処理が重くなるという問題がある。
【０００５】
一方、従来技術２では、プロセスが新たな通信を発生させた場合に、当該プロセスが不正なものであるか否かを自動的に判別することができない。そのため、プロセスの正当性の判断をユーザ任せにせざるを得ない。
【０００６】
本発明は、かかる問題点に鑑みてなされたものであり、その目的は、未知のウィルスによる攻撃を受けたクライアントＰＣがネットワークに対して感染活動とみなされるプロセスを実行している場合に、ウィルスごとのシグネチャを使用せずに当該通信を行っているプロセスの正当性を自動的に判別し、不正なプロセスを停止して、ウィルス感染の拡大防止を図るシステム、処理方法およびプログラムを提供することである。
【課題を解決するための手段】
【０００７】
本発明は、ネットワークに接続されたコンピュータ内でのネットワーク型ウィルスの活動を検出するネットワーク型ウィルス活動検出処理方法を、コンピュータに実行させるためのプログラムであって、コンピュータ内で動作中のプロセスを管理する管理情報をもとに、判定対象のプロセスを特定し、前記判定対象プロセスの上位プロセスを特定したプロセスツリー情報を出力するプロセス特定過程と、ウィルス活動による不正プロセスに共通する挙動をプロセス間の階層関係によって定義した判定ルール情報および前記プロセスツリー情報を使用して、前記判定対象プロセスが不正プロセスであるか否かを判定する判定過程とを、前記コンピュータに実行させるためのものである。
【０００８】
本発明では、コンピュータ内で動作中のプロセスがウィルス活動による不正プロセスであるか否かを判定するために、不正プロセスに共通する挙動を特定するために、プロセス間の階層関係を用いた判定ルール情報を記憶しておく。そして、例えばコンピュータのオペレーティングシステムから取得した、コンピュータ内で動作中のプロセスを管理する管理情報をもとに、判定対象プロセスと一または複数の上位プロセス（親プロセス、親プロセスと爺プロセスなど）とを特定し、判定対象プロセスおよび上位プロセスの関係を示すプロセスツリー情報を生成する。そして、プロセスツリー情報および判定ルール情報を使用して、判定対象プロセスが不正プロセスであるか否かを判定する。具体的には、判定対象プロセスと上位プロセスとの組み合わせが判定ルール情報に定義されたものと合致する場合に、その判定対象プロセスを不正プロセスであると判定する。
【０００９】
これにより、ウィルスごとのシグネチャ情報を用いることなく、動作中のプロセスがウィルスの活動による不正プロセスであるか否かを判定することができる。
【００１０】
また、本発明は、上記の構成をとる場合に、さらに、前記判定過程により不正プロセスと判定された前記判定対象プロセスを停止する停止過程を、前記コンピュータに実行させるためのものである。
【００１１】
これにより、ウィルスの活動による不正プロセスを直ちに停止できるため、ウィルス感染の拡大を防止することができる。また、不正プロセスによるコンピュータのＣＰＵパワーの消費を抑制することができる。
【００１２】
さらに、本発明は、前記判定過程により不正プロセスと判定された前記判定対象プロセスが行う通信の遮断要求を出力する通信遮断要求過程を、前記コンピュータに実行させるためのものである。
【００１３】
これにより、コンピュータ内に備えられたパーソナルファイアウォールプログラムや外部のルータなどのネットワーク接続機器と連携して、ウィルスの活動による不正なネットワーク通信を遮断することができ、ウィルス感染の拡大を防止することができる。
【００１４】
さらに、本発明は、前記判定過程により不正プロセスと判定された前記判定対象プロセスの停止をユーザに通知する通知過程を、前記コンピュータに実行させるためのものである。
【００１５】
これにより、ユーザは、使用するコンピュータのウィルス感染を直ちに認知して、必要な対策をとることができる。
【００１６】
さらに、本発明は、前記コンピュータのアウトバウンド通信を監視する通信監視過程を、前記コンピュータに実行させると共に、前記判定過程では、前記アウトバウンド通信において新たな通信を生成したプロセスを判定対象プロセスとするものである。
【００１７】
また、本発明は、前記プロセスが発生させたポートのステータスを監視するポート監視過程を、前記コンピュータに実行させると共に、前記判定過程では、前記ポートに所定のステータスを設定したプロセスを判定対象プロセスとするものである。
【００１８】
これにより、感染拡大や内部情報漏洩などのネットワーク通信を悪用するウィルスの活動を、通信に関係するプロセスを絞り込むことにより効率的に検出することができる。
【００１９】
さらに、本発明は、上記の処理過程を実現する処理方法である。また、前記処理過程を実行する処理手段を備えるシステムである。
【発明の効果】
【００２０】
本発明は、ウィルスに共通の振舞いを不正プロセス判定ルールとして規定し利用するため、ウィルスごとのシグネチャを使用することなく、新たなプロセスによる通信がウィルスによるものかどうかを自動的に判断してプロセス停止を行うことができる。また、新たなプロセスによるポートの開放設定（リスン）がウィルスによるものかどうかを自動的に判断してプロセス停止を行うことができる。したがって、ネットワーク型ウィルスによるゼロディアタックの不正プロセスを自動的に判定および停止することができ、感染拡大を防止することができる。
【００２１】
また、不正プロセスの通信のみを停止する場合には、不正プロセスによるＣＰＵパワーの消費を抑えることができないが、本発明によれば、不正なプロセス自体を停止するため、不正プロセスによるＣＰＵパワーの消費を抑制することができる。
【００２２】
また、ウィルスごとにシグネチャを持つ場合には、発生した１つの通信に対して全てのシグネチャと照合する必要がある。しかし、本発明によれば、ウィルスごとにシグネチャを用意する必要がなく、ウィルス共通の挙動を示す情報を不正ルールファイルとして持ち、ルール数を少数に抑制できるため、システムの処理動作を軽くすることができる。
【発明を実施するための最良の形態】
【００２３】
図１は、本発明の原理を説明するための図である。
【００２４】
本発明は、ネットワーク型ウィルスによるゼロデイアタックを受けたクライアントＰＣ（コンピュータ）１内で動作中のプロセス２がネットワーク型ウィルスの活動による不審なプロセスであるか否かを判定するための判定ルール情報として、ウィルスに共通する挙動を示すいくつかのパターンを、プロセス間の階層関係によって示す判定ルール情報を設定しておく。例えば、不正ルールＲ１として、“プロセス２Ｘを呼び出した直近上位プロセス（親プロセス）がプロセス２Ｓ、さらにその上位プロセス（爺プロセス）がプロセス２Ｔである場合”を規定しておく。
【００２５】
そして、監視処理において、例えばネットワークインターフェースにおける外部への通信（アウトバウンド通信）を監視し、当該通信を生成したプロセスを判定対象とし、判定処理において、クライアントＰＣ１のオペレーティングシステム（ＯＳ）で管理されるプロセスの管理情報などを用いて、判定対象をプロセス２Ｘと特定する。さらに、プロセス２Ｘ、その上位プロセス２Ａ、プロセス２Ｂ、…とを特定したプロセスツリー情報を生成し、所定の判定ルール情報を参照して、プロセス２Ｘのプロセスツリー情報から、プロセス２Ｘが不正プロセスか否かを判定する。
【００２６】
ここで、プロセス２Ｘの上位プロセス（親プロセス）がプロセス２Ｓ、さらにその上位プロセス（爺プロセス）がプロセス２Ｔであれば、プロセス２Ｘは不正なプロセスと判定する。また、プロセス２Ｘの親プロセスがプロセス２Ａ、爺プロセスがプロセス２Ｂであれば正当なプロセスと判定する。
【００２７】
さらに、判定処理において不正と判定されたプロセス２Ｘの動作を停止し、プロセス２Ｘの停止をユーザなどに通知するようにしてもよい。
【００２８】
図２は、本発明の実施の形態における構成例を示す図である。
【００２９】
ネットワーク型ウィルス活動検出システム１０は、クライアントＰＣ（コンピュータ）１に実装され、クライアントＰＣ１で動作するプロセス２の中から、感染したネットワーク型ウィルスの活動によると考えられる不審なプロセスを検出し、その動作を停止する処理システムである。
【００３０】
ネットワーク型ウィルス活動検出システム１０は、監視部１１、プロセス特定部１２、プロセスツリー取得部１３、判定部１４、プロセス停止部１５、通知部１６、通信遮断要求部１７、不正ルールファイル１８、およびプロセスログ１９を備える。各処理手段は、プログラムとして構成される。
【００３１】
監視部１１は、ネットワークインターフェース３の通信を監視し、プロセス２が発生させた所定の通信、例えばクライアントＰＣ１から外部へのアウトバウンド通信を検出し、検出結果である通信情報を出力する処理手段である。通信情報は、通信時刻、送信ポート番号、宛先ポート番号、プロトコル情報などを含む情報である。
【００３２】
また、監視部１１は、ポートのステータスを監視し、プロセス２が所定のステータスを設定したポート、例えば、リスン（（ｌｉｓｔｅｎ）内部へのインバウンド通信のためにポートを開けた状態）されたポートを検出する。
【００３３】
プロセス特定部１２は、監視部１１から取得した通信情報をもとに、検出された通信またはポートのステータスを発生させたプロセス（判定対象プロセス２Ｘ）を、例えばクライアントＰＣ１内で動作中のプロセス２を管理するプロセス管理情報をもとに特定し、判定対象プロセス２Ｘを示すプロセス情報を出力する処理手段である。プロセス情報は、判定対象プロセス２Ｘを特定するプロセス名、プロセス番号などの情報である。
【００３４】
プロセスツリー取得部１３は、例えばプロセス管理情報をもとに、判定対象プロセス２Ｘの一または複数の上位プロセス（親プロセス、爺プロセス、…）２Ａ、２Ｂ、２Ｃ、…を特定し、判定対象プロセス２Ｘと上位プロセス２Ａ、２Ｂ、２Ｃ、…との階層関係を示すプロセスツリー情報を出力する処理手段である。
【００３５】
判定部１４は、プロセスツリー情報および不正ルールファイル１８を使用して、判定対象プロセス２Ｘが不正プロセスであるか否かを判定する処理手段である。
【００３６】
不正ルールファイル１８は、動作中のプロセス２がネットワーク型ウィルスの活動による不審なプロセスであるか否かを判定するための判定ルール情報であって、ウィルスに共通する挙動を示すいくつかのパターンを、プロセス間の階層関係によって示す情報である。
不正ルールファイル１８は、ウィルスに共通する振る舞いを規定したものであるため、ウィルスごとに用意する必要がない。
【００３７】
また、判定部１４は、不正ルールファイル１８が、プロセス間の階層関係を、判定対象プロセスと上位プロセスの宛先ポート番号との組み合わせによって定義している場合に、プロセスログ１９をもとに上位プロセスの宛先ポート番号を特定し、判定対象プロセス２Ｘおよびその上位プロセスの宛先ポート番号の関係にもとづいて判定対象プロセス２Ｘが不正プロセスであるか否かを判定する。また、判定部１４は、正当と判定したプロセス２に関する情報をプロセスログ１９に格納する。
【００３８】
プロセスログ１９は、クライアントＰＣ１で過去に行われたすべての正当なプロセス２が行った通信について、少なくとも通信方向、宛先ポート番号および当該プロセス２の上位プロセス名を記録するログ情報を蓄積する記憶手段である。
【００３９】
判定部１４は、判定対象プロセス２Ｘの親プロセスがどのようなサービスを行うプログラムであるかを特定するために、プロセスログ１９を利用する。通常、宛先ポート番号と利用したサービスは対応するものであるため、特に、どのポート番号に対して通信を行ったかをチェックすることによって、親プロセスが何を行っているプログラムであるかを特定することができる。
【００４０】
プロセス停止部１５は、判定部１４によってプロセス２Ｘが不正プロセスと判定された場合に限り、判定対象プロセス２Ｘのプロセス情報をもとに、起動中のプロセス２Ｘを停止する処理手段である。
【００４１】
通知部１６は、判定部１４によって判定対象プロセス２Ｘが不正プロセスと判定されて停止された場合に限り、停止された判定対象プロセス２Ｘのプロセス情報および停止通知をクライアントＰＣ１の表示画面に表示する処理手段である。
【００４２】
通信遮断要求部１７は、判定部１４によって不正プロセスと判定されたプロセス２Ｘが行う通信の遮断要求を、ネットワークインターフェース３またはクライアントＰＣ１外部のネットワーク接続装置などに送出する処理手段である。
【００４３】
以下、本発明について、アウトバウンド通信を発生させたプロセスを判定対象とする場合の処理を説明する。
【００４４】
ネットワーク型ウィルス活動検出システム１０の判定部１４は、予め所定の不正ルールファイル１８を備え、また、正当なプロセスによる通信に関するログ情報をプロセスログ１９に蓄積しておく。
【００４５】
図３は、不正ルールファイル１８の例を示す図である。不正ルールファイル１８には、ルールごとに、ルール番号、監視対象宛先ポート番号、親プロセスの使用宛先ポート番号、および爺プロセス名が設定される。監視対象宛先ポート番号は、判定対象プロセス２Ｘが発生させる通信において設定される宛先ポート番号を示す。親プロセスの使用宛先ポート番号は、判定対象プロセス２Ｘを呼び出した直近上位プロセス（親プロセス）が発生させる通信において設定される宛先ポート番号を示す。爺プロセス名は、判定対象プロセスの親プロセスを呼び出した直近上位プロセス（爺プロセス）を特定する情報を示す。
【００４６】
例えば、ルール番号１は、通信を発生させた判定対象のプロセスが２５番ポートに対して通信（メール送信）を行い、このプロセスの親プロセスが過去に１１０番ポートに対して通信を行っており（親プロセスはメール受信プログラムであると特定する）、さらに爺プロセスがアプリケーションを動作させるｅｘｐｌｏｒｅｒ．ｅｘｅというプロセス名である場合に限り、当該プロセスを不正プロセスとみなすルールである。
【００４７】
ルール番号１は、親プロセス（メール受信プログラム）が受信したメールの添付ファイルをユーザがダブルクリックなどによって実行することによって、当該プロセス（メール送信プロセス）が生成されて、メール送信を行っているという動作状況を意味する。
【００４８】
また、ルール番号２およびルール番号３は、いずれも、通信を発生させた判定対象プロセスが１３９番ポートに対して通信（ファイル共有サーバへのアクセス）を行い、この親プロセスが過去に８０番ポートまたは８０８０番ポートに対して通信を行っており（親プロセスはＷｅｂブラウジングプログラムであると特定する）、さらに爺プロセスがアプリケーションを動作させるｅｘｐｌｏｒｅｒ．ｅｘｅというプロセス名である場合に限り、当該プロセスを不正プロセスとみなすルールである。
【００４９】
ルール番号２およびルール番号３のどちらも、親プロセス（Ｗｅｂブラウジングプログラム）がＷｅｂページをブラウジングしている場合に、親プロセスがどこかのＷｅｂページから実行プログラムをダウンロードかつ実行することによって当該プロセスが生成され、さらに当該プロセスが、例えば社内のファイル共有サーバへアクセスしたことを意味する。
【００５０】
図４は、プロセスログ１９の例を示す図である。プロセスログ１９には、正当なプロセスによる通信ごとに、プロセス名、最新時刻、親プロセス名、宛先ポート番号、および通信方向が記録される。プロセス名は、クライアントＰＣ１で通信を発生させたプロセス名を示す。最新時刻は、発生した通信において、プロセス名、親プロセス名、宛先ポート番号、および通信方向が同一の通信が行われた最新時刻を示す。親プロセス名は、通信を発生させたプロセスの直近上位プロセスを示す。宛先ポート番号は、通信の宛先となったポート番号を示す。通信方向は、“ｏｕｔ”＝通信がアウトバウンド通信（外部への通信）、“ｉｎ”＝インバウンド（内部への通信）の区別を示す。
【００５１】
図４のプロセスログ１９において、通信方向が“ｏｕｔ”である宛先ポート番号は、以下のようなサービスを示すとする。
「２５：メール送信、
１１０：メール受信、
８０：Ｗｅｂブラウジング、
８０８０：プロキシを用いたＷｅｂブラウジング、
４４３：ＳＳＬによる暗号化されたＷｅｂブラウジング、
２１：ＦＴＰ、
５１５：印刷などプリンタへのアクセス、など。」
通信方向が“ｉｎ”の通信は、ポートを監視して不正プロセスを検出する場合に利用する。通信方向が“ｉｎ”の通信での宛先ポート番号は、クライアントＰＣ１自身で宛先となるポート番号、すなわちリスンされたポート番号を示す。
【００５２】
監視部１１は、クライアントＰＣ１のネットワークインターフェース３において、クライアントＰＣ１から出て行く通信の開始パケットを監視し、図５に示すような、通信時刻、送信元ポート番号、宛先ポート番号、プロトコル情報（プロトコル名）を含む監視結果を記憶する。そして、監視部１１は、プロセス特定部１２およびプロセスツリー取得部１３に対して、当該通信開始パケットに関する通信情報を渡す。
【００５３】
プロセス特定部１２は、監視部１１の通信情報をもとに、クライアントＰＣ１のＯＳによって管理されるプロセス管理情報から当該通信を発生させたプロセス２Ｘを特定し、判定部１４に対して、通信情報と共に、特定したプロセス２Ｘに関するプロセス情報（プロセス名、プロセス番号）を渡す。
【００５４】
プロセスツリー取得部１３は、プロセス情報をもとに、プロセス管理情報から、判定対象プロセス２Ｘの上位プロセス（親プロセス、爺プロセス）を特定してプロセスツリー情報を取得し、判定部１４に対して、発生した通信情報とそのプロセスツリー情報を渡す。
【００５５】
判定部１４は、通信情報およびプロセスツリー情報をもとに、図６に示すような、各通信を発生させたプロセスのプロセス特定結果（通信時刻、送信元ポート番号、宛先ポート番号、プロトコル名、判定対象のプロセス名およびプロセス番号、親プロセス名、爺プロセス名）を保持する。そして、プロセスログ１９と照らし合わせることによって、判定対象プロセス２Ｘの親プロセスの内容を特定し、不正ルールファイル１８に従って、親プロセスおよび爺プロセスのサービスの下で、判定対象プロセス２Ｘのプロセスが不正プロセスであるかどうかを判定する。
【００５６】
図７は、図６のプロセス特定結果に示すプロセスに対する判定結果を示す図である。
【００５７】
時刻１０：１６：４４に発生した通信のプロセス“ｍａｉｌ２３３１２．ｅｘｅ”を判定対象プロセス２Ｘとすると、判定部１４は、プロセスログ１９から、このプロセス“ｍａｉｌ２３３１２．ｅｘｅ”の親プロセス“ｅｄｍａｘ．ｅｘｅ”の過去の通信における宛先ポート番号（２５番、１１０番）を取得する。そして、図３の不正ルールファイル１８を参照して、プロセス“ｍａｉｌ２３３１２．ｅｘｅ”の宛先ポート番号（２５番）、親プロセスの宛先ポート番号（２５番、１１０番）、爺プロセス名（ｅｘｐｌｏｒｅｒ．ｅｘｅ）の組み合わせが不正ルールのいずれかに合致するかどうかを検索する。検索の結果、この組み合わせは、ルール番号１に合致するので、プロセス“ｍａｉｌ２３３１２．ｅｘｅ”を不正プロセスと判定する。
【００５８】
判定部１４は、図７のプロセス判定結果において判定対象プロセス２Ｘを不正プロセスと判定したので、判定対象プロセス２Ｘ（ｍａｉｌ２３３１２．ｅｘｅ）についての判定情報（時刻１０：１６：４４に発生した通信の通信情報およびプロセス“ｍａｉｌ２３３１２．ｅｘｅ”のプロセス情報）をプロセス停止部１５、通信遮断要求部１７に渡す。
【００５９】
プロセス停止部１５は、判定情報（プロセス情報）をもとに、プロセス２Ｘ“ｍａｉｌ２３３１２．ｅｘｅ”を直ちに停止し、停止したプロセス２Ｘの判定情報（時刻１０：１６：４４に発生した通信の通信情報およびプロセス“ｍａｉｌ２３３１２．ｅｘｅ”のプロセス情報）を通知部１６に渡す。
【００６０】
通知部１６は、プロセス２Ｘの判定情報から、図８に示すような検出結果をクライアントＰＣ１の表示画面に表示して、ユーザに、プロセス“ｍａｉｌ２３３１２．ｅｘｅ”を不正プロセス（メールウィルス）として停止したことを通知する。
【００６１】
図９は、図６のプロセス特定結果の別プロセスに対する判定結果を示す図である。
【００６２】
時刻１４：４１：０１に発生した通信のプロセス“ｃｏｏｌ．ｅｘｅ”を判定対象プロセス２Ｘとすると、判定部１４は、プロセスログ１９から、このプロセス“ｃｏｏｌ．ｅｘｅ”の親プロセス“ｉｅｘｐｌｏｒｅ．ｅｘｅ”の過去の通信における宛先ポート番号（８０番、８０８０番、４４３番）を取得する。そして、図３の不正ルールファイル１８を参照して、プロセス“ｃｏｏｌ．ｅｘｅ”の宛先ポート番号（１３９番）、親プロセスの宛先ポート番号（８０番、８０８０番、４４３番）、爺プロセス名（ｅｘｐｌｏｒｅｒ．ｅｘｅ）の組み合わせが不正ルールのいずれかに合致するかどうかを検索すると、この組み合わせは、ルール番号２およびルール番号３に合致するので、プロセス“ｃｏｏｌ．ｅｘｅ”を不正プロセスと判定する。
【００６３】
判定部１４は、図９のプロセス判定結果において判定対象プロセス２Ｘを不正プロセスと判定したので、同様に、判定対象プロセス２Ｘ（ｃｏｏｌ．ｅｘｅ）の判定情報をプロセス停止部１５に渡す。
【００６４】
また、判定部１４は、判定対象のプロセス２を不正プロセスでないと判定した場合は、そのプロセス２に関する通信情報およびプロセスツリー情報から所定のログ情報（プロセス名、通信時刻の最新時刻、親プロセス名、宛先ポート番号、通信方向）をプロセスログ１９に蓄積する。なお、プロセスログ１９に、プロセス名、親プロセス名、宛先ポート番号、および通信方向が同一のログ情報が既に蓄積されている場合は、そのログ情報の最新時刻を、プロセス２Ｘの通信情報の通信時刻に更新する。
【００６５】
そして、プロセス停止部１５は、判定情報（プロセス情報）をもとに、プロセス２Ｘ“ｃｏｏｌ．ｅｘｅ”を直ちに停止し、停止したプロセス２Ｘの判定情報を通知部１６に渡す。さらに、通知部１６は、プロセス２Ｘのプロセス判定結果から、図１０に示すような検出結果をクライアントＰＣ１の表示画面に表示して、ユーザに、プロセス“ｃｏｏｌ．ｅｘｅ”を不正プロセス（共有ファイルサーバへのアクセス）として停止したことを通知する。
【００６６】
さらに、通信遮断要求部１７は、プロセス２Ｘの判定情報（時刻１０：１６：４４に発生した通信の通信情報およびプロセス“ｍａｉｌ２３３１２．ｅｘｅ”のプロセス情報）から、プロセス“ｍａｉｌ２３３１２．ｅｘｅ”が発生させるアウトバウンド通信を遮断するために、図１１に示すように、クライアントＰＣ１内に備えられたパーソナルファイアウォールシステム５に対し、通信遮断要求を示す通知内容ａ（宛先ポート番号２５、通信方向：ｏｕｔ（アウトバウンド））を渡す。パーソナルファイアウォールシステム５は、通信遮断要求部１７からの通知内容ａに従って、宛先ポート番号２５へのアウトバウンド通信を遮断する。
【００６７】
また、通信遮断要求部１７は、クライアントＰＣ１と接続するルータ６に対し、ネットワークインターフェース３を介して、通信遮断要求を示す通知内容ｂ（クライアントＰＣ１のＩＰアドレス（１９２．１６８．１．１）、宛先ポート番号２５、通信方向：ｏｕｔ（アウトバウンド））を送信する。ルータ６は、通信遮断要求部１７からの通知内容ａに従って、ＩＰアドレス（１９２．１６８．１．１）から宛先ポート番号２５へのアウトバウンド通信を遮断する。
【００６８】
図１２は、アウトバウンド通信を発生させたプロセスを判定対象とする場合の処理の流れを示す図である。
【００６９】
ネットワーク型ウィルス活動検出システム１０の監視部１１は、ネットワークインターフェース３の通信情報を取得する（ステップＳ１）。プロセス特定部１２は、プロセス管理情報を参照し、通信情報から、その通信を発生させたプロセス２Ｘを特定し、プロセス２Ｘに関するプロセス情報を出力する（ステップＳ２）。プロセスツリー取得部１３は、プロセス情報から、そのプロセス２Ｘの上位プロセス（親プロセス、爺プロセス）を特定し、プロセスツリー情報を出力する（ステップＳ３）。
【００７０】
そして、判定部１４は、不正ルールファイル１８を参照し、通信情報、プロセス情報、プロセスツリー情報から、プロセス２Ｘが不正プロセスであるか否かを判定する（ステップＳ４）。プロセス２Ｘが不正プロセスであれば（ステップＳ５のＹＥＳ）、プロセス停止部１５は、プロセス２Ｘを停止し（ステップＳ６）、通知部１６は、プロセス２Ｘの停止を通知する（ステップＳ７）。一方、プロセス２Ｘが不正プロセスでなければ（ステップＳ５のＮＯ）、判定部１４は、プロセス２Ｘのログ情報でプロセスログ１９を更新する（ステップＳ８）。
【００７１】
次に、本発明について、リスンポートを発生させたプロセスを判定対象とする場合の処理を説明する。
【００７２】
ネットワーク型ウィルス活動検出システム１０の判定部１４は、図１３に示すような不正ルールファイル１８を設定しておく。
【００７３】
図１３に示す不正ルールファイル１８のルール番号１１は、あるプロセスがあるポート（何番でもよい）をリスンさせてオープン状態にし、このプロセスの親プロセスが過去に１１０番ポートに対して通信を行っており（親プロセスはメール受信プログラムであると特定する）、さらに爺プロセスがアプリケーションを動作させるｅｘｐｌｏｒｅｒ．ｅｘｅというプロセス名である場合に限り、当該プロセスを不正プロセスとみなすルールである。
【００７４】
ルール番号１１は、親プロセス（メール受信プログラム）が受信した添付ファイルをユーザがダブルクリックなどによって実行することによって当該プロセスが生成され、あるポートをリスンさせていることを意味し、かかる動作状況を不正として規定している。
【００７５】
また、ルール番号１２およびルール番号１３は、いずれも、あるプロセスがあるポートをリスンさせて、当該プロセスの親プロセスが過去に８０番または８０８０番ポートに対して通信を行っており（親プロセスはＷｅｂブラウジングプログラムであると特定する）、さらに爺プロセスがアプリケーションを動作させるｅｘｐｌｏｒｅｒ．ｅｘｅというプロセス名である場合に限り、当該プロセスを不正プロセスとみなすルールである。
【００７６】
ルール番号１２およびルール番号１３のどちらも、親プロセスがどこかのＷｅｂページから実行プログラムをダウンロードかつ実行することによって当該プロセスが生成され、さらに当該プロセスがあるポートをリスンさせたことを意味し、かかる動作状況を不正として規定している。
【００７７】
ネットワーク型ウィルス活動検出システム１０の監視部１１は、クライアントＰＣ１において新たに開かれた（リスンされた）ポートを監視し、リスンが設定された時刻、リスンされたポート番号、プロトコル情報（プロトコル名）を含むポート監視結果を記憶する。そして、監視部１１は、プロセス特定部１２およびプロセスツリー取得部１３に対して、当該ポート監視結果を渡す。
【００７８】
プロセス特定部１２は、監視部１１のポート監視結果をもとに、クライアントＰＣ１のＯＳによって管理されるプロセス管理情報から当該ポートをリスンさせたプロセス２Ｙを特定し、判定部１４に対して、ポート監視結果と共に、特定したプロセス２Ｙに関するプロセス情報（プロセス名、プロセス番号）を渡す。
【００７９】
プロセスツリー取得部１３は、プロセス情報をもとに、プロセス管理情報から、判定対象プロセス２Ｙの上位プロセス（親プロセス、爺プロセス）を特定してプロセスツリー情報（判定対象プロセスとの関係、各上位プロセスのプロセス名など）を取得し、判定部１４に対して、ポート監視結果とそのプロセスツリー情報を渡す。
【００８０】
判定部１４は、ポート監視結果およびプロセスツリー情報をもとに、ポートをリスンさせたプロセスのプロセス特定結果（設定時刻、ポート番号（宛先ポート番号）、プロトコル名、判定対象のプロセス名、親プロセス名、爺プロセス名）を保持する。そして、プロセスログ１９の通信方向が“ｉｎ”であるログ情報と照らし合わせることによって、判定対象プロセス２Ｙの親プロセスの内容を特定し、不正ルールファイル１８に従って、親プロセスおよび爺プロセスのサービスの下で判定対象プロセス２Ｙのプロセスが不正プロセスであるかどうかを判定する。
【００８１】
そして、判定対象プロセス２Ｙが不正プロセスであると判定した場合に、判定対象プロセス２Ｙの判定情報をプロセス停止部１５に渡す。そして、プロセス停止部１５は、判定情報（プロセス情報）をもとに、プロセス２Ｙを直ちに停止し、停止したプロセス２Ｙの判定情報を通知部１６に渡す。また、通知部１６は、プロセス２Ｙのプロセス判定結果から、プロセス２Ｙがポートリスンを行った不正なプロセスである旨の検出結果をクライアントＰＣ１の表示画面に表示し、ユーザに、プロセス２Ｙを停止したことを通知する。
【００８２】
図１４は、リスンポートを発生させたプロセスを判定対象とする場合の処理の流れを示す図である。
【００８３】
ネットワーク型ウィルス活動検出システム１０の監視部１１は、クライアントＰＣ１のポートを監視し（ステップＳ１１）、プロセス特定部１２は、新たにポートを開いた（リスンした）プロセス２Ｙを特定し、プロセス２Ｘに関するプロセス情報を出力する（ステップＳ１２）。プロセスツリー取得部１３は、プロセス情報から、そのプロセス２Ｙの上位プロセス（親プロセス、爺プロセス）を特定し、プロセスツリー情報を出力する（ステップＳ１３）。
【００８４】
そして、判定部１４は、不正ルールファイル１８を参照して、通信情報、プロセス情報、プロセスツリー情報から、プロセス２Ｙが不正プロセスであるか否かを判定する（ステップＳ１４）。プロセス２Ｙが不正プロセスであれば（ステップＳ１５のＹＥＳ）、プロセス停止部１５は、プロセス２Ｙを停止し（ステップＳ１６）、通知部１６は、プロセス２Ｙの停止を通知する（ステップＳ１７）。一方、プロセス２Ｙが不正プロセスでなければ（ステップＳ１５のＮＯ）、判定部１４は、プロセス２Ｙのログ情報でプロセスログ１９を更新する（ステップＳ１８）。
【００８５】
以上、本発明をその実施の形態により説明したが、本発明はその主旨の範囲において種々の変形が可能であることは当然である。
【００８６】
また、本発明を構成する要素、処理手段などは、コンピュータにより読み取られ実行されるプログラムとして実施するものとして説明したが、本発明を実現するプログラムは、コンピュータが読み取り可能な、可搬媒体メモリ、半導体メモリ、ハードディスクなどの適当な記録媒体に格納することができ、これらの記録媒体に記録して提供され、または通信インタフェースを介して種々のネットワーク通信により提供されるものである。
【００８７】
本発明の形態および実施例の特徴を列記すると以下のとおりである。
【００８８】
（付記１）  ネットワークに接続されたコンピュータ内でのネットワーク型ウィルスの活動を検出するネットワーク型ウィルス活動検出処理方法を、コンピュータに実行させるためのプログラムであって、
コンピュータ内で動作中のプロセスを管理する管理情報をもとに、判定対象のプロセスを特定し、前記判定対象プロセスの上位プロセスを特定したプロセスツリー情報を出力するプロセス特定過程と、
ウィルス活動による不正プロセスに共通する挙動をプロセス間の階層関係によって定義した判定ルール情報および前記プロセスツリー情報を使用して、前記判定対象プロセスが不正プロセスであるか否かを判定する判定過程とを、
前記コンピュータに実行させるためのネットワーク型ウィルス活動検出プログラム。
【００８９】
（付記２）  前記付記１記載のネットワーク型ウィルス活動検出プログラムにおいて、
前記判定過程により不正プロセスと判定された前記判定対象プロセスを停止する停止過程を、
前記コンピュータに実行させるためのネットワーク型ウィルス活動検出プログラム。
【００９０】
（付記３）  前記付記１記載のネットワーク型ウィルス活動検出プログラムにおいて、
前記判定過程により不正プロセスと判定された前記判定対象プロセスが行う通信の遮断要求を出力する通信遮断要求過程を、
前記コンピュータに実行させるためのネットワーク型ウィルス活動検出プログラム。
【００９１】
（付記４）  前記付記２記載のネットワーク型ウィルス活動検出プログラムにおいて、
前記判定過程により不正プロセスと判定された前記判定対象プロセスの停止をユーザに通知する通知過程を、
前記コンピュータに実行させるためのネットワーク型ウィルス活動検出プログラム。
【００９２】
（付記５）  前記付記１記載のネットワーク型ウィルス活動検出プログラムにおいて、
前記コンピュータのアウトバウンド通信を監視する通信監視過程を、前記コンピュータに実行させると共に、
前記判定過程では、前記アウトバウンド通信において新たな通信を生成したプロセスを判定対象プロセスとする
ことを特徴とするネットワーク型ウィルス活動検出プログラム。
【００９３】
（付記６）  前記付記１記載のネットワーク型ウィルス活動検出プログラムにおいて、
前記プロセスが発生させたポートのステータスを監視するポート監視過程を、前記コンピュータに実行させると共に、
前記判定過程では、前記ポートに所定のステータスを設定したプロセスを判定対象プロセスとする
ことを特徴とするネットワーク型ウィルス活動検出プログラム。
【００９４】
（付記７）  前記付記５または付記６のいずれかに記載のネットワーク型ウィルス活動検出プログラムにおいて、
正当なプロセスが行った通信について、少なくとも、通信方向、宛先ポート番号および当該プロセスの上位プロセスを記録するログ情報を蓄積するログ取得過程を、前記コンピュータに実行させると共に、
前記判定過程では、前記判定ルール情報が、判定対象プロセスおよび上位プロセスの宛先ポート番号の組み合わせによって不正プロセスを定義したものである場合に、前記ログ情報をもとに前記上位プロセスの宛先ポート番号を特定し、前記前判定対象プロセスおよび前記上位プロセスの宛先ポート番号の関係によって前記判定対象プロセスが不正プロセスであるか否かを判定する
ことを特徴とするネットワーク型ウィルス活動検出プログラム。
【００９５】
（付記８）  ネットワークに接続されたコンピュータ内でのネットワーク型ウィルスの活動を検出するネットワーク型ウィルス活動検出処理方法であって、
コンピュータ内で動作中のプロセスを管理する管理情報をもとに、判定対象のプロセスを特定し、前記判定対象プロセスの上位プロセスを特定したプロセスツリー情報を出力するプロセス特定過程と、
ウィルス活動による不正プロセスに共通する挙動をプロセス間の階層関係によって定義した判定ルール情報および前記プロセスツリー情報を使用して、前記判定対象プロセスが不正プロセスであるか否かを判定する判定過程とを備える
ことを特徴とするネットワーク型ウィルス活動検出処理方法。
【００９６】
（付記９）  前記付記８記載のネットワーク型ウィルス活動検出処理方法において、
前記判定過程により不正プロセスと判定された前記判定対象プロセスを停止する停止過程を備える
ことを特徴とするネットワーク型ウィルス活動検出処理方法。
【００９７】
（付記１０）  ネットワークに接続されたコンピュータ内でのネットワーク型ウィルスの活動を検出するネットワーク型ウィルス活動検出システムであって、
ウィルス活動による不正プロセスに共通する挙動をプロセス間の階層関係によって定義した判定ルール情報を記憶する判定ルール記憶手段と、
コンピュータ内で動作中のプロセスを管理する管理情報をもとに、判定対象であるプロセスと前記判定対象プロセスの一または複数の上位プロセスとを特定し、前記判定対象プロセスおよび上位プロセスの関係を示すツリー情報を出力するプロセス特定手段と、
前記プロセスツリー情報および前記判定ルール情報を使用して前記判定対象プロセスが不正プロセスであるか否かを判定する判定手段を備える
ことを特徴とするネットワーク型ウィルス活動検出システム。
【００９８】
（付記１１）  前記付記１０記載のネットワーク型ウィルス活動検出システムにおいて、
前記判定手段により不正プロセスと判定された前記判定対象プロセスを停止する停止手段を備える
ことを特徴とするネットワーク型ウィルス活動検出システム。
【００９９】
（付記１２）  前記付記１０記載のネットワーク型ウィルス活動検出システムにおいて、
前記判定手段により不正プロセスと判定された前記判定対象プロセスが行う通信の遮断要求を出力する通信遮断要求手段を備える
ことを特徴とするネットワーク型ウィルス活動検出システム。
【０１００】
（付記１３）  前記付記１１記載のネットワーク型ウィルス活動検出システムにおいて、
前記判定手段により不正プロセスと判定された前記判定対象プロセスの停止をユーザに通知する通知手段を備える
ことを特徴とするネットワーク型ウィルス活動検出システム。
【０１０１】
（付記１４）  前記付記１０記載のネットワーク型ウィルス活動検出システムにおいて、
前記コンピュータのアウトバウンド通信を監視する通信監視手段を備え、
前記判定手段は、前記アウトバウンド通信において新たな通信を生成したプロセスを判定対象プロセスとする
ことを特徴とするネットワーク型ウィルス活動検出システム。
【０１０２】
（付記１５）  前記付記１０記載のネットワーク型ウィルス活動検出システムにおいて、
前記プロセスが発生させたポートのステータスを監視するポート監視手段を備え、
前記判定手段は、前記ポートに所定のステータスを設定したプロセスを判定対象プロセスとする
ことを特徴とするネットワーク型ウィルス活動検出システム。
【０１０３】
（付記１６）  前記付記１４または付記１５のいずれかに記載のネットワーク型ウィルス活動検出システムにおいて、
正当なプロセスが行った通信について、少なくとも、通信方向、宛先ポート番号および当該プロセスの上位プロセスを記録するログ情報を蓄積するログ取得手段を備え、
前記判定手段は、前記判定ルール情報が、判定対象プロセスおよび上位プロセスの宛先ポート番号の組み合わせによって不正プロセスを定義したものである場合に、前記ログ情報をもとに前記上位プロセスの宛先ポート番号を特定し、前記前判定対象プロセスおよび前記上位プロセスの宛先ポート番号の関係によって前記判定対象プロセスが不正プロセスであるか否かを判定する
ことを特徴とするネットワーク型ウィルス活動検出システム。
【図面の簡単な説明】
【０１０４】
【図１】本発明の原理を説明するための図である。
【図２】本発明の実施の形態における構成例を示す図である。
【図３】不正ルールファイルの例を示す図である。
【図４】プロセスログの例を示す図である。
【図５】アウトバウンド通信の監視結果の例を示す図である。
【図６】プロセス特定結果の例を示す図である。
【図７】判定結果の例を示す図である。
【図８】検出結果の通知例を示す図である。
【図９】判定結果の例を示す図である。
【図１０】検出結果の通知例を示す図である。
【図１１】通知遮断要求の出力を説明するための図である。
【図１２】アウトバウンド通信を発生させたプロセスを判定対象とする場合の処理の流れを示す図である。
【図１３】リスンポートの監視結果の例を示す図である。
【図１４】リスンポートを発生させたプロセスを判定対象とする場合の処理の流れを示す図である
【符号の説明】
【０１０５】
１  クライアントＰＣ（クライアントコンピュータ）
２  プロセス
３  ネットワークインターフェース
１０  ネットワーク型ウィルス活動検出システム
１１  監視部
１２  プロセス特定部
１３  プロセスツリー取得部
１４  判定部
１５  プロセス停止部
１６  通知部
１７  通信遮断要求部
１８  不正ルールファイル
１９  プロセスログ
【図１】
2006119754.tif 000003
【図２】
2006119754.tif 000004
【図３】
2006119754.tif 000005
【図４】
2006119754.tif 000006
【図５】
2006119754.tif 000007
【図６】
2006119754.tif 000008
【図７】
2006119754.tif 000009
【図８】
2006119754.tif 000010
【図９】
2006119754.tif 000011
【図１０】
2006119754.tif 000012
【図１１】
2006119754.tif 000013
【図１２】
2006119754.tif 000014
【図１３】
2006119754.tif 000015
【図１４】
2006119754.tif 000016