DNS/毒盛/Kaminsky手法/JPRS資料について、ここに記述してください。
まとめ: 騙すつもりはないのだろうが、書いている側が十分理解しているとは思えない。
http://jprs.jp/whatsnew/topics/topics_old/080808.html (2008)
http://jprs.jp/related-info/guide/009.pdf 新たなるDNSキャッシュポイズニングの脅威 ~カミンスキー・アタックの出現~ (2011)
従来のDNSキャッシュポイズニング攻撃では、 通常のDNS応答、例えばwww.example.jpに対し攻撃を試みる場合、 www.example.jpの問い合わせに対する応答そのものを偽造する形で行われていました。 この場合、DNSキャッシュポイズニングが成功する可能性は、 該当するデータの有効時間(TTL: TimeLive)の設定値に依存します。 つまり、キャッシュである間は目的とする名前に対する外部への問い合わせが行われないため、 権威DNSサーバ側で長いTTLを設定することにより、 DNS キャッシュポイズニングに関する危険性をある程度軽減することができます。
従来の攻撃も上のような単純な話ばかりではなかったが、対比のために書かれていると思っておく。
カミンスキー・アタックでは、 攻撃対象の名前(例:www.example.jp)と同じドメイン名内の 存在しない名前(例: 001.example.jp)の問い合わせを 攻撃目標となるキャッシュ DNS サーバに対して送り(あるいは、その名前を検索させるように仕向け)、 その直後に 「私はその名前(001.example.jp)を知らないが、 www.example.jp が知っている。その IP アドレスは xxx.xxx.xxx.xxx(攻撃者が用意した偽のサーバのIPアドレス)である」 という偽の応答情報を、ID を変化させながらキャッシュ DNS サーバに大量に送り付けます。
この説明はKaminsky の示したものに近いが、実際には毒は入らなかった。
民田らはこれとは異なる形で毒盛に成功しているが、それはBINDの不良を突いたものであり、
- Kaminskyの指摘するものではない。(Kaminsky攻撃の本質には影響するものではないが。)
従来のDNSキャッシュポイズニングでは ポイズニングが一度失敗した直後に同じ名前に対して即座に再攻撃を試みることは不可能でしたが、 カミンスキー・アタックではそれが可能となります
この部分も不適切な表現が並んでいる。 同じ名前に対する攻撃(?)は行わないのがKaminsky流の攻撃だ。
- 問い合わせ名と毒盛対象名を分けたのがKaminsky流と言ってもよい。
確認サイト:
オープンリゾルバになっていないか、 もしオープンリゾルバになっている場合、問い合わせUDP ポートが固定されていないか。
問い合わせUDP ポートが固定だと十分危険であり、オープンリゾルバかどうかはたいした違いではない。