Als Man-in-the-Middle-Attack be­zeich­net man ein An­griffs­mus­ter im Internet, bei dem ein Angreifer ein von ihm kon­trol­lier­tes System physisch oder logisch zwischen dem System des Opfers und einer vom Opfer ver­wen­de­ten In­ter­net­res­sour­ce platziert. Ziel des An­grei­fers ist es, die Kom­mu­ni­ka­ti­on zwischen Opfer und In­ter­net­res­sour­ce ab­zu­fan­gen, mit­zu­le­sen oder unbemerkt zu ma­ni­pu­lie­ren.

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

Als Man-in-the-Middle-Attack (MITM) oder Mit­tels­mann­an­griff wird eine Methode be­zeich­net, bei der sich ein Hacker in den Da­ten­ver­kehr zweier Kom­mu­ni­ka­ti­ons­part­ner einklinkt und beiden Parteien weismacht, sie hätten es mit der jeweils anderen zu tun. Früher erfolgten solche Angriffe durch eine Ma­ni­pu­la­ti­on des phy­si­schen Kom­mu­ni­ka­ti­ons­ka­nals. In Zeiten gemeinsam genutzter öf­fent­li­cher Kom­mu­ni­ka­ti­ons­net­ze tritt der unbefugte Dritte meist logisch zwischen zwei oder mehr Kom­mu­ni­ka­ti­ons­part­ner. Anwendung finden Man-in-the-Middle-Angriffe in Rech­ner­net­zen in erster Linie, um Ver­schlüs­se­lun­gen via SSL/TLS aus­zu­he­beln und so Zugriff auf geheime In­for­ma­tio­nen, Be­nut­zer­na­men, Pass­wör­ter oder Bankdaten zu erlangen. Folgende Grafik ver­an­schau­licht das Grund­sche­ma eines Man-in-the-Middle-Angriffs:

System A versucht eine ver­schlüs­sel­te Ver­bin­dung zu System B auf­zu­bau­en. Statt­des­sen wird der Da­ten­fluss von einem kri­mi­nel­len Dritten jedoch so umgelenkt, dass die ver­schlüs­sel­te Ver­bin­dung von System A zu System C verläuft und erst von dort an System B wei­ter­ge­lei­tet wird. Dies hat zur Folge, dass derjenige, der die Kontrolle über System C besitzt (in der Regel der Angreifer), den gesamten Da­ten­ver­kehr einsehen, mit­schnei­den oder ma­ni­pu­lie­ren kann – oft sogar, ohne dass die Kom­mu­ni­ka­ti­ons­part­ner etwas davon mit­be­kom­men. Auf das World Wide Web über­tra­gen, würde sich System C gegenüber System A als Webserver und gegenüber System B als Web­brow­ser prä­sen­tie­ren.

Man-in-the-Middle An­griffs­mus­ter

Um den Da­ten­ver­kehr zwischen zwei oder mehr Systemen zu in­fil­trie­ren, bedienen sich Hacker ver­schie­de­ner Techniken, die an bekannten Schwach­stel­len der In­ter­net­kom­mu­ni­ka­ti­on ansetzten. Eine An­griffs­flä­che für LAN-interne Man-in-the-Middle-Attacks bietet zum Beispiel der Service DHCP (Dynamic Host Con­fi­gu­ra­ti­on Protocol), der für die Vergabe lokaler IP-Adressen zuständig ist, sowie das ARP-System (Address Re­so­lu­ti­on Protocol) zur Er­mitt­lung von Hard­ware­adres­sen (Media-Access-Control, MAC). Globaler lassen sich Mit­tels­mann­an­grif­fe durch die Ma­ni­pu­la­ti­on von DNS-Servern rea­li­sie­ren, die für die Auflösung von In­ter­net­adres­sen in öf­fent­li­che IPs zuständig sind. Darüber hinaus nutzen Hacker Si­cher­heits­lü­cken in ver­al­te­ter Brow­ser­soft­ware aus oder stellen nichts ahnenden In­ter­net­nut­zern kor­rum­pier­te WLAN-Zugänge zur Verfügung.

In der Regel lassen sich diese An­griffs­mus­ter durch Software au­to­ma­ti­sie­ren. Werden Angriffe durch mensch­li­ches Zutun in Echtzeit un­ter­stü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 Kom­po­nen­te im lokalen Netzwerk, die für die Zuweisung der Netz­werk­kon­fi­gu­ra­ti­on an andere Rechner im LAN zuständig ist. Diese erfolgt in der Regel au­to­ma­tisch: Sobald ein Rechner die erste Ver­bin­dung zum LAN aufbaut, fordert der DHCP-Client des Be­triebs­sys­tems In­for­ma­tio­nen wie eine lokale IP-Adresse, die Netzmaske, die Stan­dard­gate­way-Adresse sowie die Adresse des zu­stän­di­gen DNS-Servers an. Dazu sendet dieser eine Broad­cast­nach­richt an alle Geräte im LAN und wartet auf die Rück­mel­dung eines DHCP-Servers. Die erste ein­ge­hen­de Antwort wird ak­zep­tiert.

Dies bietet Hackern die Mög­lich­keit, über vor­ge­täusch­te DHCP-Server die Vergabe lokaler IP-Adressen zu steuern, beliebige Stan­dard­gate­ways und DNS-Server auf den ge­täusch­ten Rechnern ein­zu­tra­gen und somit den aus­ge­hen­den Da­ten­ver­kehr auf einen be­lie­bi­gen Rechner um­zu­lei­ten, um Inhalte abzuhören oder zu ma­ni­pu­lie­ren.

Da dieses An­griffs­mus­ter auf der Ma­ni­pu­la­ti­on des DHCP-Systems basiert, spricht man von DHCP-Spoofing (zu Deutsch: Ma­ni­pu­la­ti­on). Vor­aus­set­zung 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 bei­spiels­wei­se in Hotel-LANs oder öf­fent­li­chen WLAN-Netzen. Will er ein ka­bel­ge­bun­de­nes Fir­men­netz in­fil­trie­ren, müsste sich ein Angreifer hingegen erst einen phy­si­schen Zugang zum LAN ver­schaf­fen, um einen falschen DHCP-Server ein­zu­schleu­sen.

Maßnahmen, die In­ter­net­nut­zer präventiv gegen DHCP-Spoofing ergreifen können, be­schrän­ken sich in der Regel auf einen bedachten Umgang mit un­be­kann­ten Netz­wer­ken. Generell empfiehlt es sich, si­cher­heits­kri­ti­sche Web-An­wen­dun­gen von Online-Banken oder Shopping-Portalen nur in bekannten, ver­trau­ens­wür­di­gen LANs wie dem privaten Heimnetz oder dem Fir­men­netz des Ar­beit­ge­bers zu nutzen.

ARP-Cache-Poisoning

Bei ARP handelt es sich um ein Netz­werk­pro­to­koll, das der Auflösung von LAN-internen IP-Adressen in Hardware-Adressen (MAC-Adressen) dient. Damit ein Rechner innerhalb eines Netzwerks Da­ten­pa­ke­te versenden kann, muss dieser die Hardware-Adresse des Emp­fän­ger­sys­tems kennen. Dazu wird ein ARP-Request als MAC-Broadcast an alle Systeme im LAN versendet. Dieser be­inhal­tet sowohl die MAC- und IP-Adresse des an­fra­gen­den 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 an­for­dern­de System zu­rück­ge­sen­det.

Diese Zuordnung von MAC-Adresse zu lokaler IP wird in Ta­bel­len­form im so­ge­nann­ten ARP-Cache des an­fra­gen­den Rechners ge­spei­chert. Hier setzt ARP-Cache-Poisoning (Ver­gif­tung) an. Ziel dieses An­griffs­mus­ter ist es, die ARP-Tabellen diverser Rechner im Netzwerk durch falsche ARP-Replies zu ma­ni­pu­lie­ren, um bei­spiels­wei­se einen Rechner, der unter der Kontrolle des An­grei­fers steht, als WLAN-Access-Point oder Gateway zum Internet aus­zu­ge­ben.

Ist ein solches ARP-Spoofing er­folg­reich, haben Angreifer die Mög­lich­keit, den gesamten aus­ge­hen­den Da­ten­ver­kehr ge­täusch­ter Rechner mit­zu­le­sen, auf­zu­zeich­nen oder zu ma­ni­pu­lie­ren, bevor dieser an den echten Gateway wei­ter­ge­lei­tet wird. Wie DHCP-Spoofing ist auch eine ARP-Cache-Ver­gif­tung nur dann möglich, wenn sich der Angreifer im selben LAN befindet wie die Op­fer­sys­te­me. Umsetzen lässt sich eine solche Man-in-the-Middle-Attack bereits durch einfache Programme wie das Freeware-Tool Cain & Abel, das ur­sprüng­lich zur Er­mitt­lung ver­lo­re­ner Pass­wör­ter ent­wi­ckelt wurde, oder durch die Software Ettercap.

Wie bei DHCP-basierten Angriffen haben Nutzer, die sich in einem kor­rum­pier­ten LAN befinden, kaum eine Mög­lich­keit, sich gegen ARP-Spoofing zur Wehr zu setzen. Als Prä­ven­tiv­maß­nah­me gilt es daher auch hier, un­be­kann­te Netzwerke zu meiden oder mit Bedacht zu nutzen.

DNS-basierte Angriffe

Während ARP-Cache-Poisoning Schwach­stel­len der Adress­auf­lö­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 öf­fent­li­che IP-Adressen zuständig ist. Bei einem solchen An­griffs­mus­ter ma­ni­pu­lie­ren Hacker Einträge im Cache eines DNS-Servers, um diesen dazu zu bringen, Anfragen mit falschen Ziel­adres­sen zu be­ant­wor­ten. Gelingt eine solche Man-in-the-Middle-Attack, kann der Hacker andere In­ter­net­nut­zer unbemerkt auf eine beliebige Website im Netz umleiten. Dafür nutzt er meist bekannte Si­cher­heits­lü­cken älterer DNS-Server.

Grund­sätz­lich werden DNS-In­for­ma­tio­nen nicht auf einem einzelnen DNS-Server hin­ter­legt, 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 ent­spre­chen­den Server adres­sie­ren 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 Kon­fi­gu­ra­ti­on an­ge­ge­be­nen 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 – so­ge­nann­te Resource Records – zur an­ge­frag­ten URL, be­ant­wor­tet der DNS-Server die Anfrage mit der passenden IP-Adresse. An­dern­falls ermittelt der DNS-Server die gesuchte IP mithilfe anderer Server mit DNS-Aufgaben. Dazu sendet dieser eine ent­spre­chen­de Such­an­fra­ge an andere DNS-Server und speichert deren Antworten temporär im Cache.

Ein An­satz­punkt für Hacking-Angriffe bietet sich in erster Linie bei Servern, die eine ältere Version der DNS-Software nutzen. Diese ak­zep­tie­ren und speichern in der Regel nicht nur In­for­ma­tio­nen, die explizit an­ge­for­dert wurden, sondern auch solche, die zu­sätz­lich mit­ge­lie­fert werden. Gelingt es Hackern somit, einen einzelnen DNS-Server zu kapern, ist es ein Leichtes, mit jeder korrekten IP-Adresse zu­sätz­lich ge­fälsch­te Records aus­zu­lie­fern und somit den Cache an­fra­gen­der DNS-Server zu vergiften.

Wie effektiv Man-in-the-Middle-Angriffe sind, zeigen Vorfälle in der Ver­gan­gen­heit, bei denen ganze Na­mens­räu­me um­ge­lei­tet wurden. Für Nutzer ist es so gut wie unmöglich, sich gegen einen solchen Angriff zu schützen, da dieser direkt in der In­fra­struk­tur des Internets erfolgt. Daher ist es in erster Linie die Aufgabe der Betreiber, dafür zu sorgen, dass die von ihnen zur Verfügung ge­stell­ten DNS-Server aktuelle Software verwenden und aus­rei­chend gesichert sind. So wurden bei­spiels­wei­se unter dem Namen DNSSEC (Domain Name System Security Ex­ten­si­ons) diverse In­ter­net­stan­dards ent­wi­ckelt, die das DNS-System um ver­schie­de­ne Si­cher­heits­me­cha­nis­men zur Ge­währ­leis­tung der Da­ten­au­then­ti­zi­tät und -in­te­gri­tät erweitern. Die Ver­brei­tung dieser Standards geht jedoch nur schlep­pend voran.

Vor­täu­schung eines WLAN-Access-Points

Ein An­griffs­mus­ter, das vor allem Nutzer mobiler Endgeräte ins Visier nimmt, basiert auf der Si­mu­la­ti­on eines Access-Points in einem öf­fent­li­chen WLAN-Netz, wie es in Cafés oder an Flughäfen zur Verfügung gestellt wird. Dabei kon­fi­gu­riert ein Angreifer seinen Rechner so, dass dieser einen zu­sätz­li­chen Weg ins Internet ver­spricht – mög­li­cher­wei­se einen mit besserer Si­gnal­qua­li­tät als der echte Access-Point. Gelingt es einem Angreifer, dadurch nichts­ah­nen­de Nutzer zu täuschen, kann er den gesamten Da­ten­ver­kehr, der durch sein System läuft, einsehen und ma­ni­pu­lie­ren, bevor dieser an den echten Access-Point wei­ter­ge­lei­tet wird. Erfordert dieser eine Au­then­ti­fi­zie­rung, erhält der Hacker zudem sämtliche Be­nut­zer­nah­men und Pass­wör­ter, 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 kon­fi­gu­riert werden, dass sie sich au­to­ma­tisch mit dem si­gnal­stärks­ten Access-Point verbinden.

Um sich vor diesem An­griffs­mus­ter zu schützen, sollten sich In­ter­net­nut­zer grund­sätz­lich nur mit bekannten WLAN-Netzen verbinden und darauf achten, dass sie dazu den of­fi­zi­el­len Access-Point des Be­reit­stel­lers nutzen.

Man-in-the-Browser-Attack

Eine Variante der Man-in-the-Middle-Attack, bei der ein Angreifer Schad­soft­ware im Browser eines In­ter­net­nut­zers in­stal­liert, um Da­ten­ver­kehr ab­zu­fan­gen, wird Man-in-the-Browser-Attack genannt. Vor allem nicht voll­stän­dig ak­tua­li­sier­te Rechner bieten Si­cher­heits­lü­cken, die es An­grei­fern er­mög­li­chen, das System zu in­fil­trie­ren. Wurden spezielle Programme erst einmal in den Browser eines Nutzers ein­ge­schleust, zeichnen diese im Hin­ter­grund sämtliche Daten auf, die zwischen dem Op­fer­sys­tem und ver­schie­de­nen Webseiten im Netz aus­ge­tauscht werden. Dieses An­griffs­mus­ter erlaubt es Hackern, mit relativ wenig Aufwand eine große Anzahl an Systemen abzuhören. Dabei erfolgt die Da­ten­spio­na­ge in der Regel, bevor eine mögliche Trans­port­ver­schlüs­se­lung via TLS/SSL greift.

Man-in-the-Browser-Angriffen beugen In­ter­net­nut­zer am ef­fek­tivs­ten vor, wenn diese darauf achten, dass alle Software-Kom­po­nen­ten des ver­wen­de­ten Systems auf dem aktuellen Stand sind und bekannte Schwach­stel­len durch Si­cher­heits­up­dates ge­schlos­sen wurden.

Human-Assisted-Attack

Von einer Human-Assited-Attack spricht man, wenn eines der oben dar­ge­stell­ten An­griffs­mus­ter nicht rein au­to­ma­tisch abläuft, sondern durch einen oder mehrere Angreifer in Echtzeit gesteuert wird. In der Praxis könnte ein solcher Man-in-the-Middle-Angriff fol­gen­der­ma­ßen ablaufen: Sobald sich ein In­ter­net­nut­zer 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ög­lich­keit, die Session-Cookies und Au­then­ti­fi­zie­rungs­in­for­ma­tio­nen in Echtzeit zu stehlen und so an Be­nut­zer­na­men, Pass­wör­ter und TANs zu gelangen.

Man-in-the-Middle-Angriff vorbeugen

Für Be­trof­fe­ne ist es in der Regel kaum möglich, zu erkennen, ob ein Man-in-the-Middle-Angriff vorliegt. Der beste Schutz ist daher die Vor­beu­gung. Im Folgenden haben wir die wich­tigs­ten Tipps zu­sam­men­ge­stellt, wie In­ter­net­nut­zer und Web­sei­ten­be­trei­ber das Risiko, Ziel eines MITM-Angriffs zu werden, mi­ni­mie­ren können.

Tipps für In­ter­net­nut­zer

  • Achten Sie darauf, dass Sie Webseiten stets über eine SSL/TLS-ge­si­cher­te Ver­bin­dung aufrufen. Die In­ter­net­adres­se beginnt in diesem Fall mit https. Bloße http-Ver­bin­dun­gen sind ein Si­cher­heits­ri­si­ko.
  • Über­prü­fen Sie, ob das SSL-Zer­ti­fi­kat einer Website aktuell ist und von einer ver­trau­ens­wür­di­gen Zer­ti­fi­zie­rungs­stel­le aus­ge­stellt wurde – ins­be­son­de­re bevor Sie An­mel­de­da­ten eingeben.
  • Verwenden Sie stets die aktuelle Version Ihres be­vor­zug­ten Web­brow­sers und halten Sie Ihr Be­triebs­sys­tem mit Updates auf dem neuesten Stand.
  • Vermeiden Sie die Nutzung von frei zu­gäng­li­chen VPNs oder Proxy-Servern.
  • Halten Sie Ihre Pass­wör­ter stets auf dem aktuellen Stand, nutzen Sie für jede Anwendung ein eigenes Passwort und verwenden Sie alte Pass­wör­ter nicht noch einmal.
  • Meiden Sie öf­fent­li­che WLAN-Spots – bei­spiels­wei­se im Hotel, am Bahnhof oder in Ge­schäf­ten.
  • Sollten Sie nicht um­hin­kom­men, auf öf­fent­li­che Netzwerke zu­zu­grei­fen, vermeiden Sie Downloads, über­mit­teln Sie keine An­mel­de­da­ten – bei­spiels­wei­se für Ihr E-Mail-Postfach oder soziale Netzwerke – und nehmen Sie auf keinen Fall Zahlungen vor.
  • Nutzen Sie zu­sätz­li­che Methoden zur sicheren Anmeldung, sofern der Betreiber einer Website diese anbietet – bei­spiels­wei­se eine Mul­ti­fak­tor-Au­then­ti­fi­zie­rung (MFA) via Token oder Einmal-Pass­wör­ter per SMS oder Smart­phone-App.
  • Klicken Sie nicht auf Links in E-Mails von un­be­kann­ten Absendern, die Sie mög­li­cher­wei­se auf eine mit Malware bestückte Website locken könnten.

Tipps für Web­sei­ten­be­trei­ber

  • Schützen Sie die Daten Ihrer Kunden, indem Sie ins­be­son­de­re Webseiten mit Kunden-Login mit einem aktuellen SSL-Zer­ti­fi­kat einer zu­ver­läs­si­gen Zer­ti­fi­zie­rungs­stel­le sichern.
  • Bieten Sie Ihren Kunden zu­sätz­li­che Methoden zur sicheren Anmeldung – bei­spiels­wei­se eine Mul­ti­fak­tor-Au­then­ti­fi­zie­rung per E-Mail.
  • Kom­mu­ni­zie­ren Sie Ihren Kunden gegenüber, dass Sie An­mel­de­da­ten prin­zi­pi­ell nie durch E-Mails abfragen und vermeiden Sie Hy­per­links in Kunden-Mails.
Zum Hauptmenü