Proving DNSSEC Correctness: A Formal Approach to Secure Domain Name Resolution
About
The Domain Name System Security Extensions (DNSSEC) are critical for preventing DNS spoofing, yet its specifications contain ambiguities and vulnerabilities that elude traditional "break-and-fix" approaches. A holistic, foundational security analysis of the protocol has thus remained an open problem. This paper introduces DNSSECVerif, the first framework for comprehensive, automated formal security analysis of the DNSSEC protocol suite. Built on the SAPIC+ symbolic verifier, our high-fidelity model captures protocol-level interactions, including cryptographic operations and stateful caching with fine-grained concurrency control. Using DNSSECVerif, we formally prove four of DNSSEC's core security guarantees and uncover critical ambiguities in the standards--notably, the insecure coexistence of NSEC and NSEC3. Our model also automatically rediscovers three classes of known attacks, demonstrating fundamental weaknesses in the protocol design. To bridge the model-to-reality gap, we validate our findings through targeted testing of mainstream DNS software and a large-scale measurement study of over 2.2 million open resolvers, confirming the real-world impact of these flaws. Our work provides crucial, evidence-based recommendations for hardening DNSSEC specifications and implementations.
Related benchmarks
| Task | Dataset | Result | Rank | |
|---|---|---|---|---|
| Formal Verification | DNSSEC Cache - Core Func. | Verification Time (h)1.1 | 4 | |
| Formal Verification | DNSSEC Data Auth. & Integrity | Verification Time (h)10 | 3 | |
| Formal Verification | DNSSEC Denial Auth. - NSEC | Time (s)9.87 | 3 | |
| Formal Verification | DNSSEC Cache Consistency | Verification Time (h)2.6 | 2 | |
| Formal Verification | DNSSEC Cache - Liveness | Verification Time (min)27 | 2 | |
| Formal Verification | DNSSEC Chain of Trust | Verification Time (h)17 | 1 | |
| Formal Verification | DNSSEC Mixed NSEC NSEC3 | Verification Time (s)109 | 1 |