DNS-Spoofing: Was ist das und wie kann ich es erkennen?
Domains und IP-Adressen
Heute dominieren die Suchmaschinen das World Wide Web. Um beispielsweise die Website der Increase Your Skills GmbH zu besuchen, geben die wenigsten Nutzenden direkt die Domain increaseyourskills.com in die URL-Leiste ihres Webbrowsers ein. Stattdessen werden die meisten so etwas wie “increase your skills kurse” oder “increase your skills datenschutz” eintippen, um sich von einer Suchmaschine ein paar Suchtreffer auflisten zu lassen, und dann auf den ersten relevanten Treffer klicken, um schließlich auf die gewünschte Website zu gelangen. Das ist bequem und für viele die gewohnheitsmäßige Art, die Dienste im World Wide Web zu nutzen. Aber wenn wir die Domain eines Dienstes bereits kennen, dann ist der Umweg über eine Suchmaschine im Grunde überflüssig: wir können dann die Domain des gewünschten Dienstes direkt ansteuern. Das hilft bei der Datensparsamkeit gegenüber den Suchmaschinen und es verhindert auch, dass wir versehentlich den falschen Suchtreffer auswählen.
Domains wie increaseyourskills.com oder elearning.increaseyourskills.com oder shop.increaseyourskills.com übernehmen im Internet und im World Wide Web die Aufgabe, die beim Postversand von den postalischen Anschriften übernommen wird: sie dienen als Adressen für den jeweiligen Bereich, der zu einer bestimmten Person oder Institution gehört. Um uns im World Wide Web zurechtzufinden, ist das im Grunde schon alles, was wir über Domains und Adressierung im Internet wissen müssen. Aber wie so oft in der Informationstechnik ist das nur die halbe Wahrheit. Technisch betrachtet, sind es nicht die Menschen, die über das Internet Daten austauschen, sondern Computer, aber Computer adressieren einander nicht über Domains wie increaseoyurskills.com, sondern über sogenannte Internetprotokolladressen, oder kurz: IP-Adressen, wie z. B. 81.169.145.162 oder 195.201.99.19 oder 23.227.38.74. Die Domains sind letztlich nichts weiter als freundlichere Pseudonyme für diese IP-Adressen, da sich Worte und Wortfolgen für uns Menschen besser merken lassen als Ziffernfolgen.
Das Domain Name System
Jeder gültigen Domain ist eine solche IP-Adresse zugeordnet. Bevor beispielsweise ein Laptop oder Smartphone zur Domain increaseyourskills.com Kontakt aufnehmen kann, muss diese Domain in die entsprechende IP-Adresse übersetzt werden. Allerdings hat kein Computer eine Liste aller Domains und der zugehörigen IP-Adressen gespeichert. Wie erfährt unser Laptop oder Smartphone also, welche IP-Adresse sich hinter der Domain increaseyourskills.com verbirgt? Hier kommt das sogenannte Domain Name System (oder kurz: DNS) ins Spiel. Das Domain Name System ist der Netzwerkdienst, bei dem jeder Computer die IP-Adresse erfragen kann, die einer gültigen Domain zugeordnet ist.
Für eine Domain, die ein Computer häufig besucht oder vor kurzem schon einmal besucht hat, ist ihm die IP-Adresse schon bekannt. Wenn das nicht der Fall ist, erfragt er die IP-Adresse beim nächsten DNS-Server. Bei einem festen Internetanschluss ist das üblicherweise der lokale Netzwerkrouter, der den Datenverkehr zwischen den im lokalen WLAN oder LAN angemeldeten Computern und dem Internet regelt. Wenn der lokale Netzwerkrouter die IP-Adresse zu einer bestimmten Domain auch nicht kennt, erfragt er diese Information wieder beim nächstgelegenen DNS-Server. Im Normalfall ist das ein DNS-Server, der von dem Internetanbieter betrieben wird, der für den lokalen Internetanschluss verantwortlich ist. Die meisten Internetanbieter haben zu diesem Zweck gleich mehrere DNS-Server im Einsatz. Wenn die DNS-Server des Internetanbieters die IP-Adresse zu einer bestimmten Domain auch nicht kennen, kontaktieren sie wieder den nächstgelegenen DNS-Server. Es gibt eine strenge Hierarchie solcher DNS-Server im Internet. Für jede Domain ist genau festgelegt, welcher DNS-Server sozusagen das letzte Wort für diese Domain hat. So wird unter anderem vermieden, dass sich die DNS-Server im Internet für eine frei ausgedachte Domain endlos im Kreis nach der zugehörigen IP-Adresse fragen.
DNS-Spoofing
Die Hauptaufgabe eines DNS-Servers besteht also darin, Anfragen von Computern zu beantworten, die für eine bestimmte Domain die zugehörige IP-Adresse erfahren möchten. Wenn wir einen DNS-Server dazu bringen können, so eine Anfrage nicht mit der tatsächlichen IP-Adresse, sondern mit einer anderen, von uns vorgegebenen IP-Adresse zu beantworten, betreiben wir DNS-Spoofing. Auf diese Weise lässt sich der Datenaustausch zwischen dem Endgerät eines bzw. einer Nutzenden und einem Server im Internet umleiten auf einen anderen Server.
Ein leichtes Ziel für DNS-Spoofing ist der lokale Netzwerkrouter im Heimnetz oder Firmennetz, denn das ist in den meisten Fällen der erste DNS-Server, den die Computer im lokalen Netz kontaktieren. Falls wir administrativen Zugriff auf den Netzwerkrouter haben, ist es leicht, darin zusätzliche DNS-Einträge vorzunehmen und den Datenverkehr für gewisse Domains gezielt auf andere Server umzuleiten. Würden keine zusätzlichen Sicherheitsmaßnahmen greifen, wäre es damit beispielsweise ein leichtes Spiel, den Nutzenden im lokalen Netz vorzugaukeln, dass sie eine bestimmte Website besuchen, während sie tatsächlich eine manipulierte Kopie dieser Website besuchen.
Die DNS-Server eines Internetanbieters oder in der tieferliegenden Internetinfrastruktur auf ähnliche Weise zu manipulieren, setzt dagegen fortgeschrittenes Fachwissen über Computernetzwerke und Netzwerkprotokolle voraus. Es gibt eine Reihe von bekannten Angriffsszenarien auf das DNS. Viele davon sind nur noch historisch relevant, denn das DNS wird kontinuierlich weiterentwickelt und gehärtet gegen derartige Angriffe. Beispielsweise gibt es mit DNSSEC eine Reihe von Erweiterungen für das Domain Name System, die es möglich machen, die Antworten eines DNS-Servers kryptografisch zu authentifizieren. Leider ist DNSSEC noch nicht flächendeckend im Einsatz.
DNS-Spoofing erkennen
Für Netzwerkadministrator:innen und andere technikaffine Nutzende gibt es Software, mit der sich ein entsprechender DNS-Audit vornehmen lässt. Jede gängige Linux-Distribution enthält die frei verfügbare Toolbox DNSDiag, mit der sich DNS-Antworten analysieren lassen, um beispielsweise festzustellen, ob eine DNS-Anfrage Gegenstand eines Man-in-the-Middle-Angriffs ist. Bei der normalen, alltäglichen Nutzung des Internets und des World Wide Web, ist es derzeit kaum möglich, festzustellen, ob uns durch DNS-Spoofing eine falsche IP-Adresse untergejubelt wird. Dass unser Endgerät den Antworten des DNS-Servers sozusagen blind vertraut, liegt ohne kryptografische Authentifizierung der DNS-Antworten sozusagen in der Natur der Sache.
Glücklicherweise ist der Datentransfer im Internet heute in den meisten Fällen durch ein kryptografisches Protokoll namens TLS abgesichert. Im World Wide Web erkennen wir den Einsatz von TLS daran, dass die Adresse in der URL-Leiste nicht mit http://, sondern mit https:// beginnt. Moderne Webbrowser zeigen auch ein kleines Schloss vor der Adresse, um anzuzeigen, dass die Verbindung durch TLS abgesichert ist. Wenn die Verbindung zum Server durch TLS abgesichert ist, kann DNS-Spoofing zwar immer noch dazu führen, dass Anfragen auf einen falschen Server umgeleitet werden, aber dank TLS erkennt unser Endgerät, dass es sich nicht um den richtigen Server handelt, und bricht die Kommunikation ab.
Achten Sie also beim täglichen Surfen auf das kleine Schloss in der URL-Leiste, und darauf, dass die Webadressen stets mit https:// beginnen. Dann schützt sie das TLS-Protokoll auch vor den Folgen eines DNS-Spoofing-Angriffs.