Die Meldung vom 13. Februar 2024
Am 13. Februar 2024 veröffentlichte das Internet Systems Consortium (ISC) Details zu KeyTrap (CVE-2023-50387). Die Schwachstelle kann dazu führen, dass ein DNSSEC-validierender Resolver bei der Verarbeitung speziell konstruierter, signierter DNS-Daten sehr viel CPU-Zeit verbraucht. ISC bewertete den Fehler für BIND 9 mit CVSS 7,5 (High).
DNSSEC ergänzt DNS um kryptografische Signaturen. Ein Resolver prüft damit, ob DNS-Antworten authentisch sind. Diese Prüfung ist wichtig, aber sie verursacht Rechenarbeit. KeyTrap zeigte, dass bestimmte Kombinationen von Schlüsseln und Signaturen bei der Validierung einen unverhältnismäßig hohen Aufwand auslösen können. Das ist eine algorithmische Komplexitätsfalle: Die Ressourcenkosten der korrekten Verarbeitung können selbst zum Verfügbarkeitsrisiko werden.
Was die Auswirkung ist – und was nicht belegt ist
Ein überlasteter Resolver beantwortet legitime Anfragen verzögert oder gar nicht. Für abhängige Systeme sieht das so aus, als seien Websites, APIs oder interne Dienste nicht erreichbar, obwohl deren eigentliche Server funktionieren.
Die ISC-Meldung beschreibt eine deutliche Beeinträchtigung durch wiederholte Anfragen an den Resolver. Sie belegt nicht die pauschale Aussage, dass ein einzelnes manipuliertes Paket jeden Nameserver für Minuten lahmlegt. Ebenso sollten Aussagen zu anderen Resolver-Produkten anhand ihrer jeweiligen Herstellerhinweise geprüft werden: Die hier verlinkte ISC-Advisory dokumentiert konkret die BIND-Versionen.
Der Vorfall wird häufig als Problem der DNSSEC-Komplexität beschrieben. Präziser ist: Die Protokollsemantik erlaubte einen ungünstigen Arbeitsaufwand, den Implementierungen begrenzen und robust behandeln mussten. Es handelte sich nicht um Codeausführung oder Datenmanipulation, sondern um ein Verfügbarkeitsproblem.
Maßnahmen für DNS-Betreiber
- Prüfen Sie rekursive Resolver und autoritative Server getrennt; sie haben unterschiedliche Rollen und Expositionen.
- Vergleichen Sie Ihre BIND-Paketversion mit der ISC-Advisory und den Hinweisen Ihrer Distribution. Anbieter können Patches zurückportieren, ohne die Upstream-Versionsnummer zu übernehmen.
- Aktualisieren Sie auf eine korrigierte, für Ihre Umgebung unterstützte Version und überwachen Sie CPU-Auslastung, Antwortzeiten und Ausfallraten.
- Begrenzen Sie Ressourcen pro Dienst und halten Sie Redundanz bereit, damit die Überlast eines einzelnen Resolvers nicht den gesamten Namensauflösungspfad unterbricht.
- Deaktivieren Sie DNSSEC-Validierung nicht pauschal als Dauerlösung; wägen Sie eine solche Zwischenmaßnahme anhand der Herstellerempfehlung und Ihres Bedrohungsmodells ab.
KeyTrap ist ein Beispiel dafür, dass Parser- und Protokolltests nicht nur fehlerhafte Eingaben prüfen sollten. Auch gültig strukturierte Daten brauchen Budgets für CPU-Zeit, Speicher, Rekursion und Wiederholungen.
