1. DNS/毒盛再考/多世代ゾーン同居

多世代ゾーンをおなじサーバでサービスしている場合に

2. 結論

多世代ゾーンは毒盛の危険を増やす

/NS名で分類

jp TLD ゾーンの NS には [a-g].dns.jp という名前が使われています。 watchNS/jp watch-zone/jp

親子ゾーン同居(子ゾーン内の名前をNSにもつ)の危険性について、

2.1. パンドラの箱 -1- では

以下のようになっています。 http://www.e-ontap.com/dns/endofdns.html

前提:

tld から sld.tld が委譲されているが sld.tld ゾーンが tld ゾーンと同じサーバにある場合、

2. 親子ゾーン同居 (世代間同居)への毒入れ

 a) 子ゾーン内の存在しない名前の問い合わせに対して、親が否定応答を返してしまう
 b) 孫ゾーン内の名前の問い合わせに対して、親が子を飛び越えて孫への委任情報(NS+A)を返してしまう(ex. www.foo.bar.internot.jp) 
 ...

同居しているホストの名前がなんであっても関係ない、というのがポイントです。 /さくらでの例

親子ゾーン同居で、孫ゾーンは別サーバということなら可能ですね。(これならいけるか)

-- ToshinoriMaeno 2014-05-13 02:46:15

多世代同居(中間抜き)だと思ったのが、そもそもの誤解だったようです。

2.2. 同居の危険性も

jp TLD ゾーンの NS には [a-g].dns.jp という名前が使われています。 watchNS/jp

それが親のゾーンであるjpのゾーンとdns.jp自身との両方のゾーンサーバとして指定されています。

こういう状態では、 dns.jp の NS レコードが表にでることはすくないというのがJPRSの指摘です。(キャッシュにも入らない: 毒盛しやすい設定)

dns.jp の NS がキャッシュされることが少ないというだけではなく、
*.dns.jp という存在しないはず名前について問い合せると、NXDOMAIN 返答が返るというのもポイントです。

つまり、 dns.jp NS を偽返答に入れてキャッシュさせることで、偽のdns.jp ゾーンを信じさせることが容易になりそうだということです。

-- ToshinoriMaeno 2014-04-28 08:15:56

偽 dns.jp ゾーンを注入したときの効果を考えてみます。

3. dns.jp zone 乗っ取りの影響の検討

dns.jp NS xxx 偽NS RRSet をキャッシュさせられたときに、どういう影響があるかを考察してみます。

通常の利用ではキャッシュが dns.jp NS レコードを参照することはありません。

つまり、これだけでは毒として作用しません。

dns.jp を乗っ取る目的は次のことにあります。

3.1. jp zone 乗っ取り

dns.jp NS に毒を盛ったキャッシュサーバに a.dns.jp A を問い合せてみるとどうなるでしょう。

3.2. 毒盛成功のケース 1

キャッシュサーバがキャッシュにない a.dns.jp A を外部に検索するなら、毒が有効となるでしょう。

このときの問い合せ先として dns.jp NS (毒の外部サーバ)が参照されます。

この 偽A が glue を上書きするか、glueより優先されるのが BIND の欠陥でしょう。 (A と glue とは別個に管理する実装も存在しているようですが。)

次に jp サーバに問い合せる必要が生じた場合には

3.3. 毒盛成功のケース 2

glue A の期限がくるまで待ったとしても、毒NSレコード(dns.jp NS) が上書きされて解毒される可能性は小さいでしょう。 

3.4. 毒の効果が残る期間

この毒がいつまで残る(有効)か、考えてみましょう。 DNS/毒盛/The Hitchhiker’s Guide to DNS Cache Poisoning

Hitchhiker's Guide にはちょっと気になることが書いてあります。 NS+glue の優先度が一番高いという話

-- ToshinoriMaeno 2014-04-29 03:36:29

上書きされるとしたら、実装の不良であると考えます。-- ToshinoriMaeno 2014-05-04 16:03:52

4. dns.jp NS はキャッシュされないのか

用心深いキャッシュであれば、 (unbound でもデフォルトはこうではない、と聞いた記憶がありますが)

例えば、a.dns.jp A を確認したとすると、 watchNS/dns.jp のようになります。

5. それでも jp の毒盛は可能という説も

6. 現状での結論

多世代ゾーン同居はあぶない。

7. あぶなくないケースはあるのか

/検討

8. root

DNS/毒盛再考/root-servers.net 毒盛できる根拠をきちんと理解していなかった。

-- ToshinoriMaeno 2014-05-07 07:53:53

MoinQ: DNS/毒盛/2014/多世代ゾーン同居 (last edited 2021-05-01 14:20:18 by ToshinoriMaeno)