Skip to main content
QUICK REVIEW

[論文レビュー] Security of Patched DNS

Amir Herzberg, Haya Shulman|arXiv (Cornell University)|May 23, 2012
Internet Traffic Analysis and Secure E-voting参考文献 19被引用数 12
ひとこと要約

この論文は、DNSリソルバに対するキャッシュポイズニング攻撃に対する防御策として広く導入されている暗号化されていない「パッチ」のセキュリティを分析し、NATの挙動、リソルバの特徴、クエリ長の操作を活用することで、送信元ポートのランダム化、IPアドレスのランダム化、0x20エンコードおよびランダムプレフィックスを用いたクエリランダム化といった防御策がすべてオフパス攻撃者によって回避可能であることを示している。主な貢献は、広く採用されているこれらの防御策が根本的に脆弱であることを明らかにしたことであり、DNSSECの導入の必要性を強化している。

ABSTRACT

In spite of the availability of DNSSEC, which protects against cache poisoning even by MitM attackers, many caching DNS resolvers still rely for their security against poisoning on merely validating that DNS responses contain some 'unpredictable' values, copied from the re- quest. These values include the 16 bit identifier field, and other fields, randomised and validated by different 'patches' to DNS. We investigate the prominent patches, and show how attackers can circumvent all of them, namely: - We show how attackers can circumvent source port randomisation, in the (common) case where the resolver connects to the Internet via different NAT devices. - We show how attackers can circumvent IP address randomisation, using some (standard-conforming) resolvers. - We show how attackers can circumvent query randomisation, including both randomisation by prepending a random nonce and case randomisation (0x20 encoding). We present countermeasures preventing our attacks; however, we believe that our attacks provide additional motivation for adoption of DNSSEC (or other MitM-secure defenses).

研究の動機と目的

  • DNSリソルバに対するキャッシュポイズニング攻撃に対する、広く導入されている非暗号的防御(パッチ)のセキュリティ効果を分析すること。
  • 送信元ポートランダム化、IPアドレスランダム化、0x20エンコードおよびランダムプレフィックスを用いたクエリランダム化といった主要なパッチを回避する実用的攻撃を特定・実証すること。
  • Unbound や Google Public DNS といった標準的なDNSリソルバおよび実世界のNATデバイスに対して、これらの攻撃を検証すること。
  • 現在のパッチベースの防御の本質的限界と脆さを示すことで、DNSSECの広範な導入を促すこと。

提案手法

  • NATゲートウェイの挙動を分析し、DNSクエリで使用される送信元ポートを露見または予測可能にできることを示すこと。
  • 標準準拠のリソルバ(例:Unbound)を悪用して、一貫した名前サーバー選択を強制し、IPアドレスランダム化の効果を無効にすること。
  • 0x20エンコードやランダムプレフィックスの追加を防ぐために、0〜9の数字のみを用いて最大255バイトの長大なDNSクエリを構築すること。
  • 0x20エンコードが、トップレベルドメイン(例:.com)を標的とする攻撃に対してはほとんど保護効果を発揮しないことを示すこと。
  • Google Public DNS や一般的なNATデバイスといった実世界のシステムに対して攻撃を検証し、実用的実現可能性を確認すること。
  • 各攻撃ベクトルに対応する対策を提案するが、それらが一時的な修正に過ぎないことを強調すること。

実験結果

リサーチクエスチョン

  • RQ1NATデバイスが関与する状況下で、攻撃者がDNSリソルバの送信元ポートランダム化を回避可能か?
  • RQ2標準準拠のDNSリソルバを操作することで、IPアドレスランダム化が無効化可能か?
  • RQ30x20エンコードやランダムプレフィックス挿入は、オフパス攻撃者に対してどれほど実際のセキュリティを提供するか?
  • RQ4なぜ、広く導入されている非暗号的パッチは、強固なセキュリティを提供しないのか?
  • RQ5実世界のNATデバイスとリソルバは、DNSパッチが提供するエントロピーをどのようにして無効にしているのか?

主な発見

  • NATゲートウェイは、DNSクエリで使用される送信元ポートを露見または予測可能にでき、これが一般的な展開環境下でポートランダム化の効果を無効にしている。
  • 標準準拠のリソルバ(例:Unbound)は、一貫した名前サーバー選択を強制することで、IPアドレスランダム化の効果を無効にできる。
  • 攻撃者は、0〜9の数字のみを用いて最大長のDNSクエリ(255バイトまで)を構築でき、これによりランダムプレフィックスの追加が防止され、0x20エンコードも無効化され、両方の防御を回避できる。
  • 0x20エンコードは、Kaminskyスタイル攻撃の主な標的であるトップレベルドメイン(例:.com)に対しては、ほとんど保護効果を発揮しない。
  • これらの攻撃の組み合わせにより、オフパス攻撃者がDNSリクエストからすべてのエントロピーを系統立てて除去でき、効率的なキャッシュポイズニングが可能になる。
  • 著者らは、Google Public DNS や一般的なNATデバイスに対して攻撃を検証し、攻撃の実用的実現可能性を確認した。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。