8.1.2. Attacken

Schauen wir uns zunächst an, welchen Bedrohungen unsere Daten und Systeme ausgesetzt sein können. Wie die folgenden Beispiele zeigen werden, kann die konkrete Form der Angriffe sehr verschieden sein. Allerdings zeigt sich auch, daß immer wieder eine relativ kleine Anzahl von Grundprinzipien zur Anwendung kommt, anhand derer wir die Attacken kategorisieren werden. Ausgangspunkt der Betrachtungen ist der normale Informationsfluß von einer Quelle zu einem Ziel:

Die konkrete Ausprägung der Endpunkte spielt dabei theoretisch keine Rolle. Es kann sich z.B. um Dateien oder Hauptspeicherbereiche handeln, die sich entweder auf demselben Rechner oder auf verschiedenen, über ein Netz miteinander kommunizierenden Maschinen befinden.

Wir interessieren uns allerdings primär für den Transport von Daten über ein Netz. Anders als die lokal verwalteten Systeme unterliegen die Netze im Normalfall nicht dem Einfluß der Administratoren der Endsysteme. Es ist also davon auszugehen, daß man in der Regel nach dem Absenden keinerlei Kontrolle mehr darüber hat, was mit den Informationen auf dem Weg zum Empfänger geschieht und ob sie ihr Ziel überhaupt erreichen. Der Manipulation sind Tür und Tor geöffnet.

Beispielsweise kann jeder Router die von ihm weiterzuleitenden Pakete inspizieren, modifizieren, duplizieren oder vernichten. Außerdem haben sowohl Endsysteme als auch Router die Möglichkeit, Pakete beliebigen Inhalts sowie mit Adressen ihrer Wahl neu zu generieren und anschließend zu versenden. Ohne zusätzliche Schutzmaßnahmen ist der Empfänger nicht in der Lage festzustellen, ob ein eintreffendes Paket tatsächlich vom angegebenen Absender stammt oder ob es sich um eine Fälschung handelt.

Die folgende Liste zeigt eine mögliche prinzipielle Kategorisierung von Attacken:

In der Regel erfolgt eine Unterteilung in aktive und passive Attacken.

Ziel der passiven Attacken ist das Mithören bzw. Überwachen (eavesdropping, monitoring) von Übertragungen. Der Angreifer selbst sendet dabei nichts. Ihm geht es in der Regel um die Ermittlung des Inhalts der zwischen verschiedenen Partnern ausgetauschten Nachrichten. Liegen diese im Klartext vor, gestaltet sich der Angriff besonders einfach. Als wirkungsvollste Gegenmaßnahme ist die Verwendung einer schwer zu brechenden Verschlüsselung der Daten anzusehen.

Mitunter sind aber auch verschlüsselte Nachrichten für den Angreifer von gewissem Wert. Er könnte versuchen, die genutzten kryptographischen Verfahren z.B. off-line zu brechen und so mit einiger Verspätung in den Besitz des Inhalts der Nachrichten zu gelangen. Aber selbst ohne Kryptoanalyse ergeben sich weitere Möglichkeiten des Mißbrauchs der mitgehörten und ggf. aufgezeichneten Pakete.

In bestimmten Situationen ist es für den Angreifer nicht entscheidend, den Inhalt der abgefangenen Nachrichten zu kennen. Werden z.B. konstante Daten zum Zweck der Authentifizierung verwendet, besteht die Gefahr von Replay-Attacken, egal, ob die Informationen im Klartext vorliegen oder verschlüsselt wurden.

Daneben gibt es eine ziemlich subtile Form der passiven Attacke, die trotz der Verschlüsselung der Nachrichteninhalte angewendet werden kann: die Analyse des Datenverkehrs (traffic analysis). Hierbei interessiert sich der Mithörer dafür, wann und wie oft Nachrichten welcher Länge und zwischen welchen Partnern ausgetauscht werden. Daraus versucht er, auf die Art der Kommunikation bzw. deren Inhalt zu schließen, was mit einigem Zusatzwissen durchaus gelingen kann.

Eine wirkungsvolle Technik zur Verhinderung von Verkehrsanalysen besteht in der Verschlüsselung der Pakete bzw. Rahmen in der Subnetz-Schicht (bulk link encryption, link-by-link encryption). Sie bewirkt im Gegensatz zur in höheren Schichten angesiedelten End-zu-End-Verschlüsselung nicht nur den Schutz der Anwenderdaten, sondern der gesamten IP-Pakete. Auf diese Weise bleiben einem Angreifer die IP-Adressen der Kommunikationspartner und in der Regel auch die Längen der transferierten Nachrichten verborgen.

Die Verschlüsselung in der Subnetz-Schicht sollte Schutzmechanismen der höheren Schichten keinesfalls ersetzen, sondern geeignet ergänzen. Ein höchstmöglicher Schutz der per Netz ausgetauschten Informationen wäre durch die Kombination beider Verfahren zu erreichen.

In der Praxis wird aber, wenn überhaupt, in der Regel nur die End-zu-End-Verschlüsselung eingesetzt, da sie sich wesentlich einfacher implementieren läßt. Sie erfordert keinerlei Veränderungen der existierenden Netzinfrastruktur. Nur die beiden Partner wissen vom Einsatz kryptographischer Verfahren. Deren Anwendung erfolgt meist in der Anwendungssoftware, seltener im Betriebssystem. Die Router und sonstigen Netzelemente benötigen und erhalten davon keine Kenntnis.

Passive Attacken lassen sich meist nur sehr schwer entdecken, da ja keinerlei Änderungen an den Nachrichten vorgenommen werden. Deshalb sollte man sich auf deren Verhinderung statt deren Entdeckung konzentrieren.

Bei den aktiven Attacken werden entweder Teile der gesendeten Informationen modifiziert oder sogar völlig neue Nachrichten generiert und einem Ziel zugeleitet. Vier verschiedene Formen lassen sich unterscheiden:

Anders als passive Attacken, die kaum zu entdecken, aber durch geeignete Maßnahmen recht gut zu verhindern sind, lassen sich aktive Attacken mitunter nur schwer oder gar nicht verhindern, da wir in der Regel keine physische Kontrolle über die zur Datenübertragung genutzen Netzelemente haben. Das Ziel muß also lauten, solche Angriffe zu erkennen und nach Möglichkeit die durch sie hervorgerufenen Schäden (Veränderung von Informationen, Verzögerungen etc.) zu beheben. Da Entdeckung auch einen Abschreckungseffekt haben kann, trägt sie ggf. auch zur Verhinderung weiterer Angriffe bei.

Einige abschließende Beispiele sollen nochmals verdeutlichen, daß Angriffe, die sich gegen vernetzte Computer richten, sehr vielgestaltig sein können. Sie nutzen sowohl Schwächen und Fehler in den Protokollen als auch in den Implementierungen aus.

Zur ersten Gruppe gehören u.a. die Übertragung von Paßwörtern oder sonstigen langlebigen Authentifizierungsinformationen im Klartext, so daß sie leicht abgehört werden können, oder die Identifizierung von Systemen anhand der relativ leicht fälschbaren IP-Adresse des Absenders.

Zur zweiten Gruppe zählt z.B., daß verschiedene der mit hohen Privilegien ausgestatteten Netzwerk-Server und auch System-Werkzeuge zu unterschiedlichsten Zwecken mißbraucht werden können, wenn man ihnen spezielle, relativ lange Argumente übergibt, die intern zu Überläufen statischer Puffer und so zur Manipulation des Laufzeitstacks führen. Ein konkretes Beispiel werden wir uns später im Zusammenhang mit dem Internet-Worm ansehen.

Mitunter zielen Angriffe auf speziell ausgewählte Dienste. Wenn beispielsweise ein Eindringling an bestimmten Daten eines per NFS exportierten Dateisystems interessiert ist, reicht es ihm in der Regel aus, genau den NFS-Dienst zu attackieren.

Oftmals geht es den Angreifern allerdings darum, sich auf einer entfernten Maschine als ein dort lokal bekannter Nutzer anzumelden und nachfolgend dessen gesamte Rechte wahrzunehmen. Evtl. interessieren den Einbrecher dabei gar nicht primär die privaten Daten des betreffenden Anwenders. Sein Ziel könnte z.B. im Zugang zu Authentifizierungsinformationen bestehen, wie sie auf vielen UNIX-Systemen in Form verschlüsselter Paßwörter in der lokalen bzw. netzweit per NIS verteilten Paßwort-Datei vorliegen. Mit Hilfe eines Crack-Programms könnte er dann off-line versuchen, schlecht gewählte Paßwörter weiterer Nutzer zu brechen und so auch deren Identität anzunehmen.

Besonders unangenehm wird die Situation, wenn es Fremden gelingt, die Rechte des Administrators bzw. UNIX-Superusers zu erlangen. Bedingt durch dessen besonders hohe Privilegien hat der Angreifer einen nahezu unbeschränkten Zugriff auf die vom System verwalteten bzw. von ihm aus erreichbaren Ressourcen. Er kann die Maschine in seine Gewalt bringen und ggf. für eine gewisse Zeit komplett dem Zugriff des regulären Verwalters entziehen.

Des weiteren besteht die Möglichkeit, die Identität dieser Maschine für weitere Angriffe zu mißbrauchen. In verschiedenen Umgebungen (z.B. bei den r-Utilities und in vielen NFS-Systemen) basiert die Authentifizierung auf dem Prinzip der trusted hosts, d.h., der Zugang wird gewährt, wenn die Anforderung von einer als vertrauenswürdig angesehenen Maschine kommt. Der Angreifer kann also in alle Rechner eindringen, die denjenigen vertrauen, zu denen er sich bereits Zugang verschafft hat.

In der Regel wird der Eindringling versuchen, seine Spuren zu verwischen, um nicht aufzufallen und den einmal gefundenen Zugang zu einem fremden System lange nutzen zu können. Möglicherweise installiert er sogar eine sog. back door, die es ihm später gestattet, auch ohne Kenntnis des aktuellen Paßworts in den Besitz der gewünschten Privilegien zu gelangen.

Neben dem Zugriff auf sensible Daten sowie dem Mißbrauch fremder Identitäten könnte es ein Angreifer auch auf die entfernt zur Verfügung stehenden Rechenkapazitäten abgesehen haben. Allerdings fällt der Preis für Rechenleistung kontinuierlich, so daß diese Form in der Regel für normale PCs und Worktstations keine große Rolle spielt. Sie ist maximal für Supercomputer interessant.

Sobald ein Angreifer in ein fremdes System eingedrungen ist, hat er evtl. auch ideale Möglichkeiten, den normalen Betrieb zu stören. So könnte er bestimmte Server abbrechen oder durch andere ersetzen, die Routing-Tabellen verändern oder den Klienten des angegriffenen Systems verweigern, auf die Ressourcen dieser Maschine (Dateisysteme, Drucker, ...) zuzugreifen.


© Holger Trapp, 12.10.1998