## page was renamed from DNS/2016/Kaminsky再考 == DNS/2016/Kaminsky再考 == [[DNS/毒盛/Kaminsky手法]] では返答がNXDOMAINになるような問い合わせを利用する。  ところが、この[[DNS/返答/NXDOMAIN]]はリゾルバー側では利用されていない。 この返答を利用することで攻略の可能性を大幅に減らせることに気づいた。 -- ToshinoriMaeno <> 現状のリゾルバーでは実装されているものはまだない。  Knot resolverの開発者のひとりに連絡したが、忙しいという理由で取り上げてもらえるかはあやしい。 -- ToshinoriMaeno <> ---- [[DNS/毒盛/2014]]  http://www.e-ontap.com/dns/endofdns.html [[DNS/毒盛/2014/JPRS資料]] http://www.ieice.org/~ia/archives/ia20140906/20140912-ia-fujiwara.pdf slide 15 より {{{ Kaminsky型攻撃の特徴 • 攻撃対象の名前の前にランダムなラベルをつけたクエリ名を使用 – 毎回ラベルが異なるため、フルリゾルバは権威DNSサーバへ毎回クエリを送る – 攻撃対象を管理する権威DNSサーバーから返る正当な応答は名前エラー(NXDOMAIN) – 攻撃失敗(正当な応答が先に到達)の場合でも、クエリ名のエラー情報だけがキャッシュされる • 攻撃対象の注入には影響しない – このため、一度攻撃に失敗してもランダムなラベルを変更することで、連続して攻撃できる }}} このように動作をするのが当然というわけではない。これらは特定のリゾルバーの実装に過ぎない。 -- ToshinoriMaeno <> slide 16-17 どこにqueryを送るか。  (random).$Triggerの名前エラーを返す。 {{{  $Trigger自体はキャッシュされない }}} ここは実装による。NXDOMAIN返答から得られる情報を利用しない手はない。 毒NS返答を受け入れるかどうかの判断に利用できるはずだから。 -- ToshinoriMaeno <> slide 17 の例は Authority Sectionによる毒(委任毒?)かどうか、わかりづらい。 -- ToshinoriMaeno <> ---- 「NSを持たないすべてのドメイン名」が攻撃対象になるが、防御方法もある。 slide 16より {{{ (random).www.example.jp Aクエリ  通常の返答では (random).www.example.jpのエラーのみキャッシュされる。 偽答 ”www.example.jp IN NS my-server”(委任返答) }}} 偽返答を受け入れるかどうか、は実装の問題だ。 http://www.e-ontap.com/dns/poisoning_spa/#%287%29 {{{ NS を持たないノードの偽委任による毒入れ 本物の応答は $RANDOM.ac.jp. に対する否定応答であり、そのネガティブキャッシュは次の攻撃の妨げにならない }}} ここの部分に改良の余地があった。-- ToshinoriMaeno <> ---- NSを持つドメインへの攻撃はここでは議論しない。 -- ToshinoriMaeno <>