[论文解读] Security of Patched DNS
本文分析了用于防御DNS解析器缓存投毒的非密码学'修补方案'的安全性,证明了通过NAT行为、解析器特性以及查询长度操控,攻击者可绕过源端口随机化、IP地址随机化以及通过0x20编码和随机前缀实现的查询随机化。其核心贡献在于揭示了这些广泛部署的防御机制在根本上存在漏洞,进一步强调了部署DNSSEC的紧迫性。
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编码和随机前缀实现的查询随机化。
- 在真实世界的NAT设备和标准DNS解析器(如Unbound和Google公共DNS)上验证这些攻击。
- 通过揭示当前基于修补方案的防御机制在根本上的局限性和脆弱性,推动DNSSEC的更广泛部署。
提出的方法
- 分析NAT网关的行为,以证明其可能暴露或预测DNS查询中使用的源端口。
- 利用符合标准的解析器(例如Unbound)强制选择确定性的名称服务器,从而抵消IP地址随机化机制。
- 仅使用数字构造长度达255字节的DNS查询,以防止添加随机前缀并禁用0x20编码。
- 证明0x20编码对针对顶级域(如.com)而非子域的攻击几乎无效。
- 在真实系统(包括Google公共DNS和常见NAT设备)上验证攻击,确认其实际可行性。
- 针对每个攻击向量提出对策,但强调此类修复仅为临时性措施。
实验结果
研究问题
- RQ1当涉及NAT设备时,攻击者是否能够绕过DNS解析器中的源端口随机化?
- RQ2通过操控符合标准的DNS解析器,是否能够击败IP地址随机化?
- RQ30x20编码或随机前缀插入在多大程度上能为抵御中间人攻击提供真实安全保障?
- RQ4为何当前的非密码学修补方案即使广泛部署,仍无法提供强安全性?
- RQ5现实世界中的NAT设备和解析器如何相互作用,从而破坏DNS修补方案所提供的熵?
主要发现
- NAT网关可能暴露或预测DNS查询中使用的源端口,导致在常见部署场景下端口随机化失效。
- 符合标准的解析器(如Unbound)可被操控,使其始终查询单一且可预测的名称服务器,从而完全抵消IP地址随机化机制。
- 攻击者可仅使用数字构造出最大长度的DNS查询(达255字节),从而阻止随机前缀的添加并禁用0x20编码,进而绕过这两种防御机制。
- 0x20编码技术对针对顶级域(如.com)的攻击几乎不提供保护,而这类顶级域正是Kaminsky风格攻击的主要目标。
- 这些攻击的组合可系统性地消除DNS请求中的所有熵,从而实现高效的缓存投毒。
- 作者在Google公共DNS和常见NAT设备上验证了其攻击,确认了攻击的实际可行性。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。