キャッシュポイズニングの仕組み
キャッシュポイズニングの仕組み自体は比較的単純で、正規のDNS応答がキャッシュDNSサーバに返る前に、本物と区別がつかないような偽の応答を返すというものだ(図1)。その応答をキャッシュDNSサーバが受け取ると、偽の情報がキャッシュされる(あとから来た正式の応答は無視される)。キャッシュDNSサーバは、そのキャッシュされた情報が有効期限を迎える(expireされる)までユーザーに対して偽の情報を返すが、次の名前解決で正式の応答が返ると情報が上書きされるため証拠が残りにくい。
そのほか、ドメイン名を詐称する方法は、実に多様である。前述したような人間の見間違いを悪用する古典的なものから、キャッシュポイズニングのように技術的な脆弱性を突くもの。さらには、更新を忘れた、もしくは更新されなかった著名な企業のドメイン名を第三者が利用するものなど、数え上げればきりがない。
ユーザーへの啓発活動が重要
こうしたドメイン名詐称に対しては、技術的には「BINDなどDNSソフトウェアを最新の状態に保つ」、「キャッシュサーバを正規のユーザー以外に使わせない」、「ドメイン名のゾーンを管理するDNSサーバを限定し、その管理を十分に行なう」、「DNSサーバの設定や情報をチェックする」といった当たり前の管理をすることが重要になる。
しかし攻撃者側も、PCが持つ脆弱性を利用するウイルスを使ってHostsファイルを書き換えたり、差出人を偽称したメールでユーザーを騙すためのサイトに誘導するといった手法を駆使する。こうなると、ドメイン名(サイト)の管理者側ではどうしようもない。
ユーザーには、自身が被害に遭わないためにOSやソフトウェアのアップデートを確実に行ない、サイトにアクセスする際にはドメイン名を確認するようお願いしていかなくてはならない。ウイルス対策ソフトや侵入検知ツールといったセキュリティ製品の導入も重要だろう。最終的には、ユーザーに対する啓発活動が重要になるのである。
この連載の記事
-
第6回
ネットワーク
WAN経由だとファイル共有が遅くなるって本当? -
第5回
ネットワーク
UDPのパケットは、途中で紛失してしまうことがある? -
第4回
ネットワーク
Webサーバは80番ポート以外使ってはいけないの? -
第3回
ネットワーク
ネットワークに流れるデータは見えますか? -
第2回
ネットワーク
同じIPアドレスは複数のPCで使えるの? -
第1回
ネットワーク
なぜネットワークはループを作ってはいけないの? -
ネットワーク
ネットワークの常識・非常識 - この連載の一覧へ