DNS/攻撃手法 もご覧ください。 -- ToshinoriMaeno 2014-07-04 01:27:51
1. DNS/毒盛再考/Mueller手法
Kaminsky 流攻撃と同様に、偽委譲返答を送り込む攻撃法である。(委譲返答なのか。??)
- NS毒により、ドメイン全体を偽サーバに誘導できるので、毒盛成功時の報酬も大きい。
2008 年に公表されたものなのに、2014年現在でも有効な攻撃手法である。
こんな危険な道具が対応されることもなくこれまで見過ごされているのはなぜだろう。
- Kaminsky 攻撃への対策で十分だと思われたのだろうか。
それともDNSSEC採用しか選択子がないと思われたのだろうか。
Bernhard Mueller of SEC Consult was among the first researchers to write a working "fast cache poisoning" exploit, details of which will now be published in a whitepaper, which also includes some calculations on the reliability of the attack.
- Kaminsky が公表を待ったのに合わせて、発表を遅らせたような話がある。
https://www.sec-consult.com/en/Vulnerability-Lab/Whitepapers.htm
- Fast DNS Cache Poisoning Author: Bernhard Müller
IMPROVED DNS SPOOFING USING NODE RE-DELEGATION Bernhard Müller SEC Consult Vulnerability Lab, Vienna, 07/14/200
BlackHat-DC-09-Kaminsky でも言及されている。
パケットフラグメント攻撃(*)の公表により、状況に変化があるのか。
(*) http://arxiv.org/pdf/1205.4011.pdf
- Fragmentation Considered Poisonous Amir Herzberg and Haya Shulman
1.1. 要約
DNS/node_re-delegation white paper の筆者による指摘 (2008)
The paper details a way of making DNS cache poisoning / response spoofing attacks more reliable. A caching server will store any NS delegation RRs if it receives a delegation which is "closer" to the answer than the nameservers it already knows. By spoofing replies that contain a delegation for a single node, the nameserver will eventually cache the delegation when we hit the right transfer id.
問い合せた名前に(キャッシュにある問合せ先に比べて)より近い委譲返答があった場合、それ(委譲)を受け入れるという特性を利用する。
IMPROVED DNS SPOOFING USING NODE RE-DELEGATION (Bernhard Mueller )
要約: Kaminsky流攻撃を使って攻撃するときに、 偽の委譲返答(NSレコード)を送ることが有効な攻撃であることを示した。
- 攻撃対象の選択方法についても述べている。
本来の返答では毒入れを妨げるレコードがキャッシュされることがないように問い合わせを送る。 偽返答だけをキャッシュに入れることが できることを示した。
We can accomplish this by avoiding direct queries for our target node, but rather requesting addresses for non-existent nodes that seemingly belong to a zone deeper down the DNS hierarchy.
Kaminsky 手法と同じ問い合せ:
- 毒盛したいノード(ターゲット)に対する「直接の問い合わせ」は避けて、
- 下位のゾーンに属する名前(存在していないノード)をゾーン(または上位のゾーン)のNSに問い合わせる。
- 途中のゾーンに対する委譲返答を送りこむ。 (glue は目的ではない)
例:
- 偽RR: www.qmail.jp NS を送り込むなら、
- 問い合せ先: a.ns.qmail.jp (qmail.jp NS)
- 問い合せ: **.www.qmail.jp を問い合せる
- 偽返答: www.qmail.jp NS attacker.com
存在していないノードに対する真のサーバからの返答はNXDOMAINなので、NSレコードは含まれていない。 NSレコードはキャッシュされていない状態が保たれる。
A レコードがキャッシュされていても、NS レコードがキャッシュされる(実装による)ことに注目せよ。(これは不良とも言える)
- どちらが使われるかは実装依存だが、A のTTL満了で、NSが使われることになる。
1.2. 攻撃手法
1.3. コメント
NSレコードが存在していても入るケースがある。 (委譲返答ではなく、転居通知返答と呼んでみた。)
- Ghost Domain Names 脆弱性と合わせて考えてみて欲しい。
- RFC2181 に問題があるとのこと。
-- ToshinoriMaeno 2014-04-03 21:59:50
Deadwood リゾルバーにはここに書かれた脆弱性はないと思われる。(未確認だが)
1.4. 疑問
これほど重要な指摘が見過ごされてきた理由を反省して、迅速に修正しなければならない。 さもなければ、DNSに将来はない。
これまでに何度も気づく機会はあった。 -- ToshinoriMaeno 2014-04-19 15:22:32
再発見された現在、jpドメインを含むTLDに毒盛される危険性がある。 -- ToshinoriMaeno 2014-04-19 15:22:32
1.4.1. NS 移転通知毒
NSの追加、変更通知を受け入れるキャッシュサーバは一時的にしても、毒を取り込む危険性がある。
- 取り込んだ毒が毒性を発揮するかどうかは実装にも依存するので汎用の議論はむずかしい。
-- ToshinoriMaeno 2014-05-18 11:40:12
%dnsq ns qmail.gtld-servers.net a2.gtld-servers.net
2 qmail.gtld-servers.net: 107 bytes, 1+0+1+0 records, response, authoritative, nxdomain query: 2 qmail.gtld-servers.net authority: gtld-servers.net 86400 SOA a2.nstld.com nstld.verisign-grs.com 2010113000 3600 900 1209600 86400