1. DNS/リゾルバー/脆弱性
Contents
1.1. アクセス制限されていないキャッシュサーバは毒盛しやすい
問い合わせをさせるきっかけを「易に」制御できる。
1.2. コンテンツサーバと同居しているキャッシュサーバは発見され易い
- port scan するまでもないから。
1.3. 問い合わせ元の port が固定されているものは毒盛しやすい
- TXIDが予測可能なものも同様。ホームルータなどに見られる
1.3.1. port randomization
port randomization は「特定のサーバについて毒盛される可能性を小さくする」ための一つの工夫です。
ランダム性の不十分なリゾルバーは残っている。(ocnなど)
1.4. EDNSを使っていると危ない
フラグメント化して、すり替えるという強力な攻撃方法をご存知ですか。 /公開リスト
1.5. BIND などの不良
additional section 中のデータが毒になるというのは BINDの不良である。(djbdnsも)
- キャッシュにある A レコードと additional section にある A レコードを同等に扱うことなど。
authority section中の毒を受け入れるのも実装の不良です。
2. DNSは実験システム
DNSは実験システムとして計画されて運用されているものです。
- プロトコルに問題点が見つかったら、実装を修正するというのは当然の対応です。
特定のRFCだけがまずいという考え方はなじみません。
3. 攻撃対象サーバ
多数のキャッシュサーバを攻撃の対象とし、どれかに毒盛できれば十分という考えもある。
- これなら、攻撃(のコスト)に対しての毒盛の成功率はKaminsky攻撃では改善されない。 言い換えれば、特定のキャッシュサーバに向かって短時間に多数の偽パケットを送る必要はないということである。
- 多数のキャッシュサーバに対して、偽パケットを送ればいいのだから。
4. Kaminskyの攻撃手法の意味するところ
特定のキャッシュサーバに対してはこれまでより短時間で毒盛可能であるということ。
- それ以上でも、それ以下でもない。TTLの制約がないからという意味である。
こちらの立場にたてば、Kaminsky はなんら新しい貢献をしていないという見方になる。
-- ToshinoriMaeno 2009-09-04 09:57:42