DNSスプーフィング
ユーザが買ってきたブロードバンドルーターが初期設定のままになっていると、攻撃者は初期設定状態のブロードバンドルーターの脆弱性や初期パスワードを利用してブロードバンドルーターの権限を乗っ取った上でDNSの設定を書き換え、本来参照すべきDNSではなく攻撃者が用意した悪性DNSを参照するようにできてしまう。なおこうした書き換えを行うには、フィッシングなどと同様不正サイトにアクセスさせたり、この攻撃を行う専用のマルウェア(DNSチェンジャーという)を利用したりする。この攻撃でDNS設定を書き換えて行うファーミングをドライブバイファーミングという。
DNS(キャッシュDNS、厳密にはフルリゾルバと呼ぶべきもの)は自身でキャッシュしている対応表のみでは名前解決できない場合には上位のDNSに問い合わせる事により名前解決を行う。DNSキャッシュポイズニングは攻撃者が上位のDNSからの返答を偽装する事により、DNSのキャッシュにIPとURLの不正な対応関係を記憶させる攻撃手法を指す。
DNSキャッシュポイズニングの手法の一つに「IDおよび問合わせの推測」(RFC 3833 2.2)がある。この手法において攻撃者はまず標的になるサイトのURLをキャッシュDNSにクエリする。このクエリに対する返答がキャッシュされていない場合、キャッシュDNSが上位のDNSに問い合わせるので、この際クエリに用いるIDと問い合わせ内容を推測する事で上位サーバからの返答を偽装する。(攻撃者は本物の上位サーバが返答するより早く偽装した返答を返す必要がある)。このような攻撃が可能な背景には、問い合わせの際に用いるID(TXID)が16ビット=65536通りしかなく、推測が容易な事があげられる。
DNSキャッシュポイズニングの初期の手法は、標的にしたいサイトの名前解決を何度もDNSに問い合わせる事で偶然TXIDが正しい値になる事を狙う、というものであった。したがってその対策方法としては同一のドメイン名の名前解決を上位DNSに問い合わせる回数そのものを減らすために、キャッシュの有効期限を長くするなどするという方法が取られた。攻撃者が前述の攻撃をしかけられるのはDNSにおいて標的サイトのキャッシュの有効期限が切れているタイミングに限られるので、この対策方法により攻撃が成功する可能性を下げられる。