インターネットには不可欠なDNS。これが“汚染”されるとさまざまなセキュリティ被害を引き起こすといわれるが、対策は意外に進んでいない。2008年7月を起点に急速に高まるDNSの脅威とは?
インターネットが登場してから、早くも40年近くが経過した。企業間での取引・連絡・情報交換をはじめとするビジネス活動において、今やインターネットは欠かせない社会基盤になっている。このインターネットを陰で支える仕組みが存在する。それがDNS(Domain Name System)である。
ところが2008年より、このDNSにおけるセキュリティ対策が急務となっている。その理由が、同年7月に公開された「DNSキャッシュポイズニング」(※1)の影響力である。本特集では、キャッシュポイズニングの詳細、現状分析、そして有効なセキュリティ対策について紹介したい。
※1:キャッシュポイズニングは、英語でCache Poisoningと表記する。「毒入れ・毒注入」と説明されることもある。
キャッシュポイズニングの手口を理解する上で、まずはDNSの仕組みを簡単に解説しておこう。DNSの仕組みをご存じの方は読み飛ばしていただいて構わない。
DNSとは、ドメイン(Domain)とIPアドレスを管理する分散型データベース、またはそのデータベース間でやりとりされるプロトコルを指す。図1にドメインのIPアドレスをDNSに問い合わせる流れをまとめてみた。WebブラウザでWebサイト(例:http://techtarget.itmedia.co.jp/)にアクセスする様子をイメージしていただきたい。
ユーザーはまず指定されたネームサーバA(※2)に対して、ドメインのIPアドレス(DNSではAレコードと呼ばれる)を問い合わせる。問い合わせたドメインの情報がネームサーバAに保存されていない場合、ネームサーバAはユーザーに代わり、インターネット上に点在するネームサーバに対して、ドメインのIPアドレスを問い合わせる。ネームサーバはまずルートネームサーバと呼ばれるDNS基幹サーバに問い合わせを実施する。その後、ネームサーバAは各ドメインを管理するネームサーバに繰り返し問い合わせを実施し、最終的に得られた結果をユーザーに回答するわけだ。このようにネームサーバAが結果を得るまで、各ネームサーバに順番に問い合わせを実施することを「再帰問い合わせ」と呼ぶ。通常、ユーザーがDNSに問い合わせを実施する場合、再帰問い合わせを要求しているのだ。
※2:DNSサーバと呼ばれることもあるが、本記事では「ネームサーバ」で統一する
また、ユーザーからの問い合わせを受け付け、再帰問い合わせを代行するネームサーバを「キャッシュサーバ」、管轄ドメインへの問い合わせに回答するネームサーバを「コンテンツサーバ」と呼ぶ。キャッシュサーバではユーザーからの問い合わせに効率よく回答するため、問い合わせ結果を一定期間保存する。ユーザーからの問い合わせがキャッシュサーバ上に保存されていたら、再帰問い合わせを実施せずにキャッシュサーバが回答する。
DNSの大まかな仕組みを理解したところで、キャッシュポイズニングについて解説していこう。キャッシュポイズニングとは、キャッシュサーバに偽の回答を保存させる(キャッシュさせる)攻撃手法である。キャッシュポイズニングから引き起こされる脅威は、悪意ある第三者が意図したIPアドレスへの不正誘導である。キャッシュサーバに偽の情報を保存させることで、ユーザーを不正なIPアドレスにアクセスさせてしまうわけだ。このような脅威は、一般に「ファーミング(pharming)」(※3)と呼ばれる。ファーミングを引き起こす脆弱性は、以下のようにキャッシュポイズニングのほかにも存在する。だが、キャッシュポイズニングは任意の偽の回答(ルートネームサーバすら標的となり得る)をキャッシュできるため、ファーミングを引き起こす最たる脆弱性なのだ。
※3:メールなどから個人を偽サイトに誘導するフィッシング(Phishing)と比べて、偽の回答から複数人を偽サイトに誘導することができるため、農場での刈り取りをイメージしたところに由来している。
IASがブランドセーフティーの計測を拡張 誤報に関するレポートを追加
IASは、ブランドセーフティーと適合性の計測ソリューションを拡張し、誤報とともに広告が...
【Googleが公式見解を発表】中古ドメインを絶対に使ってはいけない理由とは?
Googleが中古ドメインの不正利用を禁止を公式に発表しました。その理由や今後の対応につ...
「TikTok禁止法案」に米大統領が署名 気になるこれからにまつわる5つの疑問
米連邦上院が、安全保障上の理由からTikTokの米国事業の売却を要求する法案を可決し、バ...