Zum Hauptinhalt springen

3. The Internet Threat Model (Internet-Bedrohungsmodell)

3. The Internet Threat Model (Internet-Bedrohungsmodell)

Ein THREAT MODEL (Bedrohungsmodell) beschreibt die Fähigkeiten, die einem Angreifer gegen eine Ressource zugeschrieben werden. Es sollte Angaben zu den Ressourcen des Angreifers in Form von Information, Rechenleistung und Kontrolle über das System enthalten. Der Zweck eines Bedrohungsmodells ist zweifach. Erstens wollen wir die relevanten Bedrohungen identifizieren. Zweitens wollen wir einige Bedrohungen ausdrücklich außerhalb des Geltungsbereichs setzen. Fast jedes Sicherheitssystem ist gegen einen hinreichend entschlossenen und gut ausgestatteten Angreifer verwundbar.

Die Internetumgebung hat ein recht gut verstandenes Bedrohungsmodell. Im Allgemeinen nehmen wir an, dass die Endsysteme, die ein Protokoll austauschen, selbst nicht kompromittiert sind. Schutz vor einem Angriff, wenn eines der Endsysteme kompromittiert ist, ist

außerordentlich schwierig. Es ist jedoch möglich, Protokolle zu entwerfen, die den Schaden unter diesen Umständen begrenzen.

Im Gegensatz dazu nehmen wir an, dass der Angreifer nahezu vollständige Kontrolle über den Kommunikationskanal zwischen den Endsystemen hat. Das bedeutet, der Angreifer kann jede PDU (Protocol Data Unit, Protokolldateneinheit) im Netz lesen und unbemerkt entfernen, ändern oder gefälschte Pakete einspeisen. Dazu gehört die Erzeugung von Paketen, die von einer vertrauenswürdigen Maschine zu stammen scheinen. Selbst wenn das Endsystem, mit dem Sie kommunizieren wollen, sicher ist, bietet die Internetumgebung keine Gewissheit, dass Pakete, die angeblich von diesem System stammen, es tatsächlich tun.

Es ist wichtig zu erkennen, dass die Bedeutung einer PDU auf verschiedenen Ebenen unterschiedlich ist. Auf IP-Ebene ist eine PDU ein IP-Paket. Auf TCP-Ebene ein TCP-Segment. Auf der Anwendungsschicht eine Anwendungs-PDU. Auf E-Mail-Ebene kann das etwa eine RFC-822-Nachricht oder ein einzelner SMTP-Befehl sein. Auf HTTP-Ebene eine Anfrage oder Antwort.

3.1. Limited Threat Models (Eingeschränkte Bedrohungsmodelle)

Wie gesagt kann ein leistungsfähiger, entschlossener Angreifer den gesamten Kommunikationskanal kontrollieren. Viele Angriffe sind jedoch mit weniger Ressourcen möglich. Eine Reihe bekannter Angriffe kann mit begrenzter Netzkontrolle ausgeführt werden. Passwort-Sniffing etwa kann von einem Angreifer durchgeführt werden, der nur beliebige Pakete lesen kann. Das wird allgemein als PASSIVE ATTACK (passiver Angriff) bezeichnet [INTAUTH].

Im Gegensatz dazu kann Morris' Sequenznummern-Ratenangriff [SEQNUM] von einem Angreifer ausgeführt werden, der beliebige Pakete schreiben, aber nicht lesen kann. Jeder Angriff, der Schreiben ins Netz erfordert, heißt ACTIVE ATTACK (aktiver Angriff).

Eine nützliche Organisation von Angriffen teilt sie nach den für den Angriff nötigen Fähigkeiten ein. Der Rest dieses Abschnitts beschreibt diese Kategorien und gibt Beispiele.

3.2. Passive Attacks (Passive Angriffe)

Bei einem passiven Angriff liest der Angreifer Pakete vom Netz, schreibt sie aber nicht. Der einfachste Weg ist, im selben LAN wie das Opfer zu sein. In den gängigen LAN-Konfigurationen, einschließlich Ethernet, 802.3 und FDDI, kann jede Maschine auf dem Medium den gesamten Verkehr lesen, der für eine andere Maschine im

selben LAN bestimmt ist. Switching-Hubs erschweren solches Sniffing erheblich, da Verkehr für eine Maschine nur zum Segment gelangt, an dem diese Maschine hängt.

Ebenso kann ein Angreifer, der einen Host im Kommunikationspfad zwischen zwei Opfern kontrolliert, einen passiven Angriff auf deren Kommunikation ausführen. Es ist auch möglich, die Routing-Infrastruktur zu kompromittieren, um gezielt Verkehr durch eine kompromittierte Maschine zu leiten. Das kann einen aktiven Angriff auf die Routing-Infrastruktur erfordern, um einen passiven Angriff auf ein Opfer zu ermöglichen.

Drahtlose Kommunikationskanäle verdienen besondere Beachtung, insbesondere mit der wachsenden Verbreitung drahtloser LANs wie 802.11. Da die Daten einfach auf bekannten Funkfrequenzen ausgestrahlt werden, muss der Angreifer nur diese Übertragungen empfangen können. Solche Kanäle sind besonders anfällig für passive Angriffe. Obwohl viele solche Kanäle kryptographischen Schutz einsetzen, ist dieser oft so schwach, dass er praktisch nutzlos ist [WEP].

Im Allgemeinen ist das Ziel eines passiven Angriffs, Informationen zu erhalten, die Sender und Empfänger privat halten wollen. Dazu können Anmeldedaten in der elektronischen Welt und/oder Passwörter oder vertrauliche Geschäftsinformationen aus der realen Welt gehören.

3.2.1. Confidentiality Violations (Verletzungen der Vertraulichkeit)

Das klassische Beispiel eines passiven Angriffs ist das Abhören inhärent privater Daten vom Draht. Trotz weiter Verfügbarkeit von SSL durchlaufen viele Kreditkartentransaktionen noch immer das Internet im Klartext. Ein Angreifer könnte solche Nachrichten sniffen und die Kartennummer gewinnen, um betrügerische Transaktionen durchzuführen. Außerdem wird vertrauliche Geschäftsinformation routinemäßig unverschlüsselt per E-Mail übertragen.

3.2.2. Password Sniffing (Passwort-Sniffing)

Ein weiteres Beispiel passiver Angriffe ist PASSWORD SNIFFING. Passwort-Sniffing zielt auf unbefugte Nutzung von Ressourcen ab. Viele Protokolle, darunter [TELNET], [POP] und [NNTP], nutzen ein gemeinsames Passwort zur Authentifizierung des Clients gegenüber dem Server. Oft wird dieses Passwort vom Client zum Server im Klartext über den Kanal übertragen. Ein Angreifer, der diesen Verkehr lesen kann, kann das Passwort erfassen und wiedergeben (Replay). Das heißt, er kann eine Verbindung zum Server aufbauen, sich als der Client ausgeben und sich mit dem erfassten Passwort anmelden.

Obwohl die Anmeldephase des Angriffs aktiv ist, ist die eigentliche Passworterfassung passiv. Außerdem erfordert die Anmeldephase keine besondere Netzkontrolle, sofern der Server die Herkunftsadresse der Verbindungen nicht prüft.

3.2.3. Offline Cryptographic Attacks (Offline-Kryptographieangriffe)

Viele kryptographische Protokolle sind OFFLINE-ANGRIFFEN ausgesetzt. In solchen Protokollen gewinnt der Angreifer Daten, die mit dem geheimen Schlüssel des Opfers verarbeitet wurden, und führt dann einen kryptanalytischen Angriff auf diesen Schlüssel aus. Passwörter sind besonders verwundbar, weil sie typischerweise niedrige Entropie haben. Mehrere populäre passwortbasierte Challenge-Response-Protokolle sind anfällig für DICTIONARY ATTACK. Der Angreifer erfasst ein Challenge-Response-Paar und probiert Einträge aus einer Liste gängiger Wörter (z. B. eine Wörterbuchdatei), bis ein Passwort die richtige Antwort erzeugt.

Ein ähnlicher Angriff ist im lokalen Netz möglich, wenn NIS genutzt wird. Das Unix-Passwort wird mit einer Einwegfunktion verschlüsselt, aber Werkzeuge existieren, um solche verschlüsselten Passwörter zu brechen [KLEIN]. Bei NIS wird das verschlüsselte Passwort im LAN übertragen, und der Angreifer kann es sniffen und angreifen.

Historisch war es auch möglich, kleine Betriebssystem-Sicherheitslücken auszunutzen, um die Passwortdatei mit einem aktiven Angriff zu erhalten. Diese Lücken konnten dann mit den genannten Offline-Techniken in einen tatsächlichen Account ausgebaut werden. So kombiniert man einen aktiven Angriff niedriger Ebene mit einem offline passiven Angriff.

3.3. Active Attacks (Aktive Angriffe)

Wenn ein Angriff das Schreiben von Daten ins Netz umfasst, sprechen wir von einem ACTIVE ATTACK. Wird IP ohne IPsec genutzt, gibt es keine Authentifizierung der Absenderadresse. Folglich kann ein Angreifer einfach ein Paket mit gewählter Quelladresse erzeugen. Wir nennen das SPOOFING ATTACK.

Unter bestimmten Umständen kann das Netz solche Pakete herausfiltern. Viele paketfilternde Firewalls verwerfen etwa alle Pakete mit Quelladressen des INTERNEN Netzes, die an der EXTERNEN Schnittstelle ankommen. Das schützt jedoch nicht vor einem Angreifer innerhalb der Firewall. Entwerfer sollten im Allgemeinen annehmen, dass Angreifer Pakete fälschen können.

Die Fähigkeit zum Fälschen von Paketen geht jedoch nicht notwendig mit der Fähigkeit einher, beliebige Antwortpakete zu empfangen. Es gibt aktive Angriffe, bei denen gefälschte Pakete gesendet, Antworten aber nicht verarbeitet werden können. Wir nennen diese BLIND ATTACKS.

Nicht alle aktiven Angriffe erfordern Adressfälschung. Der TCP-SYN-DoS-Angriff [TCPSYN] kann etwa erfolgreich sein, ohne die Absenderadresse zu verschleiern. Es ist jedoch üblich, die Adresse zu verschleiern, um die Identität zu verbergen, wenn ein Angriff entdeckt wird.

Jedes Protokoll ist spezifischen aktiven Angriffen ausgesetzt, aber die Erfahrung zeigt, dass sich mehrere gängige Angriffsmuster an jedes Protokoll anpassen lassen. Die folgenden Abschnitte beschreiben einige dieser Muster mit Beispielen.

3.3.1. Replay Attacks (Wiedergabeangriffe)

Bei einem REPLAY ATTACK zeichnet der Angreifer eine Sequenz von Nachrichten vom Draht auf und spielt sie der Partei vor, die sie ursprünglich empfangen hat. Der Angreifer muss die Nachrichten nicht verstehen. Er muss sie nur erfassen und erneut senden.

Beispiel: Eine S/MIME-Nachricht wird genutzt, um einen Dienst anzufordern, etwa einen Kauf mit Kreditkarte oder einen Börsenhandel. Ein Angreifer will den Dienst vielleicht zweimal ausführen lassen, wenn nur, um das Opfer zu belästigen. Er kann die Nachricht erfassen und wiedergeben, auch ohne sie lesen zu können, und die Transaktion zweimal auslösen.

3.3.2. Message Insertion (Nachrichteneinfügung)

Bei MESSAGE INSERTION fälscht der Angreifer eine Nachricht mit gewählten Eigenschaften und injiziert sie ins Netz. Oft hat die Nachricht eine gefälschte Quelladresse, um die Identität zu verschleiern.

Beispiel: Ein DoS-Angriff durch Einfügen einer Serie falscher TCP-SYN-Pakete an den Zielhost. Der Zielhost antwortet mit eigenem SYN und reserviert Kernel-Datenstrukturen für die neue Verbindung. Der Angreifer schließt die Drei-Wege-Handshake nicht ab, die halboffenen Verbindungsendpunkte bleiben liegen und verbrauchen Kernelspeicher. Typische TCP-Stacks erlauben nur eine begrenzte Anzahl solcher „halboffenen“ Verbindungen; ist die Grenze erreicht, können keine neuen Verbindungen mehr aufgebaut werden, auch nicht von legitimen Hosts. Dieser Angriff ist blind, da der Angreifer die SYNs des Opfers nicht verarbeiten muss.

3.3.3. Message Deletion (Nachrichtenlöschung)

Bei MESSAGE DELETION entfernt der Angreifer eine Nachricht vom Draht. Morris' Sequenznummernangriff [SEQNUM] erfordert oft Löschung, um zu gelingen. In diesem blinden Angriff erhält der Host, dessen Adresse gefälscht wird, ein falsches TCP-SYN vom angegriffenen Host. Der Empfang dieses SYN erzeugt ein RST, das die illegitime Verbindung abbauen würde. Um zu verhindern, dass dieser Host ein RST sendet und der Angriff gelingt, beschreibt Morris, diesen Host mit Überlauf der Warteschlangen zu fluten, sodass das SYN-Paket verloren geht und nie beantwortet wird.

3.3.4. Message Modification (Nachrichtenänderung)

Bei MESSAGE MODIFICATION entfernt der Angreifer eine Nachricht vom Draht, modifiziert sie und injiziert sie erneut. Besonders nützlich, wenn der Angreifer Teile der Daten senden, aber andere ändern will.

Beispiel: Angriff auf eine über das Internet aufgegebene Bestellung. Er hat die Kreditkartennummer des Opfers nicht und wartet, bis das Opfer bestellt, ersetzt dann die Lieferadresse (und ggf. die Warenbeschreibung) durch die eigene. Dieser Angriff heißt CUT-AND-PASTE, weil der Angreifer die Kartennummer aus der Originalnachricht „ausschneidet“ und in die neue Nachricht „einfügt“.

Ein weiteres Beispiel liefert [IPSPPROB]. Wird IPsec ESP ohne MAC genutzt, kann der Angreifer für ein Opfer auf derselben Maschine verschlüsselten Verkehr lesen. Er hängt einen IP-Header an, der zu einem von ihm kontrollierten Port passt, an das verschlüsselte IP-Paket. Beim Empfang wird das Paket automatisch entschlüsselt und an den Port des Angreifers weitergeleitet. Ähnliche Techniken ermöglichen Session Hijacking. Beides vermeidet man, indem man bei Verschlüsselung immer Nachrichtenauthentifizierung nutzt. Der Angriff funktioniert nur, wenn (1) kein MAC-Check verwendet wird, da der Angriff beschädigte Pakete erzeugt, (2) eine Host-zu-Host-SA genutzt wird, da eine Nutzer-zu-Nutzer-SA zu Inkonsistenzen zwischen SA-Port und Zielport führt. Ist die empfangende Maschine Single-User, ist der Angriff nicht durchführbar.

3.3.5. Man-In-The-Middle (Man-in-the-Middle)

Ein MAN-IN-THE-MIDDLE-Angriff kombiniert die obigen Techniken: Der Angreifer unterwandert den Kommunikationsstrom, um sich dem Empfänger als Sender und dem Sender als Empfänger auszugeben:

Was Alice und Bob denken: Alice <----------------------------------------------> Bob

Was passiert: Alice <----------------> Attacker <----------------> Bob

Das unterscheidet sich grundlegend von den obigen Angriffen, weil die Identität der Kommunikationspartner und nicht nur der Datenstrom angegriffen wird. Folglich reichen viele Techniken, die nur die Integrität des Datenstroms schützen, für MITM nicht aus.

Man-in-the-Middle ist möglich, wenn ein Protokoll PEER ENTITY AUTHENTICATION vermissen lässt. Kann der Angreifer etwa die Client-TCP-Verbindung während des Handshake kapern (indem er vor dem Server auf das SYN des Clients antwortet), kann er eine weitere Verbindung zum Server öffnen und MITM starten. Auf lokalen Netzen ist MITM via ARP-Spoofing trivial — der Angreifer fälscht ARP mit der IP des Opfers und seiner eigenen MAC. Werkzeuge dafür sind leicht verfügbar.

Es genügt oft, eine Seite der Transaktion zu authentifizieren, um MITM zu verhindern. Dann können die Peers eine Assoziation etablieren, in der nur ein Peer authentifiziert ist. Ein Angreifer kann eine Assoziation beginnen und sich als der nicht authentifizierte Peer ausgeben, kann aber keine Daten auf einer legitimen Verbindung senden oder lesen. Das ist in Kontexten wie Web-E-Commerce akzeptabel, wo nur der Server authentifiziert werden muss (oder der Client unabhängig z. B. per Kreditkartennummer authentifiziert wird).

3.4. Topological Issues (Topologische Aspekte)

In der Praxis ist die Annahme falsch, dass es für einen Angreifer gleich einfach ist, alle Pakete zu lesen und zu erzeugen, da das Internet nicht vollständig verbunden ist. Das hat zwei Hauptfolgen.

3.5. On-path versus off-path (On-Path versus Off-Path)

Damit ein Datagramm von einem Host zu einem anderen gelangt, muss es typischerweise eine Reihe von Zwischenverbindungen und Gateways durchlaufen. Solche Gateways können natürlich jedes entlang dieses Pfads übertragene Datagramm lesen, modifizieren oder entfernen. Dadurch ist es viel einfacher, viele Angriffe auszuführen, wenn man on-path ist.

Off-path-Hosts können zwar beliebige Datagramme senden, die von beliebigen Hosts zu stammen scheinen, aber nicht notwendigerweise Datagramme empfangen, die für andere Hosts bestimmt sind. Hängt ein Angriff vom Empfang von Daten ab, müssen off-path-Hosts zuerst die Topologie unterwandern, um on-path zu werden. Das ist keineswegs unmöglich, aber nicht notwendig trivial.

Anwendungsprotokollentwerfer DÜRFEN NICHT annehmen, dass alle Angreifer off-path sind. Wo möglich, SOLLTEN Protokolle so entworfen werden, dass sie Angriffen widerstehen, bei denen der Angreifer vollständige Kontrolle über das Netz hat. Entwerfer sollen jedoch Angriffen mehr Gewicht geben, die sowohl von off-path- als auch on-path-Angreifern möglich sind.

Ein Spezialfall von on-path ist, auf derselben Verbindung zu sein. Manchmal will man zwischen Hosts im lokalen Netz und solchen außerhalb unterscheiden. Standardtechnik ist die Prüfung des IP-TTL-Werts [IP]. Da TTL von jedem Forwarder verringert werden muss, kann ein Protokoll fordern, dass TTL auf 255 gesetzt und von allen Empfängern geprüft wird. Ein Empfänger hat dann gewissen Grund zu der Annahme, dass konforme Pakete von derselben Verbindung stammen. Diese Technik ist bei Tunneln mit Vorsicht anzuwenden, da Tunnel Pakete weiterleiten können, ohne TTL zu verringern.