Zone Walking (Zone Enumeration via DNSSEC NSEC Records)
I. Introduction
An important capability of DNSSEC is the ability to authoritatively assert that a given domain name does NOT exist, as per Authenticated Denial of Existence in the DNS.
Originally this was done by leveraging NSEC records. However, as noted in section 3.4 of RFC7129:
There were two issues with NSEC (and NXT). The first is that it allows for zone walking. NSEC records point from one name to another; in our example: “example.org” points to “a.example.org”, which points to “d.example.org”, which points back to “example.org”. So, we can reconstruct the entire “example.org” zone, thus defeating attempts to administratively block zone transfers ([RFC2065], Section 5.5).
The second issue is that when a large, delegation-centric ([RFC5155], Section 1.1) zone deploys DNSSEC, every name in the zone gets an NSEC plus RRSIG.
[continues]
NSEC3 records were introduced as an alternative to NSEC records, and provide a way to (largely) mitigate this exposure.
The question we consider today is, “Do any zones still sign their zones with NSEC instead of NSEC3?”
Actually, yes, a surprisingly large number of them do.
II. Empirically Checking For NSEC Use
Beginning with the list of TLDs that’s available from IANA we used a tool called ldns-walk to check for TLDs using NSEC.
Once you’ve installed that software, the process of using it is trivial — you merely say:
$ ldns-walk domainname
For example, if you were to walk the KY TLD (no, that’s not Kentucky or Kyrgyzstan, dot KY is the Cayman Islands, you’d get output that looks like:
$ ldns-walk ky ky. ky. NS SOA RRSIG NSEC DNSKEY 000.ky. NS RRSIG NSEC 100kids.ky. NS RRSIG NSEC 100men.ky. NS RRSIG NSEC 100women.ky. NS RRSIG NSEC 100womencayman.ky. NS RRSIG NSEC 1040.ky. NS RRSIG NSEC 111.ky. NS RRSIG NSEC 123.ky. NS RRSIG NSEC 1fifteen.ky. NS RRSIG NSEC 1rumpoint.ky. NS RRSIG NSEC 1uc.ky. NS RRSIG NSEC 200.ky. NS RRSIG NSEC 2017oldenbergltd.ky. NS RRSIG NSEC [etc]
If we discovered that a TLD used NSEC records, we walked the entire TLD.
TLDs which we found with more than a hundred NSEC-using domains are listed in the following table:
Table I. TLDs With One Hundred Or More NSEC-Secured Domains
2,557,983 us 2,118,203 co 2,070,537 biz 152,779 link 76,500 click 53,983 bg 29,354 lk 26,619 tn 24,784 help 24,768 lol 22,988 sexy 22,165 photo 10,768 pics 9,524 kg 8,107 audio 5,656 hosting 5,353 ky 3,451 mg 2,135 game 1,989 how 1,766 pr 1,373 hiphop 1,286 br 1,195 sl 392 auto 382 na 319 lr [other TLDs with a 100 or fewer records omitted]
We found that to be a unexpectedly large number of domains.
III. “So Are You Suggesting That Domains Shouldn’t Do DNSSEC?”
No — the exact opposite in fact. Farsight strongly believe that all domains should use DNSSEC when possible, and Farsight uses DNSSEC for its own domains and has strong support for DNSSEC in DNSDB (our flagship passive DNS product). Everyone really should have the protection that DNSSEC offers.
IV. “So If A TLD (or 2nd-Level Domain) Is Going to Use DNSSEC, Should It Be Using NSEC3 Instead of NSEC?”
Not necessarily — for example, Farsight itself uses NSEC (rather than NSEC3) to secure its domains, and yes, as a result, you can walk our domains. The company’s perspective is that we’ve got nothing confidential in our publicly-available authoritative DNS, and so we make an informed decision to use NSEC rather than NSEC3.
You (or the TLDs you use) may feel differently — most TLDs block zone transfers, for example, and in that case it might make sense to use NSEC3 rather than NSEC to secure that TLD against being zone walked.
V. “What About Privacy? Zone Walking Feels As If It Encroaches on Domain Owner Privacy!”
Privacy is important, and something that Farsight takes very seriously. However, we agree with the fundamental conclusion quoted here — the mere ability to get a list of domain names does not compromise a domain owner’s privacy.
Given the contentious European General Data Protection Regulations, and its potential for catastrophic restrictions on access to Whois information, we will refrain from comment on the remainder of the NLnet Labs’ DNSSEC statement as it relates to Whois data, except to say that we believe continued access to Domain Whois and IP Whois is absolutely critical to maintaining a workable, transparent, accountable, and usable Internet.
VI. Conclusion
We hope you’ve found this an interesting topic to explore. If you’d like to know more about how Farsight Security’s DNSDB service can help you leverage DNS data in your investigations, including DNSSEC-related DNS records, feel free to contact Farsight Security, Inc..
Joe St Sauver, Ph.D. is a Scientist with Farsight Security, Inc.