1. DNS/返答/NXDOMAIN/qmail.jp
qmail.jpドメインを使って、Mueller流の毒盛攻撃例とその対策を示す。
2. 攻撃例
Kaminsky流攻撃では以下のようにxxxx.ns.qmail.jpなどの存在しないドメイン名を問い合わせる。
- ドメイン名階層でひとつ上に位置するns.qmail.jpはDNS RR(resource record)を持たない。
このため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である。
を示している。
- つまり、ns.qmail.jpはqmail.jpのゾーンではないことを示している。(MXレコードなどはあるかもしれない。)
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
- ここでも d.qmail.jp がゾーンであることが確かめられる。
-- 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