Papers
Topics
Authors
Recent
Gemini 2.5 Flash
Gemini 2.5 Flash
158 tokens/sec
GPT-4o
7 tokens/sec
Gemini 2.5 Pro Pro
45 tokens/sec
o3 Pro
4 tokens/sec
GPT-4.1 Pro
38 tokens/sec
DeepSeek R1 via Azure Pro
28 tokens/sec
2000 character limit reached

Attacking with Something That Does Not Exist: 'Proof of Non-Existence' Can Exhaust DNS Resolver CPU (2403.15233v2)

Published 22 Mar 2024 in cs.CR

Abstract: NSEC3 is a proof of non-existence in DNSSEC, which provides an authenticated assertion that a queried resource does not exist in the target domain. NSEC3 consists of alphabetically sorted hashed names before and after the queried hostname. To make dictionary attacks harder, the hash function can be applied in multiple iterations, which however also increases the load on the DNS resolver during the computation of the SHA-1 hashes in NSEC3 records. Concerns about the load created by the computation of NSEC3 records on the DNS resolvers were already considered in the NSEC3 specifications RFC5155 and RFC9276. In February 2024, the potential of NSEC3 to exhaust DNS resolvers' resources was assigned a CVE-2023-50868, confirming that extra iterations of NSEC3 created substantial load. However, there is no published evaluation of the attack and the impact of the attack on the resolvers was not clarified. In this work we perform the first evaluation of the NSEC3-encloser attack against DNS resolver implementations and find that the NSEC3-encloser attack can still create a 72x increase in CPU instruction count, despite the victim resolver following RFC5155 recommendations in limiting hash iteration counts. The impact of the attack varies across the different DNS resolvers, but we show that with a sufficient volume of DNS packets the attack can increase CPU load and cause packet loss. We find that at a rate of 150 malicious NSEC3 records per second, depending on the DNS implementation, the loss rate of benign DNS requests varies between 2.7% and 30%. We provide a detailed description and implementation of the NSEC3-encloser attack. We also develop the first analysis how each NSEC3 parameter impacts the load inflicted on the victim resolver during NSEC3-encloser attack.

Definition Search Book Streamline Icon: https://streamlinehq.com
References (10)
  1. NXNSAttack: Recursive DNS inefficiencies and vulnerabilities. In 29th USENIX Security Symposium (USENIX Security 20), pages 631–648. USENIX Association, 2020.
  2. NRDelegationAttack: Complexity DDoS attack on DNS recursive resolvers. In 32nd USENIX Security Symposium (USENIX Security 23), pages 3187–3204. USENIX Association, 2023.
  3. A security evaluation of DNSSEC with NSEC3. Cryptology ePrint Archive, 2010.
  4. DNS unchained: Amplified application-layer DoS attacks against DNS authoritatives. In Michael Bailey, Thorsten Holz, Manolis Stamatogiannakis, and Sotiris Ioannidis, editors, Research in Attacks, Intrusions, and Defenses, pages 139–160. Springer, 2018.
  5. Stretching NSEC3 to the limit: Efficient zone enumeration attacks on NSEC3 variants. Technical report, Boston University, 2015.
  6. The Harder You Try, The Harder You Fail: The KeyTrap Denial-of-Service Algorithmic Complexity Attacks on DNSSEC. 2023.
  7. Rainbow table to crack password using MD5 hashing algorithm. In 2013 IEEE Conference on Information & Communication Technologies, pages 433–439. IEEE, 2013.
  8. Harrison Mitchell. Taking the DNS for a walk; NSEC3 prevalence and recoverability.
  9. Clouding up the internet: how centralized is DNS traffic becoming? In Internet Measurement Conference, pages 42–49. ACM, 2020.
  10. Making nsec5 practical for dnssec. Cryptology ePrint Archive, Paper 2017/099, 2017. https://eprint.iacr.org/2017/099.

Summary

We haven't generated a summary for this paper yet.