DNSスプーフィング
DNSスプーフィング(英: DNS spoofing)は、DNSに対する攻撃手法の一つ。DNSは、人間がインターネット上のアドレスとして用いるURL(FQDN)をコンピュータがインターネット上のアドレスとして用いる「IPアドレス」と対応づける(名前解決)ためのサーバであるが、DNSスプーフィングは不正な方法でこの対応関係を書き換えるなどして、DNSへのURLの問い合わせ(クエリ)に対し、偽の情報を答えさせる一連の攻撃手法の総称である。DNSスプーフィングは、被害者を偽のサイトに誘導するなどの目的で行われ、偽のサイトでファーミングなどのさらなる攻撃を仕掛けるための下準備となる。
DNSスプーフィングの代表的な手法としてDNSキャッシュポイズニング(英: DNS cache poisoning)があるが、他にも攻撃者がDNSを乗っ取る方法などがある。日本語の定着した訳語はないが、シマンテックはDNS詐称と訳しており、BUFFALOは自社製品の脆弱性をDNS偽装と訳している。
しかし2008年にダン・カミンスキー(英語版)が考案したカミンスキー攻撃は、このような対策が取られたキャッシュDNSに対しても可能な攻撃手法であった。これは標的にしたいサイトと同じドメインの存在しない名前を問い合わせる、という攻撃手法である。例えば攻撃したいサイトのドメイン名がwww.example.comであれば、001.example.com、002.example.com、...などをキャッシュDNSに問い合わせるのである。このようにすれば攻撃者は毎回異なる問い合わせをしていることになるので、キャッシュの有効期限が切れるタイミングを待つことなく連続してクエリが可能になり、前述の対策は無効となる。
カミンスキー攻撃に対しても有効な対策としては問い合わせの際に問い合わせ元のポート番号を通常の固定値(53番)にするのではなく、ランダムな値にするという方法が知られている(ソースポートランダマイゼーション)。これにより問い合わせの推測が困難になるので、攻撃の成功確率は下がる。
なお古くはこの他にも名前連鎖攻撃(Name Chaining、RFC 3833 2.3)という攻撃手法があったが、2014年現在はこの攻撃手法は通用しない。