(57)【要約】      （修正有）【課題】マルウェアの検知精度を向上する検知装置、検知方法及び検知プログラムを提供する。【解決手段】検知装置２０は、１つ以上のグループを含むネットワークに属し、受信部、制御部、検知部を備える。受信部は、ネットワーク中の複数の通信装置の各々から、通信装置が属するグループのグループ名を含む受信パケットを受信する。制御部は、受信パケットから特定したグループ名と検知装置が使用するホスト名の組み合わせを複数生成し、各組み合わせに含まれるグループ名のグループに属する装置の名前として組み合わせ中のホスト名を通知するための制御を行う。検知部は、検知装置２０への所定の回数以上のアクセスが発生すると、アクセスを行った装置のマルウェアへの感染を検知する。【選択図】図１０
2020112946.tif 000002
【特許請求の範囲】
【請求項１】
１つ以上のグループを含むネットワークに属する検知装置であって、
前記ネットワーク中の複数の通信装置の各々から、当該通信装置が属するグループのグループ名を含む受信パケットを受信する受信部と、
前記受信パケットから特定したグループ名と前記検知装置が使用するホスト名の組み合わせを複数生成し、各組み合わせに含まれるグループ名のグループに属する装置の名前として当該組み合わせ中のホスト名を通知するための制御を行う制御部と、
前記検知装置への所定の回数以上のアクセスが発生すると、前記アクセスを行った装置のマルウェアへの感染を検知する検知部
を備えることを特徴とする検知装置。
【請求項２】
複数の前記組み合わせの各々を記録する名前テーブルと、
前記名前テーブルに含まれているホスト名に対する名前解決を要求する要求パケットを前記受信部が受信すると、前記要求パケットの送信元に、前記検知装置に割り当てられたアドレスを通知する処理を行う名前解決処理部
をさらに備えることを特徴とする請求項１に記載の検知装置。
【請求項３】
前記制御部は、前記受信パケットから特定した複数のグループ名の各々を、前記検知装置がサーバサービスを提供する際に使用するホスト名と組み合わせることにより、前記組み合わせを複数生成する
ことを特徴とする請求項１または２に記載の検知装置。
【請求項４】
前記制御部は、前記受信パケットから特定した複数のグループ名の各々に対して、当該グループ名で識別されるグループの装置に通知するホスト名を生成し、
前記グループ名ごとに異なるホスト名を組み合わせることにより前記組み合わせを複数生成する
ことを特徴とする請求項１または２に記載の検知装置。
【請求項５】
前記制御部は、前記受信パケットから特定した複数のグループ名の各々に対して、当該グループ名で識別されるグループの装置に通知する複数のホスト名を生成し、
前記１つ以上のグループの各々に、複数の前記組み合わせを用いた通知を送信する
ことを特徴とする請求項１または２に記載の検知装置。
【請求項６】
前記検知装置に複数のアドレスが割り当てられており、
前記名前解決処理部は
前記名前テーブルに含まれているホスト名の各々に、前記複数のアドレスのうちの異なるアドレスを対応付け、
前記要求パケットで名前解決が要求されたホスト名に対応付けられたアドレスを、前記要求パケットの送信元に通知する
ことを特徴とする請求項２に記載の検知装置。
【請求項７】
１つ以上のグループを含むネットワークに属する検知装置であって、
前記ネットワーク中の複数の通信装置の各々から、当該通信装置が属するグループのグループ名を含む受信パケットを受信する受信部と、
前記受信パケットから特定したグループ名と前記検知装置が使用するホスト名の組み合わせを複数生成し、各組み合わせに含まれるグループ名のグループに属する装置の名前として当該組み合わせ中のホスト名を通知するための制御を行う制御部と、
前記組み合わせのいずれかに含まれるホスト名に対する名前解決を要求する要求パケットを前記受信部が受信すると、前記要求パケットの送信元ごとに前記名前解決を要求した回数をカウントし、前記名前解決を要求した回数が所定の回数以上である送信元へのマルウェアの感染を検知する検知部
を備えることを特徴とする検知装置。
【請求項８】
１つ以上のグループを含むネットワークに属する検知装置が、
前記ネットワーク中の複数の通信装置の各々から、当該通信装置が属するグループのグループ名を含む受信パケットを受信し、
前記受信パケットから特定したグループ名と前記検知装置が使用するホスト名の組み合わせを複数生成し、各組み合わせに含まれるグループ名のグループに属する装置の名前として当該組み合わせ中のホスト名を通知するための制御を行い、
前記検知装置への所定の回数以上のアクセスが発生すると、前記アクセスを行った装置のマルウェアへの感染を検知する
処理を行うことを特徴とする検知方法。
【請求項９】
１つ以上のグループを含むネットワークに属する検知装置に、
前記ネットワーク中の複数の通信装置の各々から、当該通信装置が属するグループのグループ名を含む受信パケットを受信し、
前記受信パケットから特定したグループ名と前記検知装置が使用するホスト名の組み合わせを複数生成し、各組み合わせに含まれるグループ名のグループに属する装置の名前として当該組み合わせ中のホスト名を通知するための制御を行い、
前記検知装置への所定の回数以上のアクセスが発生すると、前記アクセスを行った装置のマルウェアへの感染を検知する
処理を行わせることを特徴とする検知プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書は、検知装置、検知方法、および、検知プログラムに関する。
【背景技術】
【０００２】
近年、機械の制御や管理等のために工場内で利用される端末へのマルウェアの感染が問題になっている。また、マルウェアの感染に起因して端末の利用が妨げられたことによって、生産ラインが停止するケースも発生している。このため、工場でマルウェア感染への対策を行うことが求められている。しかし、工場では管理対象の機械との関係などから、既知の脆弱性が残っている端末が使用されることもある。また、工場内の作業者によって、セキュリティ対策の施されていない外部端末やＵＳＢ（Universal Serial Bus）がネットワークに接続されることもあり得る。このため、外部端末やＵＳＢの接続に起因して、工場内の端末がマルウェアに感染（１次感染）することを防ぐことは難しい。
【０００３】
ここで、ワーム型のマルウェア（ワーム）は、ネットワーク中の端末に感染した後で、自身を複製してネットワーク内の他の端末にも感染（２次感染）することで被害を拡大する。このため、ワームの２次感染の発生を早い段階で検知することにより、被害の拡大を防ぐことが考えられる。例えば、到達可能かつ未使用のアドレス空間をなすダークネット宛ての信号の送信元アドレスが、監視対象の通信ネットワークで使用されたアドレスである場合に、アラートを出力する監視システムが提案されている（例えば、特許文献１）。
【０００４】
しかし、マルウェアの中には、１次感染した端末が属するネットワークでサーバとして動作するホスト名のリスト（ブラウズリスト）を用いることによって、感染拡大先を限定するものもある。検知装置の情報はブラウズリストに含まれないことが多いため、このようなワーム型マルウェアが検知装置で検知されないことがある。
【０００５】
図１は、マルウェアの検知例を説明する図である。図１に示すネットワークには、端末２（２ａ、２ｂ、２ｃ）、マスタブラウザ４、検知装置１０が含まれる。また、図１に示す検知装置１０は、サーバサービスを提供しないが、サーバサービスを提供する装置としてブラウズリスト６に登録されるように、予め、マスタブラウザ４に対して検知装置１０自身のホスト名などの情報を通知するものとする。マスタブラウザ４は、ネットワーク中でサーバサービスを提供可能な各端末や検知装置１０から通知を受信すると、通知の送信元の情報をブラウズリスト６に記録する。図１の例では、端末２ａのホスト名はＨＯＳＴ−Ａ、端末２ｂのホスト名はＨＯＳＴ−Ｂ、検知装置１０のホスト名はＡＰＰＡＲＡＴＵＳであるとする。従って、図１のブラウズリスト６には、ＨＯＳＴ−Ａ、ＨＯＳＴ−Ｂ、ＡＰＰＡＲＡＴＵＳが記録される。
【０００６】
その後、端末２ｃがマルウェア７に感染したとする。マルウェア７に感染した端末２ｃは、マスタブラウザ４に対してブラウズリスト６を要求する（矢印Ａ１）。ここで、ブラウズリスト６は、ネットワーク中の装置からのリスト要求などに応じて提供される。このため、端末２ｃはマスタブラウザ４からブラウズリスト６を取得できる（矢印Ａ２）。端末２ｃがブラウズリスト６を取得すると、マルウェア７は、ブラウズリスト６に基づいて端末２ａ、端末２ｂ、検知装置１０にアクセスする（矢印Ａ３〜Ａ５）。矢印Ａ５のアクセスが発生すると、検知装置１０は、アクセス元の端末２ｃがマルウェア７に感染していることを検知できる。
【０００７】
関連する技術として、ファイルサーバが利用された状況を特定する利用特性と、ファイルサーバの用途によって予め特定される基準利用特性との比較に応じて、ファイルサーバへの不正アクセスを検出する方法がある（例えば、特許文献２）。監視対象のホストのアクセス先からホストの通信を監視するセンサによるアクセス先とホワイトリスト上のアクセス先を除外して作成したブラックリストを用いて、マルウェアによる通信を検出する方法も提案されている（例えば、特許文献３）。アクセス履歴のないＵＲＬへのアクセス要求について、人間の操作によって送信されたアクセス要求かを判定し、人間の操作によって送信されていない場合にマルウェアによる通信として検知および遮断するプログラムも提案されている（例えば、特許文献４）。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１０−１６１４８８号公報
【特許文献２】特開２０１６−１５７３１１号公報
【特許文献３】特開２０１４−９９７５８号公報
【特許文献４】特開２０１３−９２９９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
ユーザが使用する装置上で動作するアプリケーションは、ユーザが使用する装置の画面に、ブラウズリスト６に記録されている装置に対応するＧＵＩ（Graphical user interface）を表示する。従って、検知装置１０がブラウズリスト６に含まれている場合、検知装置１０に対応するＧＵＩもユーザが使用する装置の画面に表示されてしまう。このため、ユーザが検知装置１０に対応するＧＵＩを誤って選択してしまうと、ユーザが使用している装置がマルウェア７に感染していなくても、ユーザが使用する装置から検知装置１０に対するアクセスが発生する。検知装置１０は検知装置１０に対するアクセスが発生するとアクセス元がマルウェア７に感染したと判定するので、ユーザが検知装置１０に対応するＧＵＩを選択すると、ユーザが使用している装置がマルウェア７に感染していると誤検知してしまう。しかし、誤検知を防ぐために、検知装置１０へのアクセスが複数回起こるまでマルウェア７の感染を検知しないように設定すると、マルウェア７の２次感染を見落としてしまうおそれもある。
【００１０】
本発明は、１つの側面として、マルウェアの検知精度を向上することを目的とする。
【課題を解決するための手段】
【００１１】
ある１つの態様にかかる検知装置は、１つ以上のグループを含むネットワークに属する。検知装置は、受信部、制御部、検知部を備える。受信部は、前記ネットワーク中の複数の通信装置の各々から、当該通信装置が属するグループのグループ名を含む受信パケットを受信する。制御部は、前記受信パケットから特定したグループ名と前記検知装置が使用するホスト名の組み合わせを複数生成し、各組み合わせに含まれるグループ名のグループに属する装置の名前として当該組み合わせ中のホスト名を通知するための制御を行う。検知部は、前記検知装置への所定の回数以上のアクセスが発生すると、前記アクセスを行った装置のマルウェアへの感染を検知する。
【発明の効果】
【００１２】
マルウェアの検知精度を向上できる。
【図面の簡単な説明】
【００１３】
【図１】マルウェアの検知例を説明する図である。
【図２】実施形態にかかる検知方法の例を説明する図である。
【図３】検知装置の構成の例を説明する図である。
【図４】検知装置のハードウェア構成の例を説明する図である。
【図５】ドメインの検出に使用可能なパケットの例を説明する図である。
【図６】ドメインの検出処理の例を説明する図である。
【図７】通知パケットの送信の例を説明する図である。
【図８】新たなドメインを検出した際の処理の例を説明するフローチャートである。
【図９】通知パケットの送信処理の例を説明するフローチャートである。
【図１０】マルウェアの検知例を説明する図である。
【図１１】名前解決に使用されるパケットの例を説明する図である。
【図１２】名前解決処理の例を説明するフローチャートである。
【図１３】マルウェアを検知する際の処理の例を説明するフローチャートである。
【図１４】ドメインが削除された場合の例を説明する図である。
【図１５】第２の実施形態で使用される名前テーブルの例を説明する図である。
【図１６】通知パケットの送信の例を説明する図である。
【図１７】新たなドメインを検出した際の処理の例を説明するフローチャートである。
【図１８】第３の実施形態で使用される名前テーブルの例を説明する図である。
【図１９】通知パケットの送信の例を説明する図である。
【図２０】新たなドメインを検出した際の処理の例を説明するフローチャートである。
【図２１】名前解決要求を用いてマルウェアへの感染を検知する場合の処理の例を説明するフローチャートである。
【発明を実施するための形態】
【００１４】
図２は、実施形態にかかる検知方法の例を説明する図である。図２に示すネットワークにはＷＯＲＫＧＲＯＵＰ、ＦＡＣＴＯＲＹ、ＫＯＵＪＯＵの３つのグループが含まれている。グループは、例えば、ワークグループやドメインであっても良い。ＷＯＲＫＧＲＯＵＰというグループには、端末２ａ、端末２ｂ、検知装置２０が含まれる。ＦＡＣＴＯＲＹというグループには、端末２ｃと端末２ｄが含まれており、ＫＯＵＪＯＵというグループには端末２ｅと端末２ｆが含まれている。図２の例では、端末２ａ〜２ｆはいずれもサーバサービスを提供する装置として、各端末２が属するグループのマスタブラウザ４に自装置のホスト名を通知するものとする。また、各端末２が使用するホスト名は「ＨＯＳＴ−」という文字列の後に、その端末２の符号の最後のアルファベットの大文字をつなげた文字列であるものとし、検知装置２０はＡＰＰＡＲＡＴＵＳというホスト名を使用するものとする。
【００１５】
端末２ａは自装置のホスト名であるＨＯＳＴ−Ａと自装置の属するグループ名を含むパケットをブロードキャストするので、ＷＯＲＫＧＲＯＵＰというグループ中のマスタブラウザ４ａにＨＯＳＴ−Ａというホスト名が通知される（矢印Ａ１１）。同様に、端末２ｂもＨＯＳＴ−Ｂというホスト名と端末２ｂが属するグループ名を含むパケットをブロードキャストするので、マスタブラウザ４ａにＨＯＳＴ−Ｂというホスト名が通知される（矢印Ａ１２）。そこで、マスタブラウザ４ａは、マスタブラウザ４ａが管理するブラウズリスト６ａに、ＨＯＳＴ−ＡとＨＯＳＴ−Ｂを記録する。
【００１６】
同様に、端末２ｃと端末２ｄも自装置のホスト名と自装置が属するグループ名を含むパケットをブロードキャストする（矢印Ａ１３、Ａ１４）。すると、ＦＡＣＴＯＲＹというグループ中のマスタブラウザ４ｂは、端末２ｃと端末２ｄのホスト名をブラウズリスト６ｂに記録する。この時点で、ブラウズリスト６ｂには、ＨＯＳＴ−ＣとＨＯＳＴ−Ｄが記録される。
【００１７】
さらに、端末２ｅと端末２ｆも自装置のホスト名と自装置が属するグループ名を含むパケットをブロードキャストする（矢印Ａ１５、Ａ１６）。すると、ＫＯＵＪＯＵというグループ中のマスタブラウザ４ｃは端末２ｅと端末２ｆのホスト名をブラウズリスト６ｃに記録するので、ブラウズリスト６ｃには、ＨＯＳＴ−ＥとＨＯＳＴ−Ｆが記録される。
【００１８】
検知装置２０はネットワークに参加しているので、各端末２からブロードキャストされたパケットを受信できる。検知装置２０は、受信したパケットに含まれているグループ名を記憶する。例えば、検知装置２０は、端末２ｃから送信されたパケットを用いて、ＦＡＣＴＯＲＹというグループが存在することを認識できる。同様に、検知装置２０は、端末２ｆから送信されたパケットを用いて、ＫＯＵＪＯＵというグループが存在することを認識できる。
【００１９】
検知装置２０は、グループ名と検知装置２０が検知処理に使用するホスト名の組み合わせを複数生成するとともに、各組み合わせを含むパケットを生成する。ここで、検知装置２０が検知処理に使用するホスト名は、検知装置２０の実際のホスト名でもよく、また、検知装置２０のホスト名ではないがマルウェア７に感染した装置の検知のために使用するダミーのホスト名（ダミー名）でもよい。また、複数の組み合わせの中には、互いにグループ名が重複する組み合わせが含まれていても良く、互いにホスト名が重複する組み合わせが含まれていても良い。図２の例では、ホスト名が重複する複数の組み合わせを用いて検知装置２０に対応する登録が行われる場合を説明する。
【００２０】
図２の例では、検知装置２０は、自装置が属するグループのグループ名（ＷＯＲＫＧＲＯＵＰ）と自装置のホスト名（ＡＰＰＡＲＡＴＵＳ）を含むパケットＰ１を生成する。さらに、パケットＰ１をコピーしたパケット中のグループ名を、他の端末２から送信されたパケットを用いて認識したグループ名に書き換えることにより、パケットＰ２とＰ３を生成する。パケットＰ２にはグループ名＝ＦＡＣＴＯＲＹとホスト名＝ＡＰＰＡＲＡＴＵＳが含まれており、パケットＰ３にはグループ名＝ＫＯＵＪＯＵとホスト名＝ＡＰＰＡＲＡＴＵＳが含まれている。検知装置２０は、パケットＰ１をブロードキャストするので、パケットＰ１はマスタブラウザ４ａに到達する（矢印Ａ１７）。すると、マスタブラウザ４ａは、ブラウズリスト６ａにＡＰＰＡＲＡＴＵＳというホスト名を追加する。
【００２１】
さらに、検知装置２０は、パケットＰ２をブロードキャストするので、パケットＰ２はマスタブラウザ４ｂに到達する（矢印Ａ１８）。マスタブラウザ４ｂは、ブラウズリスト６ｂにＡＰＰＡＲＡＴＵＳというホスト名を追加する。同様に、検知装置２０は、パケットＰ３をブロードキャストするので、パケットＰ３を受信したマスタブラウザ４ｃは、ブラウズリスト６ｃにＡＰＰＡＲＡＴＵＳというホスト名を追加する（矢印Ａ１９）。
【００２２】
このように、検知装置２０は、グループ名と検知装置２０が検知処理に使用するホスト名の組み合わせを複数用いて、ネットワーク中で使用されるブラウズリスト６ａ〜６ｃに検知装置２０に対応する複数の登録を生成する。このため、マルウェア７に感染した端末２がネットワーク中で使用されているブラウズリスト６ａ〜６ｃに記録されている全てのホストにアクセスを行うと、マルウェア７に感染した端末２は検知装置２０に複数回アクセスする。従って、検知装置２０は、複数回にわたってアクセスが発生したときにマルウェア７を検知したと判定しても、マルウェア７への感染の発生を見落とさずに済む。さらに、ユーザが誤って画面上のＧＵＩを操作したことによる検知装置２０への１度のアクセスに基づいて、検知装置２０が誤検知を行うことを避けることができる。このため、マルウェアの検知精度を向上できる。
【００２３】
なお、図２の例は一例である。例えば、検知装置２０がホスト名とダミー名を用いる場合、検知装置２０は、１つのブラウズリスト６に検知装置２０に対応する複数の登録を生成することもできる。この場合、ネットワーク中に１つのグループしか含まれていなくても、図２の場合と同様に、検知装置２０は、ユーザの誤操作による誤検知を避けつつ、マルウェア７への感染の発生を検知することができる。
【００２４】
＜装置構成＞
図３は、検知装置２０の構成の例を説明する図である。検知装置２０は、通信部２１、制御部３０、記憶部４０を備える。以下の説明では、ネットワーク中のグループがドメインである場合を例として説明するが、ネットワーク中のグループはワークグループであってもよい。
【００２５】
記憶部４０は、設定値情報４１、ドメインテーブル４２、タイマテーブル４３、および、名前テーブル４４を備える。設定値情報４１は、検知装置２０の処理に使用されるタイマの初期値やマルウェア７の検知に使用するアクセス回数などの設定値を含む。ドメインテーブル４２は、検知装置２０が参加するネットワーク中に存在するドメインを識別するドメイン名を記録する。タイマテーブル４３は、タイマの処理に使用され、タイマの満了までの残り時間を保持する。名前テーブル４４は、検知装置２０が使用するホスト名やダミー名を記録する。
【００２６】
通信部２１は、送信部２２と受信部２３を備える。送信部２２は、端末２やマスタブラウザ４などの他の装置にパケットを送信する。受信部２３は、端末２やマスタブラウザ４などの他の装置からパケットを受信する。
【００２７】
制御部３０は、通知生成部３１、更新部３２、名前解決処理部３３、および、検知処理部３４を備える。通知生成部３１は、ホスト名またはダミー名とグループ名を含むパケットを生成する。更新部３２は、他の端末２やマスタブラウザ４から受信したパケット中に含まれているドメイン名を取得して、ドメインテーブル４２を更新する。名前解決処理部３３は、検知装置２０が使用するホスト名やダミー名に対する名前解決要求パケットを受信部２３が受信した場合に、検知装置２０にアクセスさせるための名前解決処理を行う。名前解決処理部３３は、適宜、名前テーブル４４を用いて、問い合わせの対象となったホスト名と検知装置２０が使用するＩＰ（Internet Protocol）アドレスを含む名前解決応答パケットを生成する。検知処理部３４は、同じ端末２からのアクセスが複数回にわたって発生した場合に、マルウェア７への感染の発生を検知する。
【００２８】
図４は、検知装置２０のハードウェア構成の例を説明する図である。検知装置２０は、プロセッサ１０１、メモリ１０２、バス１０３、ネットワーク接続装置１０４を有する。プロセッサ１０１は、任意の処理回路であり、例えば、ＣＰＵ（Central Processing Unit）とすることができる。プロセッサ１０１は、メモリ１０２をワーキングメモリとして使用して、プログラムを実行することにより、様々な処理を実行する。メモリ１０２には、ＲＡＭ（Random Access Memory）が含まれ、さらに、ＲＯＭ（Read Only Memory）等の不揮発性のメモリも含まれる。メモリ１０２は、プログラムやプロセッサ１０１での処理に使用されるデータを格納する。ネットワーク接続装置１０４は、ネットワークを介した他の装置との通信に使用される。バス１０３は、プロセッサ１０１、メモリ１０２、ネットワーク接続装置１０４を、互いにデータの入出力が可能になるように接続する。
【００２９】
検知装置２０において、制御部３０はプロセッサ１０１によって実現される。通信部２１は、ネットワーク接続装置１０４によって実現される。さらに、記憶部４０は、メモリ１０２により実現される。検知装置２０は、コンピュータ、ゲートウェイ装置、ルータ、Ｌ３スイッチなどとして実現され得る。
【００３０】
＜第１の実施形態＞
以下、第１の実施形態を、ドメインの検出と通知パケットの送信処理、マルウェア７への感染の検知、ドメインが削除された場合の処理に分けて説明する。また、以下の説明では、ネットワークがＷＯＲＫＧＲＯＵＰ、ＦＡＣＴＯＲＹ、ＫＯＵＪＯＵの３つのドメインに分割されている場合を例として説明するが、ネットワークの分割数は、実装に応じて任意に変更され得る。また、ドメインの代わりに複数のワークグループがネットワーク中に形成されていても良い。
【００３１】
（１）ドメインの検出と通知パケットの送信処理
検知装置２０の受信部２３は、ネットワーク中の端末２やマスタブラウザ４から送信されたパケットを受信し、受信パケット中に含まれているドメイン名を用いて、ネットワーク中に存在するドメインを検出する。
【００３２】
図５は、検知装置２０がドメインの検出の際に使用可能なパケットの例を説明する図である。パケットＰ１１は、ＩＰヘッダ、ドメイン名、ホスト名を含むので、検知装置２０は、パケットＰ１１中のドメイン名を、ドメインの検出に使用できる。パケットＰ１１は、端末２が参加しているドメインを通知するために端末２から送信される通知パケットの例である。通知パケットとして、例えば、Ｈｏｓｔ  Ａｎｎｏｕｎｃｅｍｅｎｔパケットが使用され得る。通知パケットは、送信元の端末２からブロードキャストされるので、検知装置２０は、通知パケットを受信できる。
【００３３】
パケットＰ１２とＰ１３は、各ドメインのマスタブラウザ４からブロードキャストされるパケットの例である。パケットＰ１２は、Ｌｏｃａｌ  Ｍａｓｔｅｒ  Ａｎｎｏｕｎｃｅｍｅｎｔパケットの例であり、ＩＰヘッダ、ドメイン名、マスタブラウザ４のホスト名を含む。このため、Ｌｏｃａｌ  Ｍａｓｔｅｒ  Ａｎｎｏｕｎｃｅｍｅｎｔパケットを受信した検知装置２０は、パケットの送信元のマスタブラウザ４が参加しているドメインのドメイン名を取得できる。
【００３４】
パケットＰ１３は、Ｄｏｍａｉｎ／Ｗｏｒｋｇｒｏｕｐ  Ａｎｎｏｕｎｃｅｍｅｎｔパケットの例であり、ＩＰヘッダとドメイン名を含む。このため、検知装置２０は、Ｄｏｍａｉｎ／Ｗｏｒｋｇｒｏｕｐ  Ａｎｎｏｕｎｃｅｍｅｎｔパケットを用いて、送信元のマスタブラウザ４が参加しているドメインのドメイン名を取得できる。
【００３５】
パケットＰ１１〜Ｐ１３のいずれも、所定の間隔ごとに送信元の装置からブロードキャストされる。なお、図５はドメインの検出に使用されるパケットの一例であり、検知装置２０は他のパケットをドメインの検出に使用しても良い。
【００３６】
図６は、ドメインの検出処理の例を説明する図である。図６の例でも、端末２ａ、２ｂ、マスタブラウザ４ａは、ＷＯＲＫＧＲＯＵＰというドメインに参加しているものとする。また、端末２ｃ、２ｄ、マスタブラウザ４ｂは、ＦＡＣＴＯＲＹというドメインに参加し、端末２ｅ、２ｆ、マスタブラウザ４ｃは、ＫＯＵＪＯＵというドメインに参加しているものとする。以下の説明では、検知装置２０はネットワーク中のドメインを認識していないものとする。
【００３７】
端末２ａは、ドメイン名＝ＷＯＲＫＧＲＯＵＰ、ホスト名＝ＨＯＳＴ−Ａを含む通知パケットをブロードキャストする（矢印Ａ３１）。検知装置２０の受信部２３は、端末２ａから送信された通知パケットを受信し、更新部３２に出力する。更新部３２は、通知パケット中のドメイン名を抽出すると、得られたドメイン名がドメインテーブル４２に記録されているかを判定する。この段階では、ドメイン名がドメインテーブル４２に登録されていないので、更新部３２は、ドメイン名＝ＷＯＲＫＧＲＯＵＰをドメインテーブル４２に追加する。
【００３８】
端末２ｂは、ドメイン名＝ＷＯＲＫＧＲＯＵＰ、ホスト名＝ＨＯＳＴ−Ｂを含む通知パケットをブロードキャストする（矢印Ａ３２）。検知装置２０の更新部３２は、受信部２３を介して通知パケットを取得すると、ドメイン名を抽出する。ここでは、更新部３２はドメイン名＝ＷＯＲＫＧＲＯＵＰを抽出するが、ドメイン名＝ＷＯＲＫＧＲＯＵＰは既にドメインテーブル４２に登録されている。そこで、更新部３２は、ドメインテーブル４２を更新せずに処理を終了する。
【００３９】
端末２ｃは、ドメイン名＝ＦＡＣＴＯＲＹ、ホスト名＝ＨＯＳＴ−Ｃを含む通知パケットをブロードキャストする（矢印Ａ３３）。検知装置２０の更新部３２は、通知パケットを取得するとドメイン名を抽出する。ここでは、更新部３２はドメイン名＝ＦＡＣＴＯＲＹを抽出する。ドメイン名＝ＦＡＣＴＯＲＹはドメインテーブル４２に記録されていないので、更新部３２は、ドメインテーブル４２を更新する。このため、ドメインテーブル４２には、ＷＯＲＫＧＲＯＵＰとＦＡＣＴＯＲＹの２つのドメイン名が登録される。
【００４０】
端末２ｄは、ドメイン名＝ＦＡＣＴＯＲＹ、ホスト名＝ＨＯＳＴ−Ｄを含む通知パケットをブロードキャストする（矢印Ａ３４）。検知装置２０の更新部３２は、通知パケットからドメイン名＝ＦＡＣＴＯＲＹを抽出する。このドメイン名は既にドメインテーブル４２に登録されているので、更新部３２は処理を終了する。
【００４１】
端末２ｅは、ドメイン名＝ＫＯＵＪＯＵ、ホスト名＝ＨＯＳＴ−Ｅを含む通知パケットをブロードキャストする（矢印Ａ３５）。検知装置２０の更新部３２は、通知パケットを取得するとドメイン名＝ＫＯＵＪＯＵを抽出する。このドメイン名はドメインテーブル４２に記録されていないので、更新部３２は、ドメインテーブル４２を更新する。このため、図６に示すドメインテーブル４２が得られる。
【００４２】
端末２ｆは、ドメイン名＝ＫＯＵＪＯＵ、ホスト名＝ＨＯＳＴ−Ｆを含む通知パケットをブロードキャストする（矢印Ａ３６）。検知装置２０の更新部３２は、通知パケットからドメイン名＝ＫＯＵＪＯＵを抽出する。このドメイン名は既にドメインテーブル４２に登録されているので、更新部３２は処理を終了する。
【００４３】
図７は、通知パケットの送信の例を説明する図である。更新部３２が所定の閾値Ｔｈ以上の数のドメインを検出すると、通知生成部３１は通知パケットを生成する。図７の例では、閾値Ｔｈは２であるとする。また、図７では、図６を参照しながら説明したように矢印Ａ３１〜Ａ３６の処理が終わっているため、検知装置２０は図６に示すドメインテーブル４２を保持しているとする。
【００４４】
通知生成部３１は、検知装置２０が属するドメインのマスタブラウザ４に検知装置２０のホスト名を通知するための通知パケットＰ２１を生成する。通知パケットＰ２１には、ドメイン名＝ＷＯＲＫＧＲＯＵＰとホスト名＝ＡＰＰＡＲＡＴＵＳが含まれる。
【００４５】
通知生成部３１は、送信部２２を介して、通知パケットＰ２１をブロードキャストする。このため、通知パケットＰ２１はマスタブラウザ４ａに到達する（矢印Ａ４１）。マスタブラウザ４ａは、通知パケットＰ２１を受信すると、通知パケットＰ２１に含まれているドメイン名とマスタブラウザ４ａが属するドメインのドメイン名を比較する。両者が一致するので、マスタブラウザ４ａは、通知パケットＰ２１に含まれているホスト名（ＡＰＰＡＲＡＴＵＳ）をブラウズリスト６ａに追加する。一方、マスタブラウザ４ｂは、通知パケットＰ２１に含まれているドメイン名と自装置が参加しているドメインのドメイン名が一致しないので、ブラウズリスト６ｂを更新しない。同様に、マスタブラウザ４ｃも通知パケットＰ２１を受信してもブラウズリスト６ｃを更新しない。
【００４６】
通知生成部３１は、ドメインテーブル４２にドメイン名が含まれているドメインのうち、検知装置２０自身が属するドメイン以外のドメインの数分だけ、生成した通知パケットＰ２１をコピーする。次に、通知生成部３１は、コピーした通知パケット中のドメイン名を、ドメインテーブル４２中のドメイン名を用いて書き換える。図６および図７の例では、ドメインテーブル４２に、ＷＯＲＫＧＲＯＵＰ、ＦＡＣＴＯＲＹ、および、ＫＯＵＪＯＵの３つのドメイン名が含まれており、検知装置２０はＷＯＲＫＧＲＯＵＰに属している。このため、通知生成部３１は、通知パケットＰ２１を２つコピーし、一方の通知パケットのドメイン名をＦＡＣＴＯＲＹに書き換えることにより、ドメイン名＝ＦＡＣＴＯＲＹとホスト名＝ＡＰＰＡＲＡＴＵＳを含む通知パケットＰ２２を生成する。さらに、通知生成部３１は、コピーした通知パケットＰ２１のドメイン名をＫＯＵＪＯＵに書き換えることにより、ドメイン名＝ＫＯＵＪＯＵとホスト名＝ＡＰＰＡＲＡＴＵＳを含む通知パケットＰ２３を生成する。
【００４７】
通知生成部３１は、送信部２２を介して、通知パケットＰ２２をブロードキャストする。このため、通知パケットＰ２２はマスタブラウザ４ｂに到達する（矢印Ａ４２）。マスタブラウザ４ｂは、通知パケットＰ２２に含まれているドメイン名（ＦＡＣＴＯＲＹ）とマスタブラウザ４ｂが属するドメインのドメイン名を比較する。両者が一致するので、マスタブラウザ４ｂは、通知パケットＰ２２に含まれているホスト名（ＡＰＰＡＲＡＴＵＳ）をブラウズリスト６ｂに追加する。一方、マスタブラウザ４ａおよび４ｃは、通知パケットＰ２２に含まれているドメイン名と自装置が参加しているドメインのドメイン名が一致しないので、ブラウズリスト６を更新しない。
【００４８】
通知生成部３１は、通知パケットＰ２３もブロードキャストするので、通知パケットＰ２３はマスタブラウザ４ｃに到達する（矢印Ａ４３）。マスタブラウザ４ｃは、通知パケットＰ２３に含まれているドメイン名（ＫＯＵＪＯＵ）とマスタブラウザ４ｃが属するドメインのドメイン名を比較する。両者が一致するので、マスタブラウザ４ｃは、通知パケットＰ２３に含まれているホスト名（ＡＰＰＡＲＡＴＵＳ）をブラウズリスト６ｃに追加する。一方、マスタブラウザ４ａおよび４ｂは、通知パケットＰ２３に含まれているドメイン名と自装置が参加しているドメインのドメイン名が一致しないので、ブラウズリスト６を更新しない。
【００４９】
このように、図６と図７を参照しながら説明した処理により、検知装置２０は、自装置のホスト名を、ネットワーク中の全てのドメインのブラウズリスト６に登録することができる。検知装置２０は、自装置のホスト名をネットワーク中の全てのドメインのブラウズリスト６に登録した後も、定期的に通知パケットを送信することにより、各ドメインのブラウズリスト６での登録を維持する。
【００５０】
図８は、新たなドメインを検出した際の処理の例を説明するフローチャートである。更新部３２は、ネットワークを監視する（ステップＳ１）。更新部３２は、受信部２３がネットワークからドメイン情報を含むパケットを受信したかを判定する（ステップＳ２）。ドメイン情報を含むパケットには、通知パケット、Ｌｏｃａｌ  Ｍａｓｔｅｒ  Ａｎｎｏｕｎｃｅｍｅｎｔパケット、Ｄｏｍａｉｎ／Ｗｏｒｋｇｒｏｕｐ  Ａｎｎｏｕｎｃｅｍｅｎｔパケットなどが含まれる。受信部２３がネットワークからドメイン情報を含むパケットを受信していない場合、ステップＳ１に戻る（ステップＳ２でＮｏ）。
【００５１】
一方、受信部２３がネットワークからドメイン情報を含むパケットを受信すると、更新部３２は、受信パケットからドメイン情報を抽出する（ステップＳ２でＹｅｓ）。ここで、ドメイン情報には、ドメイン名が含まれている。更新部３２は、抽出したドメイン名がドメインテーブル４２に記録されているかを判定する（ステップＳ３）。抽出したドメイン名がドメインテーブル４２に記録されていない場合、更新部３２はドメイン名をドメインテーブル４２に記録する（ステップＳ３でＹｅｓ、ステップＳ４）。通知生成部３１は、検知装置２０自身が検知装置２０のホスト名をマスタブラウザ４に通知する際に使用する通知パケットをコピーして、通知パケット中のドメイン名を受信パケットから抽出したドメイン名に書き換えて送信する（ステップＳ５）。
【００５２】
更新部３２は、受信パケットから抽出したドメイン名で識別されるドメインが存続しているかを判定するためのタイマ値ｔ１を生成する（ステップＳ６）。例えば、更新部３２は、受信パケットから抽出したドメイン名に対応するタイマ値を格納するためのエントリを、タイマテーブル４３に生成する。タイマテーブル４３については図９を参照しながら後述する。その後、更新部３２は、タイマ値ｔ１を初期化し、タイマをスタートさせる（ステップＳ７）。ドメインが存続しているかを判定するためのタイマ値ｔ１の初期値は設定値情報４１に含まれている。例えば、タイマ値ｔ１は、通知パケット、Ｌｏｃａｌ  Ｍａｓｔｅｒ  Ａｎｎｏｕｎｃｅｍｅｎｔパケット、Ｄｏｍａｉｎ／Ｗｏｒｋｇｒｏｕｐ  Ａｎｎｏｕｎｃｅｍｅｎｔパケットなどの送信周期に基づいて設定され得る。例えば、通知パケットなどは１２分間隔などの所定の周期で送信される。このため、通知パケットの３回の送信周期にわたって１つもドメイン名を含むパケットを受信しない場合に、そのドメイン名で識別されるドメインが存在しないと判定する場合、ｔ１の初期値は３６分である。タイマを用いた処理については後で詳しく説明する。
【００５３】
ステップＳ３において抽出したドメイン名がドメインテーブル４２に記録されていると判定した場合、更新部３２は、ステップＳ７の処理を行う（ステップＳ３でＹｅｓ、ステップＳ７）。ステップＳ７の処理後、ステップＳ１以降の処理が繰り返される。
【００５４】
図９は、タイマテーブル４３の例と通知パケットの送信処理の例を説明する図である。タイマテーブル４３は、ドメイン名とタイマの種類の組み合わせごとにタイマ値を保持する。例えば、ドメイン名＝ＷＯＲＫＧＲＯＵＰについて、タイマｔ１とタイマｔ２が含まれる。タイマｔ１は、そのタイマが対応付けられたドメインが存続しているかの判定に使用される。タイマｔ２は、そのタイマが対応付けられたドメインへの通知パケットの送信周期の計測に用いられる。タイマ値は、各タイマが満了するまでの残り時間を示す。
【００５５】
図９の例では、ドメイン名＝ＷＯＲＫＧＲＯＵＰのタイマｔ１のタイマ値は、６００秒である。従って、６００秒以内にドメイン名＝ＷＯＲＫＧＲＯＵＰを含むパケットを受信部２３が受信すると、図８のステップＳ７の処理によりドメイン名＝ＷＯＲＫＧＲＯＵＰのタイマｔ１のタイマ値が初期化される。すなわち、ドメイン名＝ＷＯＲＫＧＲＯＵＰで識別されるドメインが存続していると判定される。一方、図９の状態から６００秒以内にドメイン名＝ＷＯＲＫＧＲＯＵＰを含むパケットを受信部２３が受信しないと、検知装置２０は、ドメイン名＝ＷＯＲＫＧＲＯＵＰのドメインは削除されたと判定する。
【００５６】
図９の例では、ドメイン名＝ＷＯＲＫＧＲＯＵＰのタイマｔ２のタイマ値は、０秒である。従って、通知生成部３１は、ドメイン名＝ＷＯＲＫＧＲＯＵＰで識別されるドメインに対して通知パケットを送信する周期が満了したと判定して、ドメイン名＝ＷＯＲＫＧＲＯＵＰを含む通知パケットを再度ブロードキャストする。
【００５７】
図９は、通知パケットの送信処理の例を説明するフローチャートも含む。図９のフローチャートを参照しながら、検知装置２０が各ドメインのブラウズリスト６での自装置のホスト名の登録を維持するための通知パケットの送信処理の例を説明する。なお、図９は、１つのドメインに対して行われる処理の例を示しており、図９の処理はドメインの数と同じ数だけ並行して行われる。
【００５８】
通知生成部３１は、処理対象のドメインのドメイン名と検知装置２０が使用するホスト名を含む通知パケットを、送信部２２を介して送信する（ステップＳ１１）。次に、通知生成部３１は、処理対象のドメインについてのタイマｔ２を初期化する（ステップＳ１２）。タイマｔ２の初期化の際に、通知生成部３１は、設定値情報４１を参照することができる。その後、通知生成部３１は、処理対象のドメインについてのタイマｔ１が満了しているかを判定する（ステップＳ１３）。処理対象のドメインについてのタイマｔ１が満了していない場合、通知生成部３１は、処理対象のドメインについてのタイマｔ２が満了しているかを判定する（ステップＳ１３でＮｏ、ステップＳ１４）。処理対象のドメインについてのタイマｔ２が満了していない場合、通知生成部３１はステップＳ１３以降の処理を繰り返す（ステップＳ１４でＮｏ）。一方、処理対象のドメインについてのタイマｔ２が満了している場合、通知生成部３１はステップＳ１１以降の処理を繰り返す（ステップＳ１４でＹｅｓ）。
【００５９】
処理対象のドメインについてのタイマｔ１が満了していると判定した場合、通知生成部３１は、ドメインテーブル４２から処理対象のドメインのドメイン名を削除する（ステップＳ１３でＹｅｓ）。さらに、通知生成部３１は、処理対象のドメインに対応するタイマｔ１をタイマテーブル４３から削除する（ステップＳ１５）。
【００６０】
（２）マルウェア７への感染の検知
図１０は、マルウェアの検知例を説明する図である。以下、図１０を参照しながら、図６と図７を参照しながら説明した処理が行われた後で、ＦＡＣＴＯＲＹというドメイン中の端末２ｄがマルウェア７に感染した場合に行われる処理を説明する。なお、図１０では、各ドメインに含まれている端末２を分かりやすくするために、各ドメイン中の端末２とそのドメイン中のマスタブラウザ４の間を点線で結んでいる。
【００６１】
マルウェア７に感染した端末２ｄは、ネットワーク中でサーバサービスを提供している装置の情報を、端末２ｄが参加しているドメインのマスタブラウザ４を介して取得する。端末２ｄは、ＦＡＣＴＯＲＹというドメインに参加しているので、マスタブラウザ４ｂに対して、マスタブラウザ４ｂが管理するブラウズリスト６ｂを要求する。マスタブラウザ４ｂは端末２ｄにブラウズリスト６ｂを提供する。ブラウズリスト６ｂには、ＨＯＳＴ−Ｃ、ＨＯＳＴ−Ｄ、ＡＰＰＡＲＡＴＵＳの３つのホスト名が含まれている。なお、ブラウズリスト６ｂ中のＡＰＰＡＲＡＴＵＳは、検知装置２０がパケットＰ２２を用いて登録したホスト名である。
【００６２】
端末２ｄは、他のドメイン中の装置の情報も取得するために、マスタブラウザ４ｂに対して、ドメイン名の一覧を要求するための要求パケットを送信する。マスタブラウザ４ｂは、端末２ｄからの要求に応じて、ドメイン名の一覧を提供する。このため、端末２ｄは、ネットワーク中に、ＷＯＲＫＧＲＯＵＰ、ＦＡＣＴＯＲＹ、および、ＫＯＵＪＯＵの３つのドメインが含まれることを認識する。
【００６３】
次に、端末２ｄは、端末２ｄが参加しているドメイン以外のドメインの各々について、マスタブラウザ４の問い合わせをブロードキャストする。その結果、端末２ｄは、ＷＯＲＫＧＲＯＵＰというドメインにマスタブラウザ４ａが存在することと、ＫＯＵＪＯＵというドメインにマスタブラウザ４ｃが存在することを認識できる。端末２ｄは、マスタブラウザ４ａに対して、ＷＯＲＫＧＲＯＵＰに含まれているホストの一覧を要求して、ブラウズリスト６ａを取得する。ブラウズリスト６ａには、ＨＯＳＴ−Ａ、ＨＯＳＴ−Ｂ、ＡＰＰＡＲＡＴＵＳの３つのホスト名が含まれている。ブラウズリスト６ａ中のＡＰＰＡＲＡＴＵＳは、検知装置２０がパケットＰ２１を用いて登録したホスト名である。
【００６４】
さらに、端末２ｄは、マスタブラウザ４ｃに対して、ＫＯＵＪＯＵに含まれているホストの一覧を要求する。すると、マスタブラウザ４ｃは、ブラウズリスト６ｃを端末２ｄに提供する。ブラウズリスト６ｃには、ＨＯＳＴ−Ｅ、ＨＯＳＴ−Ｆ、ＡＰＰＡＲＡＴＵＳの３つのホスト名が含まれている。ブラウズリスト６ｃ中のＡＰＰＡＲＡＴＵＳは、検知装置２０がパケットＰ２３を用いて登録したホスト名である。
【００６５】
以上の処理により、端末２ｄは、ブラウズリスト６ａ〜６ｃを取得し、ブラウズリスト６ａ〜６ｃに記録されているホスト名の装置を、マルウェア７を感染させるためのアクセスの対象とする。ここで、ブラウズリスト６ａ〜６ｃの各々に検知装置２０のホスト名が含まれているので、ブラウズリスト６ａ〜６ｃ中に検知装置２０のホスト名は３回記載されていることになる。次に、端末２ｄは、ブラウズリスト６ａ〜６ｃに記録されているホスト名の装置にアクセスするために、名前解決を行う。
【００６６】
図１１は、名前解決に使用されるパケットの例を説明する図である。パケットＰ３１は、名前解決要求パケットの例である。名前解決要求パケットは、ＩＰヘッダ、および、解決しようとする対象の名前（ホスト名）を含む。例えば、端末２ｄがブラウズリスト６ａ中のホスト名＝ＡＰＰＡＲＡＴＵＳの装置にアクセスしようとしたとする。この場合、端末２ｄは、解決対象の名前としてＡＰＰＡＲＡＴＵＳを指定した名前解決要求パケットを生成する。このとき、名前解決要求パケットのＩＰヘッダ中の宛先ＩＰアドレスには、ブロードキャストアドレスが指定される。
【００６７】
端末２ｄが解決対象の名前としてＡＰＰＡＲＡＴＵＳを指定した名前解決要求パケットをブロードキャストすると、検知装置２０の受信部２３は名前解決要求パケットを受信する。名前解決処理部３３は、名前解決要求パケット中の解決対象の名前が名前テーブル４４に含まれているかを判定する。名前テーブル４４は、検知装置２０が使用するホスト名を記録しているので、名前テーブル４４は、ホスト名＝ＡＰＰＡＲＡＴＵＳを含む。すると、名前解決処理部３３は、検知装置２０に割り当てられたＩＰアドレスを通知するための名前解決応答パケットを生成する。
【００６８】
パケットＰ３２は、名前解決応答パケットの例である。名前解決応答パケットは、ＩＰヘッダ、解決対象のホスト名、および、ＩＰアドレスを含む。ここで、名前解決応答パケット中で解決対象のホスト名と対応付けられているＩＰアドレスは、解決対象のホスト名を使用している装置に割り当てられたＩＰアドレスである。このため、名前解決処理部３３は、以下の情報を含む名前解決応答パケットを生成する。
【００６９】
解決対象のホスト名：ＡＰＰＡＲＡＴＵＳ
ＩＰアドレス      ：検知装置２０のＩＰアドレス
名前解決処理部３３は、送信部２２を介して、生成した名前解決応答パケットを名前解決要求パケットの送信元である端末２ｄに送信する。
【００７０】
端末２ｄは、名前解決応答パケットで通知されたＩＰアドレスにアクセスするので、検知装置２０にアクセスすることができる（図１０の矢印Ａ５１）。その後も、端末２ｄは、同様の処理により、ブラウズリスト６ａに含まれている端末２ａ、端末２ｂに対しても名前解決とマルウェア７を感染させるためのアクセスを行う。なお、端末２も検知装置２０と同様の処理により名前解決処理を行うものとする。
【００７１】
ブラウズリスト６ａに記録されたホストの全てに対してのアクセスが終わると、端末２ｄは、ブラウズリスト６ｂやブラウズリスト６ｃに記録されたホストに対しても、名前解決やアクセスを行う。ブラウズリスト６ｂには、検知装置２０のホスト名であるＡＰＰＡＲＡＴＵＳが含まれているので、ブラウズリスト６ｂ中のホストに対するアクセスの際に、端末２ｄは、検知装置２０にアクセスする（矢印Ａ５２）。さらに、ブラウズリスト６ｃにも検知装置２０のホスト名であるＡＰＰＡＲＡＴＵＳが含まれているので、ブラウズリスト６ｃ中のホストに対するアクセスの際に、端末２ｄは、検知装置２０にアクセスする（矢印Ａ５３）。
【００７２】
検知装置２０の検知処理部３４は、検知装置２０へのアクセスが行われると、アクセス元の装置のＩＰアドレスに対応付けてアクセス回数をカウントする。矢印Ａ５１〜Ａ５３の３回のアクセスはいずれも端末２ｄから行われているので、検知処理部３４は、端末２ｄのＩＰアドレスからのアクセスが３回行われたと判定する。検知処理部３４は、アクセスの回数をマルウェア７の検知の際に使用する検知閾値Ｔｈｄと比較する。検知閾値Ｔｈｄは、固定値であっても良く、また、ネットワーク中のドメインの数やホストの数に応じて設定されても良い。検知閾値Ｔｈｄは、設定値情報４１として設定されていてもよく、また、通知生成部３１がネットワーク中のホスト数とドメイン数の少なくとも１つに基づいて設定しても良い。
【００７３】
図１０の例では、検知閾値Ｔｈｄは２回であるとする。この場合、端末２ｄからのアクセス回数は検知閾値Ｔｈｄを超えているので、検知処理部３４は、端末２ｄがマルウェア７に感染していると判定する。検知処理部３４は、端末２ｄがマルウェア７に感染していることを表わす警告を生成し、オペレータが使用する装置に警告メッセージを送信する。オペレータが使用する装置のアドレス等の情報は、予め、記憶部４０に記憶されているものとする。オペレータが使用する装置で警告メッセージの表示等が行われると、オペレータは、端末２ｄでのマルウェア７の感染の発生を認識できる。
【００７４】
このように、検知装置２０に対応するホスト名が複数のブラウズリスト６に１つずつ記録されるので、マルウェア７に感染した端末２から検知装置２０に対するアクセスは複数回行われる。従って、検知処理部３４は、同じ装置からのアクセス回数が検知閾値以上である場合、マルウェア７に感染した端末２からのアクセスであると判定できる。その結果、ユーザの操作ミスによる検知装置２０へのアクセスをマルウェア７に感染した装置からのアクセスであると誤検知することなく、マルウェア７に感染した端末２からのアクセスを特定することができる。このため、検知装置２０によると、誤検知を防止しつつ、マルウェア７に感染した装置からのアクセスの発生やマルウェア７の２次感染を検知できる。
【００７５】
図１２は、名前解決処理の例を説明するフローチャートである。名前解決処理部３３は、ネットワークを監視し、受信部２３がネットワークから名前解決要求パケットを受信したかを判定する（ステップＳ２１、Ｓ２２）。受信部２３が名前解決要求パケットを受信していない場合、名前解決処理部３３はステップＳ２１以降の処理を繰り返す（ステップＳ２２でＮｏ）。
【００７６】
一方、受信部２３が名前解決要求パケットを受信した場合、名前解決処理部３３は、名前解決要求パケットで解決要求されている名前（ホスト名）が名前テーブル４４にあるかを判定する（ステップＳ２２でＹｅｓ、ステップＳ２３）。名前解決要求パケットで解決要求されている名前が名前テーブル４４にない場合、検知装置２０以外の装置へのアクセスのための名前解決が行われているので、名前解決処理部３３はステップＳ２１以降の処理を繰り返す（ステップＳ２３でＮｏ）。一方、名前解決が要求されている名前が名前テーブル４４にある場合、名前解決処理部３３は検知装置２０自身に割り当てられているＩＰアドレスを含む名前解決応答パケットを生成し、送信部２２経由で送信する（ステップＳ２３でＹｅｓ、ステップＳ２４）。ステップＳ２４の処理後、名前解決処理部３３はステップＳ２１以降の処理を繰り返す。
【００７７】
図１３は、マルウェアを検知する際の処理の例を説明するフローチャートである。検知処理部３４は、ネットワークを監視し、検知装置２０自身に対するユニキャストアクセスが発生したかを判定する（ステップＳ３１、Ｓ３２）。検知装置２０自身に対するユニキャストアクセスが発生していない場合、検知処理部３４はステップＳ３１以降の処理を繰り返す（ステップＳ３２でＮｏ）。
【００７８】
一方、検知装置２０自身に対するユニキャストアクセスが発生した場合、検知処理部３４は、アクセス元に対応するカウンタ値ｃｎｔを１つインクリメントする（ステップＳ３２でＹｅｓ、ステップＳ３３）。ここで、アクセス元の識別の際に、検知処理部３４はアクセス元のＩＰアドレスを用いても良い。検知処理部３４は、カウンタ値ｃｎｔを検知閾値Ｔｈｄと比較する（ステップＳ３４）。カウンタ値ｃｎｔが検知閾値Ｔｈｄ未満の場合、検知処理部３４はマルウェア７が感染した端末２からのアクセスとは判定せずに、ステップＳ３１に戻る（ステップＳ３４でＮｏ）。
【００７９】
カウンタ値ｃｎｔが検知閾値Ｔｈｄ以上の場合、検知処理部３４はアクセス元の端末２がマルウェア７に感染したことを検知して、アラートを上げる（ステップＳ３４でＹｅｓ、ステップＳ３５）。アラートは、適宜、オペレータが使用する装置などに送信される。検知処理部３４は、アラートを上げたあと、アラートを発生させるきっかけとなったカウンタ値ｃｎｔを０に初期化して、ステップＳ３１以降の処理を繰り返す（ステップＳ３６）。
【００８０】
（３）ドメインが削除された場合の処理
図１４は、ドメインが削除された場合の例を説明する図である。図７を参照しながら説明した状態の後で、ドメイン名＝ＫＯＵＪＯＵで識別されるドメインが削除されたとする。ドメインが削除された直後は、更新部３２はドメインの削除を認識していない。このため、ドメインの削除時点では、通知生成部３１は、ＷＯＲＫＧＲＯＵＰ、ＦＡＣＴＯＲＹ、および、ＫＯＵＪＯＵの各々に対して、検知装置２０のホスト名を通知する通知パケットを所定の間隔（タイマｔ２の設定時間ごと）で送信している。
【００８１】
端末２ｅと端末２ｆがネットワークから削除されているので、ドメイン名＝ＫＯＵＪＯＵを含む通知パケットは送信されない。さらに、マスタブラウザ４ｃもネットワークに参加していないので、ドメイン名＝ＫＯＵＪＯＵを含むＬｏｃａｌ  Ｍａｓｔｅｒ  Ａｎｎｏｕｎｃｅｍｅｎｔパケット、Ｄｏｍａｉｎ／Ｗｏｒｋｇｒｏｕｐ  Ａｎｎｏｕｎｃｅｍｅｎｔパケットなども送信されない。
【００８２】
このため、検知装置２０は、ネットワーク中で送受信されるパケットを監視しても、ドメイン名＝ＫＯＵＪＯＵを含むパケットを受信しなくなる。ドメイン名＝ＫＯＵＪＯＵで識別されるドメインが存続しているかを判定するためのタイマ値ｔ１が満了するまで、検知装置２０はドメイン名＝ＫＯＵＪＯＵを含むパケットを受信しなかったとする。すると、更新部３２は、ドメイン名＝ＫＯＵＪＯＵで識別されるドメインの情報をドメインテーブル４２から削除する。この処理は、図９のステップＳ１５を参照しながら説明した処理である。
【００８３】
更新部３２は、ドメイン名＝ＫＯＵＪＯＵで識別されるドメインの情報を削除すると、削除したドメインを通知生成部３１に通知する。通知生成部３１は、更新部３２から通知されたドメインへの通知パケットの送信を停止する。このため、ドメイン名＝ＫＯＵＪＯＵで識別されるドメインについてのタイマ値ｔ１が満了すると、通知生成部３１は、ドメイン名＝ＫＯＵＪＯＵとホスト名＝ＡＰＰＡＲＡＴＵＳを含む通知パケット（Ｐ２３）の送信を終了する。また、通知生成部３１は、パケットＰ２３の送信処理に使用するタイマ値ｔ２をタイマテーブル４３から削除する。
【００８４】
このように、ドメインが削除されたことを更新部３２が検出すると、通知生成部３１は削除されたドメインへの通知パケットの送信を停止するため、不要なパケットがネットワーク中で送受信されることを防ぐことができる。
【００８５】
一方、ＷＯＲＫＧＲＯＵＰとＦＡＣＴＯＲＹの各々のドメインでは、図７を参照しながら説明したとおり、通知パケットの送信が継続される。このため、ドメイン名＝ＷＯＲＫＧＲＯＵＰのブラウズリスト６ａと、ドメイン名＝ＦＡＣＴＯＲＹのブラウズリスト６ｂのいずれにおいても検知装置２０のホスト名が維持される。従って、図１４の状態で端末２ａ〜２ｄのいずれかがマルウェア７に感染した場合には、ブラウズリスト６ａとブラウズリスト６ｂを用いて、検知装置２０に対して２回のアクセスが行われる。従って、ネットワーク中の一部のドメインが削除された場合であっても、検知閾値以上の回数分だけ検知装置２０の登録が行われていれば、検知装置２０はマルウェア７の２次感染を検知できる。
【００８６】
さらに、ネットワーク中のドメインの数が検知閾値Ｔｈｄを下回った場合、更新部３２は、ネットワーク中のドメイン数が検知閾値Ｔｈｄに達するまで通知生成部３１、名前解決処理部３３、および検知処理部３４の処理を待機させても良い。このように変形すると、ドメイン数が検知閾値Ｔｈｄを下回っていることによりマルウェア７の感染を検知しない状況下で検知装置２０から通知パケットが送信されることにより、無駄なトラフィックが発生することを防止できる。
【００８７】
このように、第１の実施形態によると、検知装置２０は、複数のドメインの各々に対して検知装置２０のホスト名を登録するので、ドメイン名と検知装置２０のホスト名の組み合わせの各々に対応した複数の登録をブラウズリスト６に含めることができる。このため、マルウェア７に感染した端末２は、ネットワーク中で使用されている複数のブラウズリスト６の各々に記録されている全てのホスト名にアクセスすると、検知装置２０に複数回アクセスする。従って、検知装置２０は、同じ装置から複数回にわたってアクセスが発生したときにマルウェア７への感染の発生を検知したと判定しても、マルウェア７を見落とさずに済む。さらに、ユーザが誤って画面上のＧＵＩを操作したことによる検知装置２０への１度のアクセスに基づいて、検知装置２０が誤検知を行うことを避けることができる。このため、検知装置２０は、マルウェア７の検知精度を向上できる。
【００８８】
＜第２の実施形態＞
マルウェア７が同じホスト名へのアクセスを回避するように変更される可能性もある。そこで、第２の実施形態では、検知装置２０はホスト名の他に、マルウェア７の検出のために使用するダミーのホスト名を１つ以上使用することにより、ドメイン毎に異なるホスト名を登録する。なお、第２の実施形態においても、名前解決処理部３３での名前解決、検知処理部３４での検知処理、更新部３２によるドメインの検出処理は第１の実施形態と同様に行われる。
【００８９】
図１５は、第２の実施形態で使用される名前テーブル４４の例を説明する図である。名前テーブル４４は、ドメイン名とホスト名を含む。ドメインの欄には、ドメインテーブル４２に記録されているドメイン名の各々が記録される。名前テーブル４４では、ドメイン名で識別されるドメインへの登録に使用されるホスト名が、そのドメイン名のエントリに対応付けられている。図１５に示す名前テーブル４４を保持する検知装置２０は、ＷＯＲＫＧＲＯＵＰというドメインでは、ＡＰＰＡＲＡＴＵＳというホスト名を使用する。同様に、検知装置２０は、ＦＡＣＴＯＲＹというドメインではＤＥＴＥＣＴＩＯＮというホスト名を使用し、ＫＯＵＪＯＵというドメインではＳＯＵＣＨＩというホスト名を使用する。
【００９０】
図１６は、通知パケットの送信の例を説明する図である。図１６においても、図６を参照しながら説明したように各端末２から通知パケットが送信されて矢印Ａ３１〜Ａ３６の処理が終わっているとする。このため、検知装置２０が保持するドメインテーブル４２には、ＷＯＲＫＧＲＯＵＰ、ＦＡＣＴＯＲＹ、および、ＫＯＵＪＯＵの３つのドメイン名が含まれている。また、図１６では、各ドメインに含まれている端末２を分かりやすくするために、各ドメイン中の端末２とそのドメイン中のマスタブラウザ４の間を点線で結んでいる。
【００９１】
更新部３２が所定の閾値Ｔｈ以上の数のドメインを検出すると、通知生成部３１は検知装置２０が属するドメインのマスタブラウザ４ａに検知装置２０のホスト名を通知するための通知パケットＰ４１を生成する。図１６の例では、閾値Ｔｈは２であるとする。通知パケットＰ４１には、ドメイン名＝ＷＯＲＫＧＲＯＵＰとホスト名＝ＡＰＰＡＲＡＴＵＳが含まれる。
【００９２】
通知生成部３１は、送信部２２を介して、通知パケットＰ４１をブロードキャストするので、通知パケットＰ４１はマスタブラウザ４ａに到達する（矢印Ａ５１）。マスタブラウザ４ａは、通知パケットＰ４１を受信すると、通知パケットＰ４１に含まれているドメイン名とマスタブラウザ４ａが属するドメインのドメイン名を比較する。両者が一致するので、マスタブラウザ４ａは、通知パケットＰ４１に含まれているホスト名（ＡＰＰＡＲＡＴＵＳ）をブラウズリスト６ａに追加する。一方、マスタブラウザ４ｂおよびマスタブラウザ４ｃは、通知パケットＰ４１に含まれているドメイン名と自装置が参加しているドメインのドメイン名が一致しないので、ブラウズリスト６を更新しない。
【００９３】
通知生成部３１は、ドメインテーブル４２にドメイン名が含まれているドメインのうち、検知装置２０自身が属するドメイン以外のドメインの数分だけ、生成した通知パケットをコピーする。次に、通知生成部３１は、コピーした通知パケット中のドメイン名とホスト名の組み合わせを、名前テーブル４４に含まれるドメイン名とホスト名の組み合わせを用いて書き換える。この例では、検知装置２０が図１５に示す名前テーブル４４を保持しているとする。通知生成部３１は、通知パケットＰ４１を２つコピーし、一方の通知パケットのドメイン名をＦＡＣＴＯＲＹに変更し、さらに、ホスト名をＤＥＴＥＣＴＩＯＮに変更することにより、通知パケットＰ４２を生成する。さらに、通知生成部３１は、コピーした通知パケットＰ４１のドメイン名をＫＯＵＪＯＵに書き換え、ホスト名をＳＯＵＣＨＩに変更することにより、ドメイン名＝ＫＯＵＪＯＵとホスト名＝ＳＯＵＣＨＩを含む通知パケットＰ４３を生成する。
【００９４】
通知生成部３１は、通知パケットＰ４２をブロードキャストするので、通知パケットＰ４２はマスタブラウザ４ｂに到達する（矢印Ａ５２）。マスタブラウザ４ｂは、通知パケットＰ４２中のドメイン名（ＦＡＣＴＯＲＹ）とマスタブラウザ４ｂが属するドメインのドメイン名が一致するので、通知パケットＰ４２に含まれているホスト名（ＤＥＴＥＣＴＩＯＮ）をブラウズリスト６ｂに追加する。一方、マスタブラウザ４ａおよび４ｃは、通知パケットＰ４２に含まれているドメイン名と自装置が参加しているドメインのドメイン名が一致しないので、ブラウズリスト６を更新しない。
【００９５】
通知生成部３１は、通知パケットＰ４３もブロードキャストするので、通知パケットＰ４３はマスタブラウザ４ｃに到達する（矢印Ａ５３）。マスタブラウザ４ｃは、通知パケットＰ２３中のドメイン名（ＫＯＵＪＯＵ）とマスタブラウザ４ｃが属するドメインのドメイン名が一致するので、通知パケットＰ４３に含まれているホスト名（ＳＯＵＣＨＩ）をブラウズリスト６ｃに追加する。一方、マスタブラウザ４ａおよび４ｂは、通知パケットＰ４３中のドメイン名と自装置が参加しているドメインのドメイン名が一致しないので、ブラウズリスト６を更新しない。
【００９６】
このように、検知装置２０は、検知装置２０が使用するホスト名を、ネットワーク中の全てのドメインのブラウズリスト６に登録することができる。ここで、検知装置２０が使用するホスト名には、検知装置２０がサーバサービスに使用するホスト名と、マルウェア７への感染の発生を検知するために使用するダミー名の両方が含まれる。検知装置２０は、検知装置２０が使用するホスト名を、ネットワーク中の全てのドメインのブラウズリスト６に登録した後も、各ドメインに対して定期的に通知パケットを送信することにより、各ドメインのブラウズリスト６での登録を維持する。
【００９７】
次に、図１６に示すようなブラウズリスト６ａ〜６ｃが生成されている場合での、マルウェア７に感染した装置からのアクセスの検知方法について説明する。図１６の場合も、端末２ｄがマルウェア７に感染したとする。すると、端末２ｄは、第１の実施形態と同様の処理により、ブラウズリスト６ａ〜６ｃを取得する。このため、端末２ｄは以下のホスト名を取得できる。
ＨＯＳＴ−Ａ
ＨＯＳＴ−Ｂ
ＡＰＰＡＲＡＴＵＳ
ＨＯＳＴ−Ｃ
ＨＯＳＴ−Ｄ
ＤＥＴＥＣＴＩＯＮ
ＨＯＳＴ−Ｅ
ＨＯＳＴ−Ｆ
ＳＯＵＣＨＩ
【００９８】
端末２ｄは、第１の実施形態と同様に名前解決を行う。さらに、ネットワーク中の端末２は、第１の実施形態と同様に名前解決応答を行うので、端末２ｄはネットワーク中の各端末２にアクセスできる。
【００９９】
検知装置２０中の名前解決処理部３３は、受信部２３を介して端末２ｄから送信された名前解決要求パケットを取得すると、名前テーブル４４（図１５）を参照する。名前解決処理部３３は、名前解決が要求されている対象が名前テーブル４４に記録されているホスト名もしくはダミー名である場合、検知装置２０のＩＰアドレスを通知する名前解決応答パケットを送信する。従って、端末２ｄからＡＰＰＡＲＡＴＵＳ、ＤＥＴＥＣＴＩＯＮ、または、ＳＯＵＣＨＩのいずれかについての名前解決要求パケットを受信すると、検知装置２０は検知装置２０のＩＰアドレスを含む名前解決応答パケットを端末２ｄに送信する。
【０１００】
端末２ｄは、名前解決応答パケットで通知されたＩＰアドレスにアクセスする。このため、端末２ｄは、ホスト名＝ＡＰＰＡＲＡＴＵＳを用いた検知装置２０へのアクセス、ホスト名＝ＤＥＴＥＣＴＩＯＮを用いた検知装置２０へのアクセス、および、ホスト名＝ＤＥＴＥＣＴＩＯＮを用いた検知装置２０へのアクセスを行うことになる。すなわち、端末２ｄは、検知装置２０に３回のアクセスを行う。検知装置２０中の検知処理部３４は、第１の実施形態と同様の処理により、端末２ｄからのアクセスをマルウェア７に感染した装置からのアクセスとして検知できる。
【０１０１】
図１７は、第２の実施形態において、検知装置２０が新たなドメインを検出した際の処理の例を説明するフローチャートである。図１７の例では、ダミー名の生成は、ドメインを検出したタイミングで行われる。図１７のステップＳ４１〜Ｓ４４は、図８を参照しながら説明したステップＳ１〜Ｓ４の処理と同様である。
【０１０２】
更新部３２は、受信パケットを用いて新たに検出したドメインへの通知パケットの送信に使用するダミー名を生成し、ドメイン名と対応付けて名前テーブル４４に記録する（ステップＳ４５）。通知生成部３１は、新たに検出したドメインに対して、そのドメインに対応付けられたダミー名と、ドメイン名の組み合わせを含む通知パケットを生成し、送信部２２を介して送信する（ステップＳ４６）。また、更新部３２は、受信パケットから抽出したドメイン名で識別されるドメインが存続しているかを判定するためのタイマ値ｔ１も生成する。その後、更新部３２は、タイマ値ｔ１を初期化し、タイマをスタートさせる（ステップＳ４７）。
【０１０３】
ステップＳ４３において、受信パケットから抽出したドメイン名がドメインテーブル４２に記録されていると判定した場合、更新部３２は、ステップＳ４７の処理を行う（ステップＳ４３でＹｅｓ、ステップＳ４７）。ステップＳ４７の処理後、ステップＳ４１以降の処理が繰り返される。
【０１０４】
図１７に示す処理の後で、検知装置２０が使用するホスト名の登録を維持するための処理は、図９を参照しながら説明した処理と同様である。このため、図１６を参照しながら説明したように、マルウェア７に感染した端末２からの検知装置２０へのアクセスや、検知装置２０での検知処理が行われる。
【０１０５】
従って、第２の実施形態により、検知装置２０は、同じホスト名の装置にアクセスしないタイプのマルウェア７に感染した端末２からのアクセスを検知することができる。また、第２の実施形態でも、複数回のアクセスを行った装置がマルウェア７に感染していると判定するので、ユーザが誤って検知装置２０に対応するＧＵＩを選択したことによる誤検知を防止して、マルウェア７の検知精度を向上することができる。
【０１０６】
＜第３の実施形態＞
マルウェア７によっては、マルウェア７が感染した装置が含まれていないドメインにアクセスしない場合もあり得る。この場合、マルウェア７に感染した端末２は複数のドメインについてのブラウズリスト６を取得しない。このため、ブラウズリスト６ごとに検知装置２０に対応する１つのホスト名を登録してもマルウェア７に感染した端末２が検知装置２０に対して複数回のアクセスを行わない可能性がある。そこで、第３の実施形態では、検知装置２０が１つのドメインに複数の登録を行う場合について説明する。
【０１０７】
図１８は、第３の実施形態で使用される名前テーブル４４の例を説明する図である。名前テーブル４４は、ドメインとホスト名を含む。ドメインの欄には、ドメインテーブル４２に記録されているドメイン名の各々が記録される。ホスト名は、対応付けられたドメイン名で識別されるドメインへの登録に使用される。ここで、名前テーブル４４に含まれているホスト名は、検知装置２０に登録されたホスト名であってもよく、また、検知装置２０がマルウェア７に感染した端末２からのアクセスを検知するために使用するダミー名であっても良い。
【０１０８】
図１８に示す名前テーブル４４を保持する検知装置２０は、ＷＯＲＫＧＲＯＵＰというドメインでは、ＡＰＰＡＲＡＴＵＳというホスト名とＫＥＮＮＣＨＩというホスト名を使用する。同様に、検知装置２０は、ＦＡＣＴＯＲＹというドメインではＤＥＴＥＣＴＩＯＮというホスト名とＬＩＧＨＴＷＥＩＧＨＴというホスト名を使用する。さらに、検知装置２０は、ＫＯＵＪＯＵというドメインではＳＯＵＣＨＩというホスト名とＫＥＩＲＹＯＵというホスト名を使用する。
【０１０９】
図１９は、通知パケットの送信の例を説明する図である。図１９においても、ネットワークには、ＷＯＲＫＧＲＯＵＰ、ＦＡＣＴＯＲＹ、および、ＫＯＵＪＯＵの３つのドメインが含まれており、図６の矢印Ａ３１〜Ａ３６を参照しながら説明したように各端末２が通知パケットを送信したとする。なお、図１９では、各ドメインに含まれている端末２を分かりやすくするために、各ドメイン中の端末２とそのドメイン中のマスタブラウザ４の間を点線で結んでいる。なお、第３の実施形態では、ネットワーク中のドメインの数が１つ以上であれば閾値Ｔｈ未満であっても検知装置２０からの通知パケットの送信等の処理が行われる。
【０１１０】
第３の実施形態においても、更新部３２は、第１および第２の実施形態と同様に、通知パケットなどを用いて、ネットワーク中のドメインに割り当てられたドメイン名を取得して、ドメインテーブル４２を更新する。このため、検知装置２０が保持するドメインテーブル４２には、ＷＯＲＫＧＲＯＵＰ、ＦＡＣＴＯＲＹ、および、ＫＯＵＪＯＵの３つのドメイン名が含まれている。また、以下の説明では、検知装置２０は、図１８に示す名前テーブル４４を備えているとする。
【０１１１】
通知生成部３１は、検知装置２０が属するドメインのマスタブラウザ４ａに検知装置２０が使用する複数のホスト名を通知するために、複数の通知パケット（Ｐ５１、Ｐ５２）を生成する。このとき、通知生成部３１は、名前テーブル４４のうちで、ドメイン名＝ＷＯＲＫＧＲＯＵＰを含むエントリの情報を用いる。図１８に示す名前テーブル４４の１番目のエントリを用いて生成された通知パケットＰ５１には、ドメイン名＝ＷＯＲＫＧＲＯＵＰとホスト名＝ＡＰＰＡＲＡＴＵＳが含まれる。一方、名前テーブル４４の２番目のエントリを用いて生成された通知パケットＰ５２には、ドメイン名＝ＷＯＲＫＧＲＯＵＰとホスト名＝ＫＥＮＮＣＨＩが含まれている。
【０１１２】
通知生成部３１は、送信部２２を介して、通知パケットＰ５１とＰ５２をブロードキャストするので、通知パケットＰ５１とＰ５２はマスタブラウザ４ａに到達する（矢印Ａ６１）。マスタブラウザ４ａは、通知パケットＰ５１に含まれているドメイン名とマスタブラウザ４ａが属するドメインのドメイン名が一致するので、通知パケットＰ５１に含まれているホスト名（ＡＰＰＡＲＡＴＵＳ）をブラウズリスト６ａに追加する。通知パケットＰ５２にも同様の処理が行われるので、通知パケットＰ５２に含まれているホスト名（ＫＥＮＮＣＨＩ）もブラウズリスト６ａに追加される。従って、ブラウズリスト６ａには、図１９に示すように、ＨＯＳＴ−Ａ、ＨＯＳＴ−Ｂ、ＡＰＰＡＲＡＴＵＳ、および、ＫＥＮＮＣＨＩが含まれる。一方、マスタブラウザ４ｂおよびマスタブラウザ４ｃは、通知パケットＰ５１およびＰ５２に含まれているドメイン名と自装置が参加しているドメインのドメイン名が一致しないので、ブラウズリスト６を更新しない。
【０１１３】
次に、通知生成部３１は、ドメイン名＝ＦＡＣＴＯＲＹで識別されるドメインのマスタブラウザ４ｂに検知装置２０が使用する複数のホスト名を通知するために、複数の通知パケット（Ｐ５３、Ｐ５４）を生成する。このとき、通知生成部３１は、名前テーブル４４のうちで、ドメイン名＝ＦＡＣＴＯＲＹを含むエントリの情報を用いる。このため、図１８に示す名前テーブル４４の３番目のエントリを用いて生成された通知パケットＰ５３には、ドメイン名＝ＦＡＣＴＯＲＹとホスト名＝ＤＥＴＥＣＴＩＯＮが含まれる。一方、名前テーブル４４の４番目のエントリを用いて生成された通知パケットＰ５４には、ドメイン名＝ＦＡＣＴＯＲＹとホスト名＝ＬＩＧＨＴＷＥＩＧＨＴが含まれている。
【０１１４】
通知生成部３１は、通知パケットＰ５３とＰ５４をブロードキャストするので、通知パケットＰ５３とＰ５４はマスタブラウザ４ｂに到達する（矢印Ａ６２）。マスタブラウザ４ｂは、通知パケットＰ５３に含まれているドメイン名とマスタブラウザ４ｂが属するドメインのドメイン名が一致するので、通知パケットＰ５３に含まれているホスト名（ＤＥＴＥＣＴＩＯＮ）をブラウズリスト６ｂに追加する。通知パケットＰ５４にも同様の処理が行われるので、通知パケットＰ５４に含まれているホスト名（ＬＩＧＨＴＷＥＩＧＨＴ）もブラウズリスト６ｂに追加される。従って、ブラウズリスト６ｂには、図１９に示すように、ＨＯＳＴ−Ｃ、ＨＯＳＴ−Ｄ、ＤＥＴＥＣＴＩＯＮ、および、ＬＩＧＨＴＷＥＩＧＨＴが含まれる。一方、マスタブラウザ４ａおよびマスタブラウザ４ｃは、通知パケットＰ５３およびＰ５４に含まれているドメイン名と自装置が参加しているドメインのドメイン名が一致しないので、ブラウズリスト６を更新しない。
【０１１５】
通知生成部３１は、ドメイン名＝ＫＯＵＪＯＵで識別されるドメインのマスタブラウザ４ｃに検知装置２０が使用する複数のホスト名を通知するために、複数の通知パケット（Ｐ５５、Ｐ５６）を生成する。このとき、通知生成部３１は、名前テーブル４４（図１８）のうちで、ドメイン名＝ＫＯＵＪＯＵを含むエントリの情報を用いる。このため、名前テーブル４４の５番目のエントリを用いて生成された通知パケットＰ５５には、ドメイン名＝ＫＯＵＪＯＵとホスト名＝ＳＯＵＣＨＩが含まれる。一方、名前テーブル４４の６番目のエントリを用いて生成された通知パケットＰ５６には、ドメイン名＝ＫＯＵＪＯＵとホスト名＝ＫＥＩＲＹＯＵが含まれている。
【０１１６】
通知生成部３１は、通知パケットＰ５５とＰ５６をブロードキャストするので、通知パケットＰ５５とＰ５６はマスタブラウザ４ｃに到達する（矢印Ａ６３）。マスタブラウザ４ｃは、通知パケットＰ５５に含まれているドメイン名とマスタブラウザ４ｃが属するドメインのドメイン名が一致するので、通知パケットＰ５５に含まれているホスト名（ＳＯＵＣＨＩ）をブラウズリスト６ｃに追加する。通知パケットＰ５６にも同様の処理が行われるので、通知パケットＰ５６に含まれているホスト名（ＫＥＩＲＹＯＵ）もブラウズリスト６ｃに追加される。従って、ブラウズリスト６ｃには、ＨＯＳＴ−Ｅ、ＨＯＳＴ−Ｆ、ＳＯＵＣＨＩ、および、ＫＥＩＲＹＯＵが含まれる。一方、マスタブラウザ４ａおよびマスタブラウザ４ｂは、通知パケットＰ５５およびＰ５６に含まれているドメイン名と自装置が参加しているドメインのドメイン名が一致しないので、ブラウズリスト６を更新しない。
【０１１７】
このように、検知装置２０は、ネットワーク中の各ドメインのブラウズリスト６に、検知装置２０が使用する複数のホスト名を登録することができる。さらに、検知装置２０は、検知装置２０が使用するホスト名の登録が維持されるように、各ドメインに対して定期的に通知パケットを送信する。
【０１１８】
次に、図１９に示すようなブラウズリスト６ａ〜６ｃが生成されている場合での、マルウェア７に感染した装置からのアクセスの検知方法について説明する。ここでは、端末２ｄがマルウェア７に感染したとする。また、マルウェア７は、感染した端末２とは異なるドメイン中の装置へのアクセスを行わないタイプのものであるとする。すると、端末２ｄは、マスタブラウザ４ｂにアクセスすることにより、ブラウズリスト６ｂを取得する。ここで、ブラウズリスト６ｂには以下のホスト名が含まれている。
ＨＯＳＴ−Ｃ
ＨＯＳＴ−Ｄ
ＤＥＴＥＣＴＩＯＮ
ＬＩＧＨＴＷＥＩＧＨＴ
【０１１９】
端末２ｄは、ホスト名＝ＤＥＴＥＣＴＩＯＮを使用する装置にアクセスするために名前解決要求パケットを送信する。検知装置２０中の名前解決処理部３３は、受信部２３を介して名前解決要求パケットを取得すると、名前テーブル４４（図１８）を参照する。名前解決処理部３３は、名前解決が要求されているホスト名が名前テーブル４４に記録されているので、検知装置２０のＩＰアドレスを含む名前解決応答パケットを端末２ｄに送信する。すると、端末２ｄは、名前解決応答パケットで通知されたＩＰアドレスにアクセスする。
【０１２０】
同様に、端末２ｄは、ホスト名＝ＬＩＧＨＴＷＥＩＧＨＴを使用する装置へのアクセスのために名前解決要求パケットを送信する。検知装置２０の名前解決処理部３３は、端末２ｄから受信した名前解決要求パケットに含まれているホスト名＝ＬＩＧＨＴＷＥＩＧＨＴが名前テーブル４４に含まれているので、検知装置２０のＩＰアドレスを含む名前解決応答パケットを端末２ｄに送信する。すると、端末２ｄは、名前解決応答パケットで通知されたＩＰアドレスにアクセスする。
【０１２１】
このため、端末２ｄは、ホスト名＝ＤＥＴＥＣＴＩＯＮを用いた検知装置２０へのアクセスと、ホスト名＝ＬＩＧＨＴＷＥＩＧＨＴを用いた検知装置２０へのアクセスを行うことになる。すなわち、端末２ｄは、検知装置２０に２回のアクセスを行う。従って、検知装置２０中の検知処理部３４は、第１の実施形態と同様の処理により、端末２ｄからのアクセスをマルウェア７に感染した装置からのアクセスとして検知できる。
【０１２２】
図２０は、第３の実施形態において、検知装置２０が新たなドメインを検出した際の処理の例を説明するフローチャートである。図２０の例では、ダミー名の生成は、ドメインを検出したタイミングで行われる。図２０では、変数ｎと定数Ｎを使用する。定数Ｎは各ドメインに対して生成したダミー名の数である。変数ｎは通知パケットの送信に使用したダミー名の数である。図２０のステップＳ５１〜Ｓ５４は、図８を参照しながら説明したステップＳ１〜Ｓ４の処理と同様である。
【０１２３】
更新部３２は、受信パケットを用いて新たに検出したドメインへの通知パケットの送信に使用するダミー名をＮ個生成し、ドメイン名と対応付けて名前テーブル４４に記録する（ステップＳ５５）。なお、ステップＳ５５以降の処理において、検知装置２０がサーバサービスのために使用するホスト名もダミー名として使用されても良い。また、更新部３２は、受信パケットから抽出したドメイン名で識別されるドメインが存続しているかを判定するためのタイマ値ｔ１も生成する。通知生成部３１は変数ｎを１に設定する（ステップＳ５６）。通知生成部３１は、新たに検出したドメインに対して、そのドメインに対応付けられたｎ番目のダミー名と、ドメイン名の組み合わせを含む通知パケットを生成し、送信部２２を介して送信する（ステップＳ５７）。その後、通知生成部３１は、変数ｎを１つインクリメントしてから定数Ｎと比較する（ステップＳ５８、Ｓ５９）。変数ｎが定数Ｎ以下の場合、通知生成部３１はステップＳ５７以降の処理を繰り返す（ステップＳ５９でＮｏ）。
【０１２４】
一方、変数ｎが定数Ｎを超えると、更新部３２は、タイマ値ｔ１を初期化し、タイマをスタートさせる（ステップＳ５９でＹｅｓ、ステップＳ６０）。ステップＳ５３において、受信パケットから抽出したドメイン名がドメインテーブル４２に記録されていると判定した場合、更新部３２は、ステップＳ６０の処理を行う（ステップＳ５３でＹｅｓ、ステップＳ６０）。ステップＳ６０の処理後、ステップＳ５１以降の処理が繰り返される。
【０１２５】
図２０に示す処理の後で、検知装置２０が使用するホスト名の登録を維持するための処理は、図９を参照しながら説明した処理と同様である。このため、図１９を参照しながら説明したように、マルウェア７に感染した端末２からの検知装置２０へのアクセスや、検知装置２０での検知処理が行われる。
【０１２６】
従って、第３の実施形態により、検知装置２０は、感染した端末２が含まれているドメイン以外のドメイン中の装置にアクセスしないタイプのマルウェア７の感染が発生しても、マルウェア７の感染が起こっていることを検知できる。また、第３の実施形態でも、複数回のアクセスを行った装置がマルウェア７に感染していると判定するので、ユーザが誤って検知装置２０に対応するＧＵＩを選択したことによる誤検知を防止して、マルウェア７の検知精度を向上することができる。
【０１２７】
＜第４の実施形態＞
第１〜第３の実施形態のいずれでも、検知装置２０に対する複数回のアクセスが発生したことにより、マルウェア７に感染した端末２が存在することを検知装置２０が検知する。しかし、検知装置２０は、検知装置２０に対応付けられたホスト名に対する名前解決が要求された回数をカウントすることで、マルウェア７に感染した端末２の存在を検知しても良い。なお、第４の実施形態では、検知装置２０が使用するホスト名のブラウズリスト６への登録のために行われる処理は、第１〜第３の実施形態のいずれかと同じ処理である。
【０１２８】
図２１は、名前解決要求を用いてマルウェアへの感染を検知する場合の処理の例を説明するフローチャートである。図２１のステップＳ７１〜Ｓ７３の処理は、図１２を参照しながら説明したステップＳ２１〜Ｓ２３と同様の処理である。
【０１２９】
名前解決が要求されている名前が名前テーブル４４にある場合、名前解決処理部３３は、名前解決要求の要求元に対応付けたカウンタ値ｃｎｔを生成する（ステップＳ７３でＹｅｓ）。名前解決処理部３３は、名前解決要求の要求元に対応付けたカウンタ値ｃｎｔをインクリメントする（ステップＳ７４）。
【０１３０】
検知処理部３４は、カウンタ値ｃｎｔを検知閾値Ｔｈｄと比較する（ステップＳ７５）。カウンタ値ｃｎｔが検知閾値Ｔｈｄ未満の場合、検知処理部３４はマルウェア７が感染した端末２からのアクセスとは判定せずに、ステップＳ７１に戻る（ステップＳ７５でＮｏ）。
【０１３１】
カウンタ値ｃｎｔが検知閾値Ｔｈｄ以上の場合、検知処理部３４はアクセス元の端末２がマルウェア７に感染したことを検知して、アラートを上げる（ステップＳ７５でＹｅｓ、ステップＳ７６）。アラートは、適宜、オペレータが使用する装置などに送信される。検知処理部３４は、アラートを上げたあと、アラートを発生させるきっかけとなったカウンタ値ｃｎｔを０に初期化して、ステップＳ７１以降の処理を繰り返す（ステップＳ７７）。
【０１３２】
このように、第４の実施形態では、検知装置２０が使用するホスト名に対する名前解決が行われた回数を用いて、マルウェア７に感染した端末２があるかを判定する。ここで、検知装置２０は、検知装置２０が使用するホスト名に対する名前解決の要求元に対して、検知装置２０に割り当てられたＩＰアドレスを通知しない。このため、名前解決応答パケットの送信や検知装置２０へのアクセス自体は発生しない。従って、第１〜第３の実施形態に比べて、第４の実施形態では、ネットワーク中で送受信されるパケット数を削減することができる。
【０１３３】
なお、第４の実施形態においても、特定の要求元からの名前解決要求の回数が検知閾値Ｔｈｄに達するまでは、マルウェア７に感染した端末２の存在を検知しない。このため、第４の実施形態においても、ユーザが誤って検知装置２０に対応するＧＵＩを選択したことによる誤検知を防止して、マルウェア７の検知精度を向上することができる。
【０１３４】
＜その他＞
なお、実施形態は上記に限られるものではなく、様々に変形可能である。以下にその例をいくつか述べる。
【０１３５】
第２および第３の実施形態では、検知装置２０に複数のＩＰアドレスが割り当てられている場合、検知装置２０は、名前解決要求に対する応答で通知するＩＰアドレスを、ダミー名ごとに異なるアドレスにしても良い。例えば、検知装置２０は、ホスト名＝ＡＰＰＡＲＡＴＵＳに対してＩＰアドレス＝ＩＰａを対応付け、ホスト名＝ＤＥＴＥＣＴＩＯＮに対してＩＰアドレス＝ＩＰｂを対応付けることができる。名前解決処理部３３は、ホスト名＝ＡＰＰＡＲＡＴＵＳに対する名前解決が要求されると、ＩＰａを通知する名前解決応答パケットを送信し、ホスト名＝ＤＥＴＥＣＴＩＯＮに対する名前解決が要求されると、ＩＰｂを通知する名前解決応答パケット送信する。すると、マルウェア７に感染した端末２は、ＩＰａとＩＰｂにアクセスすることで、検知装置２０に２回アクセスする。このため、検知処理部３４は、マルウェア７に感染した端末２の存在を検知できる。このように変形すると、マルウェア７がアクセス先のＩＰアドレスを比較することにより、同じＩＰアドレスにはアクセスしないように変形されたとしても、マルウェア７に感染した端末２から検知装置２０に複数回のアクセスが行われる。このため、検知装置２０は、ユーザが誤って検知装置２０に対応するＧＵＩを選択したことによる誤検知を防止しつつ、マルウェア７に感染した端末２の存在を検知できる。
【０１３６】
検知装置２０は、ドメインの検出の際に、ドメイン名の一覧を要求するための要求パケットをマスタブラウザ４に送信しても良い。マスタブラウザ４は、要求パケットに応答して、ネットワーク中のドメインの一覧を検知装置２０に送信する。このため、検知装置２０の更新部３２は、マスタブラウザ４から受信した応答パケットを用いて、ネットワーク中のドメインを認識することができる。
【０１３７】
以上の説明の際に参照したテーブルやパケットの例は一例に過ぎない。従って、テーブルやパケットに含まれる情報要素は、実装に応じて変更され得る。
【０１３８】
いずれの実施形態においても、名前テーブル４４は、ネットワーク中のドメインのドメイン名と、各ドメインでの登録に検知装置２０が使用するホスト名の組み合わせを記録しているということができる。なお、第１の実施形態のように１種類のホスト名が全てのドメインに使用される場合、名前テーブル４４にはホスト名のみが含まれていても良い。この場合、通知生成部３１は、ドメインテーブル４２中のドメイン名の各々と名前テーブル４４中のホスト名の組み合わせを用いて、通知パケットを生成できる。
【０１３９】
第２および第３の実施形態でのダミー名を生成するタイミングは、実装に応じて変更され得る。例えば、フローチャートを参照しながら説明したように、各ドメインで使用されるドメインはドメインの検出時に生成されても良い。また、図１６や図１９を参照しながら説明したように、ドメインに対する情報をまとめて取得した後で、各ドメインに最初に通知パケットを生成するときにダミー名が生成されても良い。
【０１４０】
さらに、第３の実施形態において、各ドメインについて生成されるダミー名の数は実装に応じて変更され得る。
【０１４１】
以上の説明では、端末２がマルウェア７に感染する場合を例としたが、マスタブラウザ４がマルウェア７に感染した場合においても、同様にマルウェア７の検知が行われる。
【０１４２】
以上の説明では、通知フレームの送信周期をタイマテーブル４３に記録されたタイマ満了までの残り時間を用いて計測しているが、検知装置２０は、タイマをハードウェアとして備えていても良い。この場合、検知装置２０は、個々の通知パケットの送信期間についてのタイマ満了をハードウェアのタイマで計測できるので、タイマテーブル４３を備えていなくても良い。
【符号の説明】
【０１４３】
２  端末
４  マスタブラウザ
６  ブラウズリスト
７  マルウェア
１０、２０  検知装置
２１  通信部
２２  送信部
２３  受信部
３０  制御部
３１  通知生成部
３２  更新部
３３  名前解決処理部
３４  検知処理部
４０  記憶部
４１  設定値情報
４２  ドメインテーブル
４３  タイマテーブル
４４  名前テーブル
１０１  プロセッサ
１０２  メモリ
１０３  バス
１０４  ネットワーク接続装置
【図１】
2020112946.tif 000003
【図２】
2020112946.tif 000004
【図３】
2020112946.tif 000005
【図４】
2020112946.tif 000006
【図５】
2020112946.tif 000007
【図６】
2020112946.tif 000008
【図７】
2020112946.tif 000009
【図８】
2020112946.tif 000010
【図９】
2020112946.tif 000011
【図１０】
2020112946.tif 000012
【図１１】
2020112946.tif 000013
【図１２】
2020112946.tif 000014
【図１３】
2020112946.tif 000015
【図１４】
2020112946.tif 000016
【図１５】
2020112946.tif 000017
【図１６】
2020112946.tif 000018
【図１７】
2020112946.tif 000019
【図１８】
2020112946.tif 000020
【図１９】
2020112946.tif 000021
【図２０】
2020112946.tif 000022
【図２１】
2020112946.tif 000023