(57)【特許請求の範囲】
【請求項１】
監視対象ノード群の中の第１のしきい値以上の複数のノードから接続要求情報が送信された第１の宛先を検出し、前記第１の宛先へ接続要求情報を送信した複数のノードを検出する第１検出手段と、
前記監視対象ノード群の中から、接続要求情報を送信した第２の宛先の数が第２のしきい値以上であるノードを検出する第２検出手段と、
前記第１検出手段によって検出され、かつ、前記第２検出手段によって検出されたノードを、マルウエアに感染したノードとして特定する特定手段と、
前記特定手段によって特定された特定結果を出力する出力手段と、
を備えることを特徴とするマルウエア検出装置。
【請求項２】
前記第２検出手段は、
前記第２のしきい値以上であるノードの中から、前記第２の宛先のうち存在しない宛先に接続要求情報を送信したノードを検出することを特徴とする請求項１に記載のマルウエア検出装置。
【請求項３】
前記マルウエアの指令系サーバではない宛先を記憶する記憶手段を備え、
前記第１検出手段は、
前記監視対象ノード群の中から、前記第１の宛先のうち前記記憶手段に記憶されていない宛先へ接続要求情報を送信した複数のノードを検出することを特徴とする請求項１または２に記載のマルウエア検出装置。
【請求項４】
前記第１検出手段は、
前記監視対象ノード群の中から、前記第１の宛先へ切断要求情報を送信していない複数のノードを検出することを特徴とする請求項１〜３のいずれか一つに記載のマルウエア検出装置。
【請求項５】
マルウエアに感染したノードを特定するサーバと通信可能な監視装置であって、
監視対象ノード群の中の第１のしきい値以上の複数のノードから接続要求情報が送信された第１の宛先を検出し、前記第１の宛先へ接続要求情報を送信した複数のノードを検出する第１検出手段と、
前記監視対象ノード群の中から、接続要求情報を送信した第２の宛先の数が第２のしきい値以上であるノードを検出する第２検出手段と、
前記第１検出手段によって検出された複数のノードに関する情報と前記第２検出手段によって検出されたノードに関する情報とを、前記サーバに送信する送信手段と、
を備えることを特徴とする監視装置。
【請求項６】
コンピュータを、
監視対象ノード群の中の第１のしきい値以上の複数のノードから接続要求情報が送信された第１の宛先を検出し、前記第１の宛先へ接続要求情報を送信した複数のノードを検出する第１検出手段、
前記監視対象ノード群の中から、接続要求情報を送信した第２の宛先の数が第２のしきい値以上であるノードを検出する第２検出手段、
前記第１検出手段によって検出され、かつ、前記第２検出手段によって検出されたノードを、マルウエアに感染したノードとして特定する特定手段、
前記特定手段によって特定された特定結果を出力する出力手段、
として機能させることを特徴とするマルウエア検出プログラム。
【請求項７】
コンピュータが、
監視対象ノード群の中の第１のしきい値以上の複数のノードから接続要求情報が送信された第１の宛先を検出し、前記第１の宛先へ接続要求情報を送信した複数のノードを検出する第１検出工程と、
前記監視対象ノード群の中から、接続要求情報を送信した第２の宛先の数が第２のしきい値以上であるノードを検出する第２検出工程と、
前記第１検出工程によって検出され、かつ、前記第２検出工程によって検出されたノードを、マルウエアに感染したノードとして特定する特定工程と、
前記特定工程によって特定された特定結果を出力する出力工程と、
を実行することを特徴とするマルウエア検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、マルウエアに感染したノードを特定するマルウエア検出装置、マルウエア検出プログラム、およびマルウエア検出方法に関する。
【背景技術】
【０００２】
近年、ワームのように、ネットワーク上で目立った感染活動を行わないで潜在するタイプのマルウエアが増加している。これらの潜在タイプのマルウエアは、指令系サーバからの感染活動指示を待って活動するため、エンドユーザが気がつかない間にＰＣに感染して潜伏していることが多く、ＳＰＡＭやＤＤＯＳ（Ｄｉｓｔｒｉｂｕｔｅｄ  Ｄｅｎｉａｌ  ｏｆ  Ｓｅｒｖｉｃｅ）攻撃の踏み台などの様々な不正アクセスの温床となっている。
【０００３】
そこで、これらの潜在タイプのマルウエアを早期に発見するための技術が必要とされている。これらのマルウエアは、インターネットなどで様々な形でソースプログラムが公開されており、攻撃者は、比較的簡単にマルウエアのソースを入手し、カスタマイズしたマルウエアを作成することができるため、亜種が多いという特徴を持っている。
【０００４】
ＰＣにインストールされたアンチウイルスソフトによるパターンマッチングにおいては、大規模に蔓延するマルウエアの検体をアンチウイルスベンダが収集、解析し、マルウエアの検出パターンを作成している。しかし、潜在タイプのマルウエアは、大規模な蔓延を起こさないことから検体の収集に手間がかかり、検出パターンの作成が困難である。
【０００５】
また、特定のマルウエアの亜種が数多く出回ることから、アンチウイルスによるパターンマッチによるマルウエアの検出が困難である。これに対して、マルウエアのネットワーク上の挙動に基づいてマルウエアに感染したノードを特定するマルウエア検出技術が提案されている（たとえば、下記特許文献１，２参照。）。たとえば、従来の技術では、各ノードの通信量を監視し、通信量がしきい値を超えるノードを感染ノードとして特定する。
【０００６】
【特許文献１】特開２００５−１３４９７４号公報
【特許文献２】特開２００７−１５０６１３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述した従来技術では、高速に感染を広げるマルウエアを検出対象としていたため、感染活動の遅い潜在タイプのマルウエアを、通常の通信と区別して検出することが困難であった。このため、感染ノードを特定できなかったり、感染していないノードを感染ノードとして誤特定してしまったりする問題があった。
【０００８】
たとえば、通信量がしきい値を超えるノードを感染ノードとして特定する技術では、マルウエアの感染活動による通信と通常の通信とを区別するためのしきい値の設定が困難である。また、マルウエアの感染活動による通信量と通常の通信量とがほとんど同じである場合には、マルウエアの検出が不可能である。
【０００９】
この発明は、上述した従来技術による問題点を解消するため、潜在タイプのマルウエアに感染したノードを精度よく特定することができる装置、プログラム、方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上述した課題を解決し、目的を達成するため、この装置、プログラム、方法は、監視対象ノード群の中から、共通する第１の宛先へ接続要求情報を送信した複数のノードを検出する第１検出手段と、前記監視対象ノード群の中の各ノードが接続要求情報を送信した第２の宛先の数を検出する第２検出手段と、前記第１検出手段によって検出された複数のノードと前記第２検出手段によって検出された第２の宛先の数とに基づいて、マルウエアに感染したノードを特定する特定手段と、前記特定手段によって特定された特定結果を出力する出力手段と、を備えることを要件とする。
【００１１】
この装置、プログラム、方法によれば、第１検出手段によって検出された感染ノードの第１候補と、第２検出手段によって検出された感染ノードの第２候補と、の両方に含まれるノードを特定することによって、潜在タイプのマルウエアに感染したノードの２種類の特徴を両方満たすノードを特定することができる。
【００１２】
また、この装置、プログラム、方法において、前記第１検出手段は、前記第１の宛先のうち接続要求情報を送信したノードの数が第１のしきい値以上である宛先に対して接続要求情報を送信した複数のノードを検出し、前記第２検出手段は、前記監視対象ノード群の中から前記第２の宛先の数が第２のしきい値以上であるノードを検出し、前記特定手段は、前記第１検出手段によって検出され、かつ、前記第２検出手段によって検出されたノードを前記マルウエアに感染したノードとして特定することを要件とする。
【００１３】
この装置、プログラム、方法によれば、第１のしきい値および第２のしきい値の調節により、マルウエアに感染していない通常のノードを除外しつつ、感染活動の遅い潜在タイプのマルウエアに感染したノードを精度よく検出することができる。
【００１４】
また、この装置、プログラム、方法において、前記第２検出手段は、前記第２のしきい値以上であるノードの中から、前記第２の宛先のうち存在しない宛先に接続要求情報を送信したノードを検出することを要件とする。
【００１５】
この装置、プログラム、方法によれば、マルウエアに感染していないノードが複数の宛先に対して通信を行った場合に、このノードを感染ノードの第２候補として検出してしまう確率を低くすることができる。
【００１６】
また、この装置、プログラム、方法は、前記マルウエアの指令系サーバではない宛先を記憶する記憶手段を備え、前記第１検出手段は、前記監視対象ノード群の中から、前記第１の宛先のうち前記記憶手段に記憶されていない宛先へ接続要求情報を送信した複数のノードを検出することを要件とする。
【００１７】
この装置、プログラム、方法によれば、マルウエアの指令系サーバではないことが判明している宛先を第１の宛先から除外してマルウエアに感染したノードを検出することで、マルウエアに感染していないノードを感染ノードの第１候補として検出してしまう確率を低くすることができる。
【００１８】
また、この装置、プログラム、方法において、前記第１検出手段は、前記監視対象ノード群の中から、前記第１の宛先へ切断要求情報を送信していない複数のノードを検出することを要件とする。
【００１９】
この装置、プログラム、方法によれば、監視対象ノード群の中のノードから、第１の宛先へ切断要求情報を送信したノードを除外してマルウエアに感染したノードを検出することで、マルウエアに感染していないノードを感染ノードの第１候補として検出してしまう確率を低くすることができる。
【発明の効果】
【００２０】
この装置、プログラム、方法によれば、潜在タイプのマルウエアに感染したノードを精度よく特定することができるという効果を奏する。
【発明を実施するための最良の形態】
【００２１】
以下に添付図面を参照して、この装置、プログラム、方法の好適な実施の形態を詳細に説明する。
【００２２】
（実施の形態１）
まず、この発明の実施の形態１にかかるマルウエア検出装置の概要について説明する。図１は、実施の形態１にかかるマルウエア検出装置の概要図（その１）である。図１に示すように、たとえば、実施の形態１にかかるマルウエア検出装置１００は、複数のノードＡ〜Ｇが接続されたネットワークシステムのルータに適用される。
【００２３】
ノードＤ〜Ｇは、マルウエア検出装置１００の監視対象ノード群である。ここでは、マルウエア検出装置１００は、ノードＤ〜Ｇが互いに送受信する各パケットや、ノードＤ〜ＧがノードＡ〜Ｃとの間で送受信する各パケットのルーティングを行う。また、マルウエア検出装置１００は、ルーティングする各パケットを監視する。
【００２４】
ここで、ノードＡがマルウエアの指令系サーバであり、ノードＥがマルウエアの感染ノードであるとする。マルウエアに感染したノードＥは、指令系サーバであるノードＡに接続要求情報を送信し、ノードＡからの感染活動指示を待つ。ノードＡからノードＥへ感染活動指示が送信されると、ノードＥは、ネットワークシステム上のノードＢ〜Ｄ，Ｆ，Ｇのうちの複数のノードへ接続要求情報を送信して感染活動を行う。
【００２５】
図２は、実施の形態１にかかるマルウエア検出装置の概要図（その２）である。テーブル２１０は、マルウエア検出装置１００が監視した各パケット（接続要求情報）の送信元ノードおよび宛先ノードを記憶している。マルウエアを感染させる指令系サーバは、多数の感染ノードに対して感染活動指示を送信するため、アクセスノード数が多いと、そのサーバは感染指令を出している指令系サーバである可能性が高いと考えられる。
【００２６】
このため、マルウエア検出装置１００の指令系検出部１２１は、テーブル２１０に基づいて、第１のしきい値以上（ここでは３以上）のノードからパケットを受信したノードＡを、マルウエアの指令系サーバの候補として検出する。また、指令系検出部１２１は、指令系サーバ候補として検出したノードＡへパケットを送信したノードＣ，Ｄ，Ｅを感染ノードの第１候補として検出する。
【００２７】
感染活動検出部１２２は、テーブル２１０に基づいて、しきい値以上（ここでは３以上）のノードへパケットを送信したノードＥ，Ｇを感染ノードの第２候補として検出する。
【００２８】
特定部１３０は、指令系検出部１２１によって検出された感染ノードの第１候補（ノードＣ，Ｄ，Ｅ）と、感染活動検出部１２２によって検出された感染ノードの第２候補（ノードＥ，Ｇ）と、の両方に含まれるノードＥをマルウエアの感染ノードとして特定する。このように、マルウエア検出装置１００は、２通りの検出方法によって感染ノードの候補を検出し、２通りの検出方法の両方で検出されたノードを感染ノードとして特定する。
【００２９】
マルウエアに感染したノードが感染活動を行う場合は、通常、存在しない宛先に対してもパケットを送信する。一方、マルウエアに感染していないノードが複数の宛先へメールを送信する場合などは、通常、送信するパケットのすべての宛先が存在する。このため、感染活動検出部１２２は、しきい値以上のノードへパケットを送信したノードであっても、パケットの宛先がすべて存在するノードは第１候補から除外するようにしてもよい。
【００３０】
また、マルウエアの指令系サーバでないことが判明している宛先をホワイトリストとして備えていてもよい。この場合は、指令系検出部１２１は、しきい値以上のノードからパケットを受信したノードであっても、ホワイトリストに含まれているノードは指令系サーバの候補から除外するようにしてもよい。
【００３１】
また、マルウエアに感染したノードは、通常、マルウエアの指令系サーバに対して接続要求情報を送信し続け、マルウエア指令系サーバからの感染活動指示を待つ。このため、指令系検出部１２１は、指令系サーバの候補へ接続要求情報を送信したノードであっても、指令系サーバの候補へ切断要求情報を送信したノードは感染ノードの第１候補から除外するようにしてもよい。
【００３２】
（マルウエア検出装置のハードウェア構成）
つぎに、この発明の実施の形態１にかかるマルウエア検出装置１００のハードウェア構成について説明する。図３は、実施の形態１にかかるマルウエア検出装置のハードウェア構成を示す説明図である。図３に示すように、マルウエア検出装置１００は、ＣＰＵ３１０，メモリ３２０，インターフェース３３０（Ｉ／Ｆ）を有する。
【００３３】
ＣＰＵ３１０は、マルウエア検出装置１００の全体の制御を司る。メモリ３２０は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ），ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ），ＨＤ（Ｈａｒｄ  Ｄｉｓｋ），光ディスク，フラッシュメモリなどから構成される。メモリ３２０はＣＰＵ３１０のワークエリアとして使用される。
【００３４】
また、メモリ３２０には各種プログラムが格納されており、ＣＰＵ３１０からの命令に応じてロードされる。インターフェース３３０は、ネットワーク３４０を介してノードＡ〜Ｇ（図１参照）と間でパケットの送受信を行う。インターフェース３３０は、ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）などから構成される。
【００３５】
（マルウエア検出装置の機能的構成）
つぎに、マルウエア検出装置１００の機能的構成について説明する。図４は、マルウエア検出装置の機能的構成を示すブロック図である。図４において、図２に示した構成と同様の構成については同一の符号を付す。マルウエア検出装置１００は、パケット受信部１１０と、検出部１２０と、特定部１３０と、出力部１４０と、を備えている。
【００３６】
パケット受信部１１０および出力部１４０は、インターフェース３３０により実現することができる。検出部１２０および特定部１３０は、上述したメモリ３２０に記憶された検出部１２０および特定部１３０に関するプログラムをＣＰＵ３１０に実行させることにより実現することができる。
【００３７】
また、パケット受信部１１０、検出部１２０、特定部１３０および出力部１４０の各機能からの出力データはメモリ３２０に保持される。また、図４中矢印で示した接続先の機能は、接続元の機能からの出力データをメモリ３２０から読み込んで、当該機能に関するプログラムをＣＰＵ３１０に実行させるものとする。
【００３８】
パケット受信部１１０は、監視対象ノード群が送受信する各パケットを分岐して受信する。パケット受信部１１０は、受信したパケットを指令系検出部１２１および感染活動検出部１２２へそれぞれ出力する。検出部１２０は、指令系検出部１２１と、感染活動検出部１２２と、記憶部１２３と、を備えている。
【００３９】
指令系検出部１２１は、パケット受信部１１０から出力されたパケットに基づいて、監視対象ノード群の中から、共通する第１の宛先へ接続要求情報を送信した複数のノードを検出する。宛先とは、接続要求情報の送信先のコンピュータであり、送信元とは、接続要求情報を送信したコンピュータである。宛先および送信元は、具体的には、たとえば、ＩＰアドレスやＭＡＣアドレスで特定される。以下、監視対象ノード群の中の複数のノードが接続要求情報を送信した共通の第１の宛先を単に「第１の宛先」と称する。
【００４０】
第１の宛先は、監視対象ノード群のアクセス状況によって、１つだけ存在する場合もあるし、複数存在する場合もある。たとえば、監視対象ノード群の中のノードａ，ｂ，ｃ，ｄ，ｅ，ｆが共通のサーバｘへ接続要求情報を送信してアクセスしている場合には、サーバｘは第１の宛先に該当し、ノードｂ，ｄ，ｅが共通のサーバｙへ接続要求情報を送信してアクセスしている場合には、サーバｙも第１の宛先に該当する。
【００４１】
指令系検出部１２１は、具体的には、第１の宛先のうち接続要求情報を送信したノードの数が第１のしきい値以上である宛先をマルウエアの指令系サーバ候補として検出する。第１の宛先のうち接続要求情報を送信したノードの数が第１のしきい値以上である宛先とは、たとえば、ある期間内に、監視対象ノード群の中の第１のしきい値以上の数のノードから接続要求情報を受信したノードの宛先である。
【００４２】
たとえば、上記の例では、サーバｘは６つのノードａ，ｂ，ｃ，ｄ，ｅ，ｆとアクセスしており、サーバｙは３つのノードｂ，ｄ，ｅとアクセスしているが、第１のしきい値が４であるとすると、第１の宛先ｘ、ｙのうちｘがマルウエアの指令系サーバ候補として絞り込まれることとなる。
【００４３】
そして、指令系検出部１２１は、指令系サーバ候補として検出した宛先に対して接続要求情報を送信した複数のノードを感染ノードの第１候補として検出する。第１の宛先は、マルウエア検出装置１００が監視するパケットの各送信先のうちの共通の宛先であり、マルウエア検出装置１００の監視対象ノード群（図１のノードＤ〜Ｇ）に限らず、監視対象外のノード（図１のＡ〜Ｃ）であってもよい。
【００４４】
記憶部１２３は、ホワイトリストを記憶している。ホワイトリストは、指令系サーバではない宛先のリストである。指令系検出部１２１は、監視対象ノード群の中から、第１の宛先のうち記憶部１２３のホワイトリストに含まれていない宛先を指令系サーバ候補として検出してもよい。この場合は、指令系検出部１２１は、第１の宛先のうちホワイトリストに含まれていない宛先へ接続要求情報を送信した複数のノードを検出する。
【００４５】
ホワイトリストには、マルウエアの指令系サーバでないことが判明している既知のプロキシサーバ、ＤＮＳサーバまたはＷＥＢサーバなどの宛先をあらかじめ記憶しておく。これにより、指令系検出部１２１は、指令系サーバからの感染活動指示を待っているノードをマルウエアに感染していないノードと区別して検出することができる。
【００４６】
また、指令系検出部１２１は、監視対象ノード群の中から、第１の宛先へ切断要求情報を送信していない複数のノードを検出してもよい。具体的には、指令系検出部１２１は、指令系サーバ候補として検出した宛先に対して接続要求情報を送信した複数のノードのうち、指令系サーバ候補として検出した宛先に対して切断要求情報も送信したノードを感染ノードの第１候補から除外する。
【００４７】
感染活動検出部１２２は、監視対象ノード群の中の各ノードが接続要求情報を送信した第２の宛先の数を検出する。感染活動検出部１２２は、接続要求情報を送信した宛先の数を、監視対象ノード群のノードごとに検出する。感染活動検出部１２２は、監視対象ノード群の中から、接続要求情報を送信した宛先の数が第２のしきい値以上であるノードを感染ノードの第２候補として検出する。
【００４８】
接続要求情報を送信した宛先の数が第２のしきい値以上であるノードとは、ある期間内に接続要求情報を送信した宛先の数が第２のしきい値以上であるノードであってもよいし、送信した接続要求情報に指定された宛先の数が第２のしきい値以上であるノードであってもよいし、これらの条件の少なくとも一方を満たすノードであってもよい。
【００４９】
また、感染活動検出部１２２は、接続要求情報を送信した宛先の数が第２のしきい値以上であるノードの中から、第２の宛先のうち存在しない宛先に接続要求情報を送信したノードを検出してもよい。たとえば、感染活動検出部１２２は、第２のしきい値以上の複数の宛先へ接続要求情報を送信したノードの中の、送信した複数の宛先の中の少なくとも一つが存在しないノードを検出する。
【００５０】
特定部１３０は、指令系検出部１２１によって検出された複数のノードと、感染活動検出部１２２によって検出された宛先の数とに基づいて、マルウエアの感染ノードを特定する。具体的には、特定部１３０は、指令系検出部１２１によって検出され、かつ、感染活動検出部１２２によって検出されたノードを感染ノードとして特定する。
【００５１】
感染活動検出部１２２の第２のしきい値を小さめに設定することで、感染速度が遅い潜在タイプのマルウエアの感染ノードの候補を検出することができる。この場合は、マルウエアに感染していないノードも同時に検出されることもありうるが、マルウエアに感染していないノードは指令系検出部１２１の検出によって除外されるため、マルウエアに感染していないノードが特定部１３０によって特定される確率を低くすることができる。
【００５２】
特定部１３０は、特定した宛先を出力部１４０へ出力する。出力部１４０は、特定部１３０から出力された宛先がマルウエアの感染ノードである旨の警告情報を外部へ出力する。出力部１４０が警告情報を出力する宛先は、ネットワークに接続された各ノードまたはネットワークシステムの管理サーバなど、マルウエアの感染情報を必要とするノードである。または、出力部１４０は、特定部１３０から出力された宛先がマルウエアの感染ノードである旨の警告情報をユーザに通知するディスプレイやスピーカなどであってもよい。
【００５３】
図５は、検出部１２０による感染ノードの候補の検出例を示す図である。図５に示すように、指令系検出部１２１は、パケット受信部１１０から出力された接続開始要求情報のパケット１２１ａの情報を第１テーブル１２１ｂに追加する。感染活動検出部１２２は、パケット受信部１１０から出力された接続開始要求情報のパケット１２２ａ（パケット１２１ａと同じパケット）の情報を第２テーブル１２２ｂに追加する。
【００５４】
パケット１２２ａは、接続開始要求である旨の情報ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）  Ｓｙｎと、送信元ＩＰの情報Ｓｒｃ（ソースアドレス）と、Ｄｓｔ（ディスティネーションアドレス）と、宛先ポートＰｏｒｔと、継続時間と、の情報を含んでいる。パケット１２２ａは、ＴＣＰ  Ｓｙｎと、Ｓｒｃと、Ｄｓｔと、Ｐｏｒｔと、の情報を含んでいる。
【００５５】
指令系検出部１２１は、テーブル１２１ｂに、宛先ＩＰが同一で送信元ＩＰが異なるパケットが第１のしきい値以上存在する場合に、これらのパケットのそれぞれの送信元ＩＰを検出する。指令系検出部１２１は、検出した各送信元ＩＰを、感染ノードの第１候補として特定部１３０へ出力する。
【００５６】
ここでは、第１のしきい値を３とする。同一の宛先ＩＰ「１０．２５．１０．１」へ送信され、送信元ＩＰが異なるパケットが３つあるため、指令系検出部１２１は、各パケットの送信元ＩＰ「１０．２５．１．１」，「１０．２５．１．２」，「１０．２５．１．４」を感染ノードの第１候補として検出する。
【００５７】
このとき、継続時間が短いパケットは、感染ノードから送信された接続要求情報である可能性が低いため、継続時間がしきい値以下のパケットはテーブル１２１ｂから除外してもよい。また、「１０．２５．１０．１」へ接続要求情報を送信した送信元ＩＰであっても、この送信元ＩＰから「１０．２５．１０．１」へ切断要求情報が送信された場合は、この送信元ＩＰテーブル１２１ｂから除外してもよい。
【００５８】
感染活動検出部１２２は、第２テーブル１２２ｂに含まれる各パケットの情報に基づいて、送信元ＩＰが同一であり宛先ＩＰが異なるパケットの数を、送信元ＩＰ毎に検出する。また、感染活動検出部１２２は、検出した宛先数の数が第２のしきい値以上の送信元ＩＰを検出する。感染活動検出部１２２は、検出した送信元ＩＰを、感染ノードの第２候補として検出する。
【００５９】
ここでは、第２のしきい値を３とする。同一の送信元ＩＰ「１０．２５．１．１」から送信され、各宛先ＩＰ（「１０．２５．１０．２」，「１０．２５．１０．３」，「１０．２５．２０．４」）が異なるパケットが３つあるため、感染活動検出部１２２は、各パケットの送信元ＩＰ「１０．２５．１．１」を感染ノードの第２候補として検出する。
【００６０】
また、感染活動検出部１２２は、検出した送信元ＩＰへ送信された各パケットの各宛先ＩＰが示すノードのすべてが存在する場合は、その送信元ＩＰを感染ノードの第２候補から除外するようにしてもよい。この場合は、３つのパケットのうちの一つのパケットの宛先ＩＰ「１０．２５．１０．３」が存在しないため、３つのパケットの送信元ＩＰ「１０．２５．１．１」を感染ノードの第２候補として検出する。
【００６１】
ここでは、検出した送信元ＩＰへ送信された各パケットの各宛先ＩＰが示すノードのすべてが存在する場合は、その送信元ＩＰを感染ノードの第２候補から除外する場合について説明したが、各宛先ＩＰが示すノードのすべてが存在する場合に限らず、各宛先ＩＰが示すノードのうちのしきい値以上のノードが存在する場合に、その送信元ＩＰを感染ノードの第２候補から除外するようにしてもよい。
【００６２】
図６は、指令系検出部１２１の動作の一例を示すフローチャートである。まず、指令系検出部１２１は、パケット受信部１１０から出力されたパケットを取得して（ステップＳ６０１）、取得したパケットが接続要求情報か否かを判断する（ステップＳ６０２）。パケットが接続要求情報である場合（ステップＳ６０２：Ｙｅｓ）は、このパケットの情報を第１テーブル１２１ｂに追加する（ステップＳ６０３）。
【００６３】
つぎに、第１テーブル１２１ｂに基づいて、宛先ＩＰが同一で送信元ＩＰが異なるパケットがしきい値以上存在するか否かを判断する（ステップＳ６０４）。宛先ＩＰが同一で送信元ＩＰが異なるパケットがしきい値以上存在する場合（ステップＳ６０４：Ｙｅｓ）は、これらのパケットの各送信元ＩＰを感染ノードの第１候補として特定部１３０へ出力する（ステップＳ６０５）。
【００６４】
つぎに、指令系検出部１２１の動作の終了条件を満たしているか否かを判断し（ステップＳ６０６）、終了条件を満たしている場合（ステップＳ６０６：Ｙｅｓ）は一連の指令系検出部１２１の動作を終了する。
【００６５】
ステップＳ６０２において、ステップＳ６０１によって取得したパケットが接続要求情報でない場合（ステップＳ６０２：Ｎｏ）は、このパケットが切断要求情報か否かを判断する（ステップＳ６０７）。ステップＳ６０１によって取得したパケットが切断要求情報である場合（ステップＳ６０７：Ｙｅｓ）は、このパケットの情報を第１テーブル１２１ｂから削除して（ステップＳ６０８）、ステップＳ６０１に戻って処理を続行する。
【００６６】
ステップＳ６０４において宛先ＩＰが同一で送信元ＩＰが異なるパケットがしきい値以上存在しない場合（ステップＳ６０４：Ｎｏ）、ステップＳ６０６において終了条件を満たしていない場合（ステップＳ６０６：Ｎｏ）およびステップＳ６０７においてパケットが切断要求情報でない場合（ステップＳ６０７：Ｎｏ）は、ステップＳ６０１に戻って処理を続行する。以上の指令系検出部１２１の動作によって、複数の送信元ＩＰが感染ノードの第１候補として特定部１３０へ出力される。
【００６７】
ここでは、指令系検出部１２１が接続開始要求情報のパケットを取得するたびに感染ノードの第１候補の検出（ステップＳ６０４）を行う動作について説明したが、取得したパケットを第１テーブル１２１ｂに蓄積しつつ、パケットが一定数蓄積するごと、または一定時間ごとに感染ノードの第１候補の検出（ステップＳ６０４）を行ってもよい。
【００６８】
図７は、感染活動検出部１２２の動作の一例を示すフローチャートである。まず、感染活動検出部１２２は、パケット受信部１１０から出力されたパケットを取得して（ステップＳ７０１）、取得したパケットが接続要求情報か否かを判断する（ステップＳ７０２）。取得したパケットが接続要求情報である場合（ステップＳ７０２：Ｙｅｓ）は、このパケットの情報を第２テーブル１２２ｂに追加する（ステップＳ７０３）。
【００６９】
つぎに、第２テーブル１２２ｂに基づいて、送信元ＩＰが同一で宛先ＩＰが異なるパケットがしきい値以上存在するか否かを判断する（ステップＳ７０４）。送信元ＩＰが同一で宛先ＩＰが異なるパケットがしきい値以上存在する場合（ステップＳ７０４：Ｙｅｓ）は、これらのパケットの各宛先ＩＰが示すすべての宛先が存在するか否かを判断する（ステップＳ７０５）。
【００７０】
ステップＳ７０５において、宛先の中の少なくとも一つが存在しない場合（ステップＳ７０５：Ｎｏ）は、この各パケットの送信元ＩＰを感染ノードの第２候補として特定部１３０へ出力する（ステップＳ７０６）。つぎに、感染活動検出部１２２の動作の終了条件を満たしているか否かを判断し（ステップＳ７０７）、終了条件を満たしている場合（ステップＳ７０７：Ｙｅｓ）は一連の指令系検出部１２１の動作を終了する。
【００７１】
ステップＳ７０５において、宛先がすべて存在する場合（ステップＳ７０５：Ｙｅｓ）は、この各パケットの情報を第２テーブル１２２ｂから削除して（ステップＳ７０８）、ステップＳ７０１に戻って処理を続行する。
【００７２】
ステップＳ７０２においてパケットが接続要求情報でない場合（ステップＳ７０２：Ｎｏ）、ステップＳ７０４において送信元ＩＰが同一で宛先ＩＰが異なるパケットがしきい値以上存在しない場合（ステップＳ７０４：Ｎｏ）およびステップＳ７０７において終了条件を満たしていない場合（ステップＳ７０７：Ｎｏ）は、ステップＳ７０１に戻って処理を続行する。以上の感染活動検出部１２２の動作によって、１または複数の送信元ＩＰが感染ノードの第２候補として特定部１３０へ出力される。
【００７３】
ここでは、感染活動検出部１２２が接続開始要求情報のパケットを取得するたびに感染ノードの第２候補の検出（ステップＳ７０４）を行う動作について説明したが、取得したパケットを第２テーブル１２２ｂに蓄積しつつ、パケットが一定数蓄積するごと、または一定時間ごとに感染ノードの第２候補の検出（ステップＳ７０４）を行ってもよい。
【００７４】
図８は、特定部１３０による感染ノードの特定例を示す図である。図８に示すように、特定部１３０は、指令系検出部１２１から出力された送信元ＩＰを感染ノードの第１候補として第３テーブル１３１へ追加する。また、特定部１３０は、感染活動検出部１２２から出力された送信元ＩＰを感染ノードの第２候補として第３テーブル１３１へ追加する。
【００７５】
特定部１３０は、第３テーブル１３１において、第１候補として追加され、かつ、第２候補としても追加された送信元ＩＰをマルウエアの感染ノードとして特定する。ここでは、送信元ＩＰ「１０．２５．１．１」が第１候補および第２候補の両方に含まれているため、送信元ＩＰ「１０．２５．１．１」をマルウエアの感染ノードとして特定する。
【００７６】
図９は、特定部１３０の動作の一例を示すフローチャートである。まず、特定部１３０は、指令系検出部１２１または感染活動検出部１２２から出力される送信元ＩＰを取得する（ステップＳ９０１）。つぎに、ステップＳ９０１により取得した送信元ＩＰが感染活動検出部１２２によって検出された送信元ＩＰか否かを判断する（ステップＳ９０２）。
【００７７】
ステップＳ９０２において、取得した送信元ＩＰが感染活動検出部１２２によって検出された送信元ＩＰである場合（ステップＳ９０２：Ｙｅｓ）は、この送信元ＩＰを感染ノードの第２候補として第３テーブル１３１に追加する（ステップＳ９０３）。
【００７８】
つぎに、ステップＳ９０３によって第３テーブル１３１に追加された送信元ＩＰが、第１候補としても第３テーブル１３１に追加されているか否かを判断する（ステップＳ９０４）。送信元ＩＰが第１候補としても第３テーブル１３１に追加されている場合（ステップＳ９０４：Ｙｅｓ）は、ステップＳ９０３によって第３テーブル１３１に追加された送信元ＩＰを、感染ノードの情報として出力部１４０へ出力する（ステップＳ９０５）。
【００７９】
ステップＳ９０２において、送信元ＩＰが指令系検出部１２１によって検出された送信元ＩＰである場合（ステップＳ９０２：Ｎｏ）は、この送信元ＩＰを感染ノードの第１候補として第３テーブル１３１に追加し（ステップＳ９０６）、ステップＳ９０１に戻って処理を続行する。
【００８０】
ステップＳ９０４において、送信元ＩＰが第１候補として第３テーブル１３１に追加されていない場合（ステップＳ９０４：Ｎｏ）は、ステップＳ９０１に戻って処理を続行する。以上の特定部１３０の動作によって、マルウエアの感染ノードが特定され、特定された感染ノードを示す送信元ＩＰが出力部１４０へ出力される。
【００８１】
感染ノードは、指令系サーバへ接続要求情報を送信して感染活動指示を待ち、感染活動指示が指令系サーバから送信された後に他のノードに対して感染活動を行う。したがって、一連の感染活動があると、まず、指令系検出部１２１によって感染ノードの第１候補が検出され、その後に感染活動検出部１２２によって感染ノードの第２候補が検出される。
【００８２】
このため、一連の感染活動があったとき、特定部１３０が感染活動検出部１２２によって検出された送信元ＩＰを取得した時点で、すでに特定部１３０が指令系検出部１２１によって検出された送信元ＩＰを取得している可能性が高い。このため、特定部１３０が感染活動検出部１２２によって検出された送信元ＩＰを取得した時点で感染ノードの特定（ステップＳ９０４）を行うことで、感染ノードの効率的に特定することができる。
【００８３】
また、ここでは、特定部１３０が送信元ＩＰを取得するたびに感染ノードの特定（ステップＳ９０４）を行う動作について説明したが、取得した送信元ＩＰを第３テーブル１３１に蓄積しつつ、パケットが一定数蓄積するごと、または一定時間ごとに感染ノードの特定（ステップＳ９０４）を行ってもよい。
【００８４】
このように、実施の形態１にかかるマルウエア検出装置１００によれば、指令系検出部１２１によって検出された感染ノードの第１候補と感染活動検出部１２２によって検出された感染ノードの第２候補との両方に含まれるノードを特定することで、潜在タイプのマルウエアに感染したノードの２種類の特徴を両方満たすノードを特定することができる。このため、潜在タイプのマルウエアに感染したノードを精度よく特定することができる。
【００８５】
また、第１のしきい値および第２のしきい値の調節により、マルウエアに感染していない通常のノードを除外しつつ、感染活動の遅い潜在タイプのマルウエアに感染したノードを精度よく検出することができる。
【００８６】
また、感染活動検出部１２２が、第２のしきい値以上であるノードの中から、第２の宛先のうち存在しない宛先に接続要求情報を送信したノードを検出することによって、マルウエアに感染していないノードが複数の宛先に対して通信を行った場合に、このノードを感染ノードの第２候補として検出してしまう確率を低くすることができる。このため、潜在タイプのマルウエアに感染したノードを精度よく特定することができる。
【００８７】
また、指令系検出部１２１が、監視対象ノード群の中から、第１の宛先のうちホワイトリストに含まれていない宛先へ接続要求情報を送信した複数のノードを検出することによって、マルウエアに感染していないノードを感染ノードの第１候補として検出してしまう確率を低くすることができる。このため、潜在タイプのマルウエアに感染したノードを精度よく特定することができる。
【００８８】
また、指令系検出部１２１が、監視対象ノード群の中から、第１の宛先へ切断要求情報を送信していない複数のノードを検出することによって、マルウエアに感染していないノードを感染ノードの第１候補として検出してしまう確率を低くすることができる。このため、潜在タイプのマルウエアに感染したノードを精度よく特定することができる。
【００８９】
（実施の形態２）
つぎに、実施の形態２にかかるネットワークシステムの概要について説明する。上述した実施の形態１では、ネットワークシステムのルータなどに適用されるマルウエア検出装置１００によってマルウエアの感染ノードを特定する構成であったが、実施の形態２では、実施の形態１にかかるマルウエア検出装置１００の検出部１２０を、ネットワークシステムの各セグメントに対応して設けられたエッジルータが備えている。
【００９０】
また、実施の形態１にかかるマルウエア検出装置１００の特定部１３０および出力部１４０を、ネットワークシステムの各エッジルータと通信可能な集中管理サーバが備えている。これにより、各セグメントのエッジルータのそれぞれが検出した感染ノードの第１候補および第２候補に基づいて、集中管理サーバが感染ノードを特定することができる。
【００９１】
このため、複数のセグメントにおける各検出結果を総合して感染ノードを特定することができる。したがって、あるセグメントのノードがマルウエアの指令系サーバであり、他のセグメントのノードがマルウエアに感染している場合でも、マルウエアに感染しているノードを精度よく特定することができる。
【００９２】
図１０は、実施の形態２にかかるネットワークシステムを示すブロック図である。ネットワークシステム１０００は、複数のセグメント１０１１〜１０１６と、複数のエッジルータ１０２１〜１０２６と、ルータ１０３０と、ネットワークシステム１０００におけるパケットの送受信を管理する集中管理サーバ１０４０と、を備えている。セグメント１０１１には、６個のノードが含まれている。
【００９３】
エッジルータ１０２１は、セグメント１０１１に対応して設けられている。エッジルータ１０２１は、集中管理サーバ１０４０と通信可能な監視装置である。エッジルータ１０２１は、監視対象ノード群であるセグメント１０１１の各ノードが送受信するパケットのルーティングを行うとともに、これらのパケットを監視する。エッジルータ１０２２〜１０２６は、それぞれセグメント１０１２〜１０１６に対応して設けられている。
【００９４】
ルータ１０３０は、複数のエッジルータ１０２１〜１０２６間で送受信するパケットをルーティングする。集中管理サーバ１０４０は、エッジルータ１０２１〜１０２６とルータ１０３０を介して通信可能なマルウエア検出装置である。集中管理サーバ１０４０は、セグメント１０１１〜１０１６の各ノードからマルウエアに感染したノードを特定する。
【００９５】
図１１は、集中管理サーバ１０４０による感染ノードの検出例を示す図である。図１１において、図４に示した構成と同様の構成については同一の符号を付して説明を省略する。エッジルータ１０２１は、パケット受信部１１０（不図示）と、指令系検出部１２１と、感染活動検出部１２２と、データ送信プログラム１１０１と、を備えている。
【００９６】
ここでは、第１のしきい値および第２のしきい値を２として説明する。エッジルータ１０２１のパケット受信部１１０は、セグメント１０１１に含まれる各ノードが送受信する各パケットを分岐して受信する。パケット受信部１１０は、受信したパケットを指令系検出部１２１および感染活動検出部１２２へそれぞれ出力する。
【００９７】
エッジルータ１０２１の検出部１２０の指令系検出部１２１の動作は、図６に示した動作とほぼ同じである。具体的には、図６に示したステップＳ６０５において、感染ノードの第１候補として検出したパケットの送信元ＩＰを、データ送信プログラム１１０１を介して集中管理サーバ１０４０へ送信する。この他の動作は、図６に示した各ステップと同様であるため説明を省略する。
【００９８】
エッジルータ１０２１の検出部１２０の感染活動検出部１２２の動作は、図７に示した動作とほぼ同じである。具体的には、図７に示したステップＳ７０６において、感染ノードの第２候補として検出したパケットの送信元ＩＰを、データ送信プログラム１１０１を介して集中管理サーバ１０４０へ送信する。この他の動作は、図７に示した各ステップと同様であるため説明を省略する。エッジルータ１０２２〜１０２６の構成および動作はエッジルータ１０２１と同様であるため説明を省略する。
【００９９】
ここでは、エッジルータ１０２１の指令系検出部１２１は、第１テーブル１２１ｂにおいて、共通の第１の宛先「１０．０．１．５」へ送信されたパケットの情報が２つあるため、これらのパケットの送信元ＩＰ「１０．０．２．２」と「１０．０．２．４」を感染ノードの第１候補として集中管理サーバ１０４０へ送信する。
【０１００】
エッジルータ１０２１の感染活動検出部１２２は、第２テーブル１２２ｂにおいて、同一の送信元ＩＰ「１０．０．２．２」から異なる宛先へ送信されたパケットの情報が４つあるため、送信元ＩＰ「１０．０．２．２」を感染ノードの第２候補として集中管理サーバ１０４０へ送信する。
【０１０１】
エッジルータ１０２６の指令系検出部１２１は、第１テーブル１２１ｂにおいて、共通の第１の宛先「１０．０．１．５」へ送信されたパケットの情報が２つあるため、これらのパケットの送信元ＩＰ「１０．０．３．２」と「１０．０．３．４」を感染ノードの第１候補として集中管理サーバ１０４０へ送信する。
【０１０２】
エッジルータ１０２６の感染活動検出部１２２は、第２テーブル１２２ｂにおいて、同一の送信元ＩＰ「１０．０．２．２」から異なる宛先へ送信されたパケットの情報が４つあるため、送信元ＩＰ「１０．０．２．２」を感染ノードの第２候補として集中管理サーバ１０４０へ送信する。
【０１０３】
また、エッジルータ１０２６の感染活動検出部１２２は、第２テーブル１２２ｂにおいて、同一の送信元ＩＰ「１０．０．３．４」から異なる宛先へ送信されたパケットの情報が２つあるため、送信元ＩＰ「１０．０．３．４」を感染ノードの第２候補として集中管理サーバ１０４０へ送信する。
【０１０４】
集中管理サーバ１０４０は、データ受信プログラム１１０２と、特定部１３０と、出力部１４０と、を備えている。データ受信プログラム１１０２は、エッジルータ１０２１〜１０２６の指令系検出部１２１から送信された感染ノードの第１候補の送信元ＩＰを受信する第１受信手段と、エッジルータ１０２１〜１０２６の感染活動検出部１２２から送信された感染ノードの第２候補の送信元ＩＰを受信する第２受信手段との機能を有する。
【０１０５】
特定部１３０は、エッジルータ１０２１〜１０２６から送信された送信元ＩＰをデータ受信プログラム１１０２を介して取得する。集中管理サーバ１０４０の特定部１３０の動作は、図９に示した動作とほぼ同じである。具体的には、図９に示したステップＳ９０１において、エッジルータ１０２１〜１０２６から送信される送信元ＩＰを、データ受信プログラム１１０２を介して取得する。
【０１０６】
ステップＳ９０２においては、取得した送信元ＩＰがエッジルータ１０２１〜１０２６のいずれから送信された送信元ＩＰかは区別せず、取得した送信元ＩＰが感染活動検出部１２２によって検出された送信元ＩＰか否かを判断する。この他の動作は、図９に示した各ステップと同様であるため説明を省略する。
【０１０７】
ここでは、集中管理サーバ１０４０の特定部１３０は、第３テーブル１３１において、送信元ＩＰ「１０．０．２．２」，「１０．０．３．２」，「１０．０．３．４」が第１候補および第２候補の両方に含まれているため、これらの送信元ＩＰをマルウエアの感染ノードとして特定する。
【０１０８】
このように、実施の形態２にかかるネットワークシステム１０００によれば、実施の形態１にかかるマルウエア検出装置１００の効果を奏するとともに、各セグメントに対応したエッジルータ１０２２〜１０２６のそれぞれが検出した感染ノードの第１候補および第２候補に基づいて集中管理サーバ１０４０が感染ノードを特定することができる。これにより、複数のセグメント１０１１〜１０１６における各検出結果を総合して感染ノードを特定することができる。
【０１０９】
以上説明したように、本実施の形態によれば、潜在タイプのマルウエアに感染したノードを精度よく特定することができる。
【０１１０】
なお、本実施の形態で説明したマルウエア検出方法は、あらかじめ用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネット等のネットワークを介して配布することが可能な伝送媒体であってもよい。
【０１１１】
また、本実施の形態で説明したマルウエア検出装置１００は、スタンダードセルやストラクチャードＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）などの特定用途向けＩＣ（以下、単に「ＡＳＩＣ」と称する。）やＦＰＧＡなどのＰＬＤ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）によっても実現することができる。具体的には、たとえば、上述したマルウエア検出装置１００の機能（１１０，１２０，１３０，１４０）をＨＤＬ記述によって機能定義し、そのＨＤＬ記述を論理合成してＡＳＩＣやＰＬＤに与えることにより、マルウエア検出装置１００を製造することができる。
【０１１２】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０１１３】
（付記１）監視対象ノード群の中から、共通する第１の宛先へ接続要求情報を送信した複数のノードを検出する第１検出手段と、
前記監視対象ノード群の中の各ノードが接続要求情報を送信した第２の宛先の数を検出する第２検出手段と、
前記第１検出手段によって検出された複数のノードと前記第２検出手段によって検出された第２の宛先の数とに基づいて、マルウエアに感染したノードを特定する特定手段と、
前記特定手段によって特定された特定結果を出力する出力手段と、
を備えることを特徴とするマルウエア検出装置。
【０１１４】
（付記２）前記第１検出手段は、
前記第１の宛先のうち接続要求情報を送信したノードの数が第１のしきい値以上である宛先に対して接続要求情報を送信した複数のノードを検出し、
前記第２検出手段は、
前記監視対象ノード群の中から前記第２の宛先の数が第２のしきい値以上であるノードを検出し、
前記特定手段は、
前記第１検出手段によって検出され、かつ、前記第２検出手段によって検出されたノードを前記マルウエアに感染したノードとして特定することを特徴とする付記１に記載のマルウエア検出装置。
【０１１５】
（付記３）前記第２検出手段は、
前記第２のしきい値以上であるノードの中から、前記第２の宛先のうち存在しない宛先に接続要求情報を送信したノードを検出することを特徴とする付記２に記載のマルウエア検出装置。
【０１１６】
（付記４）前記マルウエアの指令系サーバではない宛先を記憶する記憶手段を備え、
前記第１検出手段は、
前記監視対象ノード群の中から、前記第１の宛先のうち前記記憶手段に記憶されていない宛先へ接続要求情報を送信した複数のノードを検出することを特徴とする付記１〜３のいずれか一つに記載のマルウエア検出装置。
【０１１７】
（付記５）前記第１検出手段は、
前記監視対象ノード群の中から、前記第１の宛先へ切断要求情報を送信していない複数のノードを検出することを特徴とする付記１〜４のいずれか一つに記載のマルウエア検出装置。
【０１１８】
（付記６）マルウエアに感染したノードを特定するサーバと通信可能な監視装置であって、
監視対象ノード群の中から、共通する第１の宛先へ接続要求情報を送信した複数のノードを検出する第１検出手段と、
前記監視対象ノード群の中の各ノードが接続要求情報を送信した第２の宛先の数を検出する第２検出手段と、
前記第１検出手段によって検出された複数のノードに関する情報と前記第２検出手段によって検出された第２の宛先の数に関する情報とを、前記サーバに送信する送信手段と、
を備えることを特徴とする監視装置。
【０１１９】
（付記７）監視対象ノード群の通信を監視する監視装置と通信可能なマルウエア検出装置であって、
前記監視対象ノード群の中の、共通する第１の宛先へ接続要求情報を送信した複数のノードに関する情報を、前記監視装置から受信する第１受信手段と、
前記監視対象ノード群の中の各ノードが接続要求情報を送信した第２の宛先の数に関する情報を、前記監視装置から受信する第２受信手段と、
前記第１受信手段によって受信された複数のノードに関する情報と前記第２受信手段によって受信された第２の宛先の数に関する情報とに基づいて、マルウエアに感染したノードを特定する特定手段と、
前記特定手段によって特定された特定結果を出力する出力手段と、
を備えることを特徴とするマルウエア検出装置。
【０１２０】
（付記８）コンピュータを、
監視対象ノード群の中から、共通する第１の宛先へ接続要求情報を送信した複数のノードを検出する第１検出手段、
前記監視対象ノード群の中の各ノードが接続要求情報を送信した第２の宛先の数を検出する第２検出手段、
前記第１検出手段によって検出された複数のノードと前記第２検出手段によって検出された第２の宛先の数とに基づいて、マルウエアに感染したノードを特定する特定手段、
前記特定手段によって特定された特定結果を出力する出力手段、
として機能させることを特徴とするマルウエア検出プログラム。
【０１２１】
（付記９）マルウエアに感染したノードを特定するサーバと通信可能なコンピュータを、
監視対象ノード群の中から、共通する第１の宛先へ接続要求情報を送信した複数のノードを検出する第１検出手段、
前記監視対象ノード群の中の各ノードが接続要求情報を送信した第２の宛先の数を検出する第２検出手段、
前記第１検出手段によって検出された複数のノードに関する情報と前記第２検出手段によって検出された第２の宛先の数に関する情報とを、前記サーバに送信する送信手段、
として機能させることを特徴とする監視プログラム。
【０１２２】
（付記１０）監視対象ノード群の通信を監視する監視装置と通信可能なコンピュータを、
前記監視対象ノード群の中の、共通する第１の宛先へ接続要求情報を送信した複数のノードに関する情報を、前記監視装置から受信する第１受信手段、
前記監視対象ノード群の中の各ノードが接続要求情報を送信した第２の宛先の数に関する情報を、前記監視装置から受信する第２受信手段、
前記第１受信手段によって受信された複数のノードに関する情報と前記第２受信手段によって受信された第２の宛先の数に関する情報とに基づいて、マルウエアに感染したノードを特定する特定手段、
前記特定手段によって特定された特定結果を出力する出力手段、
として機能させることを特徴とするマルウエア検出プログラム。
【０１２３】
（付記１１）監視対象ノード群の中から、共通する第１の宛先へ接続要求情報を送信した複数のノードを検出する第１検出工程と、
前記監視対象ノード群の中の各ノードが接続要求情報を送信した第２の宛先の数を検出する第２検出工程と、
前記第１検出工程によって検出された複数のノードと前記第２検出工程によって検出された第２の宛先の数とに基づいて、マルウエアに感染したノードを特定する特定工程と、
前記特定工程によって特定された特定結果を出力する出力工程と、
を含んだことを特徴とするマルウエア検出方法。
【０１２４】
（付記１２）マルウエアに感染したノードを特定するサーバと通信可能な監視装置により監視対象ノード群を監視する監視方法であって、
前記監視対象ノード群の中から、共通する第１の宛先へ接続要求情報を送信した複数のノードを検出する第１検出工程と、
前記監視対象ノード群の中の各ノードが接続要求情報を送信した第２の宛先の数を検出する第２検出工程と、
前記第１検出工程によって検出された複数のノードに関する情報と前記第２検出工程によって検出された第２の宛先の数に関する情報とを、前記サーバに送信する送信工程と、
を含んだことを特徴とする監視方法。
【０１２５】
（付記１３）監視対象ノード群の通信を監視する監視装置と通信可能なマルウエア検出装置によりマルウエアに感染したノードを特定するマルウエア検出方法であって、
前記監視対象ノード群の中の、共通する第１の宛先へ接続要求情報を送信した複数のノードに関する情報を、前記監視装置から受信する第１受信工程と、
前記監視対象ノード群の中の各ノードが接続要求情報を送信した第２の宛先の数に関する情報を、前記監視装置から受信する第２受信工程と、
前記第１受信工程によって受信された複数のノードに関する情報と前記第２受信工程によって受信された第２の宛先の数に関する情報とに基づいて、前記マルウエアに感染したノードを特定する特定工程と、
前記特定工程によって特定された特定結果を出力する出力工程と、
を含んだことを特徴とするマルウエア検出方法。
【産業上の利用可能性】
【０１２６】
以上のように、この装置、プログラム、方法は、マルウエアに感染したノードの特定に有用であり、特に、潜在タイプのマルウエアに感染したノードの特定に適している。
【図面の簡単な説明】
【０１２７】
【図１】実施の形態１にかかるマルウエア検出装置の概要図（その１）である。
【図２】実施の形態１にかかるマルウエア検出装置の概要図（その２）である。
【図３】実施の形態１にかかるマルウエア検出装置のハードウェア構成を示す説明図である。
【図４】マルウエア検出装置の機能的構成を示すブロック図である。
【図５】検出部１２０による感染ノードの候補の検出例を示す図である。
【図６】指令系検出部１２１の動作の一例を示すフローチャートである。
【図７】感染活動検出部１２２の動作の一例を示すフローチャートである。
【図８】特定部１３０による感染ノードの特定例を示す図である。
【図９】特定部１３０の動作の一例を示すフローチャートである。
【図１０】実施の形態２にかかるネットワークシステムを示すブロック図である。
【図１１】集中管理サーバ１０４０による感染ノードの検出例を示す図である。
【符号の説明】
【０１２８】
１００  マルウエア検出装置
１２１ａ，１２２ａ  パケット
１０００  ネットワークシステム
１０１１〜１０１６  セグメント
１０２１〜１０２６  エッジルータ
１０３０  ルータ
１０４０  集中管理サーバ
【図１】
0005050781.tif 000002
【図２】
0005050781.tif 000003
【図３】
0005050781.tif 000004
【図４】
0005050781.tif 000005
【図５】
0005050781.tif 000006
【図６】
0005050781.tif 000007
【図７】
0005050781.tif 000008
【図８】
0005050781.tif 000009
【図９】
0005050781.tif 000010
【図１０】
0005050781.tif 000011
【図１１】
0005050781.tif 000012