Fragen und Antworten (FAQ)
Sollte ich nach diesem Angriffsvektor in zukünftigen Sicherheitsüberprüfungen Ausschau halten?
Ja, definitiv! Da dieser Angriffsvektor eventuell Benutzerübernahmen ermöglicht sollte er in Sicherheitsüberprüfungen inkludiert werden. Ebenfalls kann eine Überprüfung mit einem bereits aufgesetztem Analyse-Server schnell durchgeführt werden.
Betrifft mich dieser Angriffsvektor?
Falls Unsicherheit über verwendete DNS-Resolver und die DNS- Infrastruktur im Allgemeinen besteht, lässt sich das am einfachsten mit dem DNS Reset Checker herausfinden!
Wie kann ich mich schützen?
Um diesen Angriffsvektor zu verhindern sollte primär die DNS- Infrastruktur der Webapplikation abgesichert werden. Best-Practices zum Absichern der eigenen DNS-Resolver sind zum Beispiel bei Google[3] sowie bei DNS-Flag-Day[4] zu finden. Ebenfalls können große öffentliche DNS-Anbieter wie Google[5], Cloudflare[6] oder Cisco [7] verwendet werden. Gegenmaßnahmen für neue DNS-Angriffe [8] werden von diesen meist rasch implementiert.
Ob nach Absicherung der DNS-Infrastruktur noch immer Schwachstellen vorhanden sind, kann mit dem DNS Reset Checker überprüft werden.
Meine DNS-Resolver sind alle auf dem neuesten Stand, also bin ich sicher… oder?
DNS-Resolver auf dem neuesten Stand zu halten ist ein Schritt in die richtige Richtung, jedoch kann es noch immer zu Schwachstellen in der DNS-Namensauflösung kommen. Zum Beispiel kann Netzwerkinfrastruktur wie NAT/PAT-Geräte einen Einfluss auf die Zufälligkeit von UDP-Quell-Ports haben und dadurch Kaminsky-Angriffe ermöglichen (siehe Herzberg et al.[9] sowie Vulnerability Note VU#800113 [10]). Das ist ebenfalls der Grund warum nicht von der Sicherheit der DNS-Resolver, sondern von der Sicherheit der gesamten DNS-Namensauflösung die Rede ist.
Betreffen mich DNS-Schwachstellen auch, wenn ich keinen öffentlichen DNS-Resolver verwende?
Ja, zumindest teilweise. Wie Dan Kaminsky schon im Jahr 2008 angemerkt hat und nochmals in einer Lab-Umgebung überprüft wurde, schützt die Verwendung von privaten DNS-Resolvern nicht gegen Kaminsky-Angriffe.
Können DNS-Schwachstellen durch die Verwendung von TLS für E- Mail-Verkehr verhindert werden?
Grundsätzlich, ja. Wie auch in Browsern kann die Kritikalität von DNS- Schwachstellen durch die Verwendung von TLS relativiert werden. Hierbei ist jedoch zu berücksichtigen, dass TLS richtig verwendet werden muss. Oft wird zwar TLS verwendet, jedoch nur mit selbstsignierten und unvertrauten Zertifikaten (Mayer et al. [11]) . Dadurch ist zwar Schutz vor einem passiven Beobachter gegeben, aber nicht vor einem aktiven Angreifer (on-path).
Ist die Übernahme von Benutzerkonten die einzige Möglichkeit um DNS-Schwachstellen in Webapplikationen auszunutzen?
Nein, abhängig von anderen Funktionalitäten von Webapplikationen die das DNS verwenden könnten zum Beispiel auch Server-Side-Request- Forgery (SSRF) oder ähnliche Angriffe möglich sein. In diesem Artikel wurde sich auf die "Passwort vergessen?"-Funktionalität fokussiert, da diese bei vielen Webapplikationen verwendet wird.
Wie können Ergebnisse des DNS Reset Checkers bewertet werden?
Um die Ergebnisse des DNS Reset Checkers zu bewerten, können erfüllte Angriffsvoraussetzungen herangezogen werden. Abhängig von den erfüllten Angriffsvoraussetzungen kann der vorliegenden DNS Namensauflösung ein mehr oder weniger hohes Risiko zugeordnet werden.
Werden zum Beispiel erratbare UDP-Quell-Ports vergeben, ist damit eine Hauptvoraussetzung für Kaminsky-Angriffe erfüllt und es sind sehr wahrscheinlich Kaminsky-Angriffe möglich. Demnach liegt ein hohes Risiko vor.
Ist IP-Fragmentierung möglich, aber weitere Angriffsvoraussetzungen sind unklar, dann ist die Wahrscheinlichkeit eines erfolgreichen Angriffs eher gering. Demnach liegt ein niedrigeres Risiko vor.
Warum 146 Webapplikationen?
Bei ersten Testversuchen wurden Benutzer bei zirka 190
Webapplikationen (Alexa Top 500, etc.) registriert. Da manche Webapplikationen nur E-Mail-Adressen von großen Anbietern (gmail. com, outlook.com, etc.) erlauben oder keine Registrierungs-E-Mails versenden, wurden letztendlich 146 Webapplikationen überprüft.
Wurden Angriffsvoraussetzungen für neue Angriffe wie SAD (Side channel AttackeD DNS) und DNSpooq ebenfalls überprüft?
Nein, da Analysen bereits vor der Veröffentlichung dieser Angriffe abgeschlossen wurden. Überprüfungsmethoden für deren Angriffsvoraussetzungen können in zukünftigen Versionen des DNS Reset Checkers eingebaut werden.
Gab es bereits Überprüfungen der DNS-Sicherheit von Webapplikationen?
Teilweise sowie indirekt. Die meisten Analysen bezüglich DNS- Sicherheit im Internet befassen sich mit offenen DNS-Resolvern, die im Internet zur Verfügung stehen. Es kann dadurch zwar erkannt werden, dass ein DNS-Resolver verwundbar ist, aber nicht, dass eine Webapplikation diesen verwendet. Eine Analyse der DNS-Sicherheit von Webapplikationen wurde in Recherchen nicht gefunden.
Existieren nicht bereits Online-Tools zur Überprüfung der DNS- Sicherheit?
Es gibt mehrere Online-Tools zur Überprüfung der DNS-Sicherheit (z.B. GRC [12] oder DNS-OARC [13]). Diese testen jedoch nur die DNS- Namensauflösung des vom System angegebenen DNS-Resolvers. Da Webapplikationen teilweise DNS-Resolver verwenden, die nicht aus dem Internet erreichbar sind, kann auf diese Weise nur eingeschränkt getestet werden.
Wie wurde dieser Angriffsvektor wiederentdeckt?
Bei internen Sicherheitsüberprüfungen ist es üblich, die "Passwort vergessen?"-Funktion interner Webapplikationen auszunutzen, um an Passwortrücksetzungs-URLs in E-Mails zu kommen. Dies ist intern simpel möglich, da Man-in-the-Middle-Angriffe mittels ARP-Spoofing umgesetzt werden können, um von einzelnen Webapplikationen versendete Passwortrücksetzungs-E-Mails zum Angreifer umzuleiten. Basierend auf dieser Angriffsart und mit den potentiell verheerenden Folgen im Hinterkopf, wurde versucht dieses Konzept auf Webapplikationen im Internet umzumünzen.