DNSスプーフィング
読み:ディーエンエス-スプーフィング
外語:DNS spoofing
DNSキャッシュを汚染すること。これによって攻撃を受けたDNSを使うユーザーは、目的のサイトにアクセスしたつもりが、実は悪意ある何者かのサイトへと誘導される可能性がある。
クラッカーからすると、ユーザーを意図した先へ誘導することが可能となる。
概要
DNSは、コンピューター名をIPアドレスに解決するためのサービスである。
ネットワーク上に散在するDNSサーバーは、各々が担当する特定範囲の情報のみを管理していて、管轄外のホスト名の問い合わせについては、他のDNSサーバーへ解決を要請する、つまり丸投げする。
しかしアクセス頻度の高いホスト名があったとして、それを何度も外に問い合わせるのは効率が良いとはいえない。そこで検索効率向上のために、一度管轄外で解決されたアドレスは、一定期間キャッシュとして保存し、その間は再利用される。
問題
このメカニズムによって高速なアクセスを実現するが、しかしもし、他のDNSサーバーから誤った情報が渡された場合、それまでもがキャッシュに残ることになり、実はこれが現在のDNSがもつ最大の脆弱性なのである。
例えば悪意あるクラッカーがホストAの名前解決を管轄する、DNS 1という名のDNSを持っていたとする。
そしてある第三者が管理する、攻撃対象となるDNSのDNS 2を攻撃する。
具体的には、
- ホストAの別名はXXXXである
- XXXXの名前解決はDNS 1が担当している
という情報をDNS 2に対して流す。
この状況でユーザーがDNS 2に対してホストAの名前解決を依頼すると、DNS 2は悪意あるDNS 1に対して解決の要請を行なってしまう。
この時にDNS 1が不正なIPアドレスをDNS 2に返せば、DNS 2は不正な値を返すとともに、またDNS 2のキャッシュは汚染されてしまうわけである。
再検索