Man-in-the-Middle-Attack: Angriffsmuster und Gegenmaßnahmen

Seit Menschen Nachrichten versenden, gibt es auch Leute, die versuchen, diese Nachrichten abzufangen oder unbemerkt zu manipulieren. Wurden dazu früher Boten abgepasst oder Drahtleitungen angezapft, bietet das Internet heute deutlich subtilere Möglichkeiten der Spionage. Ein Großteil des Datenverkehrs weltweit erfolgt über öffentliche Netze – und das oft auch noch unzureichend verschlüsselt. Hinzu kommt, dass die Übertragungswege innerhalb des weltweiten Rechnerverbunds für Nutzer undurchsichtig sind. Datenpakete passieren auf dem Weg vom Sender zum Empfänger in der Regel eine ganze Reihe von Zwischenstationen mit unterschiedlichen Sicherheitsniveaus.

Hier setzten Hacker, aber auch Geheimdienste an, deren Ziel es ist, sensible Informationen mitzulesen und für eigene Zwecke zu verwenden. Immer mehr Nutzer suchen daher nach Möglichkeiten, die Transportwege im Internet sicherer zu gestalten. Doch was, wenn sich ein Angreifer als rechtmäßiger Empfänger der zu übermittelnden Information ausgibt? Eine solche Spionagemethode wird als Man-in-the-Middle-Attack bezeichnet.

Was ist eine Man-in-the-Middle-Attack?

Als Man-in-the-Middle-Attack (MITM) oder Mittelsmannangriff wird eine Methode bezeichnet, bei der sich ein Hacker in den Datenverkehr zweier Kommunikationspartner einklinkt und beiden Parteien weismacht, sie hätten es mit der jeweils anderen zu tun. Früher erfolgten solche Angriffe durch eine Manipulation des physischen Kommunikationskanals. In Zeiten gemeinsam genutzter öffentlicher Kommunikationsnetze tritt der unbefugte Dritte meist logisch zwischen zwei oder mehr Kommunikationspartner. Anwendung finden Man-in-the-Middle-Angriffe in Rechnernetzen in erster Linie, um Verschlüsselungen via SSL/TLS auszuhebeln und so Zugriff auf geheime Informationen, Benutzernamen, Passwörter oder Bankdaten zu erlangen. Das Grundschema eines Man-in-the-Middle-Angriffs ist dabei folgendes:

System A versucht eine verschlüsselte Verbindung zu System B aufzubauen. Stattdessen wird der Datenfluss von einem kriminellen Dritten jedoch so umgelenkt, dass die verschlüsselte Verbindung von System A zu System C verläuft und erst von dort an System B weitergeleitet wird. Dies hat zur Folge, dass derjenige, der die Kontrolle über System C besitzt (in der Regel der Angreifer), den gesamten Datenverkehr einsehen, mitschneiden oder manipulieren kann – oft sogar, ohne dass die Kommunikationspartner etwas davon mitbekommen. Auf das World Wide Web übertragen, würde sich System C gegenüber System A als Webserver und gegenüber System B als Webbrowser präsentieren.

Angriffsmuster

Um den Datenverkehr zwischen zwei oder mehr Systemen zu infiltrieren, bedienen sich Hacker verschiedener Techniken, die an bekannten Schwachstellen der Internetkommunikation ansetzten. Eine Angriffsfläche für LAN-interne Man-in-the-Middle-Attacks bietet zum Beispiel der Service DHCP (Dynamic Host Configuration Protocol), der für die Vergabe lokaler IP-Adressen zuständig ist, sowie das ARP-System (Address Resolution Protocol) zur Ermittlung von Hardwareadressen (Media-Access-Control, MAC). Globaler lassen sich Mittelsmannangriffe durch die Manipulation von DNS-Servern realisieren, die für die Auflösung von Internetadressen in öffentliche IPs zuständig sind. Darüber hinaus nutzen Hacker Sicherheitslücken in veralteter Browsersoftware aus oder stellen nichts ahnenden Internetnutzern korrumpierte WLAN-Zugänge zur Verfügung.

In der Regel lassen sich diese Angriffsmuster durch Software automatisieren. Werden Angriffe durch menschliches Zutun in Echtzeit unterstützt, spricht man von Human-Assisted-Attacks.

DHCP-basierte Angriffe

Bei DHCP-basierten Angriffen gibt ein Hacker den eigenen Rechner (bzw. einen, der unter seiner Kontrolle steht) innerhalb eines Local Area Networks (LAN) als DHCP-Server aus. Bei einem DHCP-Server handelt es sich um eine zentrale Komponente im lokalen Netzwerk, die für die Zuweisung der Netzwerkkonfiguration an andere Rechner im LAN zuständig ist. Diese erfolgt in der Regel automatisch: Sobald ein Rechner die erste Verbindung zum LAN aufbaut, fordert der DHCP-Client des Betriebssystems Informationen wie eine lokale IP-Adresse, die Netzmaske, die Standardgateway-Adresse sowie die Adresse des zuständigen DNS-Servers an. Dazu sendet dieser eine Broadcastnachricht an alle Geräte im LAN und wartet auf die Rückmeldung eines DHCP-Servers. Die erste eingehende Antwort wird akzeptiert.

Dies bietet Hackern die Möglichkeit, über vorgetäuschte DHCP-Server die Vergabe lokaler IP-Adressen zu steuern, beliebige Standardgateways und DNS-Server auf den getäuschten Rechnern einzutragen und somit den ausgehenden Datenverkehr auf einen beliebigen Rechner umzuleiten, um Inhalte abzuhören oder zu manipulieren.

Da dieses Angriffsmuster auf der Manipulation des DHCP-Systems basiert, spricht man von DHCP-Spoofing (zu Deutsch: Manipulation). Voraussetzung für eine solche Man-in-the-Middle-Attack ist jedoch, dass sich der Angreifer im selben LAN befindet wie das Opfer. Eine Gefahr, Ziel eines DHCP-basierten Angriffs zu werden, besteht daher beispielsweise in Hotel-LANs oder öffentlichen WLAN-Netzen. Will er ein kabelgebundenes Firmennetz infiltrieren, müsste sich ein Angreifer hingegen erst einen physischen Zugang zum LAN verschaffen, um einen falschen DHCP-Server einzuschleusen.

Maßnahmen, die Internetnutzer präventiv gegen DHCP-Spoofing ergreifen können, beschränken sich in der Regel auf einen bedachten Umgang mit unbekannten Netzwerken. Generell empfiehlt es sich, sicherheitskritische Web-Anwendungen von Online-Banken oder Shopping-Portalen nur in bekannten, vertrauenswürdigen LANs wie dem privaten Heimnetz oder dem Firmennetz des Arbeitgebers zu nutzen.

ARP-Cache-Poisoning

Bei ARP handelt es sich um ein Netzwerkprotokoll, das der Auflösung von LAN-internen IP-Adressen in Hardware-Adressen (MAC-Adressen) dient. Damit ein Rechner innerhalb eines Netzwerks Datenpakete versenden kann, muss dieser die Hardware-Adresse des Empfängersystems kennen. Dazu wird ein ARP-Request als MAC-Broadcast an alle Systeme im LAN versendet. Dieser beinhaltet sowohl die MAC- und IP-Adresse des anfragenden Rechners als auch die IP-Adresse des gesuchten Systems. Empfängt ein Rechner im Netzwerk einen solchen ARP-Request, prüft dieser, ob das Paket die eigene IP-Adresse als Empfänger-IP enthält. Ist dies der Fall, wird ein ARP-Reply mit der gesuchten MAC-Adresse an das anfordernde System zurückgesendet.

Diese Zuordnung von MAC-Adresse zu lokaler IP wird in Tabellenform im sogenannten ARP-Cache des anfragenden Rechners gespeichert. Hier setzt ARP-Cache-Poisoning (Vergiftung) an. Ziel dieses Angriffsmuster ist es, die ARP-Tabellen diverser Rechner im Netzwerk durch falsche ARP-Replies zu manipulieren, um beispielsweise einen Rechner, der unter der Kontrolle des Angreifers steht, als WLAN-Access-Point oder Gateway zum Internet auszugeben.

Ist ein solches ARP-Spoofing erfolgreich, haben Angreifer die Möglichkeit, den gesamten ausgehenden Datenverkehr getäuschter Rechner mitzulesen, aufzuzeichnen oder zu manipulieren, bevor dieser an den echten Gateway weitergeleitet wird. Wie DHCP-Spoofing ist auch eine ARP-Cache-Vergiftung nur dann möglich, wenn sich der Angreifer im selben LAN befindet wie die Opfersysteme. Umsetzen lässt sich eine solche Man-in-the-Middle-Attack bereits durch einfache Programme wie das Freeware-Tool Cain & Abel, das ursprünglich zur Ermittlung verlorener Passwörter entwickelt wurde, oder durch die Software Ettercap.

Wie bei DHCP-basierten Angriffen haben Nutzer, die sich in einem korrumpierten LAN befinden, kaum eine Möglichkeit, sich gegen ARP-Spoofing zur Wehr zu setzen. Als Präventivmaßnahme gilt es daher auch hier, unbekannte Netzwerke zu meiden oder mit Bedacht zu nutzen.

DNS-basierte Angriffe

Während ARP-Cache-Poisoning Schwachstellen der Adressauflösung im Ethernet ins Visier nimmt, setzt Cache-Poisoning auf DNS-Basis am Domain-Name-System des Internets an, das für die Auflösung von URLs in öffentliche IP-Adressen zuständig ist. Bei einem solchen Angriffsmuster manipulieren Hacker Einträge im Cache eines DNS-Servers, um diesen dazu zu bringen, Anfragen mit falschen Zieladressen zu beantworten. Gelingt eine solche Man-in-the-Middle-Attack, kann der Hacker andere Internetnutzer unbemerkt auf eine beliebige Website im Netz umleiten. Dafür nutzt er meist bekannte Sicherheitslücken älterer DNS-Server.

Grundsätzlich werden DNS-Informationen nicht auf einem einzelnen DNS-Server hinterlegt, sondern auf mehrere Rechner im Netz verteilt. Möchte ein User eine Website aufrufen, nutzt dieser dazu in der Regel einen Domain-Namen. Um den entsprechenden Server adressieren zu können, wird jedoch eine IP-Adresse benötigt. Diese IP ermittelt der Router des Nutzers, indem er eine DNS-Anfrage an den in der Konfiguration angegebenen Standard-DNS-Server versendet. In der Regel handelt es sich dabei um den DNS-Server des Internet-Service-Providers (ISP). Finden sich hier Einträge – sogenannte Resource Records – zur angefragten URL, beantwortet der DNS-Server die Anfrage mit der passenden IP-Adresse. Andernfalls ermittelt der DNS-Server die gesuchte IP mithilfe anderer Server mit DNS-Aufgaben. Dazu sendet dieser eine entsprechende Suchanfrage an andere DNS-Server und speichert deren Antworten temporär im Cache.

Ein Ansatzpunkt für Hacking-Angriffe bietet sich in erster Linie bei Servern, die eine ältere Version der DNS-Software nutzen. Diese akzeptieren und speichern in der Regel nicht nur Informationen, die explizit angefordert wurden, sondern auch solche, die zusätzlich mitgeliefert werden. Gelingt es Hackern somit, einen einzelnen DNS-Server zu kapern, ist es ein Leichtes, mit jeder korrekten IP-Adresse zusätzlich gefälschte Records auszuliefern und somit den Cache anfragender DNS-Server zu vergiften.

Wie effektiv Man-in-the-Middle-Angriffe sind, zeigen Vorfälle in der Vergangenheit, bei denen ganze Namensräume umgeleitet wurden. Für Nutzer ist es so gut wie unmöglich, sich gegen einen solchen Angriff zu schützen, da dieser direkt in der Infrastruktur des Internets erfolgt. Daher ist es in erster Linie die Aufgabe der Betreiber, dafür zu sorgen, dass die von ihnen zur Verfügung gestellten DNS-Server aktuelle Software verwenden und ausreichend gesichert sind. So wurden beispielsweise unter dem Namen DNSSEC (Domain Name System Security Extensions) diverse Internetstandards entwickelt, die das DNS-System um verschiedene Sicherheitsmechanismen zur Gewährleistung der Datenauthentizität und -integrität erweitern. Die Verbreitung dieser Standards geht jedoch nur schleppend voran.

Vortäuschung eines WLAN-Access-Points

Ein Angriffsmuster, das vor allem Nutzer mobiler Endgeräte ins Visier nimmt, basiert auf der Simulation eines Access-Points in einem öffentlichen WLAN-Netz, wie es in Cafés oder an Flughäfen zur Verfügung gestellt wird. Dabei konfiguriert ein Angreifer seinen Rechner so, dass dieser einen zusätzlichen Weg ins Internet verspricht – möglicherweise einen mit besserer Signalqualität als der echte Access-Point. Gelingt es einem Angreifer, dadurch nichtsahnende Nutzer zu täuschen, kann er den gesamten Datenverkehr, der durch sein System läuft, einsehen und manipulieren, bevor dieser an den echten Access-Point weitergeleitet wird. Erfordert dieser eine Authentifizierung, erhält der Hacker zudem sämtliche Benutzernahmen und Passwörter, die für die Anmeldung verwendet werden. Die Gefahr, Opfer einer solchen Man-in-the-Middle-Attack zu werden, besteht vor allem dann, wenn Endgeräte so konfiguriert werden, dass sie sich automatisch mit dem signalstärksten Access-Point verbinden.

Um sich vor diesem Angriffsmuster zu schützen, sollten sich Internetnutzer grundsätzlich nur mit bekannten WLAN-Netzen verbinden und darauf achten, dass sie dazu den offiziellen Access-Point des Bereitstellers nutzen.

Man-in-the-Browser-Attack

Eine Variante der Man-in-the-Middle-Attack, bei der ein Angreifer Schadsoftware im Browser eines Internetnutzers installiert, um Datenverkehr abzufangen, wird Man-in-the-Browser-Attack genannt. Vor allem nicht vollständig aktualisierte Rechner bieten Sicherheitslücken, die es Angreifern ermöglichen, das System zu infiltrieren. Wurden spezielle Programme erst einmal in den Browser eines Nutzers eingeschleust, zeichnen diese im Hintergrund sämtliche Daten auf, die zwischen dem Opfersystem und verschiedenen Webseiten im Netz ausgetauscht werden. Dieses Angriffsmuster erlaubt es Hackern, mit relativ wenig Aufwand eine große Anzahl an Systemen abzuhören. Dabei erfolgt die Datenspionage in der Regel, bevor eine mögliche Transportverschlüsselung via TLS/SSL greift.

Man-in-the-Browser-Angriffen beugen Internetnutzer am effektivsten vor, wenn diese darauf achten, dass alle Software-Komponenten des verwendeten Systems auf dem aktuellen Stand sind und bekannte Schwachstellen durch Sicherheitsupdates geschlossen wurden.

Human-Assisted-Attack

Von einer Human-Assited-Attack spricht man, wenn eines der oben dargestellten Angriffsmuster nicht rein automatisch abläuft, sondern durch einen oder mehrere Angreifer in Echtzeit gesteuert wird. In der Praxis könnte ein solcher Man-in-the-Middle-Angriff folgendermaßen ablaufen: Sobald sich ein Internetnutzer auf der Website seiner Bank einloggt, bekommt ein Hacker, der sich zwischen dem Browser des Nutzers und dem Server der Bank platziert hat, ein Signal. Dieser hat nun die Möglichkeit, die Session-Cookies und Authentifizierungsinformationen in Echtzeit zu stehlen und so an Benutzernamen, Passwörter und TANs zu gelangen.

Datendiebstahl trotz Verschlüsselung?

Mit der wachsenden Bedeutung internetgestützter Kommunikationsmöglichkeiten in nahezu allen Lebensbereichen steigt auch das Interesse an Techniken, durch die man Daten auf verschlüsseltem Wege übertragen kann. Für die Kommunikation von Browsern (Clients) und Servern im World Wide Web hat sich dazu das Kommunikationsprotokoll HTTPS etabliert. Dieses führt auf Grundlage des SSL -Handshake eine Authentifizierung des Webservers durch und baut im Anschluss auf Grundlage eines gemeinsamen symmetrischen Sitzungsschlüssels einen verschlüsselten Transportkanal auf. Dabei erfolgt die Server-Authentifizierung anhand eines SSL-Zertifikats.

Theoretisch bietet diese Authentifizierung einen zuverlässigen Schutz gegen Man-in-the-Middle-Angriffe: Auf das oben eingeführte Grundschema übertragen bräuchte System C ein vertrauenswürdiges SSL-Zertifikat, um sich gegenüber System A als System B auszugeben. Praktisch steht und fällt dieser Schutz jedoch mit der Integrität des verwendeten Zertifikats. Denn im Rahmen des SSL-Handshakes prüft der Browser lediglich, ob sich das vom Server präsentierte Zertifikat einer vertrauenswürdigen Zertifizierungsstelle (Certification Authority, CA) zuordnen lässt. Doch viele dieser CAs wurden in den vergangenen Jahren infiltriert, sodass Hacker, Geheimdienste und Regierungen in der Lage waren, scheinbar vertrauenswürdige Zertifikate eigenmächtig zu erstellen und für Man-in-the-Middle-Angriffe zu missbrauchen.

Alternativ haben Hacker die Möglichkeit, SSL-Zertifikate selbst auszustellen. Ein solches Self-Signed-Zertifikat führt im Browser zwar zu einer Warnung, dass die aufgerufene Website als unsicher eingestuft wird, doch dieser Hinweis hält längst nicht jeden Internetnutzer von einem Website-Besuch ab.

Mithilfe eines gefälschten SSL-Zertifikats ist es Hackern somit möglich, sich selbst bei SSL-verschlüsselten Webseitenaufrufen als der gewünschter Ziel-Server auszugeben. Um unbemerkt Daten abfangen oder manipulieren zu können, muss jedoch auch dieser getäuscht werden. Dazu leitet der Angreifer die ursprüngliche Anfrage einfach ähnlich wie ein Proxy an den eigentlichen Empfänger weiter – wenn nötig auch verschlüsselt. Grundsätzlich ermöglicht der SSL-Handshake zwar auch eine clientseitige Authentifizierung via Zertifikat. Eine solche kommt in der Praxis jedoch nur selten zum Einsatz.


Auf dem Laufenden bleiben?

Jetzt zu unserem Newsletter anmelden und
gratis Online-Marketing Whitepaper
sichern.