(57)【特許請求の範囲】
【請求項１】
ＤＮＳ（Domain Name System）を悪用した攻撃を検出する攻撃検出装置であって、
コンピュータからＤＮＳサーバへ送信されたドメインの名前解決を要求する形式の複数の要求メッセージを取得する取得手段と、
前記取得手段により取得された前記複数の要求メッセージの中に、悪用された前記コンピュータにより埋め込まれた情報であり、不正通信による攻撃または情報持ち出しによる攻撃に用いられる予め定められた情報を有するサブドメインの名前解決を要求する形式の１つ以上の要求メッセージが含まれているかどうかを判定する判定手段と、
前記複数の要求メッセージの中に前記１つ以上の要求メッセージが含まれていると前記判定手段により判定された場合に、外部に警告情報を出力する出力手段と
を備えたことを特徴とする攻撃検出装置。
【請求項２】
前記取得手段により取得された前記複数の要求メッセージから、同じドメインに属するサブドメインの名前解決を要求する形式の複数の特定要求メッセージを抽出する抽出手段を更に備え、
前記判定手段は、前記抽出手段により抽出された前記複数の特定要求メッセージの中に、前記予め定められた情報を有するサブドメインの名前解決を要求する形式の１つ以上の要求メッセージが含まれているかどうかを更に判定することを特徴とする請求項１に記載の攻撃検出装置。
【請求項３】
ＤＮＳ（Domain Name System）を悪用した攻撃を検出する攻撃検出装置であって、
コンピュータからＤＮＳサーバへ送信されたドメインの名前解決を要求する形式の複数の要求メッセージを取得する取得手段と、
前記取得手段により取得された前記複数の要求メッセージの中に、同じドメインに属する同じサブドメインの名前解決を要求する形式の所定数以上の要求メッセージからなる特定要求メッセージ群が含まれているかどうかを判定する判定手段と、
前記複数の要求メッセージの中に前記特定要求メッセージ群が含まれていると前記判定手段により判定された場合に、外部に警告情報を出力する出力手段とを備え、
前記取得手段は、前記ＤＮＳサーバから前記コンピュータへ送信されたドメインの名前解決の結果であるＩＰアドレスを応答する形式の複数の応答メッセージを更に取得し、
前記判定手段は、前記取得手段により取得された前記複数の応答メッセージの中に、同じドメインに属する同じサブドメインの名前解決の結果として各々が異なるＩＰアドレスを応答する形式の２つ以上の応答メッセージからなる特定応答メッセージ群が含まれているかどうかを更に判定し、
前記出力手段は、前記複数の応答メッセージの中に前記特定応答メッセージ群が含まれていると前記判定手段により判定された場合に、前記コンピュータに対しＤＮＳを悪用した不正通信による攻撃が行われている虞がある旨の情報を前記警告情報として出力することを特徴とする攻撃検出装置。
【請求項４】
ＤＮＳ（Domain Name System）を悪用した攻撃を検出する攻撃検出装置であって、
コンピュータからＤＮＳサーバへ送信されたドメインの名前解決を要求する形式の複数の要求メッセージを取得する取得手段と、
前記取得手段により取得された前記複数の要求メッセージの中に、同じドメインに属する同じサブドメインの名前解決を要求する形式の所定数以上の要求メッセージからなる特定要求メッセージ群が含まれているかどうかを判定する判定手段と、
前記複数の要求メッセージの中に前記特定要求メッセージ群が含まれていると前記判定手段により判定された場合に、外部に警告情報を出力する出力手段とを備え、
前記判定手段は、前記取得手段により取得された前記複数の要求メッセージの中に、所定長以上の名前を有するサブドメインの名前解決を要求する形式の１つ以上の要求メッセージが含まれているかどうかを更に判定し、
前記出力手段は、前記複数の要求メッセージの中に前記１つ以上の要求メッセージが含まれていると前記判定手段により判定された場合に、前記コンピュータに対しＤＮＳを悪用した情報持ち出しによる攻撃が行われている虞がある旨の情報を前記警告情報として出力することを特徴とする攻撃検出装置。
【請求項５】
ＤＮＳ（Domain Name System）を悪用した攻撃を検出する攻撃検出方法であって、
コンピュータからＤＮＳサーバへ送信されたドメインの名前解決を要求する形式の複数の要求メッセージを取得するステップと、
取得された前記複数の要求メッセージの中に、悪用された前記コンピュータにより埋め込まれた情報であり、不正通信による攻撃または情報持ち出しによる攻撃に用いられる予め定められた情報を有するサブドメインの名前解決を要求する形式の１つ以上の要求メッセージが含まれているかどうかを判定するステップと、
前記複数の要求メッセージの中に前記１つ以上の要求メッセージが含まれていると判定された場合に、外部に警告情報を出力するステップと
を含むことを特徴とする攻撃検出方法。
【請求項６】
コンピュータに、
自コンピュータ又は他のコンピュータからＤＮＳサーバへ送信されたドメインの名前解決を要求する形式の複数の要求メッセージを取得する機能と、
取得された前記複数の要求メッセージの中に、悪用された自コンピュータ又は他のコンピュータにより埋め込まれた情報であり、不正通信による攻撃または情報持ち出しによる攻撃に用いられる予め定められた情報を有するサブドメインの名前解決を要求する形式の１つ以上の要求メッセージが含まれているかどうかを判定する機能と、
前記複数の要求メッセージの中に前記１つ以上の要求メッセージが含まれていると判定された場合に、外部に警告情報を出力する機能と
を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＤＮＳ（Domain Name System）を悪用した攻撃を検出する攻撃検出装置、攻撃検出方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、コンピュータウイルスに代表されるマルウェアは、侵入方法、攻撃手法の何れにおいても高度化かつ巧妙化しており、その被害を未然に防ぐことや被害を局所化することが困難になりつつある。従来のマルウェアの場合は、その攻撃と被害の関係が容易に推測でき、対処の難易度の違いはあれど、比較的早期に発見できた。しかし、現在のマルウェアの場合は、その侵入に気が付き難く、発見されるまでに甚大な被害が生じてしまっている。
このような高度化かつ巧妙化したマルウェアとして、通信のパラメータを、形式は正常に見せつつ、悪意ある行為のために用いたものが考えられる。例えば、ＤＮＳサーバへの名前解決の問い合わせ（ＤＮＳクエリ）や、ＤＮＳクエリに対するＤＮＳサーバからの応答（ＤＮＳレスポンス）の形式をとりつつ、これらの通信で交換する情報を悪意ある行為のために用いるもの等である。
【０００３】
公報記載の技術としても、ＤＮＳクエリに着目してネットワーク攻撃を検出する技術はある（例えば、特許文献１参照）。この特許文献１では、ＤＮＳクエリ要求を取り扱う装置からＤＮＳクエリを取得し、設定情報に指定された監視ドメインごと、或いは、監視ドメインに含まれるサブドメインごとに区分けされた統計データログを生成し、設定情報に指定された攻撃開始／終了条件に基づいて攻撃開始判定／攻撃終了判定を行い、判定結果をファイヤーウォール等の攻撃対策装置へ送信している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−２５１２８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述した通り、ＤＮＳクエリやＤＮＳレスポンスの形式をとりつつ、これらの通信で交換する情報を悪意ある行為のために用いるようなマルウェアは考えられる。
しかしながら、このようなマルウェアによる攻撃は、通信のパラメータの形式としては正常なため、攻撃として検出するのは非常に困難であった。
また、特許文献１では、ＤＮＳクエリに着目してネットワーク攻撃を検出しているものの、実際の攻撃が開始された時点で攻撃検出を行うのではなく、攻撃者がＤＮＳによる名前解決を要求した時点で攻撃検出を行うものであり、ＤＮＳの形式をとりつつ通信で交換する情報を悪意ある行為のために用いるようなマルウェアによる攻撃を検出するものではない。
【０００６】
本発明の目的は、ＤＮＳの形式をとりつつ通信で交換する情報を悪意ある行為のために用いるような攻撃を検出することにある。
【課題を解決するための手段】
【０００７】
かかる目的のもと、本発明は、ＤＮＳ（Domain Name System）を悪用した攻撃を検出する攻撃検出装置であって、コンピュータからＤＮＳサーバへ送信されたドメインの名前解決を要求する形式の複数の要求メッセージを取得する取得手段と、取得手段により取得された複数の要求メッセージの中に、悪用されたコンピュータにより埋め込まれた情報であり、不正通信による攻撃または情報持ち出しによる攻撃に用いられる予め定められた情報を有するサブドメインの名前解決を要求する形式の１つ以上の要求メッセージが含まれているかどうかを判定する判定手段と、複数の要求メッセージの中に１つ以上の要求メッセージが含まれていると判定手段により判定された場合に、外部に警告情報を出力する出力手段とを備えたことを特徴とする攻撃検出装置を提供する。
【０００８】
更に、この装置は、取得手段により取得された複数の要求メッセージから、同じドメインに属するサブドメインの名前解決を要求する形式の複数の特定要求メッセージを抽出する抽出手段を更に備え、判定手段は、抽出手段により抽出された複数の特定要求メッセージの中に、予め定められた情報を有するサブドメインの名前解決を要求する形式の１つ以上の要求メッセージが含まれているかどうかを更に判定する、ものであってよい。
【０００９】
また、本発明は、ＤＮＳ（Domain Name System）を悪用した攻撃を検出する攻撃検出装置であって、コンピュータからＤＮＳサーバへ送信されたドメインの名前解決を要求する形式の複数の要求メッセージを取得する取得手段と、取得手段により取得された複数の要求メッセージの中に、同じドメインに属する同じサブドメインの名前解決を要求する形式の所定数以上の要求メッセージからなる特定要求メッセージ群が含まれているかどうかを判定する判定手段と、複数の要求メッセージの中に特定要求メッセージ群が含まれていると判定手段により判定された場合に、外部に警告情報を出力する出力手段とを備え、取得手段は、ＤＮＳサーバからコンピュータへ送信されたドメインの名前解決の結果であるＩＰアドレスを応答する形式の複数の応答メッセージを更に取得し、判定手段は、取得手段により取得された複数の応答メッセージの中に、同じドメインに属する同じサブドメインの名前解決の結果として各々が異なるＩＰアドレスを応答する形式の２つ以上の応答メッセージからなる特定応答メッセージ群が含まれているかどうかを更に判定し、出力手段は、複数の応答メッセージの中に特定応答メッセージ群が含まれていると判定手段により判定された場合に、コンピュータに対しＤＮＳを悪用した不正通信による攻撃が行われている虞がある旨の情報を警告情報として出力することを特徴とする攻撃検出装置を提供する。
【００１０】
更に、本発明は、ＤＮＳ（Domain Name System）を悪用した攻撃を検出する攻撃検出装置であって、コンピュータからＤＮＳサーバへ送信されたドメインの名前解決を要求する形式の複数の要求メッセージを取得する取得手段と、取得手段により取得された複数の要求メッセージの中に、同じドメインに属する同じサブドメインの名前解決を要求する形式の所定数以上の要求メッセージからなる特定要求メッセージ群が含まれているかどうかを判定する判定手段と、複数の要求メッセージの中に特定要求メッセージ群が含まれていると判定手段により判定された場合に、外部に警告情報を出力する出力手段とを備え、判定手段は、取得手段により取得された複数の要求メッセージの中に、所定長以上の名前を有するサブドメインの名前解決を要求する形式の１つ以上の要求メッセージが含まれているかどうかを更に判定し、出力手段は、複数の要求メッセージの中に１つ以上の要求メッセージが含まれていると判定手段により判定された場合に、コンピュータに対しＤＮＳを悪用した情報持ち出しによる攻撃が行われている虞がある旨の情報を警告情報として出力することを特徴とする攻撃検出装置を提供する。
【００１１】
また、本発明は、ＤＮＳ（Domain Name System）を悪用した攻撃を検出する攻撃検出方法であって、コンピュータからＤＮＳサーバへ送信されたドメインの名前解決を要求する形式の複数の要求メッセージを取得するステップと、取得された複数の要求メッセージの中に、悪用されたコンピュータにより埋め込まれた情報であり、不正通信による攻撃または情報持ち出しによる攻撃に用いられる予め定められた情報を有するサブドメインの名前解決を要求する形式の１つ以上の要求メッセージが含まれているかどうかを判定するステップと、複数の要求メッセージの中に１つ以上の要求メッセージが含まれていると判定された場合に、外部に警告情報を出力するステップとを含むことを特徴とする攻撃検出方法も提供する。
【００１２】
更に、本発明は、コンピュータに、自コンピュータ又は他のコンピュータからＤＮＳサーバへ送信されたドメインの名前解決を要求する形式の複数の要求メッセージを取得する機能と、取得された複数の要求メッセージの中に、悪用された自コンピュータ又は他のコンピュータにより埋め込まれた情報であり、不正通信による攻撃または情報持ち出しによる攻撃に用いられる予め定められた情報を有するサブドメインの名前解決を要求する形式の１つ以上の要求メッセージが含まれているかどうかを判定する機能と、複数の要求メッセージの中に１つ以上の要求メッセージが含まれていると判定された場合に、外部に警告情報を出力する機能とを実現させるためのプログラムも提供する。
【発明の効果】
【００１３】
本発明によれば、ＤＮＳの形式をとりつつ通信で交換する情報を悪意ある行為のために用いるような攻撃を検出することができる。
【図面の簡単な説明】
【００１４】
【図１】本実施の形態が適用されるコンピュータシステムの全体構成図である。
【図２】本実施の形態における攻撃検出装置の機能構成例を示したブロック図である。
【図３】第１の実施の形態における攻撃検出装置がモニタするデータの例を示した図である。
【図４】第１の実施の形態における攻撃検出装置の動作例を示したフローチャートである。
【図５】第１の実施の形態における攻撃検出装置の動作例を示したフローチャートである。
【図６】第２の実施の形態における攻撃検出装置がモニタするデータの例を示した図である。
【図７】第２の実施の形態における攻撃検出装置の動作例を示したフローチャートである。
【図８】第３の実施の形態における攻撃検出装置がモニタするデータの例を示した図である。
【図９】第３の実施の形態における攻撃検出装置の動作例を示したフローチャートである。
【図１０】本実施の形態が適用されるコンピュータのハードウェア構成図である。
【発明を実施するための形態】
【００１５】
以下、添付図面を参照して、本発明の実施の形態について詳細に説明する。
まず、本実施の形態が適用されるコンピュータシステムについて説明する。
図１は、このようなコンピュータシステムの全体構成例を示した図である。
図示するように、このコンピュータシステムでは、クライアント１０ａ，１０ｂ，１０ｃと社内ＤＮＳサーバ２０とが社内ＬＡＮ（Local Area Network）７０に接続されており、攻撃者ＤＮＳサーバ３０がインターネット８０に接続されている。そして、攻撃検出装置４０が社内ＬＡＮ７０とインターネット８０の両方に接続されている。
【００１６】
クライアント１０ａ，１０ｂ，１０ｃは、ユーザが使用するコンピュータである。例えば、パーソナルコンピュータやワークステーション、その他のコンピュータ装置にて実現される。また、本実施の形態において、クライアント１０ａ，１０ｂ，１０ｃは、ボットに感染することがあるものとする。ここで、ボットとは、コンピュータに感染した後、Ｃ＆Ｃ（コマンド＆コントロール）サーバと呼ばれる制御用サーバに接続して攻撃者からの指令を待ち、感染したコンピュータ上で指令通りの処理を実行するマルウェアである。尚、図では、クライアント１０ａ，１０ｂ，１０ｃを示したが、これらを区別する必要がない場合は、クライアント１０と称することもある。また、図には、３台のクライアント１０しか示していないが、４台以上のクライアント１０を設けてもよい。
【００１７】
社内ＤＮＳサーバ２０は、他のコンピュータからＤＮＳクエリを受け付け、ＤＮＳクエリに含まれるドメイン名の名前解決を行うＤＮＳサーバのうち、会社内のクライアント１０からＤＮＳクエリを受け付けるものである。具体的には、ＤＮＳクエリに含まれるドメイン名の情報を自身が管理していれば、その情報をＤＮＳレスポンスとしてクライアント１０に返す。また、ＤＮＳクエリに含まれるドメイン名の情報を自身が管理していなければ、インターネット８０上のルートネームサーバ（図示せず）にＤＮＳクエリを転送する。その後、ルートネームサーバ（図示せず）から知らされたＩＰアドレスに基づいてＤＮＳクエリを下位のＤＮＳサーバ（図示せず）に転送する。そして、ＤＮＳクエリに含まれるドメイン名の情報を管理するＤＮＳサーバにまでＤＮＳクエリが行き着くと、そのＤＮＳサーバからその情報を受け取ってＤＮＳレスポンスとしてクライアント１０に返す。
【００１８】
攻撃者ＤＮＳサーバ３０は、他のコンピュータからＤＮＳクエリを受け付け、ＤＮＳクエリに含まれるドメイン名の名前解決を行うＤＮＳサーバのうち、攻撃者が運営しているものである。ボットに感染したクライアント１０が社内ＤＮＳサーバ２０にＤＮＳクエリを送信した場合、社内ＤＮＳサーバ２０がインターネット８０上のルートネームサーバ（図示せず）にＤＮＳクエリを転送した後、ＤＮＳクエリは、ＤＮＳクエリに含まれるドメイン名の情報を管理するＤＮＳサーバとしてこの攻撃者ＤＮＳサーバ３０に行き着くものとする。
【００１９】
攻撃検出装置４０は、社内ＬＡＮ７０とインターネット８０との間のネットワークトラフィックからＤＮＳクエリやＤＮＳレスポンスを抽出してモニタリングし、モニタリングしたＤＮＳクエリやＤＮＳレスポンスを分析し、分析した結果を通知する装置である。この装置は、ゲートウェイ等の通信装置の中に設けられてもよいし、通信装置とは独立に設けられてもよい。また、図では、この装置を、通信回線に対してアダプティブに設置されたものとしたが、通信回線上にインライン構成で設置されたものであってもよい。
【００２０】
社内ＬＡＮ７０は、会社内のコンピュータやプリンタを専用回線等で接続し、これらの間でデータを送受信できるようにしたネットワークである。
インターネット８０は、ＴＣＰ／ＩＰを用いて全世界のネットワークを相互に接続した巨大なネットワークである。
【００２１】
本実施の形態では、かかるコンピュータシステムにおいて、攻撃検出装置４０が、ＤＮＳクエリやＤＮＳレスポンスをモニタリングして、形式としては正常であっても不正に用いられている可能性の高いＤＮＳクエリやＤＮＳレスポンスを検出する。
そこで、まず、この攻撃検出装置４０の機能構成について説明する。
図２は、攻撃検出装置４０の機能構成例を示したブロック図である。
図示するように、攻撃検出装置４０は、ＤＮＳデータ抽出部４１と、ドメインデータ抽出部４２と、抽出条件記憶部４３と、ブラックリスト照合部４４と、ブラックリスト記憶部４５とを備えている。また、ドメインデータ検査部４６と、検査条件記憶部４７と、ブラックリスト更新部４８と、アラート発信部４９とを備えている。
【００２２】
ＤＮＳデータ抽出部４１は、社内ＬＡＮ７０とインターネット８０の間を流れるネットワークトラフィックをキャプチャし、キャプチャしたネットワークトラフィックの中からＤＮＳクエリの形式のデータ（以下、「上りＤＮＳデータ」という）及びＤＮＳレスポンスの形式のデータ（以下、「下りＤＮＳデータ」という）を抽出する。本実施の形態では、要求メッセージの一例として、上りＤＮＳデータを用いており、応答メッセージの一例として、下りＤＮＳデータを用いている。また、要求メッセージや応答メッセージを取得する取得手段の一例として、ＤＮＳデータ抽出部４１を設けている。
【００２３】
ドメインデータ抽出部４２は、ＤＮＳデータ抽出部４１が抽出した上りＤＮＳデータのうち一定時間内にキャプチャしたものの中に、特定ドメイン名を含むＦＱＤＮ（Fully Qualified Domain Name）の名前解決を要求する形式のＤＮＳデータ（以下、「上りドメインデータ」という）が所定数以上あった場合に、その上りドメインデータを抽出し、ＤＮＳデータ抽出部４１が抽出した下りＤＮＳデータのうち一定時間内にキャプチャしたものの中に、特定ドメイン名を含むＦＱＤＮの名前解決の要求に対する応答としてＩＰアドレスを返す形式のＤＮＳデータ（以下、「下りドメインデータ」という）が所定数以上あった場合に、その下りドメインデータを抽出する。本実施の形態では、特定要求メッセージの一例として、上りドメインデータを用いている。また、特定要求メッセージを抽出する抽出手段の一例として、ドメインデータ抽出部４２を設けている。
【００２４】
抽出条件記憶部４３は、ＤＮＳデータ抽出部４１が動作するための設定として、上りＤＮＳデータ及び下りＤＮＳデータを抽出するというＤＮＳデータ抽出条件を記憶すると共に、ドメインデータ抽出部４２が動作するための設定として、上りドメインデータ及び下りドメインデータを抽出するというドメインデータ抽出条件を記憶する。尚、これらの抽出条件は、例えば、ユーザが予め設定しておけばよい。
【００２５】
ブラックリスト照合部４４は、ドメインデータ抽出部４２が抽出した上りドメインデータに含まれるドメイン名と、ブラックリスト記憶部４５に記憶されたブラックリスト内のドメイン名とを照合する。具体的には、上位レベルのドメイン名（上位ドメイン名）が、上位ドメイン名のブラックリスト（上位ブラックリスト）に含まれているかどうか、及び、下位レベルのドメイン名（下位ドメイン名）が、下位ドメイン名のブラックリスト（下位ブラックリスト）に含まれているかどうかを検査する。そして、上位ドメイン名が上位ブラックリストに含まれている場合や、下位ドメイン名が下位ブラックリストに含まれている場合に、このドメインデータがＤＮＳを悪用した攻撃に関係していると判定する。
【００２６】
ブラックリスト記憶部４５は、ブラックリスト照合部４４における照合に用いられる上位ブラックリスト及び下位ブラックリストを記憶する。
【００２７】
ドメインデータ検査部４６は、上りドメインデータに含まれるＦＱＤＮ及び下りドメインデータに含まれるＩＰアドレスの検査を行う。このうち、ＦＱＤＮの検査では、同じＦＱＤＮの名前解決を要求する形式の上りドメインデータの数が閾値を超えているかどうか等を判定する。また、ＩＰアドレスの検査では、同じＦＱＤＮの名前解決を要求する形式の上りドメインデータに対して異なるＩＰアドレスを返す下りドメインデータが存在するかを判定する。そして、同じＦＱＤＮの名前解決を要求する形式の上りドメインデータの数が閾値を超えている場合や、同じＦＱＤＮの名前解決を要求する形式の上りドメインデータに対する下りドメインデータとして異なるＩＰアドレスを返すものが存在する場合等に、このドメインデータがＤＮＳを悪用した攻撃に関係していると判定する。本実施の形態では、特定要求メッセージ群の一例として、同じＦＱＤＮの名前解決を要求する形式の上りドメインデータの集合を用いており、特定応答メッセージ群の一例として、同じＦＱＤＮの名前解決を要求する形式の上りドメインデータに対して異なるＩＰアドレスを返す下りドメインデータの集合を用いている。また、複数の要求メッセージの中に特定要求メッセージ群が含まれているかどうかを判定する判定手段の一例として、ドメインデータ検査部４６を設けている。
【００２８】
検査条件記憶部４７は、ドメインデータ検査部４６が動作するための設定として、ドメインデータの検査に用いられる検査条件を記憶する。ここで、検査条件には、上記閾値の情報等も含まれる。尚、この検査条件は、例えば、ユーザが予め設定しておけばよい。
【００２９】
ブラックリスト更新部４８は、ドメインデータ検査部４６による検査の結果に基づいて、ブラックリスト記憶部４５に記憶されたブラックリストを更新する。
【００３０】
アラート発信部４９は、ブラックリスト照合部４４やドメインデータ検査部４６によりドメインデータがＤＮＳを悪用した攻撃に関係していると判定された場合に、例えばその旨のアラートを外部に出力する。但し、アラートは、ＤＮＳを悪用した攻撃の検出を明示的に示すものでなくてもよく、例えばランプの点灯等であってもよい。本実施の形態では、警告情報を出力する出力手段の一例として、アラート発信部４９を設けている。
【００３１】
尚、これらの各機能は、ソフトウェアとハードウェア資源とが協働することにより実現される。具体的には、ＣＰＵ９０ａ（図１０参照）が、ＤＮＳデータ抽出部４１、ドメインデータ抽出部４２、ブラックリスト照合部４４、ドメインデータ検査部４６、ブラックリスト更新部４８、アラート発信部４９の各機能を実現するプログラムを、例えば磁気ディスク装置９０ｇ（図１０参照）からメインメモリ９０ｃ（図１０参照）に読み込んで処理を行う。また、抽出条件記憶部４３、ブラックリスト記憶部４５、検査条件記憶部４７は、例えば磁気ディスク装置９０ｇ（図１０参照）によって実現される。
【００３２】
本実施の形態では、このような構成を有する攻撃検出装置４０が、ＤＮＳを悪用した３種類の攻撃（脅威）を検出する。
以下、３種類の脅威のそれぞれを検出する攻撃検出装置４０を第１〜第３の実施の形態とし、これらの実施の形態の動作について説明する。
【００３３】
［第１の実施の形態］
この第１の実施の形態で検出する脅威は、ボットに感染したクライアント１０が、ＤＮＳクエリに含まれるＦＱＤＮの下位レベルのドメイン名に情報を埋め込むことで外部のＣ＆Ｃサーバと通信を行うという脅威である。具体的には、クライアント１０が、まず、例えば「ｃｏｍｍａｎｄ．ｂｏｔ．ｅｘａｍｐｌｅ．ｊｐ」というＦＱＤＮを含むＤＮＳデータを社内ＤＮＳサーバ２０に送信することにより、Ｃ＆Ｃサーバにコマンドを要求する。これにより、ＤＮＳデータは、「ｂｏｔ．ｅｘａｍｐｌｅ．ｊｐ」というドメインを管理する攻撃者ＤＮＳサーバ３０に行き着き、攻撃者ＤＮＳサーバ３０がＩＰアドレスを含むＤＮＳデータをクライアント１０に返す。ここで、クライアント１０のボットは、ＦＱＤＮとＩＰアドレスと処理との対応を有しており、あるＦＱＤＮの名前解決の要求に対してあるＩＰアドレスが返された場合に、そのＦＱＤＮとそのＩＰアドレスに対応付けられた処理を実行する。例えば、ＦＱＤＮ「ｃｏｍｍａｎｄ．ｂｏｔ．ｅｘａｍｐｌｅ．ｊｐ」とＩＰアドレス「ｘｘｘ．ｘｘｘ．ｘｘｘ．１」と処理「スパムメールの送信」とが対応付けられ、ＦＱＤＮ「ｃｏｍｍａｎｄ．ｂｏｔ．ｅｘａｍｐｌｅ．ｊｐ」とＩＰアドレス「ｘｘｘ．ｘｘｘ．ｘｘｘ．２」と処理「ウェブページの改竄」とが対応付けられていたとする。すると、ＦＱＤＮ「ｃｏｍｍａｎｄ．ｂｏｔ．ｅｘａｍｐｌｅ．ｊｐ」を含むＤＮＳデータに対して、攻撃者ＤＮＳサーバ３０がＩＰアドレス「ｘｘｘ．ｘｘｘ．ｘｘｘ．１」を含むＤＮＳデータを返せば、クライアント１０はスパムメールを送信し、攻撃者ＤＮＳサーバ３０がＩＰアドレス「ｘｘｘ．ｘｘｘ．ｘｘｘ．２」を含むＤＮＳデータを返せば、クライアント１０はウェブページを改竄する。
【００３４】
図３は、この第１の実施の形態で送受信されるＤＮＳデータに含まれる情報の具体例を示したものである。左欄に上りＤＮＳデータに含まれる情報であるＦＱＤＮを示し、右欄に下りＤＮＳデータに含まれる情報であるＩＰアドレスを示している。また、図では、上りＤＮＳデータと、その上りＤＮＳデータに対して返された下りＤＮＳデータとを同じ行に示している。下りＤＮＳデータには対応する上りＤＮＳデータの情報が含まれているので、このような対応付けを行うことができる。
尚、図中、「ｌｏｇｉｎ．ｂｏｔ．ｅｘａｍｐｌｅ．ｊｐ」は、Ｃ＆Ｃサーバへのログインを要求する記述であり、「ｉｎｆｏ．ｂｏｔ．ｅｘａｍｐｌｅ．ｊｐ」は、指示された処理を実行して得られた情報をＣ＆Ｃサーバに伝える記述であり、「ｌｏｇｏｕｔ．ｂｏｔ．ｅｘａｍｐｌｅ．ｊｐ」は、Ｃ＆Ｃサーバからのログアウトを要求する記述である。そして、これらの記述を含む上りＤＮＳデータに対して返される下りＤＮＳデータにおいて、ＩＰアドレス「ｘｘｘ．ｘｘｘ．ｘｘｘ．１」は「ＯＫ」を意味しており、ＩＰアドレス「ｘｘｘ．ｘｘｘ．ｘｘｘ．２」は「ＮＧ」を意味しているものとする。
尚、図では、英語表記のドメイン名を示したが、これはあくまで例示であり、日本語のドメイン名やマルチ言語のドメイン名に対しても本実施の形態は適用可能である。また、ＩＰアドレスとしては、ＩＰｖ４のアドレスを示したが、これも例示であり、ＩＰｖ６のアドレスに対しても本実施の形態は適用可能である。
【００３５】
次に、本実施の形態における攻撃検出装置４０の動作について説明する。尚、攻撃検出装置４０は通常、複数のクライアント１０から社内ＤＮＳサーバ２０へ送信されたＤＮＳデータについて動作するが、以下では、簡単のため、１つのクライアント１０に着目して動作を説明する。
【００３６】
図４は、上りＤＮＳデータを抽出して攻撃を検出するときの攻撃検出装置４０の動作を示したフローチャートである。
攻撃検出装置４０では、まず、ＤＮＳデータ抽出部４１が、社内ＬＡＮ７０からインターネット８０へ流れるネットワークトラフィックからデータをキャプチャする（ステップ４０１）。次に、ステップ４０１でキャプチャしたデータが、抽出条件記憶部４３に記憶されたＤＮＳデータ抽出条件を満たすかどうかを判定する（ステップ４０２）。具体的には、ステップ４０１でキャプチャしたデータが上りＤＮＳデータであるかどうかを判定する。そして、上りＤＮＳデータでなければ、ステップ４０１に戻ってキャプチャを続けるが、上りＤＮＳデータであれば、ステップ４０３へ進む。
【００３７】
次いで、ドメインデータ抽出部４２が、ステップ４０２で上りＤＮＳデータであると判定されたデータが、抽出条件記憶部４３に記憶されたドメインデータ抽出条件を満たすかどうかを判定する（ステップ４０３）。具体的には、特定ドメイン名を含むＦＱＤＮの名前解決を要求する形式の上りドメインデータが一定時間内に所定数以上出現しており、ステップ４０２で上りＤＮＳデータであると判定されたデータが、そのような上りドメインデータのうちの１つであるかどうかを判定する。この判定は、例えばステップ４０２で上りＤＮＳデータと判定されたデータを時系列に記録することにより行えばよい。そして、このような上りドメインデータのうちの１つでなければ、ステップ４０１に戻ってキャプチャを続けるが、このような上りドメインデータのうちの１つであれば、ステップ４０４へ進む。
【００３８】
その後、ブラックリスト照合部４４は、ステップ４０３で一定時間内に所定数以上出現する上りドメインデータのうちの１つであると判定されたデータに、ブラックリスト記憶部４５に記憶された上位ブラックリスト内の上位ドメイン名が含まれているかどうかを判定する（ステップ４０４）。
ここで、上位ブラックリスト内の上位ドメイン名がそのデータに含まれていないと判定された場合、ブラックリスト照合部４４は、ブラックリスト記憶部４５に記憶された下位ブラックリスト内の下位ドメイン名がそのデータに含まれているかどうかを判定する（ステップ４０５）。
【００３９】
ここで、下位ブラックリスト内の下位ドメイン名がそのデータに含まれていないと判定された場合、ドメインデータ検査部４６は、検査条件記憶部４７に記憶された検査条件に従い、ドメインデータに含まれるＦＱＤＮをカウントする（ステップ４０６）。即ち、例えば、個々のＦＱＤＮに対してカウント値を格納する変数を用意しておき、ドメインデータに含まれるＦＱＤＮをカウントする際に、そのＦＱＤＮに対して用意された変数に格納されたカウント値をカウントアップする。そして、ドメインデータ検査部４６は、ＦＱＤＮのカウント値が予め定めた閾値を超えたかどうかを判定する（ステップ４０７）。
【００４０】
その結果、ＦＱＤＮのカウント値が閾値を超えていないと判定された場合は、ステップ４０１に戻ってキャプチャを続ける。一方、ＦＱＤＮのカウント値が閾値を超えていると判定された場合は、ブラックリスト更新部４８が、ＦＱＤＮに含まれる上位ドメイン名を上位ブラックリストに追加し（ステップ４０８）、ＦＱＤＮに含まれる下位ドメイン名を下位ブラックリストに追加する（ステップ４０９）。尚、この場合、ＦＱＤＮのうち一般に公開されているドメインの部分を上位ドメイン名とし、ＦＱＤＮのうちそのドメインのサブドメインの部分を下位ドメイン名とすればよい。
【００４１】
そして、最後に、アラート発信部４９が、ＤＮＳを悪用した不正通信による攻撃を検出した旨のアラートを外部に出力する（ステップ４１０）。
また、ステップ４０４で上位ブラックリスト内の上位ドメイン名がデータに含まれていると判定された場合や、ステップ４０５で下位ブラックリスト内の下位ドメイン名がデータに含まれていると判定された場合も、アラート発信部４９が、ＤＮＳを悪用した不正通信による攻撃を検出した旨のアラートを外部に出力する（ステップ４１０）。
【００４２】
また、図５は、下りＤＮＳデータを抽出して攻撃を検出するときの攻撃検出装置４０の動作を示したフローチャートである。
攻撃検出装置４０では、まず、ＤＮＳデータ抽出部４１が、インターネット８０から社内ＬＡＮ７０へ流れるネットワークトラフィックからデータをキャプチャする（ステップ４２１）。次に、ステップ４２１でキャプチャしたデータが、抽出条件記憶部４３に記憶されたＤＮＳデータ抽出条件を満たすかどうかを判定する（ステップ４２２）。具体的には、ステップ４２１でキャプチャしたデータが下りＤＮＳデータであるかどうかを判定する。そして、下りＤＮＳデータでなければ、ステップ４２１に戻ってキャプチャを続けるが、下りＤＮＳデータであれば、ステップ４２３へ進む。
【００４３】
次いで、ドメインデータ抽出部４２が、ステップ４２２で下りＤＮＳデータであると判定されたデータが、抽出条件記憶部４３に記憶されたドメインデータ抽出条件を満たすかどうかを判定する（ステップ４２３）。具体的には、特定ドメイン名を含むＦＱＤＮの名前解決の要求に対する応答として返された下りドメインデータが一定時間内に所定数以上出現しており、ステップ４２２で下りＤＮＳデータであると判定されたデータが、そのような下りドメインデータのうちの１つであるかどうかを判定する。この判定は、例えばステップ４２２で下りＤＮＳデータと判定されたデータを時系列に記録することにより行えばよい。そして、このような下りドメインデータのうちの１つでなければ、ステップ４２１に戻ってキャプチャを続けるが、このような下りドメインデータのうちの１つであれば、ステップ４２４へ進む。
【００４４】
その後、ドメインデータ検査部４６は、検査条件記憶部４７に記憶された検査条件に従い、ステップ４２２で一定時間内に所定数以上出現する下りドメインデータのうちの１つであると判定されたデータに含まれるＩＰアドレスが、一定時間内に所定数以上出現する他の下りドメインデータに含まれるＩＰアドレスと異なるかどうかを判定する（ステップ４２４）。ＤＮＳを正しく利用していれば、同じＦＱＤＮの名前解決の要求に対しては、同じＩＰアドレスを返すのが普通であるので、ここでは、同じＦＱＤＮの名前解決の要求に対して異なるＩＰアドレスが返されているかどうかを判定している。
【００４５】
その結果、これらのデータに含まれるＩＰアドレスが異ならないと判定された場合は、ステップ４２１に戻ってキャプチャを続ける。一方、これらのデータに含まれるＩＰアドレスが異なると判定された場合は、アラート発信部４９が、ＤＮＳを悪用した攻撃を検出した旨のアラートを外部に出力する（ステップ４２５）。
【００４６】
尚、この第１の実施の形態では、同じＦＱＤＮの名前解決の要求に対して異なるＩＰアドレスが返されている場合に、ＤＮＳを悪用した攻撃が行われているものと判断したが、この限りではない。例えば、名前解決の要求に対して返されるＩＰアドレスが何らかの攻撃を指示することが予め分かっていれば、このようなＩＰアドレスをブラックリスト化し、返されたＩＰアドレスがブラックリストに含まれていれば、ＤＮＳを悪用した攻撃が行われているものと判断するようにしてもよい。
【００４７】
また、この第１の実施の形態では、上りＤＮＳデータと下りＤＮＳデータについて、別個にアラートを出力するようにしたが、この限りではない。例えば、図４でアラート出力が決定され、かつ、図５でアラート出力が決定されて初めて、上りＤＮＳデータと下りＤＮＳデータに共通のアラートを出力するようにしてもよい。
【００４８】
以上述べたように、この第１の実施の形態では、一定時間内に同じドメインに属する同じサブドメインの名前解決を要求するＤＮＳデータが所定数以上流れていることを検出するようにした。これにより、形式としてはＤＮＳを正しく利用しているように見えるが、実際にはＤＮＳを悪意ある行為に利用していることを検知可能となった。
また、同じＦＱＤＮの名前解決の要求に対して異なるＩＰアドレスが返されていることも検出するようにした。これにより、ＤＮＳを悪用した不正通信による攻撃が行われている虞があることを検知可能となった。
【００４９】
［第２の実施の形態］
この第２の実施の形態で検出する脅威は、ボットに感染したクライアント１０が、ＤＮＳクエリに含まれるＦＱＤＮの下位レベルのドメイン名に情報を埋め込むことで外部に情報を持ち出すという脅威である。具体的には、クライアント１０のボットが、例えば「ｅｘａｍｐｌｅ．ｊｐ」というドメインのサブドメインに、クライアント１０のＯＳ、ユーザ名、パスワード、プロセス名等の情報を埋め込んだＦＱＤＮを含むＤＮＳデータを社内ＤＮＳサーバ２０に送信する。これにより、ＤＮＳデータは、「ｅｘａｍｐｌｅ．ｊｐ」というドメインを管理する攻撃者ＤＮＳサーバ３０に行き着き、攻撃者ＤＮＳサーバ３０がクライアント１０のＯＳ、ユーザ名、パスワード、プロセス名等の情報を詐取する。
【００５０】
図６は、この第２の実施の形態で送信される上りＤＮＳデータに含まれる情報の具体例を示したものである。１行目は、「ｗｉｎｘｐ．ｓｐ３」というＯＳの情報を埋め込んだＦＱＤＮ、２行目は、「ｔｅｓｔ．ｕｓｅｒ」というユーザの情報を埋め込んだＦＱＤＮ、３行目は、「ｔｅｓｔｐａｓｓ．ｐａｓｓ」というパスワードの情報を埋め込んだＦＱＤＮ、４行目、５行目は、それぞれ「ｅｘｐｌｏｒｅｒ．ｐｒｏｃｅｓｓ」、「ｂｅｃｋｙ．ｐｒｏｃｅｓｓ」というプロセスの情報を埋め込んだＦＱＤＮである。尚、攻撃者ＤＮＳサーバ３０が詐取した情報がどのクライアント１０に関する情報かを示すために、ＤＮＳデータには、クライアント１０のＩＰアドレス「１９２．１６８．０．１」も埋め込まれている。
尚、図では、英語表記のドメイン名を示したが、これはあくまで例示であり、日本語のドメイン名やマルチ言語のドメイン名に対しても本実施の形態は適用可能である。
【００５１】
次に、本実施の形態における攻撃検出装置４０の動作について説明する。尚、攻撃検出装置４０は通常、複数のクライアント１０から社内ＤＮＳサーバ２０へ送信されたＤＮＳデータについて動作するが、以下では、簡単のため、１つのクライアント１０に着目して動作を説明する。
【００５２】
図７は、上りＤＮＳデータを抽出して攻撃を検出するときの攻撃検出装置４０の動作を示したフローチャートである。
攻撃検出装置４０では、まず、ＤＮＳデータ抽出部４１が、社内ＬＡＮ７０からインターネット８０へ流れるネットワークトラフィックからデータをキャプチャする（ステップ４４１）。次に、ステップ４４１でキャプチャしたデータが、抽出条件記憶部４３に記憶されたＤＮＳデータ抽出条件を満たすかどうかを判定する（ステップ４４２）。具体的には、ステップ４４１でキャプチャしたデータが上りＤＮＳデータであるかどうかを判定する。そして、上りＤＮＳデータでなければ、ステップ４４１に戻ってキャプチャを続けるが、上りＤＮＳデータであれば、ステップ４４３へ進む。
【００５３】
次いで、ドメインデータ抽出部４２が、ステップ４４２で上りＤＮＳデータであると判定されたデータが、抽出条件記憶部４３に記憶されたドメインデータ抽出条件を満たすかどうかを判定する（ステップ４４３）。具体的には、特定ドメイン名を含むＦＱＤＮの名前解決を要求する形式の上りドメインデータが一定時間内に所定数以上出現しており、ステップ４４２で上りＤＮＳデータであると判定されたデータが、そのような上りドメインデータのうちの１つであるかどうかを判定する。この判定は、例えばステップ４４２で上りＤＮＳデータと判定されたデータを時系列に記録することにより行えばよい。そして、このような上りドメインデータのうちの１つでなければ、ステップ４４１に戻ってキャプチャを続けるが、このような上りドメインデータのうちの１つであれば、ステップ４４４へ進む。
【００５４】
その後、ブラックリスト照合部４４は、ステップ４４３で一定時間内に所定数以上出現する上りドメインデータのうちの１つであると判定されたデータに、ブラックリスト記憶部４５に記憶された上位ブラックリスト内の上位ドメイン名が含まれているかどうかを判定する（ステップ４４４）。
ここで、上位ブラックリスト内の上位ドメイン名がそのデータに含まれていないと判定された場合、ブラックリスト照合部４４は、ブラックリスト記憶部４５に記憶された下位ブラックリスト内の下位ドメイン名がそのデータに含まれているかどうかを判定する（ステップ４４５）。
【００５５】
ここで、下位ブラックリスト内の下位ドメイン名がそのデータに含まれていないと判定された場合、ドメインデータ検査部４６は、検査条件記憶部４７に記憶された検査条件に従い、ドメインデータに含まれるＦＱＤＮをカウントする（ステップ４４６）。即ち、例えば、個々のＦＱＤＮに対してカウント値を格納する変数を用意しておき、ドメインデータに含まれるＦＱＤＮをカウントする際に、そのＦＱＤＮに対して用意された変数に格納されたカウント値をカウントアップする。そして、ドメインデータ検査部４６は、ＦＱＤＮのカウント値が予め定めた閾値を超えたかどうかを判定する（ステップ４４７）。
【００５６】
その結果、ＦＱＤＮのカウント値が閾値を超えていないと判定された場合、ドメインデータ検査部４６は、ＦＱＤＮの長さを求める（ステップ４４８）。そして、求めたＦＱＤＮの長さが予め定めた閾値を超えているかどうかを判定する（ステップ４４９）。ここで、ＦＱＤＮの長さが閾値を超えていないと判定された場合は、ステップ４４１に戻ってキャプチャを続ける。一方、ＦＱＤＮの長さが閾値を超えていると判定された場合や、ステップ４４７でＦＱＤＮのカウント値が閾値を超えていると判定された場合は、ブラックリスト更新部４８が、ＦＱＤＮに含まれる上位ドメイン名を上位ブラックリストに追加し（ステップ４５０）、ＦＱＤＮに含まれる下位ドメイン名を下位ブラックリストに追加する（ステップ４５１）。尚、この場合、ＦＱＤＮのうち一般に公開されているドメインの部分を上位ドメイン名とし、ＦＱＤＮのうちそのドメインのサブドメインの部分を下位ドメイン名とすればよい。
【００５７】
そして、最後に、アラート発信部４９が、ＤＮＳを悪用した情報持ち出しによる攻撃を検出した旨のアラートを外部に出力する（ステップ４５２）。
また、ステップ４４４で上位ブラックリスト内の上位ドメイン名がデータに含まれていると判定された場合や、ステップ４４５で下位ブラックリスト内の下位ドメイン名がデータに含まれていると判定された場合も、アラート発信部４９が、ＤＮＳを悪用した情報持ち出しによる攻撃を検出した旨のアラートを外部に出力する（ステップ４５２）。
【００５８】
以上述べたように、この第２の実施の形態では、一定時間内に同じドメインに属する同じサブドメインの名前解決を要求するＤＮＳデータが所定数以上流れていることを検出するようにした。これにより、形式としてはＤＮＳを正しく利用しているように見えるが、実際にはＤＮＳを悪意ある行為に利用していることを検知可能となった。
また、所定長以上のＦＱＤＮの名前解決を要求するＤＮＳデータが送信されていることも検出するようにした。これにより、ＤＮＳを悪用した情報持ち出しによる攻撃が行われている虞があることを検知可能となった。
【００５９】
［第３の実施の形態］
この第３の実施の形態で検出する脅威は、ＤＮＳキャッシュポイズニング攻撃を受けた社内ＤＮＳサーバ２０が、自身が管理するドメインの存在しないサブドメインへの問い合わせを大量に行うという脅威である。
図８は、この第３の実施の形態で送信される上りＤＮＳデータに含まれる情報の具体例を示したものである。ここで、「ｅｘａｍｐｌｅ．ｊｐ」は社内ＤＮＳサーバ２０が管理するドメインであるが、「ａａａａ」、「ｂｂｂｂ」等のサブドメインは存在していないものとする。
尚、図では、英語表記のドメイン名を示したが、これはあくまで例示であり、日本語のドメイン名やマルチ言語のドメイン名に対しても本実施の形態は適用可能である。
【００６０】
次に、本実施の形態における攻撃検出装置４０の動作について説明する。
図９は、上りＤＮＳデータを抽出して攻撃を検出するときの攻撃検出装置４０の動作を示したフローチャートである。
攻撃検出装置４０では、まず、ＤＮＳデータ抽出部４１が、社内ＬＡＮ７０からインターネット８０へ流れるネットワークトラフィックからデータをキャプチャする（ステップ４６１）。次に、ステップ４６１でキャプチャしたデータが、抽出条件記憶部４３に記憶されたＤＮＳデータ抽出条件を満たすかどうかを判定する（ステップ４６２）。具体的には、ステップ４６１でキャプチャしたデータが上りＤＮＳデータであるかどうかを判定する。そして、上りＤＮＳデータでなければ、ステップ４６１に戻ってキャプチャを続けるが、上りＤＮＳデータであれば、ステップ４６３へ進む。
【００６１】
次いで、ドメインデータ抽出部４２が、ステップ４６２で上りＤＮＳデータであると判定されたデータが、抽出条件記憶部４３に記憶されたドメインデータ抽出条件を満たすかどうかを判定する（ステップ４６３）。具体的には、社内ＤＮＳサーバ２０が管理するドメイン名を含むＦＱＤＮの名前解決を要求する形式の上りドメインデータが一定時間内に所定数以上出現しており、ステップ４６２で上りＤＮＳデータであると判定されたデータが、そのような上りドメインデータのうちの１つであるかどうかを判定する。この判定は、例えばステップ４６２で上りＤＮＳデータと判定されたデータを時系列に記録することにより行えばよい。また、社内ＤＮＳサーバ２０が管理するドメイン名の設定を抽出条件記憶部４３に記憶しておき、社内ＤＮＳサーバ２０が管理するドメイン名が上りドメインデータに含まれるかを、この設定に基づいて判定してもよい。そして、このような上りドメインデータのうちの１つでなければ、ステップ４６１に戻ってキャプチャを続けるが、このような上りドメインデータのうちの１つであれば、ステップ４６４へ進む。
【００６２】
その後、ドメインデータ検査部４６は、検査条件記憶部４７に記憶された検査条件に従い、ドメインデータに含まれるＦＱＤＮをカウントする（ステップ４６４）。即ち、例えば、個々のＦＱＤＮに対してカウント値を格納する変数を用意しておき、ドメインデータに含まれるＦＱＤＮをカウントする際に、そのＦＱＤＮに対して用意された変数に格納されたカウント値をカウントアップする。尚、このとき、例えば「ａａａａ．ｅｘａｍｐｌｅ．ｊｐ」と「ｂｂｂｂ．ｅｘａｍｐｌｅ．ｊｐ」を、別個のＦＱＤＮとしてカウントするか、何らかの基準に基づき同じＦＱＤＮとしてカウントするか等のカウントルールの設定を検査条件記憶部４７に記憶しておき、この設定に基づいてＦＱＤＮをカウントするようにしてもよい。そして、ドメインデータ検査部４６は、ＦＱＤＮのカウント値が予め定めた閾値を超えたかどうかを判定する（ステップ４６５）。
【００６３】
その結果、ＦＱＤＮのカウント値が閾値を超えていないと判定された場合は、ステップ４６１に戻ってキャプチャを続ける。一方、ＦＱＤＮのカウント値が閾値を超えていると判定された場合、ドメインデータ検査部４６は、ＦＱＤＮを含むＤＮＳクエリで問い合わせを行うことによりＦＱＤＮで示されるドメインの存在を確認し、ドメインが存在しなかった回数をカウントする（ステップ４６６）。即ち、例えば、個々のＦＱＤＮに対して回数値を格納する変数を用意しておき、ドメインが存在しない旨のステータスを受け取った際に、そのＦＱＤＮに対して用意された変数に格納された回数値をカウントアップする。そして、ドメインが存在しなかった回数が予め定めた閾値を超えているかどうかを判定する（ステップ４６７）。
【００６４】
その結果、ドメインが存在しなかった回数が閾値を超えていないと判定された場合は、ステップ４６１に戻ってキャプチャを続ける。一方、ドメインが存在しなかった回数が閾値を超えていると判定された場合は、アラート発信部４９が、ＤＮＳキャッシュポイズニングによる攻撃を検出した旨のアラートを外部に出力する（ステップ４６８）。
【００６５】
尚、その後、次のような処理を行うと、より望ましい。
即ち、社内ＤＮＳサーバ２０のキャッシュに保持するサブドメインのリストと、ステップ４６６で問い合わせた結果、存在すると判断されたサブドメインのリストとを突合する。そして、これらのリストの差分を汚染情報として抽出し、ブラックリスト化する。
【００６６】
以上により、本実施の形態の動作は終了する。
尚、本実施の形態において、攻撃検出装置４０は、社内ＬＡＮ７０とインターネット８０の境界におけるネットワークトラフィックをモニタするものとしたが、これには限らない。例えば、社内ＤＮＳサーバ２０におけるネットワークトラフィックをモニタするようにしてもよい。
【００６７】
また、本実施の形態では、３種類の脅威の検出方法を脅威ごとに分けて説明したが、１つの攻撃検出装置４０が、これら３つの脅威の少なくとも２つを同時に検出するものであってもよい。
【００６８】
最後に、本実施の形態を適用するのに好適なコンピュータのハードウェア構成について説明する。図１０は、このようなコンピュータのハードウェア構成の一例を示した図である。図示するように、コンピュータは、演算手段であるＣＰＵ（Central Processing Unit）９０ａと、Ｍ／Ｂ（マザーボード）チップセット９０ｂを介してＣＰＵ９０ａに接続されたメインメモリ９０ｃと、同じくＭ／Ｂチップセット９０ｂを介してＣＰＵ９０ａに接続された表示機構９０ｄとを備える。また、Ｍ／Ｂチップセット９０ｂには、ブリッジ回路９０ｅを介して、ネットワークインターフェイス９０ｆと、磁気ディスク装置（ＨＤＤ）９０ｇと、音声機構９０ｈと、キーボード／マウス９０ｉと、フレキシブルディスクドライブ９０ｊとが接続されている。
【００６９】
尚、図１０において、各構成要素は、バスを介して接続される。例えば、ＣＰＵ９０ａとＭ／Ｂチップセット９０ｂの間や、Ｍ／Ｂチップセット９０ｂとメインメモリ９０ｃの間は、ＣＰＵバスを介して接続される。また、Ｍ／Ｂチップセット９０ｂと表示機構９０ｄとの間は、ＡＧＰ（Accelerated Graphics Port）を介して接続されてもよいが、表示機構９０ｄがＰＣＩ Ｅｘｐｒｅｓｓ対応のビデオカードを含む場合、Ｍ／Ｂチップセット９０ｂとこのビデオカードの間は、ＰＣＩ Ｅｘｐｒｅｓｓ（ＰＣＩｅ）バスを介して接続される。また、ブリッジ回路９０ｅと接続する場合、ネットワークインターフェイス９０ｆについては、例えば、ＰＣＩ Ｅｘｐｒｅｓｓを用いることができる。また、磁気ディスク装置９０ｇについては、例えば、シリアルＡＴＡ（AT Attachment）、パラレル転送のＡＴＡ、ＰＣＩ（Peripheral Components Interconnect）を用いることができる。更に、キーボード／マウス９０ｉ、及び、フレキシブルディスクドライブ９０ｊについては、ＵＳＢ（Universal Serial Bus）を用いることができる。
【符号の説明】
【００７０】
１０ａ，１０ｂ，１０ｃ…クライアント、２０…社内ＤＮＳサーバ、３０…攻撃者ＤＮＳサーバ、４０…攻撃検出装置、４１…ＤＮＳデータ抽出部、４２…ドメインデータ抽出部、４３…抽出条件記憶部、４４…ブラックリスト照合部、４５…ブラックリスト記憶部、４６…ドメインデータ検査部、４７…検査条件記憶部、４８…ブラックリスト更新部、４９…アラート発信部
【図１】
0005568344.tif 000002
【図２】
0005568344.tif 000003
【図３】
0005568344.tif 000004
【図４】
0005568344.tif 000005
【図５】
0005568344.tif 000006
【図６】
0005568344.tif 000007
【図７】
0005568344.tif 000008
【図８】
0005568344.tif 000009
【図９】
0005568344.tif 000010
【図１０】
0005568344.tif 000011