Fraunhofer SIT: Kritische Sicherheitslücke entdeckt
Das Nationale Forschungszentrum für angewandte Cybersicherheit Athene hat einen kritischen Fehler im Design von DNSSEC aufgedeckt. DNSSEC ist eine Sicherheitserweiterung des DNS (Domain Name System). Hersteller und Dienstanbieter wurden dabei unterstützt, diesen zu beheben.
DNS ist einer der grundlegenden Bausteine des Internets. Ohne die Fehlerbehebung könnte der Designfehler verheerende Folgen für praktisch alle DNSSEC nutzenden DNS-Implementierungen und öffentlichen DNS-Anbieter wie Google und Cloudflare haben.
Unter der Leitung von Prof. Dr. Haya Shulman von der Goethe-Universität Frankfurt hat das Athene-Team mit „KeyTrap“ eine neue Angriffsklasse entwickelt, die demonstriert, wie Cyberkriminelle diesen Designfehler ausnutzen könnten: Mit nur einem einzigen DNS-Paket könnten Hacker alle gängigen DNS-Implementierungen und öffentlichen DNS-Anbieter lahmlegen. Ein Ausnutzen dieses Angriffs hätte schwerwiegende Folgen für jede Anwendung, die das Internet nutzt, einschließlich der Nichtverfügbarkeit von Technologien wie Web-Browsern, E-Mail und Instant Messaging. Mit KeyTrap könnte ein Angreifer große Teile des weltweiten Internets vollständig lahmlegen.
Die Forschenden arbeiteten über mehrere Monate mit allen relevanten Herstellern und großen öffentlichen DNS-Anbietern zusammen und unterstützten diese bei der Entwicklung einer Reihe von spezifischen Patches, von denen die letzten am 13. Februar veröffentlicht wurden. Es wird allen Anbietern von DNS-Diensten dringend empfohlen, diese Patches sofort anzuwenden, um diese kritische Sicherheitslücke zu entschärfen.
Das Team, bestehend aus Prof. Dr. Haya Shulman und Niklas Vogel, beide von der Goethe-Universität Frankfurt, Elias Heftrig vom Fraunhofer SIT und Prof. Dr. Michael Waidner von der Technischen Universität Darmstadt und dem Fraunhofer SIT, entwickelte eine neue Klasse von sogenannten Algorithmic Complexity Attacks, die sie „KeyTrap“ nannten. Sie zeigten, dass der Angriff mit nur einem einzigen DNS-Paket die Prozessoren überlasten und damit sämtliche weitverbreiteten DNS-Implementierungen und öffentlichen DNS-Anbieter wie Google Public DNS und Cloudflare lahmlegen kann. Die weitverbreitete Bind9-DNS-Implementierung kann sogar 16 Stunden lang außer Gefecht gesetzt werden. Diese verheerende Wirkung veranlasste große DNS-Anbieter, KeyTrap als „den schlimmsten je entdeckten Angriff auf DNS“ zu bezeichnen.
Die Auswirkungen von KeyTrap-Angriffen sind weitreichend. Angreifer könnten den Internetzugang in jedem System, das einen DNSSEC-validierenden DNS-Resolver verwendet, mit KeyTrap effektiv deaktivieren und dadurch den Betrieb des Internets großflächig stören. Die Entdeckung und Behebung dieses Fehlers im Entwurf von DNSSEC ist damit ein gutes Beispiel für Cybersicherheitsforschung, die dabei hilft, Cyberangriffe proaktiv zu verhindern. Athene hat mit seinen Arbeiten bereits mehrere gravierende Sicherheitslücken im Internet entdeckt und damit zur Verbesserung der Sicherheit zum Nutzen vieler Millionen Anwender in Deutschland und weltweit beigetragen.
Die Angriffsvektoren, die in der KeyTrap-Angriffsklasse ausgenutzt werden, sind in der CVE-Datenbank (Common Vulnerabilities and Exposures) unter der Bezeichnung CVE-2023-50387 registriert.
DNS hat sich zu einem grundlegenden System im Internet entwickelt, das einer breiten Palette von Anwendungen zugrunde liegt und neue und aufkommende Technologien ermöglicht. Jüngste Messungen zeigen, dass im Dezember 2023 weltweit 31,47 Prozent der Web-Clients DNSSEC-validierende DNS-Resolver verwenden. Daher betreffen die KeyTrap-Angriffe nicht nur das DNS, sondern auch alle Anwendungen, die es nutzen. Die Nichtverfügbarkeit von DNS kann nicht nur den Zugriff auf Inhalte verhindern, sondern auch Sicherheitsmechanismen wie Anti-Spam-Mechanismen, Public Key Infrastructure (PKI) oder sogar Inter-Domain-Routing-Sicherheit wie RPKI (Resource Public Key Infrastructure) außer Kraft setzen. Die Schwachstellen wurden zwar erst jetzt entdeckt, existieren aber schon seit Langem. Sie waren bereits im mittlerweile veralteten Internetstandard RFC 2535 aus dem Jahr 1999 enthalten.
Die Anforderung, alle Schlüssel auszuprobieren, wurde auf den aktuellen Standard RFC 4035 übertragen. Im Jahr 2013 wurde das Problem noch verschärft, als in den Implementierungsanforderungen für die DNSSEC-Validierung, Standard RFC6840, empfohlen wurde, auch alle Signaturen auszuprobieren. Die Schwachstellen sind mindestens seit August 2000 im Bind9-DNS-Resolver bekannt und wurden im August 2007 in den Code des Unbound-DNS-Resolvers aufgenommen. Obwohl die Schwachstellen seit etwa 25 Jahren im Standard und seit 24 Jahren in eingesetzten Systemen existieren, wurden sie von der Community nicht entdeckt. Dies ist nicht überraschend, da die Komplexität der DNSSEC-Validierungsanforderungen die Identifizierung der Schwachstellen erschwert. Der Exploit erfordert eine Kombination mehrerer Anforderungen, sodass es selbst für DNS-Experten nicht einfach war, ihn zu erkennen.
Die Sicherheitsgemeinschaft hat ähnliche Erfahrungen mit viel einfacheren Schwachstellen wie Heartbleed oder Log4j gemacht, bei denen es ebenfalls Jahre dauerte, bis sie gefunden und behoben wurden. Leider sind die vom Team identifizierten Schwachstellen in DNSSEC im Gegensatz zu diesen Softwarefehlern viel schwerer zu beheben, da sie in der Designphilosophie von DNSSEC verwurzelt sind: Die DNSSEC-Spezifikation enthält seit den frühen Entwürfen explizit die fehlerhaften Anforderungen, die zu diesen Schwachstellen führen, und tatsächlich wurden alle DNS-Resolver, die den Standard RFCs folgen, als verwundbar befunden. Mithilfe von Codeanalysen konnte das Team die Schwachstellen bis zu den frühen Versionen von Bind9 im Jahr 2000 und Unbound im Jahr 2007 zurückverfolgen. Dies deutet darauf hin, dass die Schwachstellen von Anfang an, mit den ersten Deployments von DNSSEC, eingeführt wurden.
Seit dem Bekanntwerden der Schwachstellen hat das Team mit allen großen Anbietern daran gearbeitet, die Probleme in ihren Implementierungen zu entschärfen, aber es scheint, dass die vollständige Verhinderung der Angriffe ein grundsätzliches Überdenken der zugrunde liegenden Design-Philosophie von DNSSEC erfordert, d. h. eine Überarbeitung der DNSSEC-Standards.