1. DNS/毒盛/Mueller手法
Contents
Kaminsky 流攻撃を使って、偽委譲返答を送り込む攻撃法である。
- NS毒により、ドメイン全体を偽サーバに誘導できるので、毒盛成功時の報酬も大きい。
2008 年に公表されたものなのに、2014年現在でも有効な攻撃手法である。
こんな危険な道具が対応されることもなくこれまで見過ごされているのはなぜだろう。
- Kaminsky 攻撃への対策で十分だと思われたのだろうか。
それともDNSSEC採用しか選択子がないと思われたのだろうか。
パケットフラグメント攻撃(*)の公表により、状況に変化があるのか。
(*) http://arxiv.org/pdf/1205.4011.pdf
- Fragmentation Considered Poisonous Amir Herzberg and Haya Shulman
1.1. 要約
DNS/毒盛/2014/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レコード)を送ることが有効な攻撃であることを示した。
- 攻撃対象の選択方法についても述べている。
本来の返答では毒入れを妨げるレコードがキャッシュされることがないように問い合わせを送る。 偽返答だけをキャッシュに入れることが できることを示した。
DNS/攻撃手法の説明/Bernhard Mueller/1
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 を問い合せる
存在していないノードに対する真のサーバからの返答はNXDOMAINなので、NSレコードは含まれていない。 NSレコードはキャッシュされていない状態が保たれる。
A レコードがキャッシュされていても、NS レコードがキャッシュされる(実装による)ことに注目せよ。(これは不良とも言える)
- どちらが使われるかは実装依存だが、A のTTL満了で、NSが使われることになる。
1.2. コメント
NSレコードが存在していても入るケースがある。 (委譲返答ではなく、転居通知返答と呼んでみた。)
- Ghost Domain Names 脆弱性と合わせて考えてみて欲しい。
- RFC2181 に問題があるとのこと。
-- ToshinoriMaeno 2014-04-03 21:59:50
Deadwood リゾルバーにはここに書かれた脆弱性はないと思われる。(未確認だが)
1.3. 疑問
これほど重要な指摘が見過ごされてきた理由を反省して、迅速に修正しなければならない。 さもなければ、DNSに将来はない。
これまでに何度も気づく機会はあった。 -- ToshinoriMaeno 2014-04-19 15:22:32
再発見された現在、jpドメインを含むTLDに毒盛される危険性がある。 -- ToshinoriMaeno 2014-04-19 15:22:32
DNS/攻撃手法の説明/Bernhard Mueller では攻撃対象のDNS レコードはキャッシュにはないという前提での 攻撃成功時間が評価されている。
(Kaminsky 発表との関連は? なぜ、NSレコードへの毒盛は注目されなかったのか。 危険すぎて伏せたひとがいることは知っている。w)
だが、攻撃対象のレコードがキャッシュされている場合にはどうなるだろうか。
- たとえば、 www.example.com (A) がすでにキャッシュにあるときに、
- www.example.com (NS) の毒盛に成功したら、なにが起きるのだろうか。
-- ToshinoriMaeno 2014-03-22 02:24:59