Zone Walking
# Zone Walking

Zone Walking (auch DNSSEC Walking oder Zone Enumeration) ist ein Verfahren, mit dem Angreifer den vollständigen Inhalt von DNSSEC signierten DNS-Zonen auslesen können. Dadurch können sicherheitsrelevante Informationen (z. B. IP-Adressen von Servern) ausgelesen werden, die ansonsten schwerer zu ermitteln wären.

## Funktionsweise

Beim Signieren einer Zone verkettet DNSSEC automatisch mittels NSEC Resource Records alle Labels ringförmig in alphabetischer Reihenfolge. Beispiel Zone example.de:

Links steht jeweils das Label (kanonischer Name) und rechts ein Verweis auf das lexigrafisch nächste Label.

Damit kann das Nichtvorhandensein von Namen bewiesen werden. Fragt beispielsweise ein Client den nichtexistierenden Namen name3 an, so antwortet der Nameserver mit dem NSEC-Eintrag name2 NSEC name5 und zeigt damit an, dass sich zwischen name2 und name5 kein weiterer Eintrag befindet.

Ein Angreifer macht sich diese Verkettung zunutze, indem er mit dem ersten Namen einer Zone beginnend (das ist immer der Name der Zone selbst) die Kette durch sukzessive Abfragen durchläuft. Durch dieses technisch recht einfache Verfahren kann er innerhalb weniger Sekunden den gesamten Zoneninhalt auslesen.

## Abwehr

### NSEC3

Um Zone Walking zu erschweren, wurde mit NSEC3 eine Alternative zu NSEC eingeführt, die Namen nicht im Klartext darstellt, sondern als kryptographischer Hashwert. NSEC3 erschwert das Zone Walking, kann jedoch durch Angriffe auf die Hash-Funktion das Zone Walking nicht vollständig unterbinden.

### Minimale Abdeckung mit Online-Signierung

Ein anderes Verfahren ist die in RFC 4470 vorgeschlagene Verwendung von NSEC-Records mit minimaler Abdeckung, die dynamisch erzeugt werden. Anstatt auf real existierende Namen zu verweisen, zeigen die NSEC-Records auf nicht vorhandene Einträge. Dieses Verfahren erfordert Online-Signierung, also die Erzeugung von DNSSEC-Signaturen zum Zeitpunkt der Antwort. Das ist mit erheblichen Nachteilen behaftet, da es die Rechenlast auf dem Server signifikant erhöht und die ständige Präsenz des privaten Zonen-Schlüssels erforderlich macht, mit dem dynamisch erzeugte NSEC-Records signiert werden. Im Gegensatz zu NSEC3 bietet es jedoch den Vorteil, dass es bei korrekter Anwendung das Zone Walking verhindert.

Das Prinzip der minimalen Abdeckung ist auch mit NSEC3 möglich und als NSEC3 White Lies (englisch white lie ‚harmlose Lüge‘) bekannt. Es bietet dieselben Vor- und Nachteile wie das Pendant mit dynamisch erzeugten NSEC-Records.

### NSEC5

Ein weiteres Verfahren wurde unter dem Namen NSEC5 vorgeschlagen. Statt einer Hash-Funktion wie bei NSEC3 verwendet NSEC5 ein asymmetrisches Kryptosystem. Das entspricht der Verwendung von Online-Signierung mit den damit verbundenen Performance-Nachteilen. Allerdings verwendet NSEC5 für diesen Zweck ein eigenes Schlüsselpaar, sodass der private Zonen-Schlüssel nicht auf dem DNS-Server vorgehalten werden muss. Zone Walking wird wie auch bei Online-Signierung mit NSEC oder NSEC3 vollständig unterbunden.

