1. DNS/毒盛/脆弱性の歴史

DNSについて、ひととおりの知識があることを前提に毒盛攻撃を説明します。

毒盛で中心的役割を果たすのはNSレコードです。(/NS毒盛) ../索引 ../歴史 ../対策

1.1. 毒盛手法の進化

実験的に作られた実装にはいろいろな脆弱性がある。

リゾルバーになんらかの「不正な返答を受け取らせる」ことが第一段階です。

リゾルバーになんらかの「偽造返答を受け取らせる」ことが第二段階です。

Kaminskyはリゾルバーに「次々と」問い合わせを送り出させる攻撃手法を示しました。(2008年)

どういう返答であれば、有効な毒となりやすいかを考えるのが第四段階です。

あとは誰かがキャッシュにある偽の情報を参照するのを待ちます。

DNS/毒盛では主に第四段階の毒盛を検討しています。

http://nominum.com/ghosts-in-the-dns-machine/

Domain Name System (DNS) Cookies  M. Andrews May 2016

これが実装されて、普及すれば毒盛はほぼ無理になる。だが、いつになるだろう。

リゾルバー側で/NS毒盛を簡単に十分に防御できる方法を/2016で説明しています。

いまや実装の不良と呼んでもいいでしょう。

/NS毒盛以外の攻略は現在では困難だと考えています。

1.2. 簡単な歴史

初期: ゾーンサーバから送られてくる間違い情報、悪意ある情報の排除 DNS/用語/in-bailiwick

偽パケット送付: transaction 情報が予測可能などの理由で、偽返答パケットを送りつけることが可能だと指摘される。

DJBDNS: port randomization による偽パケットの排除

虚しきインターネットの宴 http://www.suzuki.sist.chukyo-u.ac.jp/utage.html

1.2.1. 2008

2008年のKaminskyの指摘: キャッシュにある情報を問い合わせるのではTTLに制約されて、


N. Weaver: Comprehensive DNS Resolver Defenses Against Cache Poisoning

1.2.2. 2012

DNS/脆弱性/GhostDomainNames リゾルバー実装の欠陥

1.2.3. 2014

2014年 co.jp などの中間ドメイン名には比較的簡単に毒入れすることができると判明した。

NS毒盛はこれだけではなかった。鈴木はキャッシュにあるNSが上書きされる脆弱性を指摘した。

/2015 /2014 /2012 /2008 DNS/脆弱性 /NXDOMAIN返答活用

DNS/用語/glue

DNS/毒盛/AncillaryDataAttacks

「キャッシュにあるレコードは書き換えない」という原則を守るのが重要だが、 RFC2181というおかしなRFCが障害になる。

DNS/毒盛/2014/移転案内攻撃

DNS/脆弱性/GhostDomainNames

/キャッシュサーバがどのように振る舞うかは実装依存です。 /NS毒盛 では検討します。

/部品紹介 /キャッシュサーバ /成立の要件 /ゾーンサーバの監視

http://cloud.watch.impress.co.jp/epw/cda/security/2008/08/28/13724.html

nicの説明だが、間違いも: https://www.nic.ad.jp/ja/newsletter/No40/0800.html

1.2.4. 2014 年にあらたな展開

/2014

http://www.e-ontap.com/blog/20140415.html 長年放置されてきた DNS の恐るべき欠陥が明らかに

/委任インジェクション はNS毒盛に属する攻撃(の一部)にJPRSがつけた呼び名です。

JPRSは注意喚起を出すはずだったが、Kaminsky流攻撃が増えているとの注意喚起だけでお茶を濁した。

このページも続きが出なかった。http://www.geekpage.jp/blog/?id=2014/4/25/1

1.2.5. 攻撃手法

/キャッシュ毒盛 /雨だれ攻撃 DNS_spoofing

/成立の要件 /taxonomy /poison https://moin.qmail.jp/DNS/RFC2181/s5

/Guide /Shmatikov

https://www.nic.ad.jp/ja/newsletter/No40/0800.html /nicの説明

https://tools.ietf.org/html/rfc5452

DNS/攻撃/fragmentation UDP 返答パケットで分割を引き起こすとすり替えやすい。

1.2.6. Kaminsky 攻撃

Kaminsky 手法は「キャッシュされていない名前を問い合わせる」ことにより、「毒を送りつける機会を増やす」ものである。

glue に毒らしい。

The authority data may well contain the "real" bankofsteve.com nameserver hostnames,
but the glue points those nameservers at badguy IPs.

DNS/毒盛/Kaminsky手法/JPRS資料

2008年に見た資料では一番よかったもの:  DNSにおけるキャッシュ汚染攻撃 http://www.sec-pro.net/spnseminar081025_shio.pdf

1.2.7. Mueller の委譲返答攻撃

Mueller は偽委譲返答(NSなど)を送りこむ攻撃が考えられると言っています。 DNS/毒盛/Mueller手法

Mueller paper の指摘では

 キャッシュにないレコードを毒として注入します。ここでもTTLは関係しません。(ランキングも)

ここまでが2008年に明らかになったことです。(それに世界が気づいていなかったとしたら不思議です。)

問い合わせポートのランダム化である程度の防御ができるからでしょう。

DNS/NSレコード/返答中のNS

1.2.8. Ghost Domain Names

そして、2012年にはDNS/GhostDomainNames脆弱性が指摘されています。(これもキャッシュへの毒盛です)

unbound などのキャッシュサーバ(実装)での対策も追加されていますが、十分利用されているとは言えません。 -- ToshinoriMaeno 2014-03-22 23:56:19

DNS/BINDの歴史/場当たり的対応