1. DNS/返答/NXDOMAIN/qmail.jp

qmail.jpドメインを使って、Mueller流の毒盛攻撃例とその対策を示す。

2. 攻撃例

Kaminsky流攻撃では以下のようにxxxx.ns.qmail.jpなどの存在しないドメイン名を問い合わせる。

このためNS毒を(相対的)に入れやすい状況である。(Muellerの指摘)

JPサーバに問い合わせたときの返事: root-serversへの問い合わせは省略。

%dnsq a xxxx.ns.qmail.jp a.dns.jp

1 xxxx.ns.qmail.jp:
66 bytes, 1+0+1+1 records, response, noerror
query: 1 xxxx.ns.qmail.jp
authority: qmail.jp 86400 NS a.ns.qmail.jp
additional: a.ns.qmail.jp 86400 A 14.192.44.5

3. NXDOMAIN返答

qmail.jpサーバへの問い合わせの返事:

%dnsq a xxxx.ns.qmail.jp a.ns.qmail.jp

1 xxxx.ns.qmail.jp:
85 bytes, 1+0+1+0 records, response, authoritative, nxdomain
query: 1 xxxx.ns.qmail.jp
authority: qmail.jp 2560 SOA a.ns.qmail.jp hostmaster.m.qmail.jp 1454758295 16384 2048 1048576 2560

qmail.jpゾーンに正当な権威を持つサーバは上のようなNXDOMAIN返答を返す。(偽返答としては委譲返答を送りつける。)

4. SOAレコード

返答にあるauthority sectionのSOAレコードはqmail.jpというラベルを持っている。これは

 xxxx.ns.qmail.jp(ドメイン名)が存在しないことを保証しているゾーンはqmail.jpである。

を示している。

5. 対策 NXDOMAIN返答の利用

「ゾーンではない」ということは「NSレコードは持たない」ということであり、 もし委譲返答を受け取ったとしても、その「委譲返答は偽である可能性が大きい」ことを意味する。

現状の多くのリゾルバーはこのことを利用していない。-- ToshinoriMaeno 2016-03-17 05:45:21

5.1. d.qmail.jp

qmail.jp の子ゾーンに付いて問い合わせたときにはどういう返事を返すか見てみよう。

%dnsq a xxxx.d.qmail.jp a.ns.qmail.jp

1 xxxx.d.qmail.jp:
68 bytes, 1+0+1+1 records, response, noerror
query: 1 xxxx.d.qmail.jp
authority: d.qmail.jp 259200 NS x.ns.d.qmail.jp
additional: x.ns.d.qmail.jp 259200 A 14.192.44.29

委譲返答が返ってくる。改めて問い合わせることになる。

%dnsq a xxxx.d.qmail.jp x.ns.d.qmail.jp

1 xxxx.d.qmail.jp:
85 bytes, 1+0+1+0 records, response, authoritative, nxdomain
query: 1 xxxx.d.qmail.jp
authority: d.qmail.jp 2560 SOA a.ns.d.qmail.jp hostmaster.d.qmail.jp 1449799553 16384 2048 1048576 2560

-- ToshinoriMaeno 2016-03-16 22:10:15

5.2. 同居している子ゾーンでは

nic.czはcz ccTLDと同居している。nonexistent.nic.cz を問い合わせてみるとよい。watchNS/nic.cz

-- ToshinoriMaeno 2016-03-19 07:26:08