Was ist eine Mittelsmann-Attacke und wie kann sie abgewendet werden?

Mittelsmann-Angriffe (Man-in-the-Middle attacks, kurz MITMs) gibt es seit Anbeginn der Zeit. Das Prinzip ist einfach: Jemand klinkt sich in ein Gespräch zweier oder mehrerer Parteien ein und übermittelt die Nachrichten an die entsprechenden Seiten, ohne dass sich die Gesprächsteilnehmer der Mittelsperson bewusst sind. Letztere ist dabei in der Lage, die Informationen, die von den Parteien gesendet werden, zu sehen und zu manipulieren.

Wie funktioniert eine Mittelsmann-Attacke?

In früheren Zeiten bezog sich der Ausdruck im wörtlichen Sinne auf eine attackierte Mittelsperson, also um eine Person, die eine Mitteilung macht und dabei attackiert wird. Zum Beispiel:  Ein General (Bob) sendete einen berittenen Boten aus, um seinen Oberst (Alice) anzuweisen, einen linken Flankenangriff durchzuführen. Eine weitere Mittelsperson (Mallory) lauerte diesem Boten auf, um die Nachricht zu stehlen und dahingehend zu ändern, dass der Oberst (Alice) die Anweisung erhält, seine Truppen zurückzuziehen. Gleichzeitig sendete die Mittelsperson (Mallory) dem General (Bob) eine Antwort, in der der ursprünglich angewiesene Flankenangriff bestätigt wurde. Daraufhin wurde die Schlacht möglicherweise verloren und der General (Bob) war wegen “seiner taktischen Fehlentscheidung” blamiert.

Internet-MITM-Angriffe werden in ähnlicher Form durchgeführt. Eine typische Internet-MITM-Attacke würde beispielsweise darin bestehen, dass Mallory einen unechten WLAN-Zugangspunkt an einem öffentlichen Ort (z. B. in einem Café) einrichtet. Sie gibt dem gefälschten Zugangspunkt einen legitim klingenden Namen wie z. B.  „Kostenloses WLAN für Café-Besucher“. Nicht lange danach werden Besucher des Cafés beginnen, diesen Zugangspunkt zu nutzen. Mallory klinkt sich dann in den Datenstrom zwischen Ihrem Gerät und dem Internet ein und ist somit in der Lage, Ihren Datenverkehr zu erfassen. Wenn Sie keine Verschlüsselung verwenden, bedeutet dies, dass Mallory Ihren gesamten Datenverkehr lesen und auch ändern kann.

Mögliche Arten einer derartigen Anzapfung sind:

Session-Hijacking: Nehmen wir einmal an, dass Sie einen Webmail-Service zum Senden von E-Mails verwenden. Wenn Sie sich in Ihren Webmail-Account einloggen, kann Mallory eine Kopie des an den Browser gesendeten Authentifizierungscookies abfangen. Mallory kann nun diesen Cookie verwenden, um auf Ihren Webmail-Verkehr zuzugreifen.

Hinweis: In früheren Artikeln habe ich beschrieben, wie das Web tatsächlich funktioniert, im Gegensatz dazu, was uns darüber erzählt wird, wie es funktioniert. Wir loggen uns nicht auf Webseiten ein. Vielmehr fordert unser Browser eine Webseite an, welche dann an unseren lokalen Computer gesendet wird. Wir geben dann unsere Anmeldedaten ein, die an den Webseiten-Server gesendet werden. Sind die Anmeldeinformationen korrekt, antwortet die Webseite mit einem Authentifizierungstoken, üblicherweise mit einem Cookie. Wenn wir weitere Anfragen von unserem Computer senden, wird dieser Cookie zusammen mit diesen Anfragen gesendet, sodass die Webseite uns nicht jedes Mal erneut zu einer Anmeldung auffordert, wenn wir zu einer anderen Seite der Webseite gehen wollen. Dieser Cookie ist also sehr wertvoll für denjenigen, der auf Ihre Daten zugreifen möchte.

Replay-Angriff: Mallory kann einen Replay-Angriff ausführen, da sie nun alle Daten hat, die es ihr ermöglichen, etwas zu wiederholen, was Sie zuvor getan haben. Wenn Sie zum Beispiel 100 RuneScape-Kreditpunkte an einen Freund überwiesen haben, führt das erneute Senden der Datenpakete, die den ursprünglichen Transfer enthalten, zu einer weiteren Überweisung. Somit wurden dann insgesamt 200 Kreditpunkte gesendet.

Veränderter Inhalt: Zurück zum Webmail-Beispiel.  Stellen Sie sich vor, Sie haben Ihren Anwalt kürzlich per E-Mail beauftragt, die Gelder eines vereinbarten Rechtsgeschäfts zurückzubehalten. Da Mallory alle Datenpakete besitzt, die diese E-Mail enthalten, kann sie das Wort zurückbehalten zu freigeben ändern und so für allerlei Probleme sorgen. Dies ist eine beliebte Art von MITM-Angriff. Ein Beispiel dafür sind Add-on-Angriffe auf das Kodi Media Center.  Auch der oben beschriebene fiktive Angriff, den Mallory durchführte, um General Bob zu Fall zu bringen, ist ein solches Beispiel.

Fehlender Inhalt: Eine andere Variante veränderten Inhalts besteht darin, Inhalte einfach verschwinden zu lassen. Sie warten beispielsweise auf eine Nachricht, aber Mallory sorgt dafür, dass diese Sie nie erreicht.

Wie kann man sich vor Mittelsmann-Attacken schützen?

Trotz der unzähligen Möglichkeiten, die für die Ausführung derartiger Attacken bestehen, kommen im Grunde immer die gleichen Vorgehensweisen zur Anwendung. Um in der Lage zu sein, sich vor MITM-Angriffen zu schützen, müssen folgende Voraussetzungen gegeben sein:

Nachweisbarkeit: Die Nachricht kam von der Person oder dem Gerät, von der/dem behauptet wird, dass sie kommt.

Nachrichtenintegrität: Die Nachricht wurde nicht geändert, nachdem der Absender die Kontrolle über sie abgeben hatte.

Es ist anzumerken, dass das Wort Nachricht allgemein verwendet wird und sich sowohl auf vollständige E-Mails als auch auf einzelne Datenpakete, die Teil der Nachrichtensendung sind, beziehen kann. Die hier beschriebenen Prinzipien gelten unabhängig von der Art der Daten.

Um zu vermeiden, ein Opfer eines MITM-Angriffs zu werden, sollten Sie Folgendes beachten:

Verwenden Sie HTTPS, wenn möglich

HTTPS banner

Wenn HTTPS in der Adressleiste Ihres Browsers erscheint, können Sie sicher sein, dass die Verbindung zur angeforderten Webseite verschlüsselt ist. Das heißt aber nicht, dass Sie dieser Webseite mehr vertrauen können als anderen; es bedeutet lediglich, dass die Daten, die zwischen Ihrem Gerät und der Webseite übertragen werden, verschlüsselt sind. Auch Webseiten, die Verschlüsselungen verwenden, können schädigend sein und Sie MITM-Angriffen aussetzen. Daher ist es wichtig, bei jeder Webseite, die Sie besuchen, vorsichtig zu sein und sicherzustellen, dass diese seriös ist.

HTTPS verwendet Transport Layer Security (TLS).

Hinweis: Fälschlicherweise wird TLS häufig als SSL (Secure Sockets Layer) bezeichnet. SSL ist ein Vorgänger von TLS, aber die Bezeichnung SSL scheint sich bei vielen eingeprägt zu haben.

HTTPS ist eine Kombination aus TLS und HTTP, durch die Verschlüsselung und Nachweisbarkeit gewährleistet werden. Wenn Ihr Browser sich zum ersten Mal mit einer HTTPS-Seite verbindet, überprüft er das Zertifikat des Servers, um sicherzustellen, dass auch tatsächlich eine Verbindung mit genau der Seite hergestellt wird, die angefragt wurde (Nachweisbarkeit). Außerdem wird eine Reihe von Sitzungs-Verschlüsselungscodes generiert. Diese werden während der gesamten nachfolgenden Sitzung für die Verschlüsselung der Daten verwendet, wodurch Nachrichtenintegrität gewährleistet wird.

Um die Daten, die vom Server an Sie gesendet werden, ändern zu können, müsste Mallory sowohl die Browser- als auch die Server-Sitzungsschlüssel besitzen, die jedoch nicht übertragen werden. Sie müsste also sowohl auf den Client als auch den Server zugreifen können. Wenn Letzteres der Fall wäre, bräuchte Mallory allerdings erst gar keinen Mittelsmann-Angriff durchzuführen.

Es gibt Browser-Plugins, die Ihren Browser zwingen, HTTPS immer dann zu verwenden, wenn das Protokoll auf einer Seite verfügbar ist. Da viele Webseiten HTTPS unterstützen, aber nicht unbedingt so konfiguriert sind, dass Browser dazu gezwungen werden, das Protokoll zu nutzen, können derartige Plugins sehr hilfreich sein.

Verwenden Sie einen Browser, der Public Key Pinning unterstützt

Einige MITM-Angriffe können sehr aufwendig geplant und ausgeführt sein. Da ein großer Teil des Schutzes auf TLS und Verschlüsselungen beruht und Letztere schwer zu durchdringen sind, kann es sich für fortgeschrittene Angreifer einfacher gestalten, stattdessen eine Webseite nachzuahmen. TLS-Zertifikate werden beispielsweise von Browsern als vertrauenswürdig eingestuft, da sie von Zertifizierungsstellen (Certificate Authorities, CAs) signiert wurden, denen der Browser vertraut. Wenn Mallory erfolgreich eine Zertifizierungsstelle kompromittiert, können auf diese Weise gültige Zertifikate für jede Domäne ausgestellt werden. Diese Zertifikate werden dann von Web-Browsern als vertrauenswürdig erachtet. Sobald Mallory erfolgreich eine legitime Webseite imitieren kann, besteht die einzig verbleibende Herausforderung darin, Nutzer dazu zu bringen, diese Webseite zu besuchen. Dazu werden Standard- Phishing-Techniken angewendet.

Dies war 2011 der Fall, als die niederländische Zertifizierungsstelle DigiNotar kompromittiert und Zertifikate ausgestellt wurden, die dazu dienten, auf Benutzernamen und Passwörter iranischer Gmail-Nutzer zuzugreifen.

HTTP Public Key Pinning (HPKP) ist eine Methode, mit der Besitzer von Webseiten Browser darüber informieren können, welche Public Keys die Webseiten verwenden. Wenn ein Browser diese Seite besucht und auf einen Public Key trifft, der nicht gelistet ist, ist dies ein Indikator dafür, dass die Seite oder zumindest das TLS-Zertifikat nicht echt ist.

Das Pinnen muss vom Server-Besitzer vorgenommen werden, aber Sie können sich als Nutzer schützen, indem Sie einen Browser verwenden, der Public Key Pinning unterstützt. Zum Erscheinungszeitpunkt dieses Artikels unterstützten Firefox (Version 32), Chrome (Version 56) und Opera (33) Public Key Pinning; Internet Explorer und Edge jedoch nicht. In Firefox existiert eine Einstellung in about:config mit der Bezeichnung security.cert_pinning.enforcement_level; 1, mit der Sie HPKP deaktivieren können. Aber es gibt keinen vernünftigen Grund, dies zu tun. Wenn Sie herausfinden möchten, ob Ihr Browser HKPK unterstützt, dann sollten Sie diesen HPKP-Test-URL nutzen. Er enthält HPKP-Header und einen ungültigen Public Key. Wenn Ihr Browser HPKP unterstützt, wird eine Fehlermeldung angezeigt.

Verwenden Sie ein Virtual Private Network (VPN)

VPN mosaik

Ein VPN erstellt einen verschlüsselten Tunnel zwischen Ihrem Gerät und einem VPN-Server. Ihr gesamter Datenverkehr fließt durch diesen Tunnel. Dies bedeutet, dass selbst dann ein gewisser Grad an Schutz vor MITM-Angriffen gewährleistet ist, wenn Sie gezwungen sind, eine Seite ohne HTTPS oder einen unsicheren WLAN-Zugangspunkt zu nutzen.

Nehmen wir zum Beispiel den WLAN-Zugangspunkt. Wenn Sie mit Mallorys unechtem Zugangspunkt verbunden sind, kann sie Ihren gesamten Datenverkehr sehen. Da Ihr gesamter Datenverkehr bei der Verwendung eines VPNs jedoch verschlüsselt ist, werden lediglich unlesbare verschlüsselte Binärobjekte (BLOBs) zurückgegeben, die nur sehr wenige Daten liefern. Es ist daher immer eine gute Idee, ein VPN zu nutzen. Insbesondere in unübersichtlichen, unsicheren Situationen, beispielsweise bei der Nutzung eines öffentlichen WLANs, sollte dies sogar als ein Muss angesehen werden.

Verwenden Sie einen Browser, der HTTP Strict Transport Security (HSTS) unterstützt

HTTPS ist eine sehr gute Methode zur Vorbeugung gegen MITM-Angriffe im Internet, aber auch diese Schutzmaßnahme birgt potenzielle Schwächen. Webseiten-Besitzer können Besucher auf zweierlei Weise zur Verwendung von HTTPS zwingen. Die erste besteht darin, den unverschlüsselten HTTP-Port 80 ganz einfach zu schließen. Das bedeutet, dass ein Zugangsversuch zu einer Seite, die http: // verwendet, scheitert. Die meisten Webseiten-Besitzer möchten ihren Besuchern diese negative Erfahrung jedoch ersparen und wenden eine andere Methode an. Sie lassen Port 80 geöffnet, um ihn dazu zu nutzen, einen HTTP 301-Weiterleitungscode zu senden, der Browser dazu auffordert, https:// zu nutzen.

Diese Methode funktioniert gut, aber es gibt dennoch die Möglichkeit, während der Weiterleitung einen Downgrade-Angriff durchzuführen. Ein Downgrade-Angriff kann einen Web-Server zwingen, schwächere Verschlüsselungscodes zu verwenden, was nachfolgende MITM-Angriffe einfacher macht. Webseiten, die HSTS verwenden, senden während der ersten Verbindung Kopfzeilen (Header) an den Browser, wodurch er dazu gebracht wird, HTTPS zu verwenden. Der Browser trennt dann die bestehende Sitzung und stellt eine HTTPS-Verbindung her. Obwohl dies auf den ersten Blick nur einen kleinen Unterschied darstellt, wird dadurch der Angriffsvektor der Standard-HTTP-zu-HTTPS-Umleitung erheblich verringert. Fast alle modernen Browser unterstützen HSTS, aber es gibt viele auf dem Markt, sodass es sich lohnt, sich bestätigen zu lassen, dass ein spezifischer Browser diesen Sicherheitsmechanismus auch tatsächlich unterstützt.

Unelegante Mittelsmann-Attacken

Es ist erwähnenswert, dass einige MITM-Angriffe ziemlich simpel und nicht sonderlich elegant sind. Zum Beispiel könnte Mallory, ohne viel technisches Fachwissen zu besitzen, zwei E-Mail-Adressen einrichten, die Alice’ und Bobs ähneln, und dann eine Konversation mit einer der beiden Personen beginnen, unter dem Vorwand, die andere Person zu sein. Da viele E-Mail-Clients nur die Namen der Adressen und nicht die E-Mail-Adresse anzeigen, funktioniert dieser Trick öfter als man denkt. Es ist dann für Mallory möglich, von beiden E-Mail-Boxen aus zu operieren und auf unbestimmte Zeit mitten in der Konversation zu verbleiben.

Der beste Schutz gegen diese Art von MITM-Angriffen ist Wachsamkeit. Suchen Sie nach verräterischen Zeichen wie eine ungewöhnliche Ausdrucksweise des Absenders und bewegen Sie den Mauszeiger über die E-Mail-Adresse, um sicherzustellen, dass diese legitim ist.

Beispiele für bekannte Mittelsmann-Attacken

Ich habe bereits die Themen MITM-WLAN- und Replay-Angriffe angeschnitten. Aber auch darüber hinaus gibt es fast keine Grenzen für Angriffe mittels MITM-Techniken. Jeder Prozess, bei dem zwei oder mehr Parteien kommunizieren (dies betrifft im Grunde alle Prozesse), bietet Angreifern Möglichkeiten, sich mittig einzuschalten.

Anfrageverfälschung (ARP Poisoning): Das Address Resolution Protocol ist ein unerlässliches Teil der IP-Vernetzung, das dafür sorgt, dass Datenpakete ihre Ziele im Netzwerk erreichen. Sobald ein Paket die Ziel-LAN erreicht, muss es die Media Access Control (MAC) -Adresse der Netzwerkkarte erfahren, für die es bestimmt ist. Dies wird durch eine ARP-Who-Has-Anfrage erreicht, die jeden Computer im lokalen Netzwerk fragt, ob er die Ziel-IP-Adresse des Paketes hat. Theoretisch antwortet die Netzwerkkarte mit dieser IP-Adresse mit ihrer MAC-Adresse und das Paket wird übergeben. In der Praxis sieht es jedoch so aus, dass keine Authentifizierung im ARP-Protokoll enthalten ist. Mallory könnte also antworten, dass ihr diese IP-Adresse zugeordnet ist und der Datenverkehr würde somit zu ihr geliefert. Um diesen Angriff zu einem echten MITM zu machen, würde sie dann auch noch dafür sorgen, dass das Paket ebenfalls an die korrekte MAC-Adresse weitergeleitet wird.

Port-Diebstahl: Dies ist ein fortgeschrittener Angriff, der in größeren Netzwerken mit Netzwerk-Switches Anwendung findet. Switches enthalten Content Addressable Memory(CAM)-Tabellen, in denen die Beziehungen zwischen den MAC-Adressen der Netzwerkkarten und den korrespondierenden Ports aufgezeichnet werden. Wenn es keine andere Sicherheitseinstellung gibt, werden CAM-Tabellen den Paketen entsprechend dynamisch erstellt und aktualisiert. Ein Angreifer kann ein Paket durch die Zuordnung der MAC-Adresse eines Opfers fälschen und ein Switch führt eine entsprechende Aufzeichnung durch. Dies bedeutet, dass nachfolgende Pakete, die für das Opfer bestimmt sind, beim Angreifer eingehen.

MITM-Angriffe sind sehr schwer zu entdecken und es gibt keinen hundertprozentigen Schutz gegen sie. Die Unmöglichkeit, sich vollständig gegen MITM-Angriffe zu wehren, ist hauptsächlich der Tatsache geschuldet, dass die Vielfalt der Angriffe nahezu unerschöpflich ist. Der Prozess, ein Datenpaket von Ihrem Computer zu einem Server zu senden, schließt viele Protokolle, Applikationen und Geräte wie Router und Switches ein, die alle potentielle Angriffsflächen bieten. Das Beste, was Sie tun können, ist Maßnahmen zu ergreifen, durch die es schwieriger wird, Opfer eines MITM-Angriffs zu werden. Die meisten Angriffe zielen auf eine große Anzahl an Personen, um die Chance auf Erfolg zu erhöhen. Wenn ein Angriff nicht ganz speziell auf Sie ausgerichtet ist, sollten die in diesem Artikel beschriebenen Vorsichtsmaßnahmen einen guten Schutz darstellen.