DNS脆弱性の話

CERT以上に面白い情報があったので。

yebo blogのBIND 9のDNSキャッシュ汚染の可能性
Slashdot "DNS Forgery Pharming" によると、OpenBSDは10年前にID予測問題にパッチを当てていた(BIND Vulnerabilities and Solutions)。ISCのプログラマがこのパッチを採用していれば... と。OpenBSDに入っているBINDのREADME.OpenBSDを見ると、「オリジナルBINDが採用しているLFSRが安全であると証明されるまで、IDの生成はLCG (Linear Congruential Generator)を使用する」とある。ウィキペディアでは、LFSRは数学的に解析が容易であるため、そのまま暗号に使用することを推奨されない、との記述も。
ポイントはこの記事が2007年7月の記事という点。

で、DNSの生みの親・モカペトリス氏が語る、キャッシュポイズニング脆弱性の現状

ソースポートランダム化による防御も突破されている 
この攻撃に対しては、20世紀から有効とされてきた、DNSの基本的な防御手段も大幅に無効化してしまうという。「DNSは一般的に、情報タイムアウト (TTL)、クエリの処理待ち(Q)、レスポンスのマッチング(ID)の3階層の防壁により保護されている。TTLでサーバーは保持していないデータのみ を受け入れ、Qで処理待ちのクエリがある場合にのみレスポンスを受け入れ、IDで正しいIPアドレス・ポート・16ビットIDフィールドからのレスポンス のみを受け入れる」(同氏)。こうした手法により保護されてきたDNSだが、TTL防御を突破するために存在しないネームで攻撃するなど、キャッシュポイ ズニング攻撃の手法も洗練化が進んでしまった。
 「カミンスキー脆弱性を突く攻撃では、さらにQ防御も破られてしまい、残されたのはID防御のみとなってしまった。しかし、これも総当たり攻撃を行えば、いつかはレスポンスのマッチングが取られ、不正なレスポンスが受け入れられてしまうことになる」
根本的にDNSSECの導入が普通のことになるまで、持つのだろうか・・・?




# 追記
https://www.netsecurity.ne.jp/2_11913.html