Cryptographic algorithm agility is an important property for DNSSEC: it allows easy deployment of new algorithms if the existing ones are no longer secure. Significant operational and research efforts are dedicated to pushing the deployment of new algorithms in DNSSEC forward. Recent research shows that DNSSEC is gradually achieving algorithm agility: most DNSSEC supporting resolvers can validate a number of different algorithms and domains are increasingly signed with cryptographically strong ciphers. In this work we show for the first time that the cryptographic agility in DNSSEC, although critical for making DNS secure with strong cryptography, also introduces a severe vulnerability. We find that under certain conditions, when new algorithms are listed in signed DNS responses, the resolvers do not validate DNSSEC. As a result, domains that deploy new ciphers, risk exposing the validating resolvers to cache poisoning attacks. We use this to develop DNSSEC-downgrade attacks and show that in some situations these attacks can be launched even by off-path adversaries. We experimentally and ethically evaluate our attacks against popular DNS resolver implementations, public DNS providers, and DNS services used by web clients worldwide. We validate the success of DNSSEC-downgrade attacks by poisoning the resolvers: we inject fake records, in signed domains, into the caches of validating resolvers. We find that major DNS providers, such as Google Public DNS and Cloudflare, as well as 70% of DNS resolvers used by web clients are vulnerable to our attacks. We trace the factors that led to this situation and provide recommendations.
翻译:加密算法的灵敏度是DNSSEC的一个重要属性:如果现有的加密算法不再安全,它可以方便地使用新的算法; 大量的业务和研究努力致力于推动在DNSSEC中部署新的算法。 最近的研究显示, DNSSEC正在逐渐实现算法的灵敏度:大多数DNSSSEC支持的解决者可以用加密很强的加密强的密码器来验证若干不同的算法和域。 在这项工作中,我们第一次显示DNSSEC的加密灵敏度,虽然对于以强有力的加密使DNSS安全,也具有关键意义,但也带来了严重的弱点。 我们发现,在某些条件下,当新的算法在DNSSSSSEC的签名回复中列出时,新的算法并不能够验证DNSSSSSSEC。 结果, 使用新的密码, 暴露了验证者可以藏匿毒害攻击。 我们用DNSSSSSDFAR的正确性攻击, 我们用这种系统在互联网上找到不可靠的攻击的对手。