DNS/毒盛/2015について、ここに記述してください。
DNS/実装/ルータ 12月になって、こんなひどい話が公表された。もう言葉もない。-- ToshinoriMaeno 2015-12-16 10:54:01
1. 背景
NSレコードを持たないドメイン名にはNS毒(偽NS RRSet)を飲ませやすい。 DNS/毒盛/2014
- DNSの危険性を自覚してもらうためにはこれだけで十分危険だろうと考えていた。
これに対する対策は今年も進展していない。
しかも、キャッシュにあるNSレコードも上書きできる(実装が存在)ことが明らかになった。
- そして、2014年になされたJPRSによる説明にはいろいろ欠点(隠蔽か)があることが分かった。
ここに改めてまとめておくことにする。 -- ToshinoriMaeno 2015-12-04 08:58:35
2. 「移転インジェクション」
ここの説明は不十分だが、言葉が初めて使われたらしいので、引用しておく。 http://www.e-ontap.com/dns/endofdns2.html
指摘後は用法が変更されているが、上の文書は修正されていない。
-- ToshinoriMaeno 2015-12-04 00:46:52
Answerあり返答に付随するAuthority SectionのNSレコードがキャッシュに入れられる脆弱性を指す。
- キャッシュにあるレコードを上書きするという脆弱性が問題になる。
3. 「移転通知インジェクション」
JPRSが使い始めたが、内容は不正確だし、一部の脆弱性を隠蔽している疑いがある。
- この言葉を使っているところは間違いに気づいていないようだ。
「委譲元から得たNSレコードをAnswer付随のAuthority Section NSで上書きする。」 ことだけを指すとしているから、間違いだ。
4. 大きな違い
鈴木の「移転インジェクション」とJPRSの「移転通知インジェクション」は異なるものを指す。
キャッシュにあるNS RRSet が上書きされるような毒盛ということは共通だが、 どういうものがどういう条件で上書きされるのかということが異なっている。
しかも、JPRSは「移転通知インジェクション」だけが脆弱性であるかのような説明をしているが、それは間違いだ。
tssさんの当初の「移転インジェクション」にひっぱられてしまったのかもしれないという見方はJPRSに好意的すぎる。
5. キャッシュの状態による分類
キャッシュされているものがなにかによって、話が違ってくる。
- キャッシュにNSなし ( しかし、上位のNSは存在するはず)
- キャッシュに委譲のNS(親からの情報)
- キャッシュに権威ありNS(自ゾーンの情報, Authority Section)
- キャッシュに権威ありNS(NS queryへのAnswer)
JPRS は1と2にしか言及しておらず、それら以外の脆弱性を認識していない記述をしている。
しかし、3の場合に上書きされる実装があったことはGhost Domain Names脆弱性のときに示されている。
6. 毒返答の種類
以下の三種を考えれば十分である。 (REF,AUTH,ANS [response]と呼ぶことにする)
- 委譲返答(referral 返答の一部, glue に分類されているもの)、
- authauthority (Data from the authority section of an authoritative answer)
- authanswer
7. 毒の返答元(詐称)
あとはどこからの返答を騙るかという話。 aa bit は大して意味はなさそう。
- 信用させるために必要な条件は個別に検討する。
-- ToshinoriMaeno 2015-08-19 07:42:44
8. 毒盛の例
9. Authority Section は捨てよう
Answer Section が存在する場合のAuthority Sectionはいらない。
- 毒ではないことを確かめるくらいなら、捨てるのがよい。
-- ToshinoriMaeno 2015-09-18 23:40:38