DNSキャッシュポイズニング

DNSキャッシュポイズニングとは

DNSキャッシュポイズニングとは、DNSで行われる名前解決を利用し、本来とは別のサーバにアクセスさせる方法です。

サーバには一つ一つIPアドレスという番号を持っています。これはどのサーバとも被らない一意の番号で、データを送受信する際に通信機器がこの番号を基に宛先のサーバを探します。

次にURLをご覧ください。文字列(piedpin.comなど)になっています、番号ではありません。

DNSサーバでは、この文字列だったらこのIPアドレスが割り振られているというマッピングを一元管理しています。通信するときには、このDNSサーバを使って宛先のIPアドレスを探す(名前解決)します。

この名前解決のマッピングが違うと別のサーバに行ってしまいます。とても危ないですね。

URLをたたいたら毎回名前解決するなんてDNSは大忙しです。そのため、DNSは全マッピングとは別に、最近名前解決したマッピングを覚えています、これをDNSキャッシュといいます。

図書館でよく借りられている本はおすすめ棚を用意しておくと、司書にどこ本があるかを尋ねられなくて負担が減るイメージです。

DNSキャッシュポイズニングでは、まだキャッシュにない名前解決が行われたら、全マッピングから検索するよりも先に偽のIPアドレスを渡すことで、DNSキャッシュのIPアドレスをすり替えます。

あなたが同じサイト(piedpin.com)にアクセスしたとき、DNSはDNSキャッシュで名前解決をしますから、別の(たいてい悪意のある)サーバに行ってしまいます。