Man-in-the-Middle Angriffe auf Internetkommunikation

Werbung
Man-in-the-Middle Angriffe auf
Internetkommunikation
Jan Harrie
[email protected]
21. Februar 2014
Technische Univerität Darmstadt
Zusammenfassung.
Diese Arbeit beschreibt was ein Man-in-the-Middle (MitM) Angriff ist, wie
er funktioniert und realisiert werden kann. Dazu wird zu Beginn das Grundprinzip des Angriffes beschrieben. Für die praktische Umsetzung des Angriffes
werden im Anschluss die technischen, sowie konzeptionelle Hintergründe beschrieben. Mit diesen Grundlagen wird der MitM-Angriff in seinen unterschiedlichen Fassetten beschrieben. Angefangen auf hardwarenaher Ebene, über Angriffe auf Applikations-Ebene bis hin zur gesetzlich verordneten Abhörstation
wird der Angriffs-Typ beschrieben. Abschließend werden die Angriffe in Hinblick auf die Anforderungen an den Angreifer verglichen. Hierzu gehört welchen Gefährdungspotential die Angriffe umfassen und welchen Aufwand der
Angreifer zur Durchführung aufbringen muss.
1
Einleitung
Aus den Medien hört man immer wieder, dass Angriffe auf die Internetkommunikation durchgeführt werden. Bei diesen Angriffen wird die Kommunikation
mitgeschnitten und der Angreifer hat die Möglichkeiten die Daten oder Teilinformationen zu extrahieren. Für den Nutzer, dessen Verbindung abgehört wird, ist
dieses ein Eingriff in dessen Privatsphäre. Angreifer können Kriminelle sein, die
an persönlichen Informationen, Zugangsdaten oder Zahlungsinformationen der
Nutzer interessiert sind. Ebenso sind es staatliche Institutionen die versuchen auf
diesem Weg terroristische Aktivitäten oder das organisierte Verbrechen zu identifizieren. Das Interesse an diesem Thema ist aufgrund dem in Mitte des Jahres
durch Edward Snowden bekannt gewordenen Abhörskandals der amerikanischen
National Security Agency (NSA) und des britischen Government Communications Headquarter (GCHQ) verstärkt angestiegen. Der Whistleblower Edward
Snowden hat in diesem Skandal bekannt gegeben, dass die NSA und das GCHQ
einen Großteil jeglicher Internetkommunikation abhören, diese Daten speichert
und anschließend auswertet [1].
In dieser Arbeit wird das Thema „Man-in-the-Middle Angriffe auf Internetkommunikation“ behandelt. Es sollen die technischen Anforderungen zur Durchführung der unterschiedlichen Angriffe erklärt, ihre Auswirkungen begutachtet
und zum Abschluss einander gegenüber gestellt werden. In den nachfolgenden
Kapiteln wird das Grundprinzip eines MitM Angriffes erklärt. Dafür werden
die benötigten technischen Grundlagen über Ethernet/TCP/IP, Namensvergabe und Auflösung im Internet, Autonome Systeme (AS) und Public Key Infrastrukturen (PKI) aufgearbeitet. Mit diesen Grundlagen werden unterschiedliche
Angriffstechniken auf unverschlüsselte und verschlüsselte Verbindungen beschrieben. Die Durchführung dieser Techniken wird abschließend gegenüber gestellt
und nach Aufwand, Gefährdungspotential und Anforderungen an den Angreifer
bewertet.
2
Hintergrundwissen
Um einen Einstig in die Thematik zu bekommen wird im Folgenden das Grundprinzip eines MitM-Angriffes erklärt. Ergänzend werden Grundlagen aufgegriffen
und deren Bezug zum Thema beschrieben.
2.1
Grundprinzip eines Man-in-the-Middle Angriffes
In einem MitM Angriff wird die Kommunikation zweier Parteien infiltriert. Der
Infiltrator versucht sich zwischen die beiden Kommunikationspartner zu schalten um deren Kommunikation abzuhören und gegebenenfalls zu manipulieren.
Um dieses zu erreichen existieren unterschiedliche Techniken die einzeln oder
in Kombination verwendet werden. Beim Abhören der Verbindung hat ein Angreifer zum Beispiel die Möglichkeit ausgetauschte Anmeldedaten, die beim Verbindungsaufbau an ein Webportal geschickt werden, aufzuzeichnen. Diese Daten
kann dieser anschließend dazu nutzen um sich als diese Person in dem Webportal
auszugeben. Im Falle einer Manipulation könnte der Infiltrator die Inhalte, die
ursprünglich übertragen werden sollten, manipulieren. Dies könnten die Preise eines Webshops sein, sodass das Angebot wesentlich günstiger oder teurer
erscheint, als vom Anbieter definiert [2, p.868 ff.].
2.2
Das Internet und die Bedeutung von Autonomen Systemen
Der Fokus dieser Arbeit ist Man-in-the-Middle Angriffe auf Internetkommunikation. Damit verständlich ist, wie sich das Internet aufbaut und aus welchen
Strukturen es besteht, wird dieses zunächst erklärt.
Das Internet wird oft als Netz von Netzen bezeichnet. Dies sind die Netze der Internet Service Provider (ISP)s. Jeder ISP wird als Autonomes System
(AS) bezeichnet und bekommt eine eindeutige Nummer zugewiesen. Die Nummer wird als Autonomus System Number (ASN) bezeichnet und von der Internet
Assigned Numbers Authority (IANA) an die Regional Internet Registries (RIR)
verteilt, die die ASN an die ISP heraus gibt. In Europa ist hierfür die Reseaux IP
Europeens (RIPE) zuständig. Jedem AS wird ein bestimmter Zuständigkeitsbereich an Adressräumen zugeordnet. Der ISP entscheidet selbst wie dieser Bereich
verwaltet wird.
2
Abb. 1. Die Struktur im Internet der unterschiedlichen Tiere 1, Tier 2 und Tier 3
ISPs [17]
Alle ASs sind über ein Backbone miteinander verbunden. Das Backbone
bildet sich aus gebündelten Glasfaser-Leitungen, die einen hohen Datendurchsatz ermöglichen und Routern, die die Netze logisch miteinander verbinden. Die
Router tauschen ihre Routing-Informationen mittels des Border Gateway Protocol (BGP) aus [7]. Nicht alle ISPs haben die gleiche Größe, sodass diese in
Tier 1, Tier 2 und Tier 3 ISPs unterteilt werden. Abbildung 1 veranschaulicht
den Aufbau dieser Struktur. Ein Tier 1 ISP ist direkt an das Backbone angeschlossen und ist im Besitz der physikalischen Infrastruktur. Kleine ISPs, die nur
die Infrastruktur bei den Tier 1 ISPs mieten, werden als Tier 3 ISPs bezeichnet. Alle weiteren ISPs die damit nicht erfasst werden, werden als Tier 2 ISPs
bezeichnet. Für eine ausführlichere Auflistung wird auf [7] verwiesen.
Ein Tier 1 ISP ist zum Beispiel die Deutsche Telekom AG, die auch als International Carrier Sales & Solutions (ICSS) bekannt ist. Wie zuvor beschrieben
werden den ASs Adressbereiche zugewiesen, die von ihnen verwaltet werden. Alle Kunden, die einen Vertrag mit einem ISP geschlossen haben, bekommen bei
der Einwahl in das Internet, eine der Adressen zugewiesen. Der ISP kümmert
sich darum, dass alle Kunden mit einander verbunden werden und auch eine
Verbindung zu Kunden anderer ASs aufbauen können.
2.3
Domain Name Service
Ein zentraler Dienst des Internets ist der Domain Name Service (DNS). Er wird
dazu verwendet Namen zu Adressen aufzulösen. Diesen Dienst gibt es seit Anbeginn des Internets (1987) [4] und er wurde zu einer Zeit entwickelt, in der die Si3
cherheit von Diensten nicht im Vordergrund stand. Er verwendet das User Datagram Protocol (UDP) zum Transport der Informationen, welches verbindungslos
ist [5]. Die DNS-Infrastruktur ist hierarchisch angeordnet. An der Spitze stehen
die Root-DNS-Server gefolgt von den Top-Level-Domain (TLD) DNS-Servern.
Diesen sind die DNS-Server der ISPs untergeordnet. Die DNS-Server der ISP
führen große Tabellen über Ressource Record (RR), in denen Namen Adressen zugeordnet sind. Außerdem führen sie Einträge darüber, welche Domains
ein Mail-Gateway führen oder andere DNS-Server, an die die korrespondierende
Anfrage weiter geleitet werden.
Wenn ein Client die Website www.example.com aufruft, stellt dieser eine
Anfrage an seinen lokalen DNS-Server. Wenn die Adresse nicht in dem persistenten Speicher und auch nicht in dem Cache geführt wird, stellt der lokale
DNS-Server eine rekursive Anfrage an einen übergeordneten DNS-Server. Dieser wird die Anfrage entweder beantworten oder weiterleiten. Da DNS UDP als
Transport-Protokoll verwendet, werden die Anfragen um Request-Ids ergänzt,
um die Antworten den Anfragen zuordnen zu können [3]. Nachdem der DNSServer die IP-Adresse der angefragten Domain ermittelt hat schickt er sie zurück.
Die ermittelte Adresse wird bis ein Timeout abläuft im Cache des DNS-Servers
gehalten, um erneute Anfragen an diese Adresse beim nächsten Mal schneller
beantworten zu können.
Wenn ein Angreifer Zugriff auf einen DNS-Server erlangt oder definieren
kann welche Adresse an einen Client zurück geschickt werden, hat dieser die
Möglichkeit die Verbindung umzuleiten. Dieses wird im Abschnitt 3.2 ausführlich
beschrieben.
2.4
Ethernet/IP/TCP
Das Internet besteht aus unterschiedlichen Netzen und Adressen. Ein solches
Netz wird dadurch aufgebaut, dass unterschiedliche Endgeräte mittels Kabel
oder per Funk verbunden sind. Die unterschiedlichen Endgeräte sind Computer, Notebooks, Netzwerk-Drucker oder Handys. Durch die Verbindung mittels
Routern, Switches, Hubs und Access Points wird ein physikalisches Netzwerk
aufgebaut. Damit die Geräte kommunizieren können wurden verschiedene Layer
definiert [12, p. 67 ff.]. Auf der unter untersten Schicht, dem Physical Layer,
werden die einzelnen Bits und Bytes mittels der zuvor genannten Geräte übertragen.
Auf der zweiten Schicht, dem Data Link Layer, wird sichergestellt, das die
Nachrichten, die verschickt werden sollen, über das richtige Netzwerk-Interface
verschickt werden. Um die einzelnen Netzwerk-Interfaces zu adressieren werden
MAC-Adressen verwendet. Jede MAC-Adresse besteht aus 48 Bit und wird einmalig an Netzwerkgeräte vergeben. Auf dieser Schicht wird mittels des Address
Resolution Protocol (ARP) kommuniziert. Das ARP-Protokoll dient der Auflösung der physikalischen Adressen der Netzwerkkarten zu IP-Adressen. Jedes
Gerät führt dafür eine eigene ARP-Tabelle die es während der Interaktion im
Netzwerk aktuell hält.
4
Für eine logische Einteilung werden auf dem nächsten Layer, dem Network
Layer, IP-Adressen verwendet. Der Begriff Adresse wird häufig zu der IP-Adresse
synonym behandelt. Sie besteht aus 32 Bit (IPv4) und wird in Kombination mit
einer Subnetz-Maske, ebenfalls 32 Bit, vergeben. Durch diese Kombination ist
es möglich unterschiedliche Netze einzuteilen. Für die private Verwendung sind
die Netze 10.0.0.0/8 bis 10.255.255.255/8, 172.16.0.0/12 bis 172.31.255.255/12
und 192.168.0.0/16 bis 192.168.255.255/16 vorgesehen. Sie können außerhalb
dieser Netze nicht Adressiert werden. Die Zahl nach der IP-Adresse, durch ein
Slash getrennt, bestimmt wie viele Bits, von links gesehen, in der Subnetzmaske
auf 1 gesetzt sind. Durch die Verwendung von Subnetzmasken können große
Netze in kleinere unterteilt werden. Die Anzahl der Endgeräte errechnet sich
aus folgender Formel: Hosts = 232−x − 2, x ist die Anzahl der 1er Bits in der
Subnetzmaske. Jedes Netz ist durch die erste IP-Adresse, die im Netz existiert,
adressierbar. Beispielsweise: 192.168.0.0/24. Die höchste Adresse wird für den
Broadcast1 verwendet. Beispielsweise: 192.168.0.255/24. Diese beiden Adressen
sind in jedem Subnetz für den angegebenen Zweck reserviert, weshalb in der
angegebenen Formel −2 gerechnet wird.
Während der Datenübertragung kann es durch Schäden und Störungen an
der Leitung zu fehlerhaften Datenübertragungen kommen. Damit dieses festgestellt werden kann, werden auf dem nächsten Layer, dem Transport Layer,
unterschiedliche Transportprotokolle definiert. Das Transmission Control Protocol (TCP) ist ein sehr verbreitetes Transport Protokoll. Es dient der Adressierung der Ports2 auf dem Quell, sowie dem Ziel-Gerät. Beim Aufbau der Verbindung wird ein 4-Way-Handshake durchgeführt. Dieser Handshake dient dem
Austausch der jeweiligen Sequenznummer. Die Sequenznummer wird in die Pakete integriert, damit die beim Empfänger eintreffenden Pakete in die korrekte
Reihenfolge gebracht werden können. Beim Versandt einer Antwort vom Empfänger wird eine Acknowledgement-Nummer im Paket integriert. Sie bestätigt
die zuletzt angekommene Sequenznummer. Wenn bei der Übertragung Pakete
verloren gehen, kann der Sender dadurch, dass eine versandte Sequenznummer
nicht bestätigt wird, feststellen, dass ein Paket nicht empfangen wurde und dieses erneut senden muss. Auf dem diesem Layer gibt es noch weitere Protokoll,
die nicht weiter aufgegriffen werden.
2.5
Zertifikate in Public Key Infrastrukturen
Ein weiterer wichtiger Bestandteil des Internets sind digitale Zertifikate. Digitale Zertifikate werden dazu eingesetzt die Authentizität einer Partei und die
Authentizität und Integrität, der übertragenen Daten, verifizierbar zu machen.
Das Zertifikat bildet sich aus dem Wert einer kryptographischen Hashfunktion, deren Ergebnis digital signiert wird. Es wird dafür der Hash-Wert über den
öffentlichen Schlüsseln für einen asymmetrischen Verschlüsselungsalgorithmus,
1
2
An die Broadcast-Adresse können Nachrichten verschickt werden, die alle Teilnehmer
im Subnetz erhalten.
Ein Port ist eine Nummer [0..65535] die einen Dienst auf einem Endgerät adressiert.
5
Abb. 2. Hierarchisches Vertrauen [8, p.52]
einer Identität und verschiedener anderer Informationen, die mit signiert werden sollen, gebildet. Diese Identität kann zum Beispiel ein Web-Dienst oder eine
Person sein. Die digitale Signatur wird von einer Certificate Authority (CA)
ausgestellt. Eine beispielhafte Hierarchie ist in Abbildung 2 dargestellt. An der
Spitze steht die RCA. RCA hat ein digitales Zertifikat über den öffentlichen
Schlüssel von CA1 und CA2 ausgestellt. CA2 eins über den öffentlichen Schlüssel von Diana und Emil. Wenn Vertrauen in das Zertifikat über den öffentlichen
Schlüssel von Emil erreicht werden soll, muss einer der übergeordneten Instanz
vertraut werden. Durch Vertrauen in RCA ist es möglich, die Korrektheit der
darunter eingegliederten Entitäten zu verifizieren. Nach diesem Prinzip werden
Public Key Infrastrukturen erzeugt. In diesem Beispiel handelt es sich um hierarchisches Vertrauen. Wie der Name schon aussagt, wird eine Hierarchie aufgebaut
an dessen Spitze der Vertrauensanker steht. Diese Vertrauensanker werden als
Root-Certificate Authority bezeichnet.
Durch den Einsatz einer solchen PKI kann, wenn der Root-CA vertraut wird,
die Zugehörigkeit eines öffentlichen Schlüssels zu einer Identität, bewiesen werden. Um weiträumig diese Vertrauenshierarchie zu verbreiten werden viele, von
Root-CAs, selbst signierte Zertifikate in die Browser integriert. Diese dienen als
Vertrauensanker für die Validierung von Zertifikaten, die herausgegeben wurden.
In Deutschland wird z.B. das Zertifikate für die Deutsche Telekom AG oder des
DFN Vereins mit ausgeliefert.
Wenn ein Client eine Verbindung zu einen Server aufbauen will, schickt der
Server zu Beginn seinen öffentlichen Schlüssel und Zertifikat zum Client. Damit der Client dem Schlüssel trauen kann, muss dieser der Root-CA, die das
Zertifikat ausgestellt hat und als Vertrauensanker dient, vertrauen. Unter der
Voraussetzung das die Korrektheit des empfangenen Zertifikates bestätigt werden kann, wird ein temporärer Sitzungsschlüssel erzeugt über den die weiter
Kommunikation verschlüsselt werden soll. Vor dem Schlüsselaustausch werden
unterstütze Algorithmen ausgetauscht und sich auf einen geeignet. Der erste Teil
6
der Kommunikation wird unverschlüsselt abgehandelt. Um die Integrität der ausgetauschten Nachrichten zu prüfen wird ein Hash Message Authentication Code
(HMAC) am Ende des Verbindungsaufbaues über den unverschlüsselten Teil generiert. Dieser HMAC wird von beiden Parteien verifiziert. Nach dem Einigen
auf einen Schlüssel findet die nachfolgende Kommunikation über eine symmetrische verschlüsselte Verbindung statt. Die genaue Spezifikation des Protokolls ist
in der RFC 5247 von Transport Layer Security (TLS) 1.2 [6] zu finden.
Das Vertrauens-Konzept das hinter einer PKI steht lässt vermuten, dass es
möglich ist vertraulich über das Internet zu kommunizieren. Da die mit dem
Browser ausgelieferte Liste an Zertifikaten sehr lang ist besteht ein Risiko des
Vertrauensbruchs. Wie sich dieses auswirkt und welchen Angriffs-Vektoren dadurch entstehen sind im Abschnitt 3.4 zu entnehmen.
3
Angriffstechniken auf Kommunikationen im Internet
Die Reihenfolge in der die nachfolgenden Angriffe aufgeführt werden, sind an
den Bottom-Up Ansatz des TCP/IP Referenzmodells angelehnt. Anschließend
wird ein organisatorisch geprägter Angriff beschrieben. Zum Abschluss werden
Angriffe auf verschlüsselte Verbindungen und die Manipulation der übertragenen
Daten beschrieben.
3.1
Angriff des Lokalen Netzwerkes
Die Kommunikation mit dem Internet beginnt im lokalen Netzwerk. Sobald ein
Datenpaket das Netzwerkinterface, eines Endgerätes, verlässt wird mit anderen
Geräten kommuniziert. Ein Angreifer der sich in diesem Abschnitt der Kommunikation, dem lokalen Netzwerk, befindet, hat verschiedene Möglichkeiten ausgetauschte Daten aufzuzeichnen. Wie im Abschnitt 2.4 beschrieben wurde, wird
während der Interaktion im Netzwerk, von den Endgeräten, eine ARP-Tabelle
erstellt. Da in diesem Verfahren keine weiteren Sicherheitsmechanismen implementiert sind, kann ein Angreifer die Verbindung umleiten. Um dieses zu erreichen verschickt der Angreifer gespoofte3 ARP-Pakete an ein Zielsystem mit
der IP-Adresse, z.B. des Gateways, und seiner MAC-Adresse. Diese gefälschten
Pakete führen dazu, dass die ARP-Tabelle an dem Zielsystem aktualisiert wird.
Wenn das Zielsystem die nächste Nachricht in ein anderes Netz schicken will,
wird die korrekte IP-Adresse angegeben, aber die manipulierte MAC-Adresse.
Damit die Kommunikation funktioniert, wird das gleiche Verfahren angewandt
um einen falschen Eintrag beim Gateway zu erzeugen. Durch diese Abfolge ist
es einem Angreifer möglich, den Netzwerkverkehr, über sein Endgerät zu leiten.
Da jegliche Verkehr, der über das Gateway geschickt wird, über den Angreifer
geleitet wird, kann dieser sämtliche übertragene Daten einsehen.
Laut einer Studie des Sterns sind 77% der deutschen Haushalte mit einem Internetanschluss ausgestattet [18]. In einer gewöhnlichen Installation organisiert
3
Gespoofte Pakete sind Pakete die unter einem gefälschten Absender verschickt werden.
7
ein WLAN-Router die Anbindung an das Netz des ISPs. Der WLAN-Router bietet den Nutzer die Möglichkeit über WLAN mit dem Internet zu kommunizieren.
Wenn es einem Angreifer gelingt Zugriff auf das Funknetzwerk zu erlangen, wird
die Technik, die vorher beschrieben wurde, nicht benötigt. Durch den Einsatz
bestimmter Funknetzwerk-Karten ist es dem Angreifer möglich, seinen Adapter in den Monitor-Mode zu schalten [19]. Da WLAN über ein Shared-Medium
übertragen wird, kann der Angreifer problemlos die komplette Kommunikation
aufzuzeichnen.
3.2
DNS Cache Poisoning
Wie in Abschnitt 2.3 beschrieben wurde, ist der DNS-Dienst ein wichtiger Bestandteil des Internets. Aufgrund, dass der Dienst so eine Wichtigkeit besitzt,
wurden unterschiedliche Angriffe gegen bzw. auf ihn entwickelt. Einer dieser Angriffe ist der DNS Cache Poisoning Angriff. Das Grundprinzip eines DNS Cache
Poisoning Angriffes ist einen DNS-Server (DN S1 ) dazu zu bringen, dass dieser eine Anfrage an einen höher gestellten DNS-Server stellen muss, um einen
Namen zu einer Adresse aufzulösen. Dieses ist durch eine Anfrage an eine andere TLD, zum Beispiel durch eine Anfrage aus dem Namensraum .de an den
Namensraum .com, zu erreichen.
Wenn der DNS-Server (DN S1 ) eine Anfrage (REQ1 ) für die Domäne d1 an
einen übergeordneten DNS-Server (DN S2 ) sendet, kann ein Angreifer eine gespoofte Antwort senden. Diese Nachricht sollte vor der Antwort (RESP1 ) von
DN S2 zugestellt werden. Für den Fall, dass der DNS-Server DN S1 mehrere Antworten auf die gestellte Anfrage erhält, erstellt dieser einen Eintrag in seinem
Cache mit der Ersten passenden, erhaltenen Antwort. Bei einem erfolgreichen
Angriff wird ein Eintrag anhand von RESPspoof ed erstellt und alle weiteren
Nachrichten werden verworfen. Alle Anfragen an die Domäne d1 werden fortan
mit dem gespooften Eintrag beantwortet. Um diesen Angriff auszuführen muss
ein Angreifer die Request-ID, mit der die Anfrage identifiziert wird, vorhersagen können. Die Request-ID kann der Angreifer herausfinden indem er Kontrolle
über einen Server S1 (in diesem Beispiel attacker.com) führt. Auf diesem Server
muss ein DNS-Server (DN S3 ) installiert sein. Als ersten Schritt sorgt der Angreifer dafür, dass er die aktuelle Request-Id des anzugreifenden DNS-Servers
DN S1 ermittelt. Durch eine Anfrage an DN S1 über eine Sub-Domain auf dem
vom Angreifer kontrollierten Server S1 , zum Beispiel example.attacker.com, wird
eine rekursive Anfrage von DN S1 an den DNS-Server DN S3 gestellt. Mittels der
Request-Id, die am DNS-Server DN S3 eingegangen ist, kann der Angreifer die
Request-Id für die nächste rekursive Anfrage des DNS-Servers DN S1 erraten.
Um den Eintrag im Cache des DNS-Servers DN S1 für bank.com einzuschleusen stellt der Angreifer eine Anfrage an diese Domain, die DN S1 dazu bringt,
eine rekursive Anfrage an DN S2 zu starten. Sobald die Anfrage für bank.com
vom Angreifer abgeschickt wird, sendet der Angreifer eine Reihe von gespooften Paketen mit der Absender-Adresse von DN S2 und der vermutlich nächsten
Response-Id zum DNS-Server DN S1 . Da in der Zwischenzeit weitere Anfragen
an DN S1 gesendet worden sein können, wird eine ganze Reihe von Paketen mit
8
Abb. 3. DNS-Poisoning-Attack
aufeinander folgenden Response-Ids an DN S1 gesendet. Wenn die gespooften
Pakete mit der richtigen Response-Id schnell genug eintrifft, wird ein manipulierter Eintrag (Espoof ed ) in den Cache von DN S1 geschrieben. Alle Anfragen
an DN S1 , für bank.com, werden mit dem Eintrag Espoof ed beantwortet. Der
Eintrag Espoof ed bleibt solange im Cache, bis der Timeout für diesen abgelaufen
ist [2, p. 869 ff.]. Der prinzipielle Vorgang des Versands der gespooften Pakete
ist in Abbildung 3 zu sehen.
Durch diese Art von Angriff kann ein Angreifer bestimmen, mit welchen Antworten DNS-Anfragen beantwortet werden. Der Eintrag Espoof ed könnte auf den
Server S1 referenzieren. Damit ein Nutzer nichts vom Angriff bemerkt, würde S1
die Anfragen an den korrekten Server weiterleiten und die Inhalte an den Nutzer
weiterreichen. Der Nutzer würde nichts von der Manipulation mitbekommen und
der Angreifer ist imstande die Kommunikation mit zu lesen und zu manipulieren.
3.3
Der Eingriff in die Verbindung beim Internet Service Provider
Laut dem deutschen Gesetz, dem Gesetz zur Beschränkung des Brief-, Post- und
Fernmeldegeheimnisses [9], sind ISPs dazu veranlasst dem Bundesnachrichtendienst und vergleichbaren Institutionen Anschlüsse zum Sammeln von übertragenen Daten zur Verfügung zu stellen. Es existieren unterschiedliche physikalische
Techniken [10, p. 39 ff.] die im Folgenden kurz beschrieben werden.
Ein Cable Splitter wird an eine Glasfaserleitung angelegt und dupliziert das
Signal. Das Signal kann mit einem entsprechenden technischen Equipment eingelesen und verarbeitet werden. Hierfür muss in die bestehende Verbindung nicht
eingegriffen werden, um die Kommunikation abzuhören.
Durch einen Mirror Port an einem Switch können alle Netzwerk-Pakete, die
über dieses Gerät geschickt werden, aufgezeichnet werden. Das Grundprinzip
des Switches ist nur die Pakete auf dem Port heraus zu schicken, an dem das
Adressierte Endgerät angeschlossen ist. Switche mit einem Mirror Port senden,
9
unabhängig der korrekten Weiterleitung, eine Kopie des empfangenen Paketes,
an diesen Port.
Ein Deep Package Inspection (DPI) Device, ähnlich wie eine Bridge, wird direkt zwischen die Leitung geschlossen. Alle Daten die über die Leitung versandt
werden, können eingesehen werden. Es ist ebenfalls möglich Daten zu Manipulieren oder durch Filter-Regeln komplette Datenströme zu verwerfen.
Alle Daten die über diesen Leitungsabschnitt geleitet werden, können aufgezeichnet werden. Ein entsprechender Angreifer würde anschließend alle AnmeldeDaten aus dem Mitschnitt extrahieren können, um die Identität des Nutzers
übernehmen zu können [10, p. 39 ff.]. Diese Annahme betrifft alle Datenströme
die unverschlüsselt übertragen werden. Wie in der Snowden-Veröffentlichung in
[1] bekannt geworden ist, sind nicht unbedingt die Daten selbst interessant. Die
NSA ist ebenso an den Meta-Informationen, wer wann mit wem wie lange und
in welcher Reihenfolge kommuniziert hat, interessiert. Beim aktiven Ansatz ist
es dem Angreifer möglich, die Verbindung zu manipulieren. Der Einzugsbereich
dieser Sammel-Station ist je nach Größe unterschiedlich. Eine Station die bei
einem ISP, der direkt an das Internet Backbone angeschlossen ist, kommen Datenrate von 2,6 Tbit/s auf [16]. Diese Stationen sind nur für zuvor beschriebene
Institutionen gedacht. Es ist theoretisch denkbar, dass eine unbefugte Person
den Zugriff auf eine solche Leitung erlangt. Dieses hätte fatale Folgen. Das Gefährdungspotential für den Nutzer wird im Kapitel 4 diskutiert.
3.4
Angriff auf die Verschlüsselung
Die Angriffe die Abschnitt 3.1 bis Abschnitt 3.3 beschrieben wurden, stellen eine
Gefahr für die Privacy der Nutzer dar. Um den Nutzer zu schützen, werden in vielen Kommunikationen, die über das Internet geführt werden, Verschlüsselungen
eingesetzt. Prinzipiell ist dieses sehr gut. Was trotz dieser Sicherheitsmaßnahme
für Probleme auftreten können wird im Folgenden zusammengefasst.
Wie im Abschnitt 2.5 beschrieben wurde, basiert ein Großteil des Vertrauensmodells im Internet auf der Zertifikats-Infrastruktur. Wenn es einem Angreifer
gelingt an den privaten Schlüssel einer CA zu gelangen, hat dieser die Möglichkeit Zertifikate, im Namen dieser CA, auszustellen. Somit ist es möglich über
eine Domäne zusätzlich, zu einem zuvor korrekt erzeugten Zertifikat, weitere
Zertifikate auszustellen. Bei der Erzeugung eines gefälschten Zertifikates wird
der öffentliche Schlüssel von einem Schlüsselpaar, welches im Besitz des Angreifers ist, signiert. Wenn ein Nutzer versucht eine verschlüsselte Verbindung
zu einer Website aufzubauen, sendet der Angreifer dem Nutzer das gefälschte
Zertifikat zu. Da das Zertifikat von einer gültigen CA ausgestellt ist, validiert
der Webbrowser des Nutzers dieses korrekt und baut zum Angreifer eine sichere
Verbindung auf. Der Angreifer baut zum ursprünglichen Ziel der Anfrage eine
Verbindung auf und liefert dem Nutzer die gewünschten Daten [14].
Ein weiterer Angriff auf eine verschlüsselte Verbindung ist das brechen der
verwendeten Chiffre. Dieses tritt auf, wenn Fehler bei der Auswahl des Schlüssels
gemacht werden oder generell in die Hände von Angreifer kommen. Die Fehler
sind abhängig von den verwendeten Algorithmen.
10
3.5
Manipulation der übertragenen Daten
Nachdem unterschiedliche Techniken zum abhören der Verbindung erklärt wurden, wird auf die Manipulation der übertragenen Daten eingegangen.
Hijacking von TCP/IP-Sessions Wie im Abschnitt 2.4 beschrieben wird,
werden in TCP/IP-Verbindungen aufeinanderfolgende Pakete mittels der SequenzNummer beim Empfänger zusammengesetzt. Beim TCP/IP hijacking wird dieses
dazu genutzt eine Verbindung zu manipulieren. Um diesen Angriff durchführen
zu können muss der Angreifer in der Lage sein, eine bestehende Kommunikation
aufzuzeichnen. Eine offene TCP-Verbindung kann daran erkannt werden, dass
mindestens das Header-Flag für ACK gesetzt ist. Diesen Paketen kann die aktuelle Sequenz- und Acknowledgment-Nummer entnommen werden. Ebenso sind in
den Paketen die IP-Adressen und Ports des Senders (A) und Empfängers (B) entnehmbar. Mittels dieser Informationen ist ein Angreifer in der Lage gespoofte Pakete zu verschicken. Ein gespooftes Paket bekommt dafür die Empfänger-Adresse
(B) des Paketes als Absender und anders herum. Die richtige AcknowledgmentNummer errechnet sich aus der aktuellen Sequenz-Nummer des übertragenen
Paketes und der Länge des mitgeschnittenen Paketes. Dadurch, dass der Angreifer die aktuelle Acknowledgment-Nummer errechnen kann, werden die Pakete
die an A gesendet werden als authentisch angenommen. Der Versandt von gespooften Paketen, die das Header-Flag für RST gesetzt haben, führt dazu, dass
bestehende, gültige Verbindung beendet werden [11, p. 461 ff.]. Im Falle einer
Verbindung zu einem Web-Portal, an dem sich mittels eines Session-Cookies angemeldet wurde, müssen zum Wiederaufbau der Verbindung diese vertraulichen
Informationen erneut versandt werden. Statt die Verbindung zu beenden kann
diese aufrecht gehalten werden um aktiv Änderungen an den übertragenen Daten vorzunehmen. Dieser Angriff wird als Continued Hijacking bezeichnet [11,
p. 462 ff.]. Wie zuvor beschrieben ist es möglich gespoofte Pakete zum Absender
(A) zu schicken. Wenn der Empfänger (B) das nächste Paket zu dem Absender
(A) schickt hat dieser bereits ein Paket mit der erwarteten AcknowledgmentNummer erhalten und wird das Paket von B verwerfen. Die Pakete die fortan
von A und B versandt werden haben asynchrone Acknowledgment-Nummern,
sodass die Pakete nur noch vom Angreifer richtig geordnet versandt werden können. Wenn es dem Angreifer gelingt sich zwischen die Verbindung zu schalten,
sodass nur noch die Kommunikation über ihn stattfinden kann, steht es ihm frei
welche Daten er an den jeweiligen Empfänger sendet.
SSL-Strip-Attack Im Jahr 2009 wurde auf der Black Hat DC von Moxie Marlinspike eine neue Angriffstechnik auf SSL verschlüsselte HTTP-Verbindungen
vorgestellt [13]. Es wird voraus gesetzt, dass die übertragenen Daten manipuliert werden können. Dieser Angriff beruht auf den Gewohnheiten der Nutzer.
Webseiten werden äußerst selten explizit mit vorangestelltem https:// aufgerufen. Nur durch Weiterleitungen oder Hyperlinks werden Nutzer dazu gebracht
über eine verschlüsselte Verbindung zu kommunizieren. Es gibt verschiedene
11
Webseite
login.yahoo.com
Gmail
ticketmaster.com
rapidshare.com
Hotmail
paypal.com
linkedin.com
facebook.com
Anzahl
114
50
42
14
13
9
9
3
Tabelle 1. Die Anzahl der durch eine SSL-Strip-Attack in 24 Stunden gesammelten
Login-Daten auf einer Tor-Exit-Node [13].
Webseiten die bevorzugt mittels einer verschlüsselten Kommunikation besucht
werden sollten.4 Damit der Nutzer diese verschlüsselte Verbindung aufbaut wird
ein Redirect5 von dem unverschlüsselten Dienst zu dem verschlüsselten Dienst
durchgeführt. An diesem Punkt setzt die SSL-Strip-Attack ein. Da der Angreifer die Kommunikation durch ein von ihm kontrollierten Computer leitet, gehen
alle Webseitenaufrufe über ihn. Somit ist der Angreifer in der Lage den Redirect
zu verhindern. Anstatt der eigentlichen Verbindung, die Aufgebaut werden soll,
verbindet sich er Angreifer mit der Ziel-Seite und lädt die Inhalte herunter. Alle
Hyperlinks auf der Webseite werden analysiert. Wenn ein Link auf eine Webseite
mittels https:// referenziert, wird dieser durch einen http:// -Link ersetzt. Dieses
soll verhindern, dass verschlüsselte Verbindungen aufgebaut werden. Nach der
Aufbereitung werden die angepassten Daten an das Opfer weitergesendet. Das
Opfer bekommt von der Manipulation nichts mit. Moxie Marlinspike testete diesen Angriff über 24 Stunden indem er auf seinem Computer eine Tor-Exit-Node
und ein entsprechendes Programm bei ausführte. Tabelle 1 Listet die LoginDaten die er in diesem Zeitraum sammeln konnte.
Durch diesen Angriff konnte der Autor zeigen, wie er durch den Einsatz
seines Werkzeuges auf relativ einfache Weise die Kommunikation abhören und
die Anmelde-Daten extrahieren konnte.
4
Vergleich
Nachdem unterschiedliche Angriffe auf die Kommunikation vorgestellt wurden,
sollen diese einander gegenüber gestellt werden. Für die Gegenüberstellung ist
eine eigene Metrik definiert die Anhand von Aufwand, Gefährdungspotential und
den Anforderungen an den Angreifer die Angriffe miteinander vergleicht. Es werden bei der Gegenüberstellung nur die Angriffe verglichen die, bei erfolgreichen
4
5
Es sollten zum Beispiel alle Webseiten die mit der Übertragung von Zahlungsdaten
nur über eine HTTPS-Verbindung kontaktiert werden.
In dem HTTP-Protokoll ist der Code 302 für einen Redirect definiert, der dafür
sorgt, dass der Webseiten-Besucher/Browser umgeleitet wird zu einer anderen Seite.
12
Angriff
Aufwand
Gefährdungspotential
hoch
mittelmäßig
hoch
Lokales Netzwerk
gering
DNS Cache Poisoning
mittelmäßig
Eingriff beim Internet hoch
Service Provider
Anforderungen
gering
mittelmäßig
hoch
Tabelle 2. Gegenüberstellung von unterschiedlichen Angriffen auf die Kommunikation.
Durchführung, den Datenverkehr umleiten. Die Manipulation, der übertragenen
Daten, wird in der Gegenüberstellung nicht aufgenommen, da sie die Umleitung
der Verbindung voraussetzen.
In Tabelle 2 sind drei verschiedene Angriffe aufgelistet. Die Spalte „Aufwand“
soll den Aufwand beschreiben, den der Angreifer aufwenden muss, um den Angriff durchzuführen. Die Spalte „Gefährdungspotential“ beschreibt den Umfang
des Angriffes, welche Folgen für die Betroffenen daraus resultieren. In der Spalte „Anforderungen“ sind die Anforderungen an den Angreifer gewichtet. Diese
Spalte beschreibt welches technische Wissen der Angreifer besitzen muss, um
diesen Angriff durchführen zu können. Im Folgenden werden die Werte aus der
Tabelle aufgegriffen und erläutert wie diese sich ergeben.
Lokales Netzwerk Diese Zeile bezieht sich auf den Angriff aus dem Abschnitt
3.1. Für die Aufwandsabschätzung wurde angenommen, dass der Angreifer
bereits Zugriff auf das lokale Netzwerk besitzt. Unter dieser Annahme ist
der Aufwand zum Durchführen eines Angriffes gering, da der Angreifer bereits Zugriff hat und keine weiteren Schutzmechanismen, zum Durchführen
des Angriffes, überwinden muss. Dadurch, dass der Angreifer die komplette
Kommunikation aufzeichnen und manipulieren kann, ergibt sich für die Betroffenen einen hohe Gefährdungspotential. Es existiert kein direkter Schutz
für die Opfer, sodass diese nicht auf den Angriff aufmerksam werden. Die
Anforderungen an den Angreifer, diesen Angriff durchzuführen, sind gering.
Es existieren viele Programme im Internet die es einem Angreifer, ohne technisches Hintergrundwissen, per Mausklick, durchführen zu lassen [20].
DNS Cache Poisoning Diese Zeile bezieht sich auf den Angriff aus dem Abschnitt 3.2. Der Aufwand zum Durchführen dieses Angriffes ist mittelmäßig,
da zum Durchführen vorausgesetzt wurde, dass der Angreifer vollen Zugriff
auf einen Server besitzt. An diesen Server wird ebenfalls die Anforderung
gestellt, dass bestimmte Software installiert und konfiguriert ist, wodurch
sich dieser Wert ergibt. Das Gefährdungspotential wurde nur auf mittelmäßig eingestuft, da ein Angreifer die Kommunikation nur begrenzt umleiten
kann. Der Angreifer ist in der Lage gefälschte DNS-Einträge an Nutzer zu
liefern, jedoch kann dieser nicht für alle Domänen im Internet gefälschte
Einträge erzeugen. Außerdem sind nur die Nutzer betroffen, die den attackierten DNS-Server zur Namensauflösung kontaktieren. Die Durchführung
des Angriffes wird als mittelmäßig eingestuft. Dieser Wert ergibt sich daraus, dass der Angreifer zum einen die technischen Hintergründe des Angriffes
13
verstanden haben muss und zum anderen in der Lage sein muss diese praktisch umzusetzen. Außer der Anforderungen, an die technische Umsetzung
des Angriffes, muss der Angreifer gegebenenfalls Sicherheitsmechanismen,
die beim DNS-Server implementiert worden, umgehen.
Eingriff beim Internet Service Provider Diese Zeile bezieht sich auf den
Angriff aus dem Abschnitt 3.3. Für die Aufwandsabschätzung wurde angenommen, dass ein Angreifer nicht dem Bundesnachrichtendienst oder vergleichbaren Institutionen angehört. Bevor ein Angreifer auf zentrale Knotenpunkte Zugriff bekommt, muss dieser zunächst physikalischen Zugriff erlangen. Aufgrund der Tatsache, dass die Knotenpunkte einer der wichtigsten
Punkte des Internets sind, dürfte ein Angreifer nur sehr schwer Zugriff erlangen. Wenn an dieser Stelle sich zwischen die Kommunikation geschaltet
wird, sind die Risiken dennoch sehr hoch. Ähnlich wie beim Angriff auf das
lokale Netzwerk hätte ein Angreifer alle Möglichkeiten zum Aufzeichnen und
Manipulieren. Die Anforderungen an den Angreifer sind ebenfalls sehr hoch.
Zusätzlich zu Spezialequipment, welches der Angreifer zwischen de Leitung
schalten müsst, muss dieser in der Lage sein Datenraten von 2,6 Tbit/s zu
verarbeiten. Für eine Privatperson ist dieser Angriff nicht realisierbar.
5
Zusammenfassung & Ausblick
In dieser Arbeit wurde ausführlich das Thema „Man-in-the-Middle Angriffe auf
Internetkommunikation“ zusammen gefasst. Anhand der Grundlagen wurden die
Techniken beschrieben wie passiv abgehört werden kann und die übertragenen
Daten verändert werden können. Die Gegenüberstellung im Kapitel 4 verdeutlicht, wie groß der Einfluss der vorgestellten Techniken in Relation zu den Anforderungen, um die Angriffe durchzuführen, ist. Um trotz der zuvor genannten Risiken das Schutzziel Vertraulichkeit zu erreichen wird empfohlen, dass die
Kommunikation durch sichere Verschlüsselungsalgorithmen geschützt wird. Bei
den verwendeten Algorithmen sollten die Sicherheitskriterien des BSI Grundschutzkataloges [21] eingehalten werden. Zum Erreichen des Schutzziels Authentizität wird empfohlen für die Sicherstellung seines Gegenübers eine Zwei-WegeAuthentifizierung zu vollziehen. Das Schutzziel Integrität kann durch den Einsatz von digitalen Signaturen erreicht werden. Diese Mechanismen bieten eine
Möglichkeit Nutzer vor Angriffen zu schützen. Für die Zukunft lässt sich prognostizieren, dass neue Angriffe auf die Verbindungen entwickelt werden. Durch
die Etablierung von IPv6 und die Einführung neuer Protokolle ist zu erwarten,
dass neue Angriffe entwickelt werden.
Literatur
1. Heise Online,
„NSA-Überwachungsskandal: Von NSA, GCHQ, BND, PRISM, Tempora,
XKeyScore und dem Supergrundrecht - was bisher geschah“,
14
2.
3.
4.
5.
6.
7.
http://www.heise.de/newsticker/ meldung/NSA-Ueberwachungsskandal-VonNSA-GCHQ-BND-PRISM-Tempora-XKeyScore-und-dem-Supergrundrechtwas-bisher-geschah-1958399.html,
19.09.2013,
Letzter Zugriff: 15.12.2013
Andrew S. Tanenbaum, Prof. David J. Wetherall,
„Computernetzwerke (Pearson Studium - IT)“,
4. überarbeitet Auflage,
Erscheinungs-Datum: 7/2003
P. Mockapetris,
„RFC 1035“,
https://www.ietf.org/rfc/rfc1035.txt,
Erscheinungs-Datum: November 1987
Letzter Zugriff: 15.12.2013
P. Mockapetris,
„RFC 1034“,
https://www.ietf.org/rfc/rfc1034.txt,
Erscheinungs-Datum: November 1987
Letzter Zugriff: 15.12.2013
J. Postel,
„RFC 768“,
https://www.ietf.org/rfc/rfc768.txt,
Erscheinungs-Datum: 28 August 1980
Letzter Zugriff: 15.12.2013
T. Dierks,
„RFC 5246“,
https://www.ietf.org/rfc/rfc5246.txt,
Erscheinungs-Datum: August 2008
Letzter Zugriff: 15.12.2013
Stefan Dierichs, Prof. Dr. Norbert Pohlmann,
„Internet Deutschland - Struktur und Aufbau“,
Institut für Internet-Sicherheit, Fachhochschule Gelsenkirchen,
Erscheinungs-Datum: Oktober 2005
8. Johannes A. Buchmann, Evangelos Karatsiolis, Alexander Wiesmaier,
„Introduction to Public Key Infrastructures“,
April 17, 2013 Springer
9. „Gesetz zur Beschränkung des Brief-, Post- und Fernmeldegeheimnisses (Artikel
10-Gesetz - G 10)“,
http://www.buzer.de/s1.htm?g=G%2B10&a=10,
Geltung ab 29.06.2001,
Letzter Zugriff: 15.12.2013
10. Callado et al., „A Survey on Internet Traffic Identification", IEEE Communications Surveys & Tutorials, vol. 11, no. 3,
Drittes Quartal 2009
11. Jon Erickson,
„Hacking: The Art of Exploitation, 2nd Edition“,
Oktober 2007
12. James F. Kurso, Keith W. Ross,
„Computernetze: Ein Top-Down-Ansatz mit Schwerpunkt Internet“,
Pearson Studium, 2002
15
13. Moxie Marlinspike,
„New Techniques for Defeating SSL/TLS“,
https://www.blackhat.com/html/bh-dc-09/bh-dc-09speakers.html#Marlinspike,
Letzter Zugriff: 09.02.2014
14. heise Security,
„Der Diginotar-SSL-Gau und seine Folgen“,
http://www.heise.de/security/mel dung/Der-Diginotar-SSL-Gau-und-seineFolgen-1423893.html,
27.01.2012
Letzter Zugriff: 04.01.2014
15. Max Moseret al.,
„HTC’s E-Mail Client Fails to verify Server Certificates“,
http://www.modzero.ch/modlog/archives/2013/05/28/htcs_e-mail_client
_fails_to_verify_server_certificates/index.html?utm_source=buffer&utm
_medium=twitter&utm_campaign=Buffer&utm_content=buffer01b49,
Published: 2013-05-28,
Letzter Zugriff: 04.01.2014
16. DE-CIX,
„New DE-CIX all-time peak detected: 2.6 tbps“,
http://www.de-cix.net/news-events/latest-news/news/article/new-de-cix-alltime-peak-detected-26-tbps/,
Letzter Zugriff: 08.01.2014
17. „Wikipedia - Tier 1 network, Definition“,
http://en.wikipedia.org/wiki/Tier_1 _network#Definition,
Letzter Zugriff: 31.01.2014
18. Stern online,
„Jeder vierte Haushalt ist noch offline“,
19. Dezember 2011,
http://www.stern.de/digital/online/internetanschluesse-in-deutschland-jedervierte-haushalt-ist-noch-offline-1764498.html,
Letzter Zugriff: 02.02.2014
19. Aircrack-ng,
„Determine the chipset“,
http://www.aircrack-ng.org/doku.php?id=compatibility_drivers
&s[]=devices#determine_the_chipset,
Letzter Zugriff: 02.02.2014
20. Kali Linux,
„The most advanced penetration testing distribution“,
http://www.kali.org/,
Letzter Zugriff: 09.02.2014
21. Bundesamt für Sicherheit in der Informationstechnik,
IT-Grundschutz-Kataloge“,
https://www.bsi.bund.de/DE/Themen/ITGrundschutz/ITGrundschutz Kataloge/itgrundschutzkataloge_node.html,
Letzter Zugriff: 21.02.2014
16
Herunterladen