(57)【特許請求の範囲】
【請求項１】
所定のドメイン名に対応したIPアドレスを検索して取得したIPアドレス、または当該IPアドレスに対応したドメイン名を示す第１の情報と、検索を依頼した装置のIPアドレスを示す第２の情報とを記憶する記憶手段と、
ネットワーク上の攻撃の対象となった攻撃対象装置のIPアドレスまたはドメイン名と、前記攻撃対象装置へパケットを送信した送信装置のIPアドレスとを含む判定依頼情報を受信する受信手段と、
前記攻撃対象装置のIPアドレスまたはドメイン名を検索のキーとして前記第１の情報を検索し、前記攻撃対象装置のIPアドレスまたはドメイン名と一致するIPアドレスまたはドメイン名を示す前記第１の情報に対応した前記第２の情報を取得する検索手段と、
前記検索手段が取得した前記第２の情報が示すIPアドレスと前記送信装置のIPアドレスとが一致するか否かを判定する判定手段と、
前記判定手段による判定の結果を含む判定結果情報を前記判定依頼情報の送信元へ送信する送信手段と、
を備えたことを特徴とする通信装置。
【請求項２】
所定のドメイン名に対応したIPアドレスを検索して取得したIPアドレス、または当該IPアドレスに対応したドメイン名と、検索を依頼した装置のIPアドレスとを組み合わせた判定用情報を記憶する記憶手段と、
ネットワーク上の攻撃の対象となった攻撃対象装置のIPアドレスまたはドメイン名と、前記攻撃対象装置へパケットを送信した送信装置のIPアドレスとを含む判定依頼情報を受信する受信手段と、
前記攻撃対象装置のIPアドレスまたはドメイン名と前記送信装置のIPアドレスとの組合せを検索のキーとして、当該組合せと一致する組合せを有する前記判定用情報を検索する検索手段と、
前記攻撃対象装置のIPアドレスまたはドメイン名と前記送信装置のIPアドレスとの組合せと一致する組合せを有する前記判定用情報を前記検索手段が検索できたか否かを判定する判定手段と、
前記判定手段による判定の結果を含む判定結果情報を前記判定依頼情報の送信元へ送信する送信手段と、
を備えたことを特徴とする通信装置。
【請求項３】
所定のドメイン名に対応したIPアドレスを検索して取得したIPアドレス、または当該IPアドレスに対応したドメイン名を示す第１の情報と、検索を依頼した装置のIPアドレスを示す第２の情報とを記憶する記憶手段と、
前記第１の情報が示すIPアドレスまたはドメイン名のハッシュ値と、前記第２の情報が示すIPアドレスのハッシュ値とを算出する算出手段と、
ネットワーク上の攻撃の対象となった攻撃対象装置のIPアドレスまたはドメイン名のハッシュ値と、前記攻撃対象装置へパケットを送信した送信装置のIPアドレスのハッシュ値とを含む判定依頼情報を受信する受信手段と、
前記攻撃対象装置のIPアドレスまたはドメイン名のハッシュ値を検索のキーとして、前記算出手段が算出したハッシュ値を検索し、前記攻撃対象装置のIPアドレスまたはドメイン名のハッシュ値と一致するハッシュ値の元となったIPアドレスまたはドメイン名を示す前記第１の情報に対応した前記第２の情報を取得する検索手段と、
前記検索手段が取得した前記第２の情報が示すIPアドレスのハッシュ値と前記送信装置のIPアドレスのハッシュ値とが一致するか否かを判定する判定手段と、
前記判定手段による判定の結果を含む判定結果情報を前記判定依頼情報の送信元へ送信する送信手段と、
を備えたことを特徴とする通信装置。
【請求項４】
所定のドメイン名に対応したIPアドレスを検索して取得したIPアドレス、または当該IPアドレスに対応したドメイン名と、検索を依頼した装置のIPアドレスとを組み合わせた判定用情報を記憶する記憶手段と、
前記判定用情報のハッシュ値を算出する算出手段と、
ネットワーク上の攻撃の対象となった攻撃対象装置のIPアドレスまたはドメイン名と、前記攻撃対象装置へパケットを送信した送信装置のIPアドレスとを組み合わせた情報のハッシュ値を含む判定依頼情報を受信する受信手段と、
前記判定依頼情報に含まれるハッシュ値を検索のキーとして、前記算出手段が算出したハッシュ値を検索し、前記判定依頼情報に含まれるハッシュ値と一致するハッシュ値を検索する検索手段と、
前記判定依頼情報に含まれるハッシュ値と一致するハッシュ値を前記検索手段が検索できたか否かを判定する判定手段と、
前記判定手段による判定の結果を含む判定結果情報を前記判定依頼情報の送信元へ送信する送信手段と、
を備えたことを特徴とする通信装置。
【請求項５】
請求項１〜請求項４のいずれかに記載の通信装置としてコンピュータを機能させるためのプログラム。
【請求項６】
請求項５に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク上の攻撃の発信元のIPアドレスを追跡するトレースバック技術に関連する通信を行う通信装置に関する。また、本発明は、通信装置としてコンピュータを機能させるためのプログラム、およびそのプログラムを記録した記録媒体にも関する。
【背景技術】
【０００２】
詐称されたIPアドレス（Source IP）から発信される攻撃パケットに対する脅威が高まっている。そこで、詐称されたSource IPを追跡するトレースバック技術が注目されている（例えば非特許文献１，２参照）。
【非特許文献１】Hiroaki Hazeyama, Youki Kadobayashi, Masafumi Oe, and Ryo Kaizaki, “Intertrack: A federation of IP traceback system across borders of network operation domains,” Proc. of Annual Computer Security Application Conference (ACSAC2005), Technology Blitz Session, Dec. 2005.
【非特許文献２】大江将史，櫨山寛章，門林雄基“IPトレースバックシステムの相互接続アーキテクチャの提案，”信学，暗号と情報セキュリティシンポジウム(SCIS2005)，3B4-3，2005年1月
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、トレースバックを行う各装置の負荷が高いため、Source IPが詐称されていることを確認しないままトレースバックが開始されてしまうと、ネットワーク全体の処理負荷が増加するという問題があった。
【０００４】
本発明は、上述した課題に鑑みてなされたものであって、ネットワーク上の攻撃の対象となった攻撃対象装置へパケットを送信した装置のIPアドレスが詐称されているか否かを確認することができる通信装置、プログラム、および記録媒体を提供することを目的とする。
【課題を解決するための手段】
【０００５】
攻撃元の装置は、攻撃を行う前に攻撃対象装置のドメイン名に対応したIPアドレスの検索（名前解決）をDNSサーバ等に依頼する。この名前解決の結果に関する情報には攻撃元の装置のIPアドレスが含まれている。名前解決に対する回答を受け取るために、攻撃元の装置のIPアドレスは名前解決の時点では詐称されていないが、攻撃パケットを送信する時点では詐称されている。したがって、攻撃対象装置へパケットを送信した装置のIPアドレスと、攻撃対象装置に関する名前解決を依頼した装置のIPアドレスとが一致しなかった場合には、攻撃対象装置へパケットを送信した装置のIPアドレスが詐称されていると判定することができる。本発明はこれを利用したものであり、その具体的な内容は以下の通りである。
【０００６】
本発明は、所定のドメイン名に対応したIPアドレスを検索して取得したIPアドレス、または当該IPアドレスに対応したドメイン名を示す第１の情報と、検索を依頼した装置のIPアドレスを示す第２の情報とを記憶する記憶手段と、ネットワーク上の攻撃の対象となった攻撃対象装置のIPアドレスまたはドメイン名と、前記攻撃対象装置へパケットを送信した送信装置のIPアドレスとを含む判定依頼情報を受信する受信手段と、前記攻撃対象装置のIPアドレスまたはドメイン名を検索のキーとして前記第１の情報を検索し、前記攻撃対象装置のIPアドレスまたはドメイン名と一致するIPアドレスまたはドメイン名を示す前記第１の情報に対応した前記第２の情報を取得する検索手段と、前記検索手段が取得した前記第２の情報が示すIPアドレスと前記送信装置のIPアドレスとが一致するか否かを判定する判定手段と、前記判定手段による判定の結果を含む判定結果情報を前記判定依頼情報の送信元へ送信する送信手段とを備えたことを特徴とする通信装置である。
【０００７】
上記の通信装置によれば、検索手段が取得した第２の情報が示すIPアドレスと、判定依頼情報に含まれる送信装置のIPアドレスとが一致するか否かを判定することによって、送信装置のIPアドレスが詐称されているか否かを判定することが可能となる。したがって、攻撃対象装置へパケットを送信した装置のIPアドレスが詐称されているか否かを確認することができる。
【０００８】
また、本発明は、所定のドメイン名に対応したIPアドレスを検索して取得したIPアドレス、または当該IPアドレスに対応したドメイン名と、検索を依頼した装置のIPアドレスとを組み合わせた判定用情報を記憶する記憶手段と、ネットワーク上の攻撃の対象となった攻撃対象装置のIPアドレスまたはドメイン名と、前記攻撃対象装置へパケットを送信した送信装置のIPアドレスとを含む判定依頼情報を受信する受信手段と、前記攻撃対象装置のIPアドレスまたはドメイン名と前記送信装置のIPアドレスとの組合せを検索のキーとして、当該組合せと一致する組合せを有する前記判定用情報を検索する検索手段と、前記攻撃対象装置のIPアドレスまたはドメイン名と前記送信装置のIPアドレスとの組合せと一致する組合せを有する前記判定用情報を前記検索手段が検索できたか否かを判定する判定手段と、前記判定手段による判定の結果を含む判定結果情報を前記判定依頼情報の送信元へ送信する送信手段とを備えたことを特徴とする通信装置である。
【０００９】
上記の通信装置によれば、攻撃対象装置のIPアドレスまたはドメイン名と送信装置のIPアドレスとの組合せと一致する組合せを有する判定用情報を検索できたか否かを判定することによって、攻撃対象装置へパケットを送信した装置のIPアドレスが詐称されているか否かを判定することが可能となる。したがって、攻撃対象装置へパケットを送信した装置のIPアドレスが詐称されているか否かを確認することができる。
【００１０】
また、本発明は、所定のドメイン名に対応したIPアドレスを検索して取得したIPアドレス、または当該IPアドレスに対応したドメイン名を示す第１の情報と、検索を依頼した装置のIPアドレスを示す第２の情報とを記憶する記憶手段と、前記第１の情報が示すIPアドレスまたはドメイン名のハッシュ値と、前記第２の情報が示すIPアドレスのハッシュ値とを算出する算出手段と、ネットワーク上の攻撃の対象となった攻撃対象装置のIPアドレスまたはドメイン名のハッシュ値と、前記攻撃対象装置へパケットを送信した送信装置のIPアドレスのハッシュ値とを含む判定依頼情報を受信する受信手段と、前記攻撃対象装置のIPアドレスまたはドメイン名のハッシュ値を検索のキーとして、前記算出手段が算出したハッシュ値を検索し、前記攻撃対象装置のIPアドレスまたはドメイン名のハッシュ値と一致するハッシュ値の元となったIPアドレスまたはドメイン名を示す前記第１の情報に対応した前記第２の情報を取得する検索手段と、前記検索手段が取得した前記第２の情報が示すIPアドレスのハッシュ値と前記送信装置のIPアドレスのハッシュ値とが一致するか否かを判定する判定手段と、前記判定手段による判定の結果を含む判定結果情報を前記判定依頼情報の送信元へ送信する送信手段とを備えたことを特徴とする通信装置である。
【００１１】
上記の通信装置は、以下の事項に対応したものである。判定依頼情報の送受信によって、IPアドレスやドメイン名が装置間で送受信されると、個人のプライバシーに関わる情報が送受信されることになり好ましくない。したがって、IPアドレスやドメイン名のハッシュ値を用いることによって、個人のプライバシーに関わる情報の漏洩を防止することができる。
【００１２】
また、本発明は、所定のドメイン名に対応したIPアドレスを検索して取得したIPアドレス、または当該IPアドレスに対応したドメイン名と、検索を依頼した装置のIPアドレスとを組み合わせた判定用情報を記憶する記憶手段と、前記判定用情報のハッシュ値を算出する算出手段と、ネットワーク上の攻撃の対象となった攻撃対象装置のIPアドレスまたはドメイン名と、前記攻撃対象装置へパケットを送信した送信装置のIPアドレスとを組み合わせた情報のハッシュ値を含む判定依頼情報を受信する受信手段と、前記判定依頼情報に含まれるハッシュ値を検索のキーとして、前記算出手段が算出したハッシュ値を検索し、前記判定依頼情報に含まれるハッシュ値と一致するハッシュ値を検索する検索手段と、前記判定依頼情報に含まれるハッシュ値と一致するハッシュ値を前記検索手段が検索できたか否かを判定する判定手段と、前記判定手段による判定の結果を含む判定結果情報を前記判定依頼情報の送信元へ送信する送信手段とを備えたことを特徴とする通信装置である。
【００１３】
また、本発明は、上記の通信装置としてコンピュータを機能させるためのプログラムである。
【００１４】
また、本発明は、上記のプログラムを記録したコンピュータ読み取り可能な記録媒体である。
【発明の効果】
【００１５】
本発明によれば、ネットワーク上の攻撃の対象となった攻撃対象装置へパケットを送信した装置のIPアドレスが詐称されているか否かを確認することができるという効果が得られる。
【発明を実施するための最良の形態】
【００１６】
以下、図面を参照し、本発明の実施形態を説明する。本実施形態は、ドメイン名に対応したIPアドレスを検索する名前解決を行うDNSサーバのログに注目したものである。また、本実施形態は以下の事項を前提としているものとする。すなわち、Source IPの追跡対象となる攻撃は、DNSサーバを利用してドメイン名からIPアドレスを取得する過程を含むものであるものとする。したがって、IPアドレスを直接指定してパケットを送信する攻撃は対象外とする。また、攻撃元の通信装置がDNSサーバに名前解決を依頼する場合、攻撃元の通信装置自身がDNSサーバからの回答を受け取る必要があるため、名前解決の依頼時点では攻撃元の通信装置のIPアドレスは詐称されていないものとする。
【００１７】
攻撃元の通信装置は、攻撃パケットを送信する前に攻撃先のドメイン名（ホスト名）の名前解決をDNSサーバに依頼する。このため、DNSサーバのログには攻撃元の通信装置のIPアドレスが記録されている。また、上記のように、攻撃元の通信装置のIPアドレスは名前解決の時点では詐称されていないが、攻撃パケットを送信する時点では詐称されている。したがって、DNSサーバのログに含まれるIPアドレス（Source IP）と、攻撃対象装置へパケットを送信した通信装置のIPアドレスとが一致しなかった場合には、その通信装置のIPアドレスが詐称されていると判定することができる。
【００１８】
次に、Source IPを詐称して攻撃を行う前に攻撃元の通信装置がDNSサーバに名前解決を依頼する方法を説明する。図２に示すように、通信装置１（Source）と、通信装置２（Destination）と、DNSサーバ３ａ〜３ｅとがネットワーク上に存在しているものとする。また、図示せぬ他の通信装置も存在しているものとする。通信装置１のドメイン名は「www.YYY.co.kr」であり、IPアドレスは「yyy.yyy.yyy.yyy」である。ただし、IPアドレス中の「y」は０〜９の任意の数字である。また、通信装置２のドメイン名は「www.XXX.co.jp」であり、IPアドレスは「xxx.xxx.xxx.xxx」である。ただし、IPアドレス中の「x」は０〜９の任意の数字である。
【００１９】
DNSサーバ３ａは通信装置１と同一のドメイン「YYY.co.kr」に属している。また、DNSサーバ３ｂ〜３ｅは、ドメイン毎の階層構造を示すドメイン・ツリーを構成しており、DNSサーバ３ｂはルートドメインに属し、DNSサーバ３ｃはドメイン「.jp」に属し、DNSサーバ３ｄはドメイン「.co.jp」に属し、DNSサーバ３ｅはドメイン「XXX.co.jp」に属している。
【００２０】
まず、通信装置１はドメイン名「www.XXX.co.jp」のIPアドレスをDNSサーバ３ａに問い合わせる（ステップＳ１００）。この問合せの意味は、ドメイン名「www.XXX.co.jp」のIPアドレスの検索の依頼と同等である。また、この問合せは、一般的に再帰検索（リカーシブ：Recursive）と呼ばれるタイプの問合せである。再帰検索の依頼を受けたDNSサーバ３ａは、名前解決が完了するまで以下のようにドメイン・ツリーをたどって検索を行い、最終結果を通信装置１に返信する。このように、再帰検索の依頼を受けて名前解決が完了するまで検索を行うDNSサーバは一般的にリゾルバと呼ばれる。
【００２１】
再帰検索の依頼を受けたDNSサーバ３ａは、ドメイン・ツリーの最上位のルートドメインに属するDNSサーバ３ｂ（ルート・ネーム・サーバ）に対して、ドメイン「.jp」の情報を管理するDNSサーバのIPアドレスを問い合わせる（ステップＳ１１０）。この問合せは、一般的に反復検索（イテレイティブ：Iterative）と呼ばれるタイプの問合せである。反復検索の依頼を受けたDNSサーバ３ｂは、自身が管理しているドメインの情報のみを返答し、他のDNSサーバに対する問合せは行わない。DNSサーバ３ｂは、自身が管理しているドメインの情報の中から、ドメイン「.jp」の情報を管理するDNSサーバのIPアドレスを検索し、DNSサーバ３ｃのIPアドレスをDNSサーバ３ａに返信する（ステップＳ１２０）。
【００２２】
続いて、DNSサーバ３ａは、DNSサーバ３ｃに対して、ドメイン「.co.jp」の情報を管理するDNSサーバのIPアドレスを問い合わせる（ステップＳ１３０）。この問合せも反復検索である。反復検索の依頼を受けたDNSサーバ３ｃは、自身が管理しているドメインの情報の中から、ドメイン「.co.jp」の情報を管理するDNSサーバのIPアドレスを検索し、DNSサーバ３ｄのIPアドレスをDNSサーバ３ａに返信する（ステップＳ１４０）。
【００２３】
続いて、DNSサーバ３ａは、DNSサーバ３ｄに対して、ドメイン「XXX.co.jp」の情報を管理するDNSサーバのIPアドレスを問い合わせる（ステップＳ１５０）。この問合せも反復検索である。反復検索の依頼を受けたDNSサーバ３ｄは、自身が管理しているドメインの情報の中から、ドメイン「XXX.co.jp」の情報を管理するDNSサーバのIPアドレスを検索し、DNSサーバ３ｅのIPアドレスをDNSサーバ３ａに返信する（ステップＳ１６０）。
【００２４】
続いて、DNSサーバ３ａは、DNSサーバ３ｅに対して、ドメイン名「www.XXX.co.jp」に対応するIPアドレスを問い合わせる（ステップＳ１７０）。この問合せも反復検索である。反復検索の依頼を受けたDNSサーバ３ｅは、自身が管理しているIPアドレスの中から、ドメイン名「www.XXX.co.jp」に対応するIPアドレスを検索し、通信装置２のIPアドレス「xxx.xxx.xxx.xxx」をDNSサーバ３ａに返信する（ステップＳ１８０）。DNSサーバ３ａは、名前解決の結果として、通信装置２のIPアドレス「xxx.xxx.xxx.xxx」を通信装置１に返信する（ステップＳ１９０）。
【００２５】
各DNSサーバは、以上の処理の結果をDNSログとして保存する。図３および図４はDNSログの一例を示している。図３は、図２のDNSサーバ３ａが記憶するDNSログを示している。このDNSログには、DNSサーバ３ａが再帰検索を行ったときの検索結果が含まれている。DNSサーバ３ａは他のDNSサーバから反復検索の依頼を受けることもあり、その場合には図４に示す反復検索のDNSログを記憶する。
【００２６】
図３に示すDNSログには、時刻３００、リゾルバIP３１０、Source IP３２０、Destination Domain３３０、Destination IP３４０が含まれている。時刻３００は、通信装置から再帰検索の依頼を受けた時刻を示している。リゾルバIP３１０は、再帰検索の依頼を受けてリゾルバとして処理を行ったDNSサーバ、すなわち自身のIPアドレスを示している。Source IP３２０は、再帰検索の依頼を行った通信装置のIPアドレスを示している。Destination Domain３３０は、名前解決の対象となったドメイン名を示している。Destination IP３４０は、Destination Domain３３０に対応したIPアドレスを示している。
【００２７】
図２の通信装置１から依頼された再帰検索の結果はレコード３５０に記録されている。したがって、図２の通信装置２のIPアドレスまたはドメイン名を検索のキーとしてDestination IP３４０またはDestination Domain３３０を検索し、通信装置２のIPアドレスまたはドメイン名に対応したSource IPを取得することによって、通信装置２に関する名前解決を依頼した通信装置１のIPアドレスを取得することができる。
【００２８】
通信装置２が受信したパケットに含まれるSource IPが、DNSサーバのログから取得した通信装置１のIPアドレスと一致する場合には、通信装置１のIPアドレスは詐称されていないと判定することができる。これに対して、通信装置２が受信したパケットに含まれるSource IPが、DNSサーバのログから取得した通信装置１のIPアドレスと一致しない場合には、通信装置１のIPアドレスは詐称されていると判定することができる。
【００２９】
図４は、図２のDNSサーバ３ｂ〜３ｅが記憶するDNSログの一例を示している。このDNSログには、DNSサーバ３ｂ〜３ｅが反復検索を行ったときの検索結果が含まれている。図４（ａ）は、DNSサーバ３ｂが記憶するDNSログを示し、図４（ｂ）は、DNSサーバ３ｃが記憶するDNSログを示し、図４（ｃ）は、DNSサーバ３ｄが記憶するDNSログを示し、図４（ｄ）は、DNSサーバ３ｅが記憶するDNSログを示している。
【００３０】
図４に示すDNSログには、時刻４００、リゾルバIP４１０、Destination Domain４２０、Destination IP４３０が含まれている。時刻４００は、他のDNSサーバから反復検索の依頼を受けた時刻を示している。リゾルバIP４１０は、反復検索を依頼したリゾルバとしてのDNSサーバのIPアドレスを示している。Destination Domain４２０は、名前解決の対象となったドメイン名を示している。Destination IP４３０は、Destination Domain４２０に対応したIPアドレスを示している。
【００３１】
図２のDNSサーバ３ａから反復検索の依頼を受け、通信装置２のIPアドレスを回答した結果は図４（ｄ）のレコード４４０に記録されている。したがって、通信装置２のIPアドレスまたはドメイン名を検索のキーとしてDestination IP４３０またはDestination Domain４２０を検索し、通信装置２のIPアドレスまたはドメイン名に対応したリゾルバIPを取得することによって、再帰検索を行ったDNSサーバ３ａのIPアドレスを取得することができる。さらに、DNSサーバ３ａの再帰検索のDNSログを用いて、前述した検索を行うことにより、通信装置２に関する名前解決を依頼した通信装置１のIPアドレスを取得することができる。
【００３２】
次に、Source IPが詐称されているか否かを確認する方法を説明する。図１は、本実施形態による通信装置の構成を示している。記憶部１０はDNSログを記憶する。このDNSログには、DNSサーバが再帰検索または反復検索により取得した通信装置のIPアドレス（Destination IP）、またはそのIPアドレスに対応したドメイン名（Destination Domain）と、再帰検索を依頼した通信装置のIPアドレス（Source IP）とが少なくとも含まれている。検索部１１は、上記のDNSログに基づいて、DNSサーバに名前解決を依頼した通信装置のIPアドレスを検索する。
【００３３】
判定部１２は、DNSサーバに名前解決を依頼した通信装置のIPアドレスが詐称されているか否かを判定し、判定結果を含む判定結果情報を生成する。通信部１３は、IPアドレスが詐称されているか否かの判定の依頼を示す判定依頼情報を他の通信装置から受信して検索部１１へ出力し、判定部１２によって生成された判定結果情報を判定依頼情報の送信元へ送信する。判定依頼情報には、攻撃対象となった通信装置のIPアドレスまたはドメイン名と、その通信装置へパケットを送信した通信装置のIPアドレス（Source IP）とが含まれている。
【００３４】
検索部１１は具体的には以下の検索を行う。すなわち、検索部１１は、判定依頼情報に含まれる通信装置のIPアドレスまたはドメイン名を検索のキーとして、DNSログ中のDestination IPまたはDestination Domainを検索し、判定依頼情報に含まれる通信装置のIPアドレスまたはドメイン名と一致するDestination IPまたはDestination Domainを抽出する。さらに、検索部１１は、抽出したDestination IPまたはDestination Domainと対応関係を有するSource IPをDNSログから抽出する。このSource IPが、DNSサーバに名前解決を依頼した通信装置のIPアドレスである。
【００３５】
判定部１２は具体的には以下の判定を行う。すなわち、判定部１２は、検索部１１が抽出したSource IPと、判定依頼情報に含まれるSource IPとが一致するか否かを判定する。両者が一致した場合（検索部１１が抽出したSource IPの中に、判定依頼情報に含まれるSource IPと一致するものがあった場合）、判定部１２はSource IPが詐称されていないと判定する。また、両者が一致しなかった場合（検索部１１が抽出したSource IPの中に、判定依頼情報に含まれるSource IPと一致するものがなかった場合）、判定部１２はSource IPが詐称されていると判定する。以下、上記の通信装置の動作の具体例を説明する。
【００３６】
＜第１の動作例＞
まず、第１の動作例を説明する。図５は、第１の動作例に係る通信システムの構成を示している。通信装置１，２およびDNSサーバ３ａ，３ｅについては前述した通りである。DNSサーバ３ａはリゾルバとなって再帰検索を行い、DNSサーバ３ｅはDNSサーバ３ａから反復検索の依頼を受けて反復検索を行う。また、DNSサーバ３ａ，３ｅは、自身が記憶するDNSログに基づいて、Source IPが詐称されているか否かの判定を行う。すなわち、DNSサーバ３ａ，３ｅは、図１の記憶部１０、検索部１１、判定部１２、および通信部１３の機能を備えている。
【００３７】
通信装置１は、DNSサーバ３ａに対して、ドメイン名「www.XXX.co.jp」に対応するIPアドレスの再帰検索を依頼するため、自身のIPアドレスおよび検索対象のドメイン名を含む情報５００をDNSサーバ３ａへ送信する。再帰検索の依頼を受けたDNSサーバ３ａは、前述したようにドメイン・ツリーをたどって他のDNSサーバに反復検索を依頼し（図示せず）、最後にDNSサーバ３ｅに反復検索を依頼するため、自身のIPアドレスおよび検索対象のドメイン名を含む情報５１０をDNSサーバ３ｅへ送信する。
【００３８】
反復検索の依頼を受けたDNSサーバ３ｅは、自身が管理しているIPアドレスの中から、ドメイン名「www.XXX.co.jp」に対応するIPアドレスを検索し、通信装置２のIPアドレス「xxx.xxx.xxx.xxx」を含む反復検索結果の情報５２０をDNSサーバ３ａへ送信する。DNSサーバ３ａは、通信装置２のIPアドレス「xxx.xxx.xxx.xxx」を含む再帰検索結果の情報５３０を通信装置１へ送信する。以上によって、通信装置１は通信装置２のIPアドレスを取得することができる。
【００３９】
Source IPが詐称されているか否かの判定は以下のようにして行われる。攻撃対象となった通信装置２は、自身が属するドメインの情報を管理するDNSサーバ３ｅのIPアドレスを予め記憶しているものとする。通信装置２は、攻撃を受けた時刻と、自身のIPアドレス（Destination IP）と、受信したパケットに含まれる送信元の通信装置のIPアドレス（Source IP）とを含む判定依頼情報５４０をDNSサーバ３ｅへ送信し、DNSサーバ３ｅにSource IPの判定を依頼する。
【００４０】
判定依頼情報５４０を受信したDNSサーバ３ｅの制御装置は記憶装置から反復検索のDNSログを読み出す。DNSサーバ３ｅの制御装置は、反復検索のDNSログに記録されている時刻と通信装置２から通知された時刻とを比較し、通信装置２から通知された時刻の直前N（Ｎ＞０）秒の範囲内の時刻が記録されているレコードのみを検索対象とする。このNは適宜決定すればよい。このように、攻撃を受けた時刻に基づいて検索範囲を設定することによって、誤判定の発生を低減することができる。
【００４１】
続いて、DNSサーバ３ｅの制御装置は、通信装置２のIPアドレスを検索のキーとして、反復検索のDNSログに記録されているDestination IPを検索し、通信装置２のIPアドレスと一致するDestination IPを有するレコードのリゾルバIPを取得する。DNSサーバ３ｅの制御装置は、リゾルバIPを有するDNSサーバ３ａに判定を依頼するため、通信装置２から受信した判定依頼情報５４０と同様の判定依頼情報５５０をDNSサーバ３ａへ送信する。
【００４２】
判定依頼情報５５０を受信したDNSサーバ３ａの制御装置は記憶装置から再帰検索のDNSログを読み出す。DNSサーバ３ａの制御装置は、再帰検索のDNSログに記録されている時刻と判定依頼情報５５０に含まれる時刻とを比較し、判定依頼情報５５０に含まれる時刻の直前N（Ｎ＞０）秒の範囲内の時刻が記録されているレコードのみを検索対象とする。
【００４３】
続いて、DNSサーバ３ａの制御装置は、判定依頼情報５５０に含まれる通信装置２のIPアドレスを検索のキーとして、再帰検索のDNSログに記録されているDestination IPを検索し、通信装置２のIPアドレスと一致するDestination IPを有するレコードのSource IPを取得する。このSource IPが、通信装置２に関する名前解決を依頼した通信装置１のIPアドレスである。
【００４４】
続いて、DNSサーバ３ａの制御装置は、上記の検索により取得したSource IPと、判定依頼情報に含まれるSource IPとが一致するか否かを判定する。両者が一致した場合、DNSサーバ３ａの制御装置はSource IPが詐称されていないと判定する。また、両者が一致しなかった場合、DNSサーバ３ａの制御装置はSource IPが詐称されていると判定する。
【００４５】
DNSサーバ３ａの制御装置は、判定結果を示す判定結果情報５６０をDNSサーバ３ｅへ送信する。この判定結果情報５６０を受信したDNSサーバ３ｅの制御装置は判定結果情報５７０を通信装置２へ転送し、Source IPが詐称されているか否かを通知する。上記の判定の結果、Source IPが詐称されていることが分かった場合、Source IPを追跡するトレースバック処理が開始されることになる。
【００４６】
上記において、Destination IPの代わりにDestination Domainを用いても同様の処理を実現することが可能である。また、上記では、Destination IPの反復検索を行ったDNSサーバ３ｅが、リゾルバとしてのDNSサーバ３ａにSource IPの問合せを行っているが、DNSサーバ３ｅがDNSサーバ３ａから再帰検索のDNSログを収集し、そのDNSログに基づいて判定を行ってもよい。その場合には、DNSサーバ３ｅは、反復検索のDNSログに基づく検索により取得したリゾルバIPを有するDNSサーバ３ａへ、再帰検索のDNSログの取得を要求する情報を送信する。DNSサーバ３ａは、その情報に基づいて再帰検索のDNSログをDNSサーバ３ｅへ送信する。DNSサーバ３ｅは再起検索のDNSログをDNSサーバ３ａから受信し、そのDNSログに基づいて上記と同様の判定を行う。
【００４７】
＜第２の動作例＞
次に、第２の動作例を説明する。図６は、第２の動作例に係る通信システムの構成を示している。通信装置１，２およびDNSサーバ３ａ，３ｅについては前述した通りである。DNSサーバ３ａはリゾルバとなって再帰検索を行い、DNSサーバ３ｅはDNSサーバ３ａから反復検索の依頼を受けて反復検索を行う。また、DNSサーバ３ａ，３ｅは、第１の動作例と同様に、図１の記憶部１０、検索部１１、判定部１２、および通信部１３の機能を備えている。管理装置４は、Source IPが詐称されているか否かの判定に係る一連の通信を管理する。
【００４８】
Source IPが詐称されているか否かの判定は以下のようにして行われる。通信装置１は第１の動作例と同様にして、DNSサーバ３ａに対して、ドメイン名「www.XXX.co.jp」に対応するIPアドレスの再帰検索を依頼し、通信装置２のIPアドレス「xxx.xxx.xxx.xxx」を取得しているものとする。また、攻撃対象となった通信装置２は、自身が属するドメインの情報を管理するDNSサーバ３ｅのIPアドレスを予め記憶しているものとする。攻撃対象となった通信装置２は、攻撃を受けた時刻と、自身のIPアドレス（Destination IP）と、受信したパケットに含まれる送信元の通信装置のIPアドレス（Source IP）と、DNSサーバ３ｅのIPアドレスとを含む判定依頼情報６００を管理装置４へ送信する。
【００４９】
判定依頼情報６００を受信した管理装置４は、通信装置２のIPアドレスに関する再帰検索を行ったDNSサーバ（リゾルバ）を問い合わせる情報６１０をDNSサーバ３ｅへ送信する。この情報６１０には、通信装置２のIPアドレスが含まれている。情報６１０を受信したDNSサーバ３ｅの制御装置は、通信装置２のIPアドレスを検索のキーとして、反復検索のDNSログに記録されているDestination IPを検索し、通信装置２のIPアドレスと一致するDestination IPを有するレコードのリゾルバIPを取得する。DNSサーバ３ｅの制御装置は、取得したリゾルバIPを含む情報６２０を管理装置４へ送信する。
【００５０】
情報６２０を受信した管理装置４は、情報６２０に含まれるリゾルバIPを有するDNSサーバ３ａに判定を依頼するため、通信装置２から受信した判定依頼情報６００と同様の判定依頼情報６３０をDNSサーバ３ａへ送信する。判定依頼情報６３０を受信したDNSサーバ３ａの制御装置は記憶装置から再帰検索のDNSログを読み出す。DNSサーバ３ａの制御装置は、再帰検索のDNSログに記録されている時刻と、判定依頼情報６３０に含まれる時刻とを比較し、判定依頼情報６３０に含まれる時刻の直前N（Ｎ＞０）秒の範囲内の時刻が記録されているレコードのみを検索対象とする。
【００５１】
続いて、DNSサーバ３ａの制御装置は、判定依頼情報６３０に含まれる通信装置２のIPアドレスを検索のキーとして、再帰検索のDNSログに記録されているDestination IPを検索し、通信装置２のIPアドレスと一致するDestination IPを有するレコードのSource IPを取得する。このSource IPが、通信装置２に関する名前解決を依頼した通信装置１のIPアドレスである。
【００５２】
続いて、DNSサーバ３ａの制御装置は、上記の検索により取得したSource IPと、判定依頼情報に含まれるSource IPとが一致するか否かを判定する。両者が一致した場合、DNSサーバ３ａの制御装置はSource IPが詐称されていないと判定する。また、両者が一致しなかった場合、DNSサーバ３ａの制御装置はSource IPが詐称されていると判定する。
【００５３】
DNSサーバ３ａの制御装置は、判定結果を示す判定結果情報６４０を管理装置４へ送信する。この判定結果情報６４０を受信した管理装置４は判定結果情報６５０を通信装置２へ転送し、Source IPが詐称されているか否かを通知する。上記の判定の結果、Source IPが詐称されていることが分かった場合、Source IPを追跡するトレースバック処理が開始されることになる。上記において、Destination IPの代わりにDestination Domainを用いても同様の処理を実現することが可能である。
【００５４】
＜トレースバックの動作例＞
次に、トレースバックの動作例を説明する。図７は、トレースバックを行う通信システムの構成を示している。通信装置１，２およびDNSサーバ３ａ，３ｅについては前述した通りである。以下では通信装置１が攻撃元の通信装置であるものとする。本実施形態では、従来技術で使用されているトレースバックと同様のトレースバックを行うことが可能である。しかし、以下では、DNSサーバのログに注目した、従来と異なるトレースバックの動作例を説明する。
【００５５】
DNSサーバが保持するログを参照し、攻撃先の通信装置のドメイン名の名前解決を依頼した通信装置のIPアドレス（Source IP）の記録を探すことによって、Source IPを追跡することもできる。例えば、図３に示したログにおいて、通信装置１から依頼された再帰検索の結果はレコード３５０に記録されている。したがって、通信装置２が攻撃を受けた場合、通信装置２のIPアドレスまたはドメイン名を検索のキーとしてDestination IP３４０またはDestination Domain３３０を検索し、通信装置２のIPアドレスまたはドメイン名に対応したSource IPを取得することによって、攻撃元の通信装置１のIPアドレスを追跡することができる。
【００５６】
Source IPの追跡は以下のようにして行われる。通信装置１は第１の動作例と同様にして、DNSサーバ３ａに対して、ドメイン名「www.XXX.co.jp」に対応するIPアドレスの再帰検索を依頼し、通信装置２のIPアドレス「xxx.xxx.xxx.xxx」を取得しているものとする。また、攻撃対象となった通信装置２は、自身が属するドメインの情報を管理するDNSサーバ３ｅのIPアドレスを予め記憶しているものとする。
【００５７】
通信装置２は、攻撃を受けた時刻と自身のIPアドレス（Destination IP）を含む情報７００をDNSサーバ３ｅへ送信し、DNSサーバ３ｅにSource IPを問い合わせる。通信装置２からSource IPの問合せを受けたDNSサーバ３ｅの制御装置は記憶装置から反復検索のDNSログを読み出す。DNSサーバ３ｅの制御装置は、反復検索のDNSログに記録されている時刻と通信装置２から通知された時刻とを比較し、通信装置２から通知された時刻の直前N（Ｎ＞０）秒の範囲内の時刻が記録されているレコードのみを検索対象とする。
【００５８】
続いて、DNSサーバ３ｅの制御装置は、通信装置２のIPアドレスを検索のキーとして、反復検索のDNSログに記録されているDestination IPを検索し、通信装置２のIPアドレスと一致するDestination IPを有するレコードのリゾルバIPを取得する。DNSサーバ３ｅの制御装置は、リゾルバIPを有するDNSサーバ３ａにSource IPを問い合わせるため、通信装置２から通知された時刻と通信装置２のIPアドレスとを含む情報７１０をDNSサーバ３ａへ送信する。
【００５９】
問合せを受けたDNSサーバ３ａの制御装置は記憶装置から再帰検索のDNSログを読み出す。DNSサーバ３ａの制御装置は、再帰検索のDNSログに記録されている時刻とDNSサーバ３ｅから通知された時刻とを比較し、DNSサーバ３ｅから通知された時刻の直前N（Ｎ＞０）秒の範囲内の時刻が記録されているレコードのみを検索対象とする。
【００６０】
続いて、DNSサーバ３ａの制御装置は、通信装置２のIPアドレスを検索のキーとして、再帰検索のDNSログに記録されているDestination IPを検索し、通信装置２のIPアドレスと一致するDestination IPを有するレコードのSource IPを取得する。このSource IPが攻撃元の通信装置１のIPアドレスである。DNSサーバ３ａの制御装置は、検索により取得したSource IPを含む情報７２０をDNSサーバ３ｅへ送信する。この情報７２０を受信したDNSサーバ３ｅの制御装置は情報７３０を通信装置２へ転送し、攻撃元の通信装置１のIPアドレスを通知する。上記において、Destination IPの代わりにDestination Domainを用いても同様の処理を実現することが可能である。
【００６１】
＜第１の変形例＞
次に、本実施形態の変形例を説明する。まず、第１の変形例を説明する。図３に示したDNSログにおいて、通信装置１から依頼された再帰検索の結果はレコード３５０に記録されている。通信装置２のIPアドレスまたはドメイン名と、通信装置２へパケットを送信した通信装置のIPアドレス（Source IP）との組合せを検索のキーとして、Destination IP３４０またはDestination Domain３３０とSource IP３２０との組合せを検索することによって、通信装置２に関する名前解決を依頼した通信装置１がIPアドレスを詐称しているか否かを判定することもできる。
【００６２】
通信装置１がIPアドレスを詐称することなく正規のパケットを通信装置２へ送信した場合には、通信装置２のIPアドレスまたはドメイン名とSource IPとの組合せと一致する組合せがDNSログから見つかるので、通信装置１のIPアドレスは詐称されていないと判定することができる。これに対して、通信装置１がIPアドレスを詐称してパケットを通信装置２へ送信した場合には、名前解決時のIPアドレスと通信装置２へのパケット送信時のIPアドレスとが異なるため、通信装置２のIPアドレスまたはドメイン名とSource IPとの組合せと一致する組合せがDNSログから見つからない。したがって、通信装置１のIPアドレスは詐称されていると判定することができる。
【００６３】
図１に示した構成に基づいて、具体的な動作を説明する。通信部１３は、攻撃対象となった通信装置のIPアドレスまたはドメイン名と、その通信装置へパケットを送信した通信装置のIPアドレス（Source IP）とを含む判定依頼情報を他の通信装置から受信して検索部１１へ出力する。検索部１１は、判定依頼情報に含まれる通信装置のIPアドレスまたはドメイン名とSource IPとの組合せを検索のキーとして、この組合せと一致するDNSログ中のDestination IPまたはDestination DomainとSource IPとの組合せを検索し、検索結果を判定部１２に通知する。
【００６４】
判定部１２は、検索部１１から通知された検索結果に基づいて、判定依頼情報に含まれる通信装置のIPアドレスまたはドメイン名とSource IPとの組合せと一致する組合せを検索部１１が検索できたか否かを判定し、判定結果を含む判定結果情報を生成する。通信部１３は、判定部１２によって生成された判定結果情報を判定依頼情報の送信元へ送信する。
【００６５】
＜第２の変形例＞
次に、第２の変形例を説明する。図８は、本実施形態による通信装置の他の構成を示している。上記では、Source IPが詐称されているか否かの判定を依頼するため、通信装置２とDNSサーバの間、またはDNSサーバ同士の間等で、個人のプライバシーに関わるDestination IPまたはDestination Domainが送受信されてしまう。そこで、図８に示す通信装置は、他の装置との間でDestination IPやDestination Domainの送受信を行うことなく、Source IPが詐称されているか否かの判定を行う。これによって、個人のプライバシーに関わる情報の漏洩を防止することができる。
【００６６】
図８において、ハッシュ値算出部１４はIPアドレスやドメイン名のハッシュ値を算出する。具体的には、ハッシュ値算出部１４は記憶部１０からDNSログを読み出し、DNSログ中の全てのDestination IP またはDestination Domainのハッシュ値を算出する。ハッシュ値算出部１４は、DNSログに記録されている情報にハッシュ値を追加した状態で、DNSログを記憶部１０に格納する。検索部１１は、このDNSログを用いて、DNSサーバに名前解決を依頼した通信装置のIPアドレスを検索することになる。
【００６７】
通信部１３が受信する判定依頼情報には、攻撃対象となった通信装置のIPアドレスまたはドメイン名のハッシュ値と、その通信装置へパケットを送信した通信装置のIPアドレス（Source IP）のハッシュ値とが含まれている。検索部１１は、判定依頼情報に含まれる、攻撃対象となった通信装置のIPアドレスまたはドメイン名のハッシュ値を検索のキーとして、DNSログ中のハッシュ値を検索し、攻撃対象となった通信装置のIPアドレスまたはドメイン名のハッシュ値と一致するハッシュ値をDNSログから抽出する。さらに、検索部１１は、このハッシュ値を算出する元となったDestination IPまたはDestination Domainと対応関係を有するSource IPをDNSログから抽出する。このSource IPが、DNSサーバに名前解決を依頼した通信装置のIPアドレスである。
【００６８】
ハッシュ値算出部１４は、検索部１１が抽出したSource IPのハッシュ値を算出し、判定部１２へ出力する。判定部１２は、ハッシュ値算出部１４から出力されたハッシュ値と、判定依頼情報に含まれるSource IPのハッシュ値とが一致するか否かを判定する。両者が一致した場合、判定部１２はSource IPが詐称されていないと判定する。また、両者が一致しなかった場合、判定部１２はSource IPが詐称されていると判定する。
【００６９】
Source IPが詐称されているか否かの判定を依頼する場合、通信装置やDNSサーバはDestination IPや、Destination Domain、Source IPの代わりにそれらのハッシュ値を送信する。ハッシュ値を受信したDNSサーバやDNSログ管理装置は、上記と同様にして、ハッシュ値をキーにした検索を行い、判定を行う。
【００７０】
なお、第１の変形例と同様にして、IPアドレスやドメイン名の組合せのハッシュ値を検索のキーに用いてもよい。特に、攻撃対象となった通信装置のドメイン名とSource IPとの組合せのハッシュ値を用いた場合には、無限のハッシュ値のパターンが存在するので、ハッシュ値からドメイン名やSource IPを類推することは不可能となる。
【００７１】
上述したように、本実施形態によれば、攻撃対象となった通信装置で検出されたSource IP（あるいはSource IPと他の情報との組合せ）と、DNSログに記録されているSource IP（あるいはSource IPと他の情報との組合せ）とが一致するか否かを判定することによって、攻撃対象となった通信装置へパケットを送信した装置のIPアドレスが詐称されているか否かを確認することができる。
【００７２】
以上、図面を参照して本発明の実施形態について詳述してきたが、具体的な構成は上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。例えば、上述した実施形態による通信装置の動作および機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータに読み込ませ、実行させてもよい。
【００７３】
ここで、「コンピュータ」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【００７４】
また、上述したプログラムは、このプログラムを記憶装置等に格納したコンピュータから、伝送媒体を介して、あるいは伝送媒体中の伝送波により他のコンピュータに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように、情報を伝送する機能を有する媒体のことをいう。また、上述したプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能を、コンピュータに既に記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【図面の簡単な説明】
【００７５】
【図１】本発明の一実施形態による通信装置の構成を示すブロック図である。
【図２】本発明の一実施形態による通信システムの名前解決動作を説明するための構成図である。
【図３】本発明の一実施形態による通信システムで使用されるDNSログの内容を示す参考図である。
【図４】本発明の一実施形態による通信システムで使用されるDNSログの内容を示す参考図である。
【図５】本発明の一実施形態による通信システムの第１の動作例を説明するための構成図である。
【図６】本発明の一実施形態による通信システムの第２の動作例を説明するための構成図である。
【図７】本発明の一実施形態による通信システムのトレースバック動作を説明するための構成図である。
【図８】本発明の一実施形態による通信装置の構成の変形例を示すブロック図である。
【符号の説明】
【００７６】
１，２・・・通信装置、３ａ，３ｂ，３ｃ，３ｄ，３ｅ・・・DNSサーバ、４・・・管理装置、１０・・・記憶部、１１・・・検索部、１２・・・判定部、１３・・・通信部、１４・・・ハッシュ値算出部
【図１】
0004856111.tif 000002
【図２】
0004856111.tif 000003
【図３】
0004856111.tif 000004
【図４】
0004856111.tif 000005
【図５】
0004856111.tif 000006
【図６】
0004856111.tif 000007
【図７】
0004856111.tif 000008
【図８】
0004856111.tif 000009