(57)【特許請求の範囲】
【請求項１】
監視対象のノードが接続するネットワークと他のネットワークとの接続部に接続し、前記監視対象ノードからのＤＮＳサーバへのクエリに対するレスポンスとして得られるホスト名とそのＩＰアドレスとの第１の対応関係と、前記監視対象ノードからの前記他のネットワークに接続する他ノードへのアクセスの際に得られる前記他ノードのＩＰアドレスと該ＩＰアドレスが前記第１の対応関係から得られたか否かを示す情報との第２の対応関係とを、前記監視対象のノードのＩＰアドレスに対応付けて格納する接続先情報データベースと、所定期間内に前記接続先情報データベースに格納された前記第２の対応関係の中で、前記他ノードのＩＰアドレスと該ＩＰアドレスが前記第１の対応関係から得られたことを示す情報との対応を示す前記第２の対応関係の割合が所定の割合を超えている場合に、前記監視対象のノードは通常通信を行っているノードであると推定する演算装置とを有することを特徴とするＰ２Ｐ通信検知装置。
【請求項２】
前記所定期間内に前記接続先情報データベースに格納された前記第２の対応関係の中で、前記他ノードのＩＰアドレスと該ＩＰアドレスが前記第１の対応関係から得られたことを示す情報との対応を示す前記第２の対応関係の割合が所定の割合以下である場合に、前記監視対象のノードと前記他ノードはＰ２Ｐ通信を行っているノードであると推定する演算装置とを有することを特徴とする請求項１記載のＰ２Ｐ通信検知装置。
【請求項３】
前記演算装置が、前記ＤＮＳサーバへのクエリに対する前記レスポンスを監視し、該レスポンスに含まれる前記ホスト名とそのＩＰアドレスとの前記第１の対応関係として、前記ＤＮＳサーバへクエリを送信した前記監視対象のノードのＩＰアドレスに対応付けて前記演算装置が前記接続先情報データベースに格納することを特徴とする請求項２記載のＰ２Ｐ通信検知装置。
【請求項４】
前記演算装置が、前記監視対象ノードからの前記他のネットワークに接続する他ノードへのアクセスを監視し、該アクセス情報に含まれる前記他ノードのＩＰアドレスを得、該ＩＰアドレスが前記第１の対応関係から得られたか否かを判定し、その判定結果を示す情報を前記得たＩＰアドレスと対応付けた第２の対応関係を、前記監視対象のノードのＩＰアドレスに対応付けて前記接続先情報データベース格納することを特徴とする請求項２記載のＰ２Ｐ通信検知装置。
【請求項５】
前記演算装置は、前記監視対象のノードと前記他ノードはＰ２Ｐ通信を行っているとの推定応じて、警告を出力することを特徴とする請求項２記載のＰ２Ｐ通信検知装置。
【請求項６】
監視対象のノードが接続するネットワークと他のネットワークとの接続部に接続し、前記監視対象ノードからのＤＮＳサーバへのクエリに対するレスポンスとして得られるホスト名とそのＩＰアドレスとの第１の対応関係と、前記監視対象ノードからの前記他のネットワークに接続する他ノードへのアクセスの際に得られる前記他ノードのＩＰアドレスと該ＩＰアドレスが前記第１の対応関係から得られたか否かを示す情報との第２の対応関係とを、前記監視対象のノードのＩＰアドレスに対応付けて格納する接続先情報データベースと、所定件数の前記接続先情報データベースに格納された前記第２の対応関係の中で、前記他ノードのＩＰアドレスと該ＩＰアドレスが前記第１の対応関係から得られたことを示す情報との対応を示す前記第２の対応関係の件数が予め定めた件数を超えている場合に、前記監視対象のノードは通常通信を行っているノードであると推定する演算装置とを有することを特徴とするＰ２Ｐ通信検知装置。
【請求項７】
前記所定件数の前記接続先情報データベースに格納された前記第２の対応関係の中で、前記他ノードのＩＰアドレスと該ＩＰアドレスが前記第１の対応関係から得られたことを示す情報との対応を示す前記第２の対応関係の件数が前記予め定めた件数以下である場合に、前記監視対象のノードと前記他ノードはＰ２Ｐ通信を行っているノードであると推定する演算装置とを有することを特徴とする請求項６記載のＰ２Ｐ通信検知装置。
【請求項８】
監視対象のノードが接続するネットワークと他のネットワークとの接続部に接続するＰ２Ｐ通信検知装置におけるＰ２Ｐ通信検知方法であって、前記監視対象ノードからのＤＮＳサーバへのクエリに対するレスポンスを監視し、前記レスポンスに含まれるホスト名とそのＩＰアドレスとの第１の対応関係を前記監視対象のノードのＩＰアドレスに対応付けて接続先情報データベースに格納し、前記監視対象ノードからの前記他のネットワークに接続する他ノードへのアクセスを監視し、前記アクセスに関する情報から前記他ノードのＩＰアドレスを得、前記得た前記他ノードのＩＰアドレスと、該ＩＰアドレスが前記接続先情報データベースに格納されている前記第１の対応関係から得られたか否かを示す情報との第２の対応関係とを、前記監視対象のノードのＩＰアドレスに対応付けて前記接続先情報データベースに格納し、所定期間内に前記接続先情報データベースに格納された前記第２の対応関係の中で、前記他ノードのＩＰアドレスと該ＩＰアドレスが前記第１の対応関係から得られたことを示す情報との対応を示す前記第２の対応関係の割合が所定の割合を超えている場合に、前記監視対象のノードは通常通信を行っているノードであると推定することを特徴とするＰ２Ｐ通信検知方法。
【請求項９】
前記所定期間内に前記接続先情報データベースに格納された前記第２の対応関係の中で、前記他ノードのＩＰアドレスと該ＩＰアドレスが前記第１の対応関係から得られたことを示す情報との対応を示す前記第２の対応関係の割合が所定の割合以下である場合に、前記監視対象のノードと前記他ノードはＰ２Ｐ通信を行っているノードであると推定することを特徴とする請求項８記載のＰ２Ｐ通信検知方法。
【請求項１０】
前記監視対象のノードと前記他ノードはＰ２Ｐ通信を行っているノードであるとの推定応じて、警告を出力することを特徴とする請求項９記載のＰ２Ｐ通信検知方法。
【請求項１１】
監視対象のノードが接続するネットワークと他のネットワークとの接続部に接続するＰ２Ｐ通信検知装置におけるＰ２Ｐ通信検知方法であって、前記監視対象ノードからのＤＮＳサーバへのクエリに対するレスポンスを監視し、前記レスポンスに含まれるホスト名とそのＩＰアドレスとの第１の対応関係を前記監視対象のノードのＩＰアドレスに対応付けて接続先情報データベースに格納し、前記監視対象ノードからの前記他のネットワークに接続する他ノードへのアクセスを監視し、前記アクセスに関する情報から前記他ノードのＩＰアドレスを得、前記得た前記他ノードのＩＰアドレスと、該ＩＰアドレスが前記接続先情報データベースに格納されている前記第１の対応関係から得られたか否かを示す情報との第２の対応関係とを、前記監視対象のノードのＩＰアドレスに対応付けて前記接続先情報データベースに格納し、所定件数の前記接続先情報データベースに格納された前記第２の対応関係の中で、前記他ノードのＩＰアドレスと該ＩＰアドレスが前記第１の対応関係から得られたことを示す情報との対応を示す前記第２の対応関係の件数が予め定めた件数を超えている場合に、前記監視対象のノードは通常通信を行っているノードであると推定することを特徴とするＰ２Ｐ通信検知方法。
【請求項１２】
前記所定件数の前記接続先情報データベースに格納された前記第２の対応関係の中で、前記他ノードのＩＰアドレスと該ＩＰアドレスが前記第１の対応関係から得られたことを示す情報との対応を示す前記第２の対応関係の件数が前記予め定めた件数以下である場合に、前記監視対象のノードと前記他ノードはＰ２Ｐ通信を行っているノードであると推定することを特徴とする請求項11記載のＰ２Ｐ通信検知方法。
【請求項１３】
監視対象のノードが接続するネットワークと他のネットワークとの接続部に接続するＰ２Ｐ通信検知装置に実行させるためのＰ２Ｐ通信検知プログラムであって、前記監視対象ノードからのＤＮＳサーバへのクエリに対するレスポンスを監視し、前記レスポンスに含まれるホスト名とそのＩＰアドレスとの第１の対応関係を前記監視対象のノードのＩＰアドレスに対応付けて接続先情報データベースに格納し、前記監視対象ノードからの前記他のネットワークに接続する他ノードへのアクセスを監視し、前記アクセスに関する情報から前記他ノードのＩＰアドレスを得、前記得た前記他ノードのＩＰアドレスと、該ＩＰアドレスが前記接続先情報データベースに格納されている前記第１の対応関係から得られたか否かを示す情報との第２の対応関係とを、前記監視対象のノードのＩＰアドレスに対応付けて前記接続先情報データベースに格納し、所定期間内に前記接続先情報データベースに格納された前記第２の対応関係の中で、前記他ノードのＩＰアドレスと該ＩＰアドレスが前記第１の対応関係から得られたことを示す情報との対応を示す前記第２の対応関係の割合が所定の割合を超えている場合に、前記監視対象のノードは通常通信を行っているノードであると推定することを特徴とするＰ２Ｐ通信検知プログラム。
【請求項１４】
前記所定期間内に前記接続先情報データベースに格納された前記第２の対応関係の中で、前記他ノードのＩＰアドレスと該ＩＰアドレスが前記第１の対応関係から得られたことを示す情報との対応を示す前記第２の対応関係の割合が所定の割合以下である場合に、前記監視対象のノードと前記他ノードはＰ２Ｐ通信を行っているノードであると推定することを特徴とする請求項13記載のＰ２Ｐ通信検知プログラム。
【請求項１５】
監視対象のノードが接続するネットワークと他のネットワークとの接続部に接続するＰ２Ｐ通信検知装置に実行させるためのＰ２Ｐ通信検知プログラムであって、前記監視対象ノードからのＤＮＳサーバへのクエリに対するレスポンスを監視し、前記レスポンスに含まれるホスト名とそのＩＰアドレスとの第１の対応関係を前記監視対象のノードのＩＰアドレスに対応付けて接続先情報データベースに格納し、前記監視対象ノードからの前記他のネットワークに接続する他ノードへのアクセスを監視し、前記アクセスに関する情報から前記他ノードのＩＰアドレスを得、前記得た前記他ノードのＩＰアドレスと、該ＩＰアドレスが前記接続先情報データベースに格納されている前記第１の対応関係から得られたか否かを示す情報との第２の対応関係とを、前記監視対象のノードのＩＰアドレスに対応付けて前記接続先情報データベースに格納し、所定件数の前記接続先情報データベースに格納された前記第２の対応関係の中で、前記他ノードのＩＰアドレスと該ＩＰアドレスが前記第１の対応関係から得られたことを示す情報との対応を示す前記第２の対応関係の件数が予め定めた件数を超えている場合に、前記監視対象のノードは通常通信を行っているノードであると推定することを特徴とするＰ２Ｐ通信検知プログラム。
【請求項１６】
前記所定件数の前記接続先情報データベースに格納された前記第２の対応関係の中で、前記他ノードのＩＰアドレスと該ＩＰアドレスが前記第１の対応関係から得られたことを示す情報との対応を示す前記第２の対応関係の件数が前記予め定めた件数以下である場合に、前記監視対象のノードと前記他ノードはＰ２Ｐ通信を行っているノードであると推定することを特徴とする請求項15記載のＰ２Ｐ通信検知プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、Ｐ２Ｐ（Peer to Peer）通信検知装置およびその検知方法と検知プログラムに係る。
【背景技術】
【０００２】
Ｐ２Ｐ技術を基盤としたファイル共有ソフトの爆発的な普及に伴い、著作物の不適切な流通や、ファイル共有ソフトを悪用したウイルスの流行による個人情報や企業の機密情報等の漏えいが社会的な問題となっている。そこで、ファイル共有ソフトの通信を検出し、利用者を把握する技術が必要となる。ファイル共有ソフトの通信を検出するためには、監視対象とするファイル共有ソフトの通信プロトコルを解明し、解明したプロトコルに則った通信が監視対象ネットワーク上の通信に含まれているか否かを解析することによりファイル共有ソフトの通信を検出する技術が知られている。プロトコルを解析してファイル共有ソフトの通信を検出する技術が、特許文献１に開示されている。
【０００３】
【特許文献１】特開２００７−１３３３６２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
近年のＰ２Ｐ技術を基盤としたファイル共有ソフト（Ｐ２Ｐソフト）は、秘匿性を高めるために暗号化処理を実装していたり、ソフトの静的解析（リバースエンジニアリング等）を困難にするために難読化処理が施されていたりするなど、通信プロトコルの解析が容易ではなくなってきている。このため、個々のＰ２Ｐソフトごとに通信プロトコルを解析するような従来の技術によってＰ２Ｐ通信やＰ２Ｐノードを検知しようとした場合には、検知プログラムや検知装置の開発コストがかかったり、このようなソフトの通信の検出が可能となるまでに時間を要してしまったり、場合によっては検出が不可能になるといった問題がある。
【０００５】
本発明の目的は、Ｐ２Ｐソフトの通信プロトコル、すなわちＰ２Ｐソフトの種類に依存せずに、Ｐ２Ｐ通信やＰ２Ｐノードを推定するＰ２Ｐ通信検知装置および方法を提供することにある。
【課題を解決するための手段】
【０００６】
本発明にかかるＰ２Ｐ通信検知装置は、ネットワークに接続されたＰ２Ｐソフト稼働ノードを検知する装置において、検知装置がネットワークを流れるＤＮＳ通信を蓄積したクエリ情報に基づいて各ノードの通信相手のＩＰアドレスがＤＮＳによって得られたＩＰアドレスなのか否かを判断し、Ｐ２Ｐ技術を基盤としたファイル共有ソフトのような、ホスト名を利用しないで他のノードと通信を行うプログラムが稼働するＰ２Ｐノードを特定するものである。
【０００７】
本発明のＰ２Ｐ通信検知装置及びその検知方法と検知プログラムの具体的な態様は次のとおりである。Ｐ２Ｐ通信検知装置は監視対象のノードが接続するネットワークと他のネットワークとの接続部に接続する。監視対象ノードからのＤＮＳサーバへのクエリに対するレスポンスとして得られるホスト名とそのＩＰアドレスとの第１の対応関係を監視対象のノードのＩＰアドレスに対応付けて接続先情報データベースに格納する。監視対象ノードからの前記他のネットワークに接続する他ノードへのアクセスの際に得られる他ノードのＩＰアドレスとこのＩＰアドレスが第１の対応関係から得られたか否かを示す情報との第２の対応関係を、監視対象のノードのＩＰアドレスに対応付けて接続先情報データベースに格納する。所定期間内又は所定件数の、接続先情報データベースに格納された第２の対応関係の中で、他ノードのＩＰアドレスとこのＩＰアドレスが第１の対応関係から得られたことを示す情報との対応を示す第２の対応関係の割合又は件数が所定の割合又は件数を超えている場合に、監視対象のノードは通常通信を行っているノードであると推定する。
【発明の効果】
【０００８】
本発明によれば、ネットワークを流れる通信を監視するとともに、Ｐ２Ｐ通信と思しき通信を検知して、特定のＰ２Ｐソフトに依存せずにＰ２Ｐノードの検知が可能となる。
【発明を実施するための最良の形態】
【０００９】
以下、図面を用いて、本発明の一実施形態について説明する。
【００１０】
図１は、一実施形態によるＰ２Ｐ通信検知システムのネットワーク構成図である。このＰ２Ｐ通信検知システム１０は、監視対象となるインターネットサービスプロバイダが抱える末端ネットワークなどの内部ネットワーク４０を介して、ブリッジ型の検知装置１２（又は検知装置１３）と、複数のノード１４、１５（本実施形態では、Ｐ２Ｐノード１４と通常ノード１５として説明する。）とが互いに接続される構成である。ブリッジ型の検知装置１２は、さらにインターネットなどの外部ネットワーク５０に接続されて構成される。ただし、検知装置１２(又は１３)は、ルータ（router）やＦＷ（firewall）に内蔵された装置、又は既存のルータやＦＷに後に増設されて構成される場合もある。
【００１１】
なお、検知装置１２は、内部ネットワーク４０と外部ネットワーク５０との間に通信される情報が検知装置１２の内部を通るようにした検知装置であり、検知装置１３は、内部ネットワーク４０と外部ネットワーク５０との間に通信される情報をモニタするようにした検知装置である。図１は、本実施形態においては検知装置を検知装置１２の位置に限らず、検知装置１３の位置に構成しても良いことを示している（破線による図示）。
【００１２】
外部ネットワーク５０にはＤＮＳ（Domain Name System）サーバ２０が接続されている。ＤＮＳサーバ２０は、必ずしも外部ネットワーク５０に接続される必要はなく、内部ネットワーク４０に接続されても良い。ＤＮＳサーバ２０は、インターネット上のホスト名とIPアドレス（Internet Protocolにおけるアドレス）とを対応させる(名前解決する)サーバである。外部ネットワーク５０には、多くのサーバコンピュータや端末装置としてのＰＣが接続しているが、図示を省略する。
【００１３】
各装置１２(又は１３)、１４、及び１５を構成するハードウェアは、図２に示すように、実質的に同様のユニット(装置)構成を有し、各演算装置で実行されるソフトウェアによって各々の動作が定められる。
【００１４】
ブリッジ型の検知装置１２は、バス１２０１に接続された、演算装置１２０２と、表示装置１２０３と、入力装置１２０４と、メモリ１２０５と、記憶装置１２０６と、通信装置１２０７、１２０８とを有して構成される。検知装置１３の構成も検知装置１２と同様である(図示略)。ノード１４、１５（図２及び以下のその説明では、ノード１４を代表させる。）は、パーソナルコンピュータ（ＰＣ）のようなクライアントコンピュータであり、バス１４０１に接続された、演算装置１４０２と、表示装置１４０３と、入力装置１４０４と、メモリ１４０５と、記憶装置１４０６と、通信装置１４０７とをそれぞれ有して構成される。
【００１５】
なお、ノード１４及び１５は異なるハードウェアとして実装されるとは限らず、一つのハードウエアノード上に、異なるソフトウエアノードとして実装される場合もある。
【００１６】
図３を参照して、各装置１２、１３、１４、１５、２０の機能、およびそれらに関連する通信情報について説明する。
【００１７】
ブリッジ型の検知装置１２は、ノード１４、１５から送信された外向き（内部ネットワーク４０から外部ネットワーク５０へ流れる方向）のＤＮＳクエリ通信と、内向き（外部ネットワーク５０から内部ネットワーク４０へ流れる方向）のＤＮＳレスポンス通信、外向きの接続情報を格納する接続先情報データベース（接続先情報ＤＢ）１２４と、外部ネットワーク５０と送受信するデータ送受信部１２３と、内部ネットワーク４０と送受信するデータ送受信部１２１と、それらを制御する検知プログラム１２２とを有する。
【００１８】
ＤＮＳクエリ通信とは、ＤＮＳサーバへのホスト名とIPアドレスとの対応付け(名前解決)の問い合わせであり、ＤＮＳレスポンス通信とは、問い合わせに対する応答である。ＤＮＳサーバ２０は、ＤＮＳクエリを受信し、ＤＮＳレスポンスを送信するデータ送受信装置２０１と、前述の名前解決をするためのＤＮＳサーバプログラムを含んでいる。
【００１９】
検知装置１３（検知装置１２に代わって構成される。）は、検知装置１２におけるデータ送受信部１２１、１２３に代わって、外部ネットワーク５０と内部ネットワーク４０と間で送受信されるデータをモニタするようにデータ受信部(図示略)を備えること以外は、検知装置１２と同様である。以下では、検知装置１２（又は１３）を単に検知装置１２と称する。
【００２０】
接続先情報ＤＢ１２４は、記憶装置１２０６に形成される。接続先情報ＤＢ１２４は、内部ネットワーク４０に接続されたノード１４、１５と、外部ネットワーク５０に接続されたＤＮＳサーバ２０との間に流れるＤＮＳクエリやＤＮＳレスポンスに含まれるクエリ情報や、内部ネットワーク４０に接続されたＰ２Ｐノード１４から外部ネットワーク５０に接続されたＷｅｂサーバやメールサーバなどの様々なノードへの接続情報を格納する。
【００２１】
本実施形態では、検知装置１２の検知プログラム１２２の実行により、受信した通信情報（ＴＣＰ（５３番ポート）やＵＤＰ（５３番ポート）のヘッダ又はそれらのペイロード）から、ＤＮＳクエリとＤＮＳレスポンスとを判別する。判別することにより、検知装置１２は、内部ネットワーク４０に接続されたノード１４又は１５（ＩＰアドレス）が、外部ネットワーク５０に接続されたノードへ接続するにあたり、ＤＮＳサーバ２０を利用して名前解決したＤＮＳクエリ履歴を得、そのＤＮＳクエリ履歴を接続先情報１２５として接続先情報ＤＢ１２４に格納する。
【００２２】
検知装置１２の検知プログラム１２２は、受信した内部ネットワーク４０から外部ネットワーク５０への外向き通信情報から、内部ネットワーク４０に接続されたノード１４及び１５が、外部ネットワーク５０に接続されたノードへの接続情報を、接続先情報１２５として接続先情報ＤＢ１２４に格納する。
【００２３】
検知装置１２の検知プログラム１２２は、定期的に又は逐次的に接続先情報１２５に含まれるノード接続先情報の接続先リストの接続情報が、同ノード接続先情報のＤＮＳクエリリストに含まれる全て又は一定時間内のクエリ情報と一致するか否かを検査する。一致する場合はホスト名を指定して確立した接続（ＤＮＳサーバ２０に問い合わせて名前解決した結果を使用した接続）であると検知プログラム１２２は判断する。一致しない場合はＩＰアドレスを直接指定して確立した接続（ノード１４又は１５が自ノードに有しているＩＰアドレスを接続先アドレスとした接続）であると検知プログラム１２２は判断する。検知プログラム１２２は、判断結果を用いて、特定の（ＩＰアドレスが同一な）ノードについて、全てあるいは一定時間内の接続先に関して、ホスト名を指定して確立した接続とＩＰアドレスを直接指定して確立した接続先の比率に基づいたり、ＩＰアドレスを直接指定して確立した接続先の累計数に基づいたりして、Ｐ２Ｐノード１４であるか通常ノード１５であるかを判定する。これらの判定結果に基づき、Ｐ２Ｐノード１４の通信の全てあるいは判定したＩＰアドレスへの接続を制御（遮断／帯域制限／経路変更）したり、Ｐ２Ｐノード１４に対して警告メッセージを発したりするなどの対策を講じる。
【００２４】
本実施形態においては、Ｐ２Ｐノード１４は、ファイル共有ソフトなどのＰ２Ｐソフトが稼働しているノードであり、Ｐ２Ｐプログラム１４２と、Ｐ２Ｐ通信に必要となるデータ送受信を行うデータ送受信部１４１を有する。また、通常ノード１５は、Ｐ２Ｐソフトが稼働していないノードであり、Ｗｅｂサーバやメールサーバと通信する通信プログラム１５２と、ＨＴＴＰ通信やＳＭＴＰ・ＰＯＰ通信など、Ｐ２Ｐ通信以外のデータ送受信を行うデータ送受信部１５１を有する。
【００２５】
図４に、接続先情報ＤＢ１２４に格納される接続先情報１２５の例を示す。接続先情報１２５には、検知装置１２が検知の対象としているノード毎のノード接続先情報がある。ノード接続先情報には、外向き通信に関して、最近発生した通信の接続日時と送信元ＩＰアドレスとがある。さらに、その送信元ＩＰアドレスが接続した接続先に関して、宛先ＩＰアドレス、宛先ポート番号、接続日時、及びクエリ有無の４つを含む接続情報が接続先リストとして管理される。さらに、その送信元ＩＰアドレスがＤＮＳサーバ２０に問い合わせた情報に関して、ホスト名、ＩＰアドレス、及びクエリ日時の３つのクエリ情報がＤＮＳクエリリストとして管理される。
【００２６】
図５を参照して、本実施形態のＰ２Ｐ通信検知システムの動作を説明する。図５において、各ノード、サーバ、及び検知装置１２は、ローカルエリアネットワーク４０又はワイドエリアネットワーク５０に含まれるように図示しているが、これらのネットワークにそれぞれ接続している。又、ローカルエリアネットワーク４０及びワイドエリアネットワーク５０のそれぞれは、図１における内部ネットワーク４０及び外部ネットワーク５０にそれぞれ対応する。また、検知装置１２がローカルエリアネットワーク４０に接続しているように示しているが、図１に示したように検知装置１２はローカルエリアネットワーク４０とワイドエリアネットワーク５０との接続点にブリッジとして接続していることを想定している。
【００２７】
Ｐ２Ｐソフトが稼働していない通常ノード１５の動作を説明する。最初に通常ノード１５は操作者の指示によって、外部ネットワーク５０に公開されたＨＰ（ホームページ）を閲覧するためにＷｅｂサーバへ接続する。通常、ＷｅｂサーバのＵＲＬ（Uniform Resource Locator）の指定はホスト名を用いることがほとんどであるので、通常ノード１５は、ホスト名からＩＰアドレスを取得するために、ＤＮＳサーバ２０へＤＮＳクエリを送信する（ＳＴ１）。
【００２８】
通常ノード１５からのＤＮＳクエリを受信したＤＮＳサーバ２０は、ＤＮＳクエリに含まれるホスト名に対応するＩＰアドレスをＤＮＳレスポンスに格納して通常ノード１５へ送り返す（ＳＴ２）。
【００２９】
検知装置１２は、通常ノード１５の通信を常に監視しており、ＤＮＳ通信に使われるＴＣＰ５３番ポートやＵＤＰ５３番ポートやＤＮＳ特有のメッセージがペイロードに含まれているか否かによりＤＮＳ通信であるか否かを判断する。ＤＮＳ通信である場合、検知装置１２は、ＤＮＳリクエストおよびＤＮＳレスポンス情報を検知装置１２の接続先情報ＤＢ１２４の接続先情報１２５のノード接続先情報に含まれる送信元ＩＰアドレスが通常ノード１５と同値となるノード接続先情報のＤＮＳクエリリストに記録する。同値となるノード接続先情報がない場合は新たにノード接続先情報を作成する（ＳＴ３）。
【００３０】
ＤＮＳレスポンスを受信した通常ノード１５は、得られたＷｅｂサーバ６１のＩＰアドレスを利用してＷｅｂサーバ６１へ接続することにより、ＨＰを閲覧する（ＳＴ４）。このとき、検知装置１２は、通常ノード１５がＷｅｂサーバ６１に接続する通信を監視して、接続先のＩＰアドレスなどを検知装置１２の接続先情報ＤＢ１２４の接続先情報１２５のノード接続先情報の接続先リストに記録する（ＳＴ５）。
【００３１】
検知装置１２は、定期的又は新たな接続先を追加した時点で、送信元ＩＰアドレスが通常ノード１５と同じ値のノード接続先情報を読み込み、接続先リストに含まれるそれぞれの宛先ＩＰアドレスと同じＩＰアドレスが、ＤＮＳクエリリストに含まれるか否かを検査し（ＳＴ６）、ＤＮＳクエリによって得られたＩＰアドレスの割合（クエリ率：同じＩＰアドレスを得るためにＤＮＳサーバに対してＤＮＳクエリを送信した割合）を算出する（ＳＴ７）。通常ノード１５の利用するＷｅｂなどのサービスの多くはホスト名を利用したサービスであるので、算出したクエリ率は高い値になる。
【００３２】
Ｐ２Ｐソフトが稼働しているＰ２Ｐノード１４の動作を説明する。Ｐ２Ｐノード間のノード情報の共有（通信相手又は通信仲間のＩＰアドレスなどのノード情報を自ノードの記憶装置に格納しており、知っている状態）には、一般的にホスト名ではなくＩＰアドレスが利用されている。このため、最初にＰ２Ｐノード１４は与えられた初期ＩＰアドレス又は他のＰ２Ｐノードから取得したＩＰアドレスを利用して、他のＰ２Ｐノード６２に接続する（ＳＴ８）。即ち、他のＰ２Ｐノード６２への接続の前に、ＤＮＳクエリが発生しないことになる。検知装置１２は、Ｐ２Ｐノード１４が他のＰ２Ｐノード６２に接続する通信を監視して、接続先のＩＰアドレスなどを検知装置１２の接続先情報ＤＢ１２４の接続先情報１２５のノード接続先情報の接続先リストに記録する（ＳＴ９）。検知装置１２は、定期的又は新たな接続先を追加した時点で、送信元ＩＰアドレスがＰ２Ｐノード１４と同じ値となるノード接続先情報を読み込み、接続先リストに含まれるそれぞれの宛先ＩＰアドレスと同じ値のＩＰアドレスが、ＤＮＳクエリリストに含まれるか否かを検査し（ＳＴ１０）、ＤＮＳクエリによって得られたＩＰアドレスの割合を算出する（ＳＴ１１）。一般的にＰ２Ｐノード１４は、Ｐ２Ｐソフトの特性により、前述のようにＩＰアドレスを共有して動作する性質を有し、さらに接続先ノード数も非常に多くなる性質を有するため、クエリ率は通常ノード１５と比較して低い値になる。
【００３３】
検知装置１２は、定期的あるいは新たな接続先を追加した時点で、ローカルエリアネットワーク４０に接続されたノード１４、１５のそれぞれのクエリ率を算出して、一定の閾値（例えば７０％）を下回るクエリ率となるノードをＰ２Ｐが稼働しているノードであると判定する。一方、一定の閾値（例えば７０％）を超えるクエリ率となるノードをＰ２Ｐが稼働していない通常ノードであると判定する（ＳＴ１２）。
【００３４】
閾値は、高い割合に設定すると通常ノードをＰ２Ｐノードと判定する確率が増し、逆に低い割に設定するとＰ２Ｐノードを通常ノードと判定する確率が増す性質があるので、適度に調整される。
【００３５】
図６と図７を参照して、Ｐ２Ｐ通信検知システムにおける各装置の処理動作について説明する。
【００３６】
図６を参照して、Ｐ２Ｐソフトが稼働していない通常ノード１５における各装置の処理動作について説明する。初期動作として、検知装置１２は検知プログラム１２２を起動し（Ｓ００１）、ＤＮＳサーバ２０はＤＮＳサーバプログラム２０２を起動する（Ｓ００２）。また、Ｗｅｂサーバ６１のホスト名を”http://www.example.com”、ＩＰアドレスを”10.1.1.100”とし、ＷｅｂサービスはＴＣＰ８０番ポートで提供されるものとする。さらに、通常ノード１５のＩＰアドレスを”192.168.1.100”とし、Ｐ２Ｐ通信検知システムにおけるクエリ率の閾値を７０％とする。
【００３７】
通常ノード１５は通信プログラム（Ｗｅｂブラウザ）１５２を起動する（Ｓ００３）。通常ノード１５の操作者は、外部ネットワーク５０に公開されたＨＰを閲覧するためにＷｅｂブラウザのアドレスバーにＵＲＬ（”http://www.example.com”）を入力したり、リンクを辿ったりするなどして閲覧先ホスト名（”www.example.com”）を接続先に指定する（Ｓ００４）。通常ノード１５は、ホスト名からＩＰアドレスを割り出す(名前解決する)ために、ＤＮＳサーバ２０に対してＤＮＳクエリを送信する（Ｓ００５）。
【００３８】
ＤＮＳクエリは検知装置１２によって監視され、ＤＮＳクエリの送信元ＩＰアドレス（”192.168.1.100”）が接続先情報ＤＢ１２４の接続先情報１２５のノード接続先情報に、ＤＮＳクエリに含まれるホスト名（”www.example.com”）が現在日時とともに、接続先情報ＤＢ１２４の接続先情報１２５のノード接続先情報に含まれるＤＮＳクエリリストに、それぞれ記録される（Ｓ００６）。
【００３９】
通常ノード１５から送信されたＤＮＳクエリは、最終的にＤＮＳサーバ２０によって受信される（Ｓ００７）。ＤＮＳサーバプログラム２０２は、受信したＤＮＳクエリからホスト名を割り出し、対応するＩＰアドレス（”10.1.1.100”）をＤＮＳレスポンスに含めて通常ノード１５に送り返す（Ｓ００８）。
【００４０】
ＤＮＳレスポンスは検知装置１２によって監視され、ＤＮＳレスポンスに含まれるＩＰアドレス（”10.1.1.100”）を、Ｓ００６において記録したＤＮＳクエリリストに追加する（Ｓ００９）（Ｓ０１０）。
【００４１】
なお、ＤＮＳレスポンスにＩＰアドレスとホスト名が対応つけて含まれる場合は、この時点で、ホスト名、ＩＰアドレス、及びクエリ日時を纏めてクエリ情報としてＤＮＳクエリリストに格納してもよい。この場合は、ＤＮＳクエリの監視（Ｓ００６）が不要になる。
【００４２】
通常ノード１５は、ＤＮＳサーバ２０より送信されてきたＤＮＳレスポンスを受信する（Ｓ０１１）。続けて通常ノード１５は、Ｗｅｂサーバ６１に接続するために、ＤＮＳレスポンスによって得られたＷｅｂサーバ６１のＩＰアドレス（”10.1.1.100”）へＨＴＴＰリクエストを送信する（Ｓ０１２）。
【００４３】
ＨＴＴＰリクエストは検知装置１２によって監視され、接続先ＩＰアドレス、即ち外向き通信であるＨＴＴＰリクエストの宛先ＩＰアドレス（”10.1.1.100”）と宛先ポート番号（”80”）が現在時刻とともに、接続先情報ＤＢ１２４の接続先情報１２５のノード接続先情報（送信元ＩＰアドレス＝”192.168.1.100”）に含まれる接続先リストに記録される（Ｓ０１３）。
【００４４】
Ｗｅｂサーバ６１は、通常ノード１５から送信されたＨＴＴＰリクエストを受信する（Ｓ０１４）。その間、検知装置１２は、接続先情報ＤＢ１２４の接続先情報１２５のノード接続先情報（送信元ＩＰアドレス＝”192.168.1.100”）のＤＮＳクエリリストから、Ｓ０１３で記録したＩＰアドレス（”10.1.1.100”）を検索する（Ｓ０１５）。この際に検索条件として、全てのＤＮＳクエリリストや、クエリ日時が一定期間内のＤＮＳクエリリストなど、加えて指定することもできる。検索の結果、ＩＰアドレス（”10.1.1.100”）に対応するホスト名（”www.example.com”）が検索できるため、ＤＮＳクエリ有と判定する（Ｓ０１６）。判定結果は、接続先情報ＤＢ１２４の接続先情報１２５のノード接続先情報（送信元ＩＰアドレス＝”192.168.1.100”）の接続先リスト（宛先ＩＰアドレス＝” 10.1.1.100”）にクエリ有無＝”TRUE(有)”として記録される（Ｓ０１７）。
【００４５】
Ｗｅｂサーバ６１は、Ｓ０１４で受信した通常ノード１５のＨＴＴＰリクエストに対するＨＴＴＰレスポンスを通常ノード１５に送信する（Ｓ０１８）。通常ノード１５はＨＴＴＰレスポンスを受信し、所期のＷｅｂサービスを享受する（Ｓ０１９）。
【００４６】
検知装置１２はＤＮＳに関連する通信以外の内向き通信は監視しない。検知装置１２は定期的にあるいは逐次的に、接続先情報ＤＢ１２４の接続先情報１２５のノード接続先情報から、送信元ＩＰアドレスが通常ノード１５のＩＰアドレスである”192.168.1.100”となるレコードに含まれる全期間あるいは一定期間内の接続先リストに関して、クエリ有無が“TRUE“となる件数をカウントする（Ｓ０２０）。検知装置１２は続けて、全期間あるいは一定期間内の接続先リストに含まれるレコードに占めるクエリ有無が“TRUE“となるレコードの割合を算出（本例においては１件中１件なので１００％）する（Ｓ０２１）。検知装置１２は得られた割合（クエリ率）が７０％を超えているため、通常ノード１５ではＰ２Ｐソフトは稼働していない(陰性)と判断する（Ｓ０２２）。
【００４７】
図７を参照して、Ｐ２Ｐソフトが稼働しているＰ２Ｐノード１４における各装置の処理動作について説明する。初期動作として、検知装置１２は検知プログラム１２２を起動し（Ｓ１０１）、ＤＮＳサーバ２０はＤＮＳサーバプログラム２０２を起動する（Ｓ１０２）。また、Ｐ２Ｐノード１４のＩＰアドレスを”192.168.1.50”とする。さらに、外部ネットワーク５０に接続された他のＰ２Ｐノード６２のＩＰアドレスを”10.1.1.50”とし、ファイル共有サービスはＴＣＰ４０００番ポートで提供されるものとする。加えて、Ｐ２Ｐ通信検知システムにおけるクエリ率の閾値を７０％とする。
【００４８】
Ｐ２Ｐノード１４はＰ２Ｐプログラム（Ｐ２Ｐソフト、ファイル共有ソフト）１４２を起動する（Ｓ１０３）。Ｐ２Ｐノード１４の操作者は、Ｐ２Ｐプログラム１４２に、既に保持していた又は他のＰ２Ｐノードから取得した、Ｐ２Ｐノード６２のＩＰアドレス（”10.1.1.50”）を入力する（Ｓ１０４）。Ｐ２Ｐノード１４は、ＩＰアドレス（”10.1.1.50”）の他のＰ２Ｐノードへ接続要求を送信する（Ｓ１０５）。
【００４９】
接続要求通信は、検知装置１２によって監視され、接続先ＩＰアドレス、即ち外向き通信である接続要求の宛先ＩＰアドレス（”10.1.1.50”）と宛先ポート番号（”4000”）が現在時刻とともに、接続先情報ＤＢ１２４の接続先情報１２５のノード接続先情報（送信元ＩＰアドレス＝”192.168.1.50”）に含まれる接続先リストに記録される（Ｓ１０６）。
【００５０】
Ｐ２Ｐノード６２は、Ｐ２Ｐノード１４の接続要求を受信する（Ｓ１０７）。その間、検知装置１２は、接続先情報ＤＢ１２４の接続先情報のノード接続先情報（送信元ＩＰアドレス＝”192.168.1.50”）のＤＮＳクエリリストから、Ｓ１０６で記録したＩＰアドレス（”10.1.1.50”）を検索する（Ｓ１０８）。この際に検索条件として、全てのＤＮＳクエリリストや、クエリ日時が一定期間内のＤＮＳクエリリストなど、加えて指定することもできる。検索の結果、ＩＰアドレス（”10.1.1.50”）に対応するホスト名がＤＮＳクエリリストに見つからないため、ＤＮＳクエリ無と判定する（Ｓ１０９）。判定結果は、接続先情報ＤＢ１２４の接続先情報１２５のノード接続先情報（送信元ＩＰアドレス＝”192.168.1.50”）の接続先リスト（宛先ＩＰアドレス＝” 10.1.1.50”）にクエリ有無＝”FALSE（無）”として記録される（Ｓ１１０）。
【００５１】
Ｐ２Ｐノード６２は、Ｓ１０６で受信したＰ２Ｐノード１４の接続要求に対する接続応答をＰ２Ｐノード１４に送信する（Ｓ１１１）。Ｐ２Ｐノード１４は接続応答を受信し、所期のファイル共有サービスを享受する（Ｓ１１２）。
【００５２】
検知装置１２はＤＮＳに関連する通信以外の内向き通信は監視しない。検知装置１２は定期的にあるいは逐次的に、接続先情報ＤＢ１２４の接続先情報１２５のノード接続先情報から、送信元ＩＰアドレスがＰ２Ｐノード１４のＩＰアドレスである”192.168.1.50”となるレコードに含まれる全期間若しくは所定期間内、又は所定件数内の接続先リストに関して、クエリ有無が“TRUE“となる件数をカウントする（Ｓ１１３）。検知装置１２は続けて、全期間若しくは所定期間内又は所定件数内の接続先リストに含まれるレコードに占めるクエリ有無が“TRUE“となるレコードの割合を算出（本例においては１件中０件なので０％）する（Ｓ１１４）。検知装置１２は得られた割合（クエリ率）が７０％を超えていないため、Ｐ２Ｐノード１４ではＰ２Ｐソフトが稼働している(陽性)と判断する（Ｓ１１５）。Ｐ２Ｐソフトが稼働しているか否かの判断に、クエリ率ではなく、クエリ有無が“TRUE“となる件数を対象に、閾値（例えば１０件）によって判断することもできる。
【００５３】
Ｐ２Ｐソフトが稼働していると判断されたＰ２Ｐノード１４に関する接続先情報ＤＢ１２４の接続先情報１２５のノード接続先情報（送信元ＩＰアドレス＝”192.168.1.50”）の接続先リストのうち、クエリ有無が”FALSE”となるレコードに含まれる宛先ＩＰアドレス（”10.1.1.50”）と宛先ポート番号（”4000”）を、他のＰ２Ｐノードで稼働するＰ２ＰソフトのＩＰアドレス及びポート番号であると判断し（Ｓ１１６）、このＩＰアドレス及びポート番号に接続したＰ２Ｐノード１４以外のノードもＰ２Ｐソフトが稼働していると推定することができる（Ｓ１１７）。即ち、接続先情報ＤＢ１２４から、接続先情報１２５のノード接続先情報の接続先リストの接続情報の宛先ＩＰアドレスが”10.1.1.50”に、宛先ポート番号が”4000”となっているノード接続先情報を検索し、そのノード接続先情報に含まれる送信元ＩＰアドレスもまた、Ｐ２Ｐノードであると推定できる。
【００５４】
このように、本実施例によれば、検知したＰ２Ｐノードに関わるＰ２Ｐ通信情報から、連鎖的にその他のＰ２Ｐノードの存在も把握することが可能となり、従来困難であったＰ２Ｐ通信の制御やＰ２Ｐノードの絞り込みが可能となる。
【００５５】
本実施例では、検知装置１２による監視対象のノードは１４及び１５としたが、ローカルネットワーク４０に接続する監視対象のノードが他にある場合、他のノードもＰ２Ｐノードであるか否かを推定できることになる。典型的には、ノード１５にＰ２Ｐプログラムがインストールされ、その実行が開始された場合がある。
【００５６】
図８を参照して、Ｐ２Ｐ通信検知システムのＰ２Ｐノードへの対策実施措置における、各装置の処理動作について説明する。
【００５７】
検知装置１２は、Ｓ１１５で判定されたＰ２Ｐノード１４に対して対策を開始する（Ｓ２０１）。検知装置１２はアクセス制御装置に対して、Ｐ２Ｐノード１４のＩＰアドレス（”192.168.1.50”）に関するＰ２Ｐ通信制御命令を送信する（Ｓ２０２）。ここでいうＰ２Ｐ通信制御命令とは、ネットワークの遮断、帯域制限、あるいは経路変更などをいう。
【００５８】
図１〜３及び図５に図示を省略しているが、アクセス制御装置は検知装置１２がアクセス制御装置を介してワイドエリアネットワーク５０に接続するようにするか、ここで説明するアクセス制御装置の機能を検知装置１２に内蔵してもよい。
【００５９】
アクセス制御装置は、検知装置１２からＰ２Ｐ通信制御命令を受信し（Ｓ２０３）、Ｐ２Ｐ通信制御を実施し（Ｓ２０４）、Ｐ２Ｐノード１４によるファイル共有などのＰ２Ｐサービスを抑制する。また、検知装置１２は、Ｐ２Ｐノード１４のＩＰアドレス（”192.168.1.50”）に対して「Ｐ２Ｐソフトの利用は禁止しています。」などのＰ２Ｐ通信に対する警告を送信する（Ｓ２０５）。Ｐ２Ｐノード１４は、検知装置１２から送信されてきたＰ２Ｐ通信に対する警告を受信し（Ｓ２０６）、画面に警告文を表示したり、Ｐ２Ｐプログラムを終了させたりするなどして、Ｐ２Ｐサービスを抑制する（Ｓ２０７）。
【００６０】
さらに、検知装置１２は、ネットワークを運用管理するネットワーク管理者（ネットワーク管理サーバ）に対して、Ｐ２Ｐ通信検知報告を送信し（Ｓ２０８）、ネットワーク管理者はＰ２Ｐ通信検知報告を受信し（Ｓ２０９）、運用管理しているネットワークに存在するノードのＰ２Ｐ稼働状況を記録する（Ｓ２１０）。
【００６１】
図９を参照して、Ｐ２Ｐ通信検知システムにおけるＰ２Ｐノード判定手順について説明する。
【００６２】
検知装置１２の起動により、Ｐ２Ｐノードの検知を開始する（Ｆ００１）。検知装置１２は、内部ネットワーク４０と外部ネットワーク５０との間の通信を受信する（Ｆ００２）。受信した通信がＤＮＳクエリ又はＤＮＳレスポンスであるか否かを判定する（Ｆ００３）。ＤＮＳクエリ又はＤＮＳレスポンスであった場合には、ＤＮＳクエリ結果を接続先情報ＤＢ１２４に保存し（Ｆ００４）、Ｆ００２に戻る。
【００６３】
ＤＮＳクエリ及びＤＮＳレスポンスのいずれでもない場合には、受信した通信が内部ネットワーク４０から外部ネットワーク５０への新たな外向き通信であるか否かを判定し（Ｆ００５）、新たな外向け通信でなかった場合は、Ｆ００２に戻る。新たな外向け通信であった場合には、接続先情報を接続先情報ＤＢ１２４に保存する（Ｆ００６）。
【００６４】
検知装置１２は、接続先情報ＤＢ１２４の接続先情報１２５のノード接続先情報に含まれる個々の送信元ＩＰアドレスについて、所定時間又は所定件数の中の、接続先情報ＤＢ１２４のＤＮＳクエリリストのＩＰアドレスと接続先リストの宛先ＩＰアドレスの一致件数を検索する（Ｆ００７）。検索により取得した送信元ＩＰアドレスに対する一致件数、又は一致割合を定量値とする（Ｆ００８）。予め与えられた閾値と定量化された定量値とを比較し、定量値が閾値以上であればＰ２Ｐノードではないと判定（Ｆ０１０）し、閾値未満であればＰ２Ｐノードであると判定する（Ｆ０１１）。
【図面の簡単な説明】
【００６５】
【図１】一実施形態におけるＰ２Ｐ通信検知システムのネットワーク構成を示す。
【図２】図１のＰ２Ｐ通信検知システムを構成する各装置のハードウェア構成例を示す。
【図３】図２のＰ２Ｐ通信検知システムを構成する各装置のソフトウェア構成例を示す。
【図４】一実施形態によるＰ２Ｐ通信検知システムにおける接続先情報を示す。
【図５】一実施形態によるＰ２Ｐ通信検知システムの動作を示す。
【図６】一実施形態によるＰ２Ｐ通信検知システムにおける各装置の動作を示す（通常ノード監視フロー）。
【図７】一実施形態によるＰ２Ｐ通信検知システムにおける各装置の動作を示す（Ｐ２Ｐノード監視フロー）。
【図８】一実施形態によるＰ２Ｐ通信検知システムにおける各装置の動作を示す（Ｐ２Ｐノードへの対策フロー）。
【図９】一実施形態によるＰ２Ｐ通信検知システムにおけるＰ２Ｐノード判定手順を示す。
【符号の説明】
【００６６】
１０：Ｐ２Ｐ通信検知システム、１２：ブリッジ型の検知装置、１３：検知装置、１４：Ｐ２Ｐノード、１５：通常ノード、２０：ＤＮＳサーバ、４０：内部ネットワーク(ローカルエリアネットワーク)、５０：外部ネットワーク（ワイドエリアネットワーク）、６１：Ｗｅｂサーバ、６２：Ｐ２Ｐノード。
【図１】
0004772025.tif 000002
【図２】
0004772025.tif 000003
【図３】
0004772025.tif 000004
【図４】
0004772025.tif 000005
【図５】
0004772025.tif 000006
【図６】
0004772025.tif 000007
【図７】
0004772025.tif 000008
【図８】
0004772025.tif 000009
【図９】
0004772025.tif 000010