JP2019195128A - キャッシュdnsサーバ、改竄防止方法、及び改竄防止プログラム - Google Patents

キャッシュdnsサーバ、改竄防止方法、及び改竄防止プログラム Download PDF

Info

Publication number
JP2019195128A
JP2019195128A JP2018088365A JP2018088365A JP2019195128A JP 2019195128 A JP2019195128 A JP 2019195128A JP 2018088365 A JP2018088365 A JP 2018088365A JP 2018088365 A JP2018088365 A JP 2018088365A JP 2019195128 A JP2019195128 A JP 2019195128A
Authority
JP
Japan
Prior art keywords
address
dns server
cache
server
domain name
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2018088365A
Other languages
English (en)
Inventor
裕次 佐藤
Yuji Sato
裕次 佐藤
徳久 足立
Norihisa Adachi
徳久 足立
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2018088365A priority Critical patent/JP2019195128A/ja
Publication of JP2019195128A publication Critical patent/JP2019195128A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】第3者からの攻撃を防御する。【解決手段】複数の権威DNSサーバと通信可能なキャッシュDNSサーバであって、ネットワーク上のサーバのドメイン名及びアドレスを対応づけて記憶する記憶部と、第1ドメイン名に対応するアドレスを問い合わせるアドレス問い合わせを通信装置から受信したとき、前記記憶部が前記第1ドメイン名に対応するアドレスを記憶していない場合、前記複数の権威DNSサーバのうち第1権威DNSサーバに前記アドレス問い合わせを送信し、前記アドレス問い合わせと対応づけられた応答の待受け時間内に、前記アドレス問い合わせと対応づけられた応答として互いに異なる複数のアドレス応答を受信した場合、前記複数の権威DNSサーバのうち、前記第1権威DNSサーバとは異なる第2権威DNSサーバにアドレス問い合わせを送信する制御部と、を有する。【選択図】 図8

Description

本発明は、キャッシュDNSサーバ、改竄防止方法、及び改竄防止プログラムに関する。
IP(Internet Protocol)ネットワークにおいて、サーバやコンピュータは、ネットワーク上のアドレスを示すIPアドレスを用いてパケットの送受信を行い、通信を実現する。しかし、IPアドレスは、数字の羅列であり、ユーザにとって覚えやすいものではない。そこで、文字列で構成されるドメイン名を、IPアドレスに対応づけて使用することがある。ドメイン名は、例えば、サーバのURL(Uniform Resource Locator)や、メールアドレスの一部に使用される。
ドメイン名は、例えば、権威DNS(Domain Name System)サーバで、IPアドレスを対応づけて管理される。通信装置は、ドメイン名を使用して通信を行う場合、権威DNSサーバにドメイン名に対応するIPアドレスを問い合わせ、権威DNSサーバからの問い合わせ応答を受信し、問い合わせ応答に含まれるIPアドレスで通信を行う。
また、権威DNSサーバに問い合わせが集中しないよう、キャッシュDNSサーバが設置されることがある。キャッシュDNSサーバは、権威DNSサーバから受信した、ドメイン名とIPアドレスの対応関係を、一時的に記憶しておくサーバである。キャッシュDNSサーバは、通信装置からの問い合わせに対し、問い合わせ対象のドメイン名に対応するIPアドレスを記憶している場合、権威DNSサーバに問い合わせずに、通信装置にIPアドレスを送信する。また、キャッシュDNSサーバは、記憶してから所定時間が経過したIPアドレスを、メモリから削除する。
DNSサーバに関する技術は、以下の特許文献1及び2に記載されている。
特開2011-049745号公報 特表2013-517726号公報
しかし、キャッシュDNSサーバは、一時記憶するIPアドレスを改竄する攻撃を、第3者から受ける場合がある。例えば、第3者からの攻撃において、キャッシュDNSサーバは、権威DNSサーバになりすました第3者のサーバ(以降、なりすましサーバと呼ぶ場合がある)から、虚偽の問い合わせ応答を受信する。キャッシュDNSサーバは、虚偽の問い合わせ応答に含まれる虚偽のIPアドレスを、問い合わせ対象のドメイン名に対応するIPアドレスとして一時記憶する。そして、当該ドメイン名の問い合わせを行った通信装置に対して、虚偽のIPアドレスを含む問い合わせ応答を返信する。これにより、通信装置は、虚偽のIPアドレスを有する不正なサーバと通信を行う。通信装置は、不正なサーバと通信を行うと、例えば、不正なアプリケーションソフトをダウンロードされたり、通信装置が有するユーザの個人情報を読み出されたりする場合がある。
そこで、第3者からの攻撃を防御するキャッシュDNSサーバ、改竄防止方法、及び改竄防止プログラムを提供することを目的とする。
1つの側面では、複数の権威DNSサーバと通信可能なキャッシュDNSサーバであって、ネットワーク上のサーバのドメイン名及びアドレスを対応づけて記憶する記憶部と、第1ドメイン名に対応するアドレスを問い合わせるアドレス問い合わせを通信装置から受信したとき、前記記憶部が前記第1ドメイン名に対応するアドレスを記憶していない場合、前記複数の権威DNSサーバのうち第1権威DNSサーバに前記アドレス問い合わせを送信し、前記アドレス問い合わせと対応づけられた応答の待受け時間内に、前記アドレス問い合わせと対応づけられた応答として互いに異なる複数のアドレス応答を受信した場合、前記複数の権威DNSサーバのうち、前記第1権威DNSサーバとは異なる第2権威DNSサーバにアドレス問い合わせを送信する制御部と、有する。
一側面では、第3者からの攻撃を防御することができる。
図1は、通信システム10の構成例を示す図である。 図2は、権威DNSサーバ300の有する、ドメイン名とIPアドレスの対応関係の一覧の例を示す図である。 図3は、第1方式における、通信装置100−1がWEBサーバ400−1にアクセスするシーケンスの例を示す図である。 図4は、第1方式において、なりすましサーバからの攻撃を受けた場合のシーケンスの例を示す図である。 図5は、キャッシュDNSサーバ200の構成例を示す図である。 図6は、第2方式による通信のシーケンスの例を示す図である。 図7は、アドレス要求受信処理S101の処理フローチャートの例を示す図である。 図8は、アドレス応答待受処理S102の処理フローチャートの例を示す図である。 図9は、権威DNSサーバの一覧の例を示す図である。 図10は、キャッシュDNSサーバ200が記憶する、ドメイン名と対応するIPアドレスの一覧の例を示す図である。 図11は、キャッシュデータ削除処理S200の処理フローチャートの例を示す図である。 図12は、対象外フラグOFF処理S300の処理フローチャートの例を示す図である。 図13は、第2方式による通信のシーケンスの例を示す図である。
[第1の実施の形態]
<通信システムの構成例>
図1は、通信システム10の構成例を示す図である。通信システム10は、通信装置100−1,2、キャッシュDNSサーバ200、権威DNSサーバ300−1,2、WEBサーバ400−1,2、及びネットワーク500を有する。各装置(通信装置100−1,2、キャッシュDNSサーバ200、権威DNSサーバ300−1,2、WEBサーバ400−1,2)は、それぞれ、ネットワーク500を介して接続し、通信を行う。ネットワーク500は、例えば、IPネットワークであり、各装置それぞれにIPアドレスが割り振られている。各装置は、IPアドレスを指定したパケットを送受信することで、装置間の通信を実現する。
通信装置100−1,2(以降、通信装置100と呼ぶ場合がある)は、WEBサーバにアクセスする装置であり、例えば、コンピュータや移動体通信端末である。通信装置100は、WEBサーバにアクセスするとき、WEBサーバのドメイン名に対応するIPアドレスを、キャッシュDNSサーバ200に問い合わせる。そして、通信装置100は、問い合わせに対する応答をキャッシュDNSサーバ200から受信し、IPアドレスを使用してWEBサーバと通信することで、WEBサーバが提供するサービスを享受する。
WEBサーバ400−1,2(以降、WEBサーバ400と呼ぶ場合がある)は、通信装置100に、例えば、ホームページの閲覧やファイルの管理などの、サービスを提供するサーバマシンである。WEBサーバ400−1は、例えば、ドメイン名(DN)が「AAA」で、IPアドレス(Adr)が「aaa」である。また、WEBサーバ400−2は、例えば、ドメイン名(DN)が「BBB」で、IPアドレス(Adr)が「bbb」である。通信装置100は、WEBサーバ400−1にアクセスするとき、例えば、ブラウザでWEBサーバ400−1のドメイン名を含むURLを指定することで、WEB400−1にアクセスする。
権威DNSサーバ300−1,2(以降、権威DNSサーバ300と呼ぶ場合がある)は、WEBサーバ400のドメイン名とIPアドレスを対応づけて記憶する。
図2は、権威DNSサーバ300の有する、ドメイン名とIPアドレスの対応関係の一覧の例を示す図である。権威DNSサーバ300は、例えば、WEB400−1のドメイン名「AAA」に対応するIPアドレス「aaa」を、内部メモリに記憶する。権威DNSサーバ300は、キャッシュDNSサーバ200や通信装置100の問い合わせに応答し、対応関係の一覧から該当するIPアドレスを抽出し、問い合わせ応答として問い合わせ元の装置に返信する。
キャッシュDNSサーバ200は、ドメイン名とIPアドレスの対応関係を一時的に記憶するサーバマシンである。以降、キャッシュDNSサーバ200が一時的に記憶するドメイン名及びIPアドレスを、キャッシュデータと呼ぶ場合がある。キャッシュDNSサーバ200は、通信装置100からドメイン名に対応するIPアドレスの問い合わせを受信する。キャッシュDNSサーバ200は、自装置が問い合わせ対象のドメイン名をキャッシュデータとして記憶している場合、権威DNSサーバ300に問い合わせることなく、対応するIPアドレスを通信装置100に返信する。また、キャッシュDNSサーバ200は、キャッシュデータに問い合わせ対象のドメイン名を記憶していない場合、権威DNSサーバ300に問い合わせを送信する。
図3は、第1方式における、通信装置100−1がWEBサーバ400−1にアクセスするシーケンスの例を示す図である。第1方式は、なりすましサーバからの攻撃に対策を行わない通信方式である。
通信装置100−1は、WEBサーバ400−1のドメイン名「AAA」に対応するIPアドレスを問い合わせるアドレス要求(アドレス問い合わせ)を、キャッシュDNSサーバ200に送信する(S10)。
キャッシュDNSサーバ200は、アドレス要求を受信すると、自装置がドメイン名「AAA」に対応するIPアドレスを記憶しているか否かを確認し、記憶していない場合、権威DNSサーバ300−1にアドレス要求を送信する(S11)。
権威DNSサーバ300−1は、アドレス要求を受信すると、ドメイン名「AAA」に対応するIPアドレス「aaa」を含む、問い合わせ応答であるアドレス応答をキャッシュDNSサーバ200に送信する(S12)。
キャッシュDNSサーバ200は、アドレス応答を受信すると、例えば、自装置の内部メモリに、ドメイン名「AAA」に対応するIPアドレス「aaa」を一時記憶する。そして、キャッシュDNSサーバ200は、通信装置100−1に、IPアドレス「aaa」を含むアドレス応答を送信する(S13)。
通信装置100−1は、アドレス応答を受信すると、アドレス応答に含まれるIPアドレス「aaa」を用いて、WEBサーバ400−1にアクセスする(S14)。
第1方式において、上述したシーケンスに示すように、通信装置100−1は、WEBサーバ400−1にアクセスすることができる。しかし、通信システム10内に成りすましサーバが存在する場合、第1方式における通信装置100−1は、不正なサーバにアクセスしてしまう場合がある。
図4は、第1方式において、なりすましサーバからの攻撃を受けた場合のシーケンスの例を示す図である。通信装置100−1がアドレス要求をキャッシュDNSサーバ200に送信する処理S10から、権威DNSサーバ300−1がアドレス応答をキャッシュDNSサーバ200に送信する処理S12までは、図3と同様である。
ここで、キャッシュDNSサーバ200は、権威DNSサーバ300−1からのアドレス応答を受信する前に、なりすましサーバ600から、不正なWEBサーバ700のIPアドレス「xxx」を含むアドレス応答を受信する(S20)。
キャッシュDNSサーバ200は、なりすましサーバ600からのアドレス応答を受信すると、ドメイン名「AAA」に対応するIPアドレスとして、不正なWEBサーバ700のIPアドレス「xxx」を一時記憶する。そして、キャッシュDNSサーバ200は、通信装置100−1に、IPアドレス「xxx」を含むアドレス応答を送信する(S21)。
通信装置100−1は、アドレス応答を受信すると、アドレス応答に含まれるIPアドレス「xxx」を用いて、不正なWEBサーバ700にアクセスする(S20)。
第1方式では、上述したように、通信装置100は、不正なWEBサーバにアクセスする場合がある。そこで、キャッシュDNSサーバ200は、アドレス応答を受信しても、すぐにはIPアドレスを記憶せず、所定時間だけアドレス応答の受信を待ち受ける処理を行う第2方式による通信を行う。
<キャッシュDNSサーバの構成例>
図5は、キャッシュDNSサーバ200の構成例を示す図である。キャッシュDNSサーバ200は、CPU(Central Processing Unit)210、ストレージ220、メモリ230、及びNIC(Network Interface Card)240−1〜n(以降、NIC240と呼ぶ場合がある)を有する。キャッシュDNSサーバ200は、通信装置100からのアドレス要求を受信し、問い合わせ対象のドメイン名に対応するIPアドレスを含むアドレス応答を通信装置100に送信する。
ストレージ220は、プログラムやデータを記憶する、フラッシュメモリ、HDD(Hard Disk Drive)、又はSSD(Solid State Drive)などの補助記憶装置である。ストレージ220は、キャッシュデータ管理プログラム221を有する。
メモリ230は、ストレージ220に記憶されているプログラムをロードする領域である。また、メモリ230、プログラムがデータを記憶する領域としても使用される。また、メモリ230は記憶部の一例として、キャッシュDNSサーバ200がキャッシュデータを記憶する領域として使用されてもよい。
NIC240は、他の通信装置やネットワークと接続し、通信を行う装置であり、例えば、ネットワークインターフェースカードである。また、NIC240は、例えば、ハブなどを介して、他の通信装置やネットワークと接続してもよい。
CPU210は、ストレージ220に記憶されているプログラムを、メモリ230にロードし、ロードしたプログラムを実行し、各処理を実現するプロセッサ又はコンピュータである。
CPU210は、キャッシュデータ管理プログラム221を実行することで、制御部及び受信部を構築し、キャッシュデータ管理処理を行う。キャッシュデータ管理処理は、ドメイン名とIPアドレスの対応関係の一時記憶、通信装置100からのアドレス要求の受信処理を行う処理である。
CPU210は、キャッシュデータ管理プログラム221が有するアドレス要求受信モジュール2211を実行することで、制御部及び受信部を構築し、アドレス要求受信処理を行う。アドレス要求受信処理は、通信装置100からアドレス要求を受信し、権威DNSサーバ300にアドレス要求を送信する処理である。また、アドレス要求処理は、権威DNSサーバ300からのアドレス応答を、待受け時間だけ待ち受ける処理である。
また、CPU210は、アドレス要求受信モジュール2211が有するアドレス応答待受サブモジュール22111を実行することで、制御部及び受信部を構築し、アドレス応答待受処理を行う。アドレス応答待受処理は、権威DNSサーバ300からのアドレス応答を、待受け時間だけ待ち受ける処理である。また、アドレス応答待受処理は、アドレス応答を受信した時、ドメイン名及びIPアドレスをキャッシュデータとして記憶する処理である。
CPU210は、キャッシュデータ管理プログラム221が有する対象外フラグOFFモジュール2212を実行することで、制御部を構築し、対象外フラグOFF処理を行う。対象外フラグOFF処理は、アドレス要求の送信対象外とすることを示す対象外フラグがONである権威DNSサーバ300の対象外フラグがONにされた時間を監視し、対象外フラグをOFFにする処理である。
CPU210は、キャッシュデータ管理プログラム221が有するキャッシュデータ削除モジュール2213を実行することで、キャッシュデータ削除処理を行う。キャッシュデータ削除処理は、一時記憶しているキャッシュデータを、所定時間ごとに削除する処理である。
<第2方式による通信>
図6は、第2方式による通信のシーケンスの例を示す図である。通信装置100−1は、WEBサーバ400にアクセスするとき、キャッシュDNSサーバ200に、ドメイン名「AAA」のIPアドレスを問い合わせるアドレス要求を送信する(S100)。キャッシュDNSサーバ200は、アドレス要求を受信すると、アドレス要求受信処理を行う(S101)。
図7は、アドレス要求受信処理S101の処理フローチャートの例を示す図である。キャッシュDNSサーバ200は、アドレス要求を受信すると、アドレス要求受信処理S101を行う。キャッシュDNSサーバ200は、アドレス要求に含まれる問い合わせ対象のドメイン名に対応するIPアドレスを記憶しているか否かを確認する(S101−1)。
キャッシュDNSサーバ200は、問い合わせ対象のドメイン名に対応するIPアドレスを記憶している場合(S101−1のYes)、アドレス要求の送信元の通信装置100に、ドメイン名に対応するIPアドレスを含むアドレス応答を送信し(S101−2)、処理を終了する。
また、キャッシュDNSサーバ200は、問い合わせ対象のドメイン名に対応するIPアドレスを記憶していない場合(S101−1のNo)、アドレス応答待受処理を行い(S102)、処理を終了する。
図8は、アドレス応答待受処理S102の処理フローチャートの例を示す図である。キャッシュDNSサーバ200は、未選択の権威DNSサーバを選択する(S102−1)。キャッシュDNSサーバ200は、権威DNSサーバの一覧を有する。
図9は、権威DNSサーバの一覧の例を示す図である。図9に示すように、キャッシュDNSサーバ200は、問い合わせが可能な権威DNSサーバ300の名前(または識別子でもよい)、及びIPアドレスを記憶する。さらに、キャッシュDNSサーバ200は、権威DNSサーバ300それぞれについて、対象外フラグの状態(ON又はOFF)、及び対象外フラグON時刻を記憶する。対象外フラグは、ONの場合、当該権威DNSサーバに問い合わせができないことを示す。また、対象外フラグON時刻は、当該権威DNSサーバ300の対象外フラグをONにした時刻を示す。なお、キャッシュDNSサーバ200は、図8におけるアドレス応答待受処理S102の処理S102−1において、対象外フラグOFFの権威DNSサーバから、未選択の権威DNSサーバを選択する。
図8の処理フローチャートに戻り、キャッシュDNSサーバ200は、選択した権威DNSサーバ300にアドレス要求を送信する(S102−2)。処理S102−2において送信されるアドレス要求は、通信装置100から受信したアドレス要求に含まれるドメイン名が含まれる。
キャッシュDNSサーバ200は、アドレス要求を送信すると、待受タイマを起動する(S102−3)。待受タイマは、キャッシュDNSサーバ200が選択した権威DNSサーバ300からのアドレス応答を待ち受ける時間(待受け時間)を示すタイマである。キャッシュDNSサーバ200は、待受タイマの起動中は、権威DNSサーバ300からのアドレス応答を待ち受ける。
キャッシュDNSサーバ200は、選択した権威DNSサーバ300からのアドレス応答の受信を開始する(S102−4)。そして、キャッシュDNSサーバ200は、待受タイマが満了する(タイムアウト)までの間、選択した権威DNSサーバ300からのアドレス応答を受信し続ける。
キャッシュDNSサーバ200は、待ち受けタイマがタイムアウトとなるのを待ち受ける(S102−5のNo)。キャッシュDNSサーバ200は、待ち受けタイマがタイムアウトとなると(S102−5のYes)、アドレス応答の受信を停止する(S102−6)。
そして、キャッシュDNSサーバ200は、アドレス応答の受信数を確認する(S102−7)。キャッシュDNSサーバ200は、アドレス応答の受信数が1つであった場合(S102−7の1)、受信したアドレス応答のIPアドレスを問い合わせ対象のドメイン名と対応づけて記憶する(S102−8)。そして、キャッシュDNSサーバ200は、問い合わせ対象のドメイン名に対応するIPアドレスを、通信装置100に送信し(S102−9)、処理を終了する。
キャッシュDNSサーバ200は、アドレス応答の受信数が0であった場合(S102−7の0)、対象外フラグがOFFである未選択の権威DNSサーバ300が存在するか否かを確認する(S102−12)。キャッシュDNSサーバ200は、対象外フラグがOFFである未選択の権威DNSサーバ300が存在する場合(S102−12のYes)、未選択の権威DNSサーバ300を選択し(S102−1)、処理S102−2以降の処理を繰り返す。一方、キャッシュDNSサーバ200は、対象外フラグがOFFである未選択の権威DNSサーバ300が存在しない場合(S102−12のNo)、処理を終了する。
キャッシュDNSサーバ200は、アドレス応答の受信数が2以上であった場合(S102−7の2以上)、受信したアドレス応答に含まれるIPアドレスが、全て同じであるか否かを確認する(S102−10)。
キャッシュDNSサーバ200は、IPアドレスが全て同じである場合(S102−10のYes)、受信したアドレス応答のIPアドレスを問い合わせ対象のドメイン名と対応づけて記憶する(S102−8)。そして、キャッシュDNSサーバ200は、問い合わせ対象のドメイン名に対応するIPアドレスを、通信装置100に送信し(S102−9)、処理を終了する。
一方、キャッシュDNSサーバ200は、IPアドレスが全て同じはない、すなわち、受信した複数のアドレス応答に含まれるIPアドレスが1つではなく複数存在する場合(S102−10のNo)、選択した権威DNSサーバ300の対象外フラグをONにする(S102−11)。
キャッシュDNSサーバ200は、対象外フラグをONにすることで、当該権威DNSサーバ300を、所定時間の間、アドレス要求を送信する候補から除外する。権威DNSサーバ300は、アドレス応答の再送など、複数回送信する場合でも、同じIPアドレスを含むアドレス応答を送信することが想定される。そのため、キャッシュDNSサーバ200は、受信した異なるIPアドレスを含む複数のアドレス応答には、少なくとも1以上のなりすましサーバ600からのアドレス応答が含まれるとみなす。よって、キャッシュDNSサーバ200は、当該権威DNSサーバ300になりすましている、なりすましサーバ600が存在すると判定し、所定時間の間、当該権威DNSサーバ300にはアドレス要求を送信しないようにする。
そして、キャッシュDNSサーバ200は、対象外フラグがOFFである未選択の権威DNSサーバ300が存在するか否かを確認し(S102−12)、存在する場合(S102−12のYes)は処理S102−1以降の処理を繰り返し、存在しない場合(S102−12のNo)は処理を終了する。
このように、キャッシュDNSサーバ200は、なりすまされているとみなす権威DNSサーバ300を選択の対象外としつつ、選択する権威DNSサーバを変更し、アドレス要求を送信する。
図6のシーケンスに戻り、キャッシュDNSサーバ200は、アドレス要求受信処理S101において、問い合わせ対象のドメイン名に対応するIPアドレスを記憶していないと判定し(図7のS101−1のNo)、アドレス応答待受処理S102を行う。
キャッシュDNSサーバ200は、アドレス応答待受処理S102において、未選択の権威DNSサーバ300を選択する(図8のS102−1)。
図9は、キャッシュDNSサーバ200における権威DNSサーバの一覧の例を示す図である。図9(A)は、アドレス要求受信時の権威DNSサーバの一覧の例を示す図である。図9(A)によると、権威DNSサーバ300−1及び2は、共に対象外フラグがOFFであるため、両方が選択する権威DNSサーバ300の候補である。
図6のシーケンスに戻り、キャッシュDNSサーバ200は、例えば、権威DNSサーバ300−1を選択し(図8のS102−1)、アドレス要求を送信する(S103、図8のS102−2)。
キャッシュDNSサーバ200は、待受タイマを起動し(図8のS102−3)、所定時間の間、権威DNSサーバ300−1からアドレス応答を受信するのを待ち受ける(図8のS102−4)。
そして、キャッシュDNSサーバ200は、権威DNSサーバ300−1になりすました、なりすましサーバ600からアドレス応答を受信する(S104)。なりすましサーバ600から受信したアドレス応答は、不正なWEBサーバ700のIPアドレス「xxx」を含む。
さらに、キャッシュDNSサーバ200は、権威DNSサーバ300−1からアドレス応答を受信する(S105)。権威DNSサーバ300−1から受信したアドレス応答は、問い合わせ対象であるドメイン名「AAA」に対応するWEBサーバ400−1のIPアドレス「aaa」を含む。
キャッシュDNSサーバ200は、アドレス応答待受処理S102において、アドレス応答S104及びS105の2つのアドレス応答を受信する(図8のS102−7の2以上)。そして、キャッシュDNSサーバ200は、それぞれのアドレス応答に含まれるIPアドレスが異なるため(図8のS102−10のNo)、権威DNSサーバ300−1の対象外フラグをONにする(図8のS102−11)。
図9(B)は、権威DNSサーバ300−1の対象外フラグをONにしたのちの、権威DNSサーバの一覧の例を示す図である。図9(B)に示すように、キャッシュDNSサーバ200は、選択した権威DNSサーバ300−1の対象外フラグをONにし、対象外フラグをONにした時刻を記憶する。
図6のシーケンスに戻り、キャッシュDNSサーバ200は、図9(B)に示すように、対象外フラグがOFFである権威DNSサーバ300−2が存在するため(図8のS102−12のYes)、権威DNSサーバ300−2を選択し(図8のS102−1)、アドレス要求を権威DNSサーバ300−2に送信する(S106、図8のS102−2)。
そして、キャッシュDNSサーバ200は、権威DNSサーバ300−2からアドレス応答を受信する(S107)。権威DNSサーバ300−1から受信したアドレス応答は、問い合わせ対象であるドメイン名「AAA」に対応するWEBサーバ400−1のIPアドレス「aaa」を含む。
キャッシュDNSサーバ200は、アドレス応答待受処理S102において、アドレス応答S107の1つのアドレス応答を受信する(図8のS102−7の1)。そして、キャッシュDNSサーバ200は、アドレス応答に含まれるIPアドレス「aaa」を、ドメイン名「AAA」と対応づけて、内部メモリに記憶する(図8のS102−8)。
図10は、キャッシュDNSサーバ200が記憶する、ドメイン名と対応するIPアドレスの一覧の例を示す図である。図10に示すように、キャッシュDNSサーバ200は、ドメイン名「AAA」に対応するIPアドレス「aaa」を記憶する。また、キャッシュDNSサーバ200は、IPアドレス「aaa」を記憶した時刻を示す記憶時刻を記憶する。
図6のシーケンスに戻り、キャッシュDNSサーバ200は、IPアドレス「aaa」を含むアドレス応答を、通信装置100に送信する(S108、図8のS102−9)。
通信装置100は、アドレス応答で受信したIPアドレス「aaa」を用いて、WEBサーバ400−1と通信を行う。これにより、通信装置100−1は、WEBサーバ400−1にアクセスすることができ、WEBサーバ400−1からサービスを享受することができる。
第1の実施の形態において、キャッシュDNSサーバ200は、受信した複数のアドレス応答に含まれるアドレスが異なる場合、なりすましサーバ600からのアドレス応答が含まれると判定し、キャッシュデータとして記憶しない。これにより、キャッシュDNSサーバ200は、なりすましサーバ600からの攻撃(改竄)を防止することができる。
また、キャッシュDNSサーバ200は、なりすまされた可能性のある権威DNSサーバ300の対象外フラグをONにすることで、なりすまされた可能性のある権威DNSサーバ300を、アドレス要求の送信対象から除外することができる。
<キャッシュデータ削除処理>
図11は、キャッシュデータ削除処理S200の処理フローチャートの例を示す図である。キャッシュDNSサーバ200は、キャッシュデータ削除処理S200において、キャッシュデータの記憶時間を管理する。
キャッシュDNSサーバ200は、キャッシュデータが存在するか否かを確認する(S200−1)。キャッシュDNSサーバ200は、キャッシュデータが存在しない場合(S200−1のNo)、キャッシュデータを新たに記憶するまで、キャッシュデータが存在するか否かを確認し続ける。
キャッシュDNSサーバ200は、キャッシュデータが存在する場合(S200−1のYes)、記憶時刻から保存時間(所定時間)を経過したキャッシュデータが存在するか否かを確認する(S200−2)。キャッシュDNSサーバ200は、処理S200−2において、現在時刻から各ドメイン名とIPアドレスの記憶時刻を減じた時間値が、保存時間以上であるいか否かを確認する。
保存時間は、例えば、秒単位で設定される時間である。また、保存時間は、例えば、キャッシュDNSサーバ200や通信システム10の管理者が設定する時間であり、メモリやストレージに記憶される。また、保存時間は、固定値であってもよい。
キャッシュDNSサーバ200は、記憶時刻から保存時間を経過したキャッシュデータが存在しない場合(S200−2のNo)、再度処理S200−1を行う。
一方、キャッシュDNSサーバ200は、記憶時刻から保存時間を経過したキャッシュデータが存在する場合(S200−2のYes)、記憶時刻から保存時間を経過したキャッシュデータを削除し(S200−3)、再度処理S200−1を行う。
このように、キャッシュDNSサーバ200は、キャッシュデータの記憶時刻からの経過時間を監視し、保存時間以上が経過している場合、当該キャッシュデータを削除する。
<対象外フラグOFF処理>
図12は、対象外フラグOFF処理S300の処理フローチャートの例を示す図である。キャッシュDNSサーバ200は、対象外フラグOFF処理S300において、権威DNSサーバ300の対象外フラグをOFFにする。
キャッシュDNSサーバ200は、対象外フラグがONの権威DNSサーバ300が存在するか否かを確認する(S300−1)。キャッシュDNSサーバ200は、対象外フラグがONの権威DNSサーバ300が存在しない場合(S300−1のNo)、新たに対象外フラグがONにされるまで、対象外フラグがONの権威DNSサーバ300が存在するか否かを確認し続ける。
キャッシュDNSサーバ200は、対象外フラグがONの権威DNSサーバ300が存在する場合(S300−1のYes)、対象外フラグON時間から除外時間を経過した権威DNSサーバ300が存在するか否かを確認する(S300−2)。キャッシュDNSサーバ200は、処理S300−2において、現在時刻から権威DNSサーバ300の対象外フラグON時刻を減じた時間値が、除外時間以上であるいか否かを確認する。
除外時間は、例えば、秒単位で設定される時間である。また、除外時間は、例えば、キャッシュDNSサーバ200や通信システム10の管理者が設定する時間であり、メモリやストレージに記憶される。また、除外時間は、固定値であってもよい。
また、除外時間は、例えば、なりすましサーバ600に対して、対策を実行する時間に基づく時間であってもよい。また、除外時間は、例えば、保存時間に基づく時間であってもよい。
キャッシュDNSサーバ200は、対象フラグON時刻から除外時間を経過した権威DNSサーバ300が存在しない場合(S300−2のNo)、再度処理S300−1を行う。
一方、キャッシュDNSサーバ200は、対象フラグON時刻から除外時間を経過した権威DNSサーバ300が存在する場合(S300−2のYes)、対象フラグON時刻から除外時間を経過した権威DNSサーバ300の除外フラグをOFFにし(S300−3)、再度処理S300−1を行う。
このように、キャッシュDNSサーバ200は、権威DNSサーバ300の対象外フラグをONにした時刻からの経過時間を監視することで、所定時間の間、なりすまされた可能性のある権威DNSサーバ300を、アドレス要求の候補から除外することができる。
[第2の実施の形態]
次に、第2の実施の形態について説明する。キャッシュDNSサーバ200は、なりすまされた可能性のある権威DNSサーバ300を検出したとき、管理者に警告メッセージを送信する。警告メッセージは、例えば、権威DNSサーバ300の対象外フラグをONにする契機で送信される。
<第2方式による通信>
図13は、第2方式による通信のシーケンスの例を示す図である。通信装置100−1のアドレス要求の送信する(S100)から、キャッシュDNSサーバ200がアドレス応答を受信(S105)までは、図6に示すシーケンスと同様である。
キャッシュDNSサーバ200は、アドレス応答待受処理S102において、アドレス応答S104及びS105の2つのアドレス応答を受信する(図8のS102−7の2以上)。そして、キャッシュDNSサーバ200は、それぞれのアドレス応答に含まれるIPアドレスが異なるため(図8のS102−10のNo)、権威DNSサーバ300−1の対象外フラグをONにする(図8のS102−11)。
さらに、キャッシュDNSサーバ200は、権威DNSサーバ300−1の対象外フラグをONにしたとき、権威DNSサーバ300−1がなりすまされている旨の情報を含む警告メッセージを管理装置800に送信する(S400)。管理装置800は、通信システム10、権威DNSサーバ300−1、又はキャッシュDNSサーバ200の管理者が使用する、管理用の通信装置である。管理者は、例えば、管理装置800の画面上に表示された警告メッセージを認識し、なりすましの対策を行う。また、管理装置800は、警告メッセージを受信に応答し、なりすましの対策を行ってもよい。
第2の実施の形態では、警告メッセージを管理者に送信することにより、なりすまされた権威DNSサーバ300に対して、なりすまし対策を行うことができる。
以上の第1及び第2の実施の形態を含む実施の形態に関し、更に以下の付記を開示する。
(付記1)
複数の権威DNSサーバと通信可能なキャッシュDNSサーバであって、
ネットワーク上のサーバのドメイン名及びアドレスを対応づけて記憶する記憶部と、
第1ドメイン名に対応するアドレスを問い合わせるアドレス問い合わせを通信装置から受信したとき、前記記憶部が前記第1ドメイン名に対応するアドレスを記憶していない場合、前記複数の権威DNSサーバのうち第1権威DNSサーバに前記アドレス問い合わせを送信し、
前記アドレス問い合わせと対応づけられた応答の待受け時間内に、前記アドレス問い合わせと対応づけられた応答として互いに異なる複数のアドレス応答を受信した場合、前記複数の権威DNSサーバのうち、前記第1権威DNSサーバとは異なる第2権威DNSサーバにアドレス問い合わせを送信する制御部と、
を有するキャッシュDNSサーバ。
(付記2)
前記制御部は、前記第2権威DNSサーバから1つのアドレス応答、または、全てが同じである複数のアドレス応答を受信した場合、受信したアドレス応答に含まれるアドレスを、前記第1ドメイン名に対応づけて前記記憶部に記憶する
付記1記載のキャッシュDNSサーバ。
(付記3)
前記制御部は、前記待受け時間内にアドレス応答を受信しない場合、前記複数の権威DNSサーバから、未選択の権威DNSサーバに前記アドレス問い合わせを送信する
付記1記載のキャッシュDNSサーバ。
(付記4)
前記制御部は、アドレスの全てが同じではない複数のアドレス応答を受信した場合、さらに、前記複数のアドレス応答の送信元である権威DNSサーバを、除外時間の間、前記アドレス問い合わせの送信対象から除外する
付記3記載のキャッシュDNSサーバ。
(付記5)
前記制御部は、アドレスの全てが同じではない複数のアドレス応答を受信した場合、さらに、前記複数のアドレス応答の送信元である権威DNSサーバに関する情報を含む警告メッセージを、前記ネットワークの管理装置に送信する
付記4記載のキャッシュDNSサーバ。
(付記6)
前記除外時間は、前記記憶した前記第1ドメイン名及び対応するアドレスを削除する時間に基づく時間である
付記4記載のキャッシュDNSサーバ。
(付記7)
複数の権威DNSサーバと通信可能であり、ネットワーク上のサーバのドメイン名及びアドレスを対応づけて記憶するキャッシュDNSサーバの有するコンピュータが実行するプログラムであって、
第1ドメイン名に対応するアドレスを問い合わせるアドレス問い合わせを通信装置から受信したとき、前記第1ドメイン名に対応するアドレスを記憶していない場合、前記複数の権威DNSサーバのうち、第1権威DNSサーバに前記アドレス問い合わせを送信する処理と、
前記アドレス問い合わせと対応づけられた応答の受け時間内に、前記アドレス問い合わせと対応づけられた応答として互いに異なる複数のアドレス応答を受信した場合、前記複数の権威DNSサーバのうち、前記第1権威DNSサーバとは異なる第2権威DNSサーバにアドレス問い合わせを送信する処理を有する
改竄防止プログラム。
(付記8)
複数の権威DNSサーバと通信可能であり、ネットワーク上のサーバのドメイン名及びアドレスを対応づけて記憶するキャッシュDNSサーバの改竄防止方法であって、
第1ドメイン名に対応するアドレスを問い合わせるアドレス問い合わせを通信装置から受信したとき、前記第1ドメイン名に対応するアドレスを記憶していない場合、前記複数の権威DNSサーバのうち、第1権威DNSサーバに前記アドレス問い合わせを送信し、前記アドレス問い合わせと対応づけられた応答の受け時間内に、前記アドレス問い合わせと対応づけられた応答として互いに異なる複数のアドレス応答を受信した場合、前記複数の権威DNSサーバのうち、前記第1権威DNSサーバとは異なる第2権威DNSサーバにアドレス問い合わせを送信する
改竄防止方法。
10 :通信システム
100 :通信装置
200 :キャッシュDNSサーバ
210 :CPU
220 :ストレージ
221 :キャッシュデータ管理プログラム
230 :メモリ
300 :権威DNSサーバ
400 :WEBサーバ
500 :ネットワーク
600 :なりすましサーバ
700 :不正なWEBサーバ
800 :管理装置
2211 :アドレス要求受信モジュール
2212 :対象外フラグOFFモジュール
2213 :キャッシュデータ削除モジュール
22111 :アドレス応答待受サブモジュール

Claims (7)

  1. 複数の権威DNSサーバと通信可能なキャッシュDNSサーバであって、
    ネットワーク上のサーバのドメイン名及びアドレスを対応づけて記憶する記憶部と、
    第1ドメイン名に対応するアドレスを問い合わせるアドレス問い合わせを通信装置から受信したとき、前記記憶部が前記第1ドメイン名に対応するアドレスを記憶していない場合、前記複数の権威DNSサーバのうち第1権威DNSサーバに前記アドレス問い合わせを送信し、
    前記アドレス問い合わせと対応づけられた応答の待受け時間内に、前記アドレス問い合わせと対応づけられた応答として互いに異なる複数のアドレス応答を受信した場合、前記複数の権威DNSサーバのうち、前記第1権威DNSサーバとは異なる第2権威DNSサーバにアドレス問い合わせを送信する制御部と、
    を有するキャッシュDNSサーバ。
  2. 前記制御部は、前記第2権威DNSサーバから1つのアドレス応答、または、全てが同じである複数のアドレス応答を受信した場合、受信したアドレス応答に含まれるアドレスを、前記第1ドメイン名に対応づけて前記記憶部に記憶する
    請求項1記載のキャッシュDNSサーバ。
  3. 前記制御部は、前記待受け時間内にアドレス応答を受信しない場合、前記複数の権威DNSサーバから、未選択の権威DNSサーバに前記アドレス問い合わせを送信する
    請求項1記載のキャッシュDNSサーバ。
  4. 前記制御部は、アドレスの全てが同じではない複数のアドレス応答を受信した場合、さらに、前記複数のアドレス応答の送信元である権威DNSサーバを、除外時間の間、前記アドレス問い合わせの送信対象から除外する
    請求項3記載のキャッシュDNSサーバ。
  5. 前記制御部は、アドレスの全てが同じではない複数のアドレス応答を受信した場合、さらに、前記複数のアドレス応答の送信元である権威DNSサーバに関する情報を含む警告メッセージを、前記ネットワークの管理装置に送信する
    請求項4記載のキャッシュDNSサーバ。
  6. 複数の権威DNSサーバと通信可能であり、ネットワーク上のサーバのドメイン名及びアドレスを対応づけて記憶するキャッシュDNSサーバの有するコンピュータが実行するプログラムであって、
    第1ドメイン名に対応するアドレスを問い合わせるアドレス問い合わせを通信装置から受信したとき、前記第1ドメイン名に対応するアドレスを記憶していない場合、前記複数の権威DNSサーバのうち、第1権威DNSサーバに前記アドレス問い合わせを送信する処理と、
    前記アドレス問い合わせと対応づけられた応答の受け時間内に、前記アドレス問い合わせと対応づけられた応答として互いに異なる複数のアドレス応答を受信した場合、前記複数の権威DNSサーバのうち、前記第1権威DNSサーバとは異なる第2権威DNSサーバにアドレス問い合わせを送信する処理を有する
    改竄防止プログラム。
  7. 複数の権威DNSサーバと通信可能であり、ネットワーク上のサーバのドメイン名及びアドレスを対応づけて記憶するキャッシュDNSサーバの改竄防止方法であって、
    第1ドメイン名に対応するアドレスを問い合わせるアドレス問い合わせを通信装置から受信したとき、前記第1ドメイン名に対応するアドレスを記憶していない場合、前記複数の権威DNSサーバのうち、第1権威DNSサーバに前記アドレス問い合わせを送信し、前記アドレス問い合わせと対応づけられた応答の受け時間内に、前記アドレス問い合わせと対応づけられた応答として互いに異なる複数のアドレス応答を受信した場合、前記複数の権威DNSサーバのうち、前記第1権威DNSサーバとは異なる第2権威DNSサーバにアドレス問い合わせを送信する
    改竄防止方法。
JP2018088365A 2018-05-01 2018-05-01 キャッシュdnsサーバ、改竄防止方法、及び改竄防止プログラム Pending JP2019195128A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018088365A JP2019195128A (ja) 2018-05-01 2018-05-01 キャッシュdnsサーバ、改竄防止方法、及び改竄防止プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018088365A JP2019195128A (ja) 2018-05-01 2018-05-01 キャッシュdnsサーバ、改竄防止方法、及び改竄防止プログラム

Publications (1)

Publication Number Publication Date
JP2019195128A true JP2019195128A (ja) 2019-11-07

Family

ID=68469643

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018088365A Pending JP2019195128A (ja) 2018-05-01 2018-05-01 キャッシュdnsサーバ、改竄防止方法、及び改竄防止プログラム

Country Status (1)

Country Link
JP (1) JP2019195128A (ja)

Similar Documents

Publication Publication Date Title
US10263958B2 (en) Internet mediation
EP2521330B1 (en) DNSSEC signing server
US7680954B2 (en) Proxy DNS for web browser request redirection in public hotspot accesses
JP6007458B2 (ja) パケット受信方法、ディープ・パケット・インスペクション装置及びシステム
US10469532B2 (en) Preventing DNS cache poisoning
US20120254386A1 (en) Transfer of DNSSEC Domains
US20070180090A1 (en) Dns traffic switch
JP2008532133A (ja) Dns偽装をするトロイの木馬を検出及び緩和するシステム及び方法
JP2010220066A (ja) ネットワーク監視装置及びネットワーク監視方法
EP3306900B1 (en) Dns routing for improved network security
US11658995B1 (en) Methods for dynamically mitigating network attacks and devices thereof
WO2018214853A1 (zh) 一种减小dns报文长度的方法、装置、介质及设备
EP3139576A1 (en) Systems and methods for providing secure access to shared registration systems
CN106470251A (zh) 域名解析方法及虚拟dns权威服务器
JP4693174B2 (ja) 中間ノード
US7916733B2 (en) Data communication apparatus, data communication method, program, and storage medium
CN107786594A (zh) 业务请求处理方法及装置
JP2011049745A (ja) Dnsキャッシュ・ポイズニング攻撃を防御する装置
US20110235641A1 (en) Communication apparatus, method of controlling the communication apparatus,and program
JP2019195128A (ja) キャッシュdnsサーバ、改竄防止方法、及び改竄防止プログラム
US20230130115A1 (en) Inline identify and block dangling dns records
CN113014682B (zh) 实现网络动态性的方法、系统、终端设备及存储介质
CN112565305B (zh) 一种使用域名访问局域网设备的方法、系统及存储介质
US20230269236A1 (en) Automatic proxy system, automatic proxy method and non-transitory computer readable medium
WO2024199507A1 (zh) 报文处理方法、安全设备管理方法、装置及系统