DNSキャッシュポイズニング攻撃
DNSキャッシュポイズニング攻撃とは
DNSサーバから上位サーバ(権威DNSサーバ)への名前解決要求に対し、悪意あるDNSサーバが正当な上位サーバからの応答が返る前に、悪意あるサイトに誘導するための不正な名前解決情報を返すことでDNSのキャッシュに登録させる攻撃
攻撃を成立させるための条件(全て満たす必要がある)
標的となるDNSサーバのキャッシュに登録されていない名前解決要求であること
標的となるDNSサーバが上位サーバに問い合わせた際の送信元ポート番号宛に応答を返すこと
標的となるDNSサーバが上位サーバに問い合わせた際のトランザクションIDと応答のIDを合致させること
正当な上位サーバの応答よりも早く応答を返すこと
標的となるDNSサーバのキャッシュに登録されていない名前解決要求であること
DNSキャッシュ情報のTTL(Time To Live: 有効時間)を長くすることが有効な対策とされていた
が、カミンスキー攻撃が公表されたことでTTLを長くすることは意味をなさなくなった
標的となるDNSサーバが上位サーバに問い合わせた際の送信元ポート番号宛に応答を返すこと
ポート番号を53番固定にしているDNSサーバが多数存在するため攻撃が容易
標的となるDNSサーバが上位サーバに問い合わせた際のトランザクションIDと応答のIDを合致させること
IDが16ビット(最大$ 2^{16} = 65,536通り)であるため攻撃が容易