+ All Categories
Home > Documents > Netzwerk- und Datensicherheit || Verfügbarkeit

Netzwerk- und Datensicherheit || Verfügbarkeit

Date post: 11-Dec-2016
Category:
Upload: martin
View: 215 times
Download: 2 times
Share this document with a friend
11
12 Verfügbarkeit Kapitel 12 Verfügbarkeit 12.1 Einleitung Ein Ziel von IT-Sicherheit, das wir bisher nur am Rande betrachtet haben, ist die Verfügbarkeit von Daten und Diensten für legitime Benutzer in einem Netzwerk. Intuitiv ist klar, was mit diesem Begriff gemeint ist, und man kann Verfügbarkeit auch quantitativ kurz und prägnant definieren. In einem Zeitintervall t ist die Verfügbarkeit nichts anderes als der Quotient aus der Zeit, in der der betrachtete Dienst oder die Daten zur Verfügung standen, und der Größe des Zeitintervalls. Ist die Verfügbarkeit eines Dienstes oder von Daten bekannt, gibt dieser Wert also die Wahrscheinlichkeit dafür an, dass Dienst oder Daten zu einem bestimmten Zeitpunkt des Zeitintervalls zur Verfügung standen. Mehr und mehr Anwendungen der elektronischen Datenverarbeitung sind für die sie betrei- benden Institutionen kritisch. Unter einer kritischen Anwendung verstehen wir eine Anwendung, deren Ausfall für die Institution mit schwerwiegenden Folgen verbunden ist. Das Spektrum sol- cher kritischer Netzwerkanwendungen reicht von missionsnotwendigen Systemen in Unterneh- men (Workflowmanagement, Supply Chain Automation ...) bis hin zu im Gesundheitswesen ein- gesetzten Systemen, etwa zur elektronischen Überwachung der Vitalfunktionen von Patienten. Entsprechende Systeme bestehen aus einer Vielzahl sowohl hinsichtlich ihrer Rechenleis- tung als auch ihren Kommunikationsmöglichkeiten heterogener, autonomer Einzelgeräte, die erst durch die Vernetzung untereinander die zu erfüllenden Aufgaben erledigen können. Die Folgen eines Ausfalls kritischer Anwendungen können von Unannehmlichkeiten bis hin zu katastrophalen Ereignissen reichen. Der ungestörte Ablauf kritischer Netzwerkanwendungen kann nur dann dauerhaft gewährleistet werden, wenn sowohl die beteiligten Applikationspro- gramme und verwendeten Rechner als auch die zur Kommunikation verwendeten Netzwerke „sicher“ sind. Eine klassische kritische Anwendung ist Telefonie. Aufgrund ihrer Bedeutung für die Institu- tion existiert zwischen der Institution und dem Service Provider, welcher die Telefonieleistung erbringt, häufig ein Service Level Agreement (SLA). Diese Vereinbarung legt unter anderem die Verfügbarkeit der Leistung fest. Wird diese durch den Service Provider verletzt, so muss der Provider den Kunden finanziell entschädigen. Im Telefoniebereich ist eine Verfügbarkeitsanfor- derung von 0, 99999 üblich. Wie Tabelle 12.1 zeigt, entspricht dies einer Ausfallzeit von ungefähr nur fünf Minuten pro Jahr. Für viele Unternehmen sind mittlerweile Systeme der Datenverarbeitung wie Server und Da- tenbanken ebenso wichtig wie Telefonie, und auch Telefoniedienste und andere Echtzeitkommu- nikation werden zunehmend über Datennetze abgewickelt (siehe Kapitel 14). Daher hat in den M. Kappes, Netzwerk- und Datensicherheit, DOI 10.1007/978-3-8348-8612-5_12, © Springer Fachmedien Wiesbaden 2013
Transcript

12 Verfügbarkeit

Kapitel 12

Verfügbarkeit

12.1 Einleitung

Ein Ziel von IT-Sicherheit, das wir bisher nur am Rande betrachtet haben, ist die Verfügbarkeitvon Daten und Diensten für legitime Benutzer in einem Netzwerk. Intuitiv ist klar, was mitdiesem Begriff gemeint ist, und man kann Verfügbarkeit auch quantitativ kurz und prägnantdefinieren. In einem Zeitintervall t ist die Verfügbarkeit nichts anderes als der Quotient aus derZeit, in der der betrachtete Dienst oder die Daten zur Verfügung standen, und der Größe desZeitintervalls. Ist die Verfügbarkeit eines Dienstes oder von Daten bekannt, gibt dieser Wert alsodie Wahrscheinlichkeit dafür an, dass Dienst oder Daten zu einem bestimmten Zeitpunkt desZeitintervalls zur Verfügung standen.

Mehr und mehr Anwendungen der elektronischen Datenverarbeitung sind für die sie betrei-benden Institutionen kritisch. Unter einer kritischen Anwendung verstehen wir eine Anwendung,deren Ausfall für die Institution mit schwerwiegenden Folgen verbunden ist. Das Spektrum sol-cher kritischer Netzwerkanwendungen reicht von missionsnotwendigen Systemen in Unterneh-men (Workflowmanagement, Supply Chain Automation ...) bis hin zu im Gesundheitswesen ein-gesetzten Systemen, etwa zur elektronischen Überwachung der Vitalfunktionen von Patienten.

Entsprechende Systeme bestehen aus einer Vielzahl sowohl hinsichtlich ihrer Rechenleis-tung als auch ihren Kommunikationsmöglichkeiten heterogener, autonomer Einzelgeräte, die erstdurch die Vernetzung untereinander die zu erfüllenden Aufgaben erledigen können.

Die Folgen eines Ausfalls kritischer Anwendungen können von Unannehmlichkeiten bis hinzu katastrophalen Ereignissen reichen. Der ungestörte Ablauf kritischer Netzwerkanwendungenkann nur dann dauerhaft gewährleistet werden, wenn sowohl die beteiligten Applikationspro-gramme und verwendeten Rechner als auch die zur Kommunikation verwendeten Netzwerke„sicher“ sind.

Eine klassische kritische Anwendung ist Telefonie. Aufgrund ihrer Bedeutung für die Institu-tion existiert zwischen der Institution und dem Service Provider, welcher die Telefonieleistungerbringt, häufig ein Service Level Agreement (SLA). Diese Vereinbarung legt unter anderem dieVerfügbarkeit der Leistung fest. Wird diese durch den Service Provider verletzt, so muss derProvider den Kunden finanziell entschädigen. Im Telefoniebereich ist eine Verfügbarkeitsanfor-derung von 0,99999 üblich. Wie Tabelle 12.1 zeigt, entspricht dies einer Ausfallzeit von ungefährnur fünf Minuten pro Jahr.

Für viele Unternehmen sind mittlerweile Systeme der Datenverarbeitung wie Server und Da-tenbanken ebenso wichtig wie Telefonie, und auch Telefoniedienste und andere Echtzeitkommu-nikation werden zunehmend über Datennetze abgewickelt (siehe Kapitel 14). Daher hat in den

M. Kappes, Netzwerk- und Datensicherheit, DOI 10.1007/978-3-8348-8612-5_12,© Springer Fachmedien Wiesbaden 2013

248 12 Verfügbarkeit

Verfügbarkeit Ausfallzeit pro Jahr

0,9 36 Tage 12 Stunden0,99 3 Tage 15 Stunden 36 Minuten0,999 8 Stunden 46 Minuten0,9999 52 Minuten 33 Sekunden0,99999 5 Minuten 15 Sekunden

Tabelle 12.1: Ausfallzeit pro Jahr für verschiedene Verfügbarkeiten.

letzten Jahren das Interesse an Methoden und Verfahren, welche die Verfügbarkeit von Systemenverbessern, stetig zugenommen. Es ist damit zu rechnen, dass dieser Trend auch in den nächstenJahren anhalten wird.

Um die Verfügbarkeit von Daten und Diensten zu erhöhen, sind eine ganze Reihe von Maß-nahmen möglich, etwa eine Steigerung der Zuverlässigkeit durch redundante Hard- und Softwa-rekomponenten und die stärkere Berücksichtigung der Zuverlässigkeitsanforderungen im Ent-wurfsprozess.

Ein System kann aus vielen verschiedenen Gründen nicht verfügbar sein, durch Hardwarefeh-ler, Softwarefehler oder auch durch Fehler in der Bedienung des Systems. Eine weitere Mög-lichkeit, auf der unser Fokus liegt, ist die gezielte Sabotage des Systems durch einen Angreifer,beispielsweise durch einen Denial-of-Service-Angriff.

Solche Handlungen können den vollständigen Ausfall des Systems verursachen oder aber dasSystem in seinem Leistungsumfang einschränken. Dieses werden wir im Folgenden als Störungbezeichnen.

Es ist nicht schwer, sich auszumalen, welches Chaos entstehen würde, wenn kritische Anwen-dungen im wirtschaftlichen oder öffentlichen Bereich durch einen Angriff gestört oder ausge-schaltet würden. Für ein Online-Unternehmen kann schon die dauerhafte Störung eines Webser-vers katastrophale Folgen haben.

Auch wenn wir uns in diesem Buch hauptsächlich mit Angriffen auf informationstechnischemWeg beschäftigen, sollen an dieser Stelle physische Angriffe auf die Systeme nicht unerwähntbleiben. Der Dienst eines Servers lässt sich physisch auf vielfältige Weise sabotieren. Das fängtmit dem einfachen Abschalten des Servers an. Ein gezielter Schlag mit einer Axt oder einemHammer kann ebenso helfen. Auch das Unterbrechen der Stromversorgung oder der Netzwerk-leitungen ist möglich. Alles in allem müssen Institutionen geeignete Maßnahmen ergreifen, umihre kritische Infrastruktur vor solchen physischen Angriffen zu schützen. Hierzu gehört eine Zu-gangskontrolle ebenso wie die geeignete Versorgung eines Rechenzentrums mit mehreren red-undanten Netzwerk- und Stromversorgungsverbindungen.

Generell ist Redundanz ein wichtiges Mittel, um die Verfügbarkeit von Systemen zu erhöhen.Dies gilt nicht nur für die Hardware, sondern auch für die Software. Bereitgestellte Dienste,deren Verfügbarkeit kritisch ist, sollten auf mehreren Servern verfügbar sein, so dass im Falledes Ausfalls eines Rechners die anderen Rechner den Dienst weiterhin zur Verfügung stellenkönnen. Werden die Server weltweit durch geographische Verteilung und eine entsprechende

12.2 Denial-of-Service (DoS) 249

systematische Replizierung der Daten betrieben, so ist selbst im Fall regionaler Katastrophen(die nicht unbedingt auf einen vorsätzlichen Angriff zurückzuführen sein müssen – ein längerergroßflächiger Stromausfall reicht bereits aus) ein Weiterbetrieb der Services möglich.

Wenden wir uns nun Angriffen auf die Verfügbarkeit zu, die auf elektronischem Weg herbei-geführt werden.

12.2 Denial-of-Service (DoS)

12.2.1 Klassifikation

Eine Denial-of-Service-Attacke (DoS-Attacke) ist ein elektronischer Angriff auf die Verfügbar-keit eines Systems oder eines Dienstes. Ziel ist es also, das System oder den Dienst zum Ausfallzu bringen oder zu stören, so dass autorisierte Benutzer das System oder den Dienst nicht odernur eingeschränkt verwenden können. Solche Angriffe können sich auch gegen einzelne Benut-zer richten. Es gibt verschiedene Typen von Denial-of-Service-Angriffen, und der Phantasie derAngreifer sind (leider) keine Grenzen gesetzt.

Beginnen wir mit einem ganz einfachen Beispiel für einen solchen Angriff. Eine Institutionbetreibt einen Webserver, auf den nach dem Durchführen einer erfolgreichen Benutzerauthen-tifikation (Username und Passwort) zugegriffen werden kann. Aus Sicherheitsgründen ist derWebserver so konfiguriert, dass nach dreimaliger erfolgloser Eingabe des Passworts das mit demUsername verbundene Benutzerkonto gesperrt wird. Diese Vorgehensweise ist eine Steilvorlagefür einen DoS-Angriff. Ein Angreifer muss nur einen Benutzernamen kennen (oder erraten) unddreimal ein falsches Passwort eingeben, und schon ist der Dienst für den betreffenden Benutzergesperrt. Wird als Benutzername beispielsweise eine Email-Adresse verlangt, ist er nicht allzuschwer zu erraten. Ein derartiger Angriff auf einen Online-Shop wäre für dessen Betreiber mitSicherheit zumindest unangenehm.

Einen solchen Angriff zu verhindern, gestaltet sich nicht besonders schwierig. Man müssteeinfach die Sperrung der Konten nach dreimaliger Eingabe eines falschen Passworts aufheben.Generell bietet sich eine solche Sperrung aufgrund der eben dargestellten Missbrauchsmöglich-keit nur in sehr speziellen Szenarien an (siehe Abschnitt 3.3.1).

Doch auch ohne eine Schwachstelle hat ein Angreifer die Möglichkeit, die Verfügbarkeit desDienstes durch eine gezielte Überlastung einzuschränken. Kann der Webserver beispielsweiseca. 1.000 Login-Versuche pro Sekunde bearbeiten und ist der Angreifer in der Lage, 10.000Login-Versuche zu generieren, so kann der Server auch hierdurch lahmgelegt werden.

Ganz allgemein können DoS-Angriffe also in zwei Kategorien eingeteilt werden:

• Ausnutzen von Design- oder Implementierungsfehlern: Der Angreifer kann durch das Aus-nutzen von Schwachstellen in Design oder Implementierung die Verfügbarkeit beeinträch-tigen. Der Angreifer benötigt in der Regel geringe Ressourcen, um einen solchen Angriffdurchzuführen.

• Herbeiführen einer Überlastung: Durch gezieltes Überlasten wird die Verfügbarkeit beein-trächtigt. Der Angreifer muss für einen solchen Angriff in der Regel umfangreiche Res-sourcen aufwenden.

250 12 Verfügbarkeit

Diese beiden Kategorien sind nicht exklusiv. Es gibt auch Angriffe, die in beide Kategorienfallen. In der Regel wird sich ein Angreifer beim Herbeiführen einer Überlast an einer Stelle zuschaffen machen, an der die Ressourcen knapp sind. In beiden Fällen muss der Angriff nicht aufdas System oder den Dienst selbst durchgeführt werden, sondern kann auch gegen Hilfskompo-nenten gerichtet sein, die für die Funktion des Dienstes oder des Systems benötigt werden. Sokann beispielsweise die Netzwerkverbindung zu einem Server durch einen Angriff auf den Rou-ter unterbrochen werden, an den der Server angeschlossen ist, oder das Netzwerk, in welchemsich der Server befindet, kann überlastet werden.

12.2.2 Ausnutzen von Schwachstellen: Ping of Death

Wir werden im Folgenden einige Methoden genauer betrachten, die für DoS-Angriffe verwendetwurden. Ein gutes Beispiel dafür, wie man durch Schwachstellen in Design oder Implementie-rung mit geringem Aufwand ein ganzes System zum Absturz bringen kann (oder besser gesagt:konnte), ist der berüchtigte Ping of Death. Diese Schwachstelle wurde 1996 aufgedeckt. Sie be-traf die Implementierung des IP-Protokolls und war bei einer großen Zahl von Betriebssystemenvorhanden, die allesamt mit Patches versehen werden mussten, um diese Lücke zu schließen.

Das zugrundeliegende Problem ist einfach erläutert: Die maximale Größe eines IP-Pakets (sie-he 7.3.3.1) beträgt inklusive Header 216 −1 = 65535 Bytes. Die meisten Technologien erlaubennur weitaus kleinere Rahmengrößen auf der Datenverbindungsschicht, Ethernet beispielswei-se maximal 1500 Bytes. Daher fragmentiert die IP-Schicht Pakete, die größer sind, in mehrereFragmente passender Größe, welche dann über die Datenverbindungsschicht versendet werden.Die einzelnen Fragmente des ursprünglichen Pakets enthalten Informationen, durch die sie aufder IP-Schicht des Empfängers wieder zum ursprünglichen IP-Paket zusammengesetzt werdenkönnen. Bei diesem Zusammensetzen nahmen die meisten Systeme implizit (ohne dies zu veri-fizieren) an, dass die maximal zulässige Größe eines IP-Pakets durch das Zusammensetzen dereinzelnen Fragmente eines ursprünglichen Pakets nicht überschritten wird. Geschah dies doch,so kam es zu Programmfehlern im IP-Code und damit letztlich zum Absturz des betroffenenSystems.

Der Fehler war als Ping of Death bekannt, da es durch die Verwendung von ICMP-Echo-Requests (siehe 7.3.3.3) besonders leicht möglich war, IP-Pakete mit einer nicht dem Standardentsprechenden Größe zu erzeugen. Eine detaillierte Darstellung des Ping of Death findet sichim WWW unter [Insec-Web].

12.2.3 Ausnutzen von Schwachstellen und Überlastung

12.2.3.1 SYN-Flood

Ein weiteres schönes Beispiel für einen DoS-Angriff ist die sogenannte SYN-Flood-Attacke. Die-ser Angriff richtet sich gegen Netzwerkdienste, die TCP als Transportprotokoll verwenden, undist eigentlich eine Mischung aus dem Ausnutzen von Schwachstellen und dem Herbeiführen ei-ner Überlastsituation. Wir hatten TCP bereits in Abschnittt 7.3.4.1 skizziert. Dort wurde auchbereits der Verbindungsaufbau zu Beginn einer TCP-Verbindung erläutert.

12.2 Denial-of-Service (DoS) 251

SYN

Zeit SYN ACK

Angreifer Server

speichert Verbindungsversuchund reserviert Ressourcen

Timeout

antwortet nicht

Abbildung 12.1: Angriff mittels einer SYN-Flood.

Der SYN-Flood-Angriff basiert auf einem Missbrauch des Mechanismus zum Aufbau einerTCP-Verbindung durch einen Angreifer, der gar nicht die Absicht hat, wirklich eine Verbindungaufzubauen. Er geht dabei wie in Abbildung 12.1 skizziert vor und schickt an den Server einTCP-Segment mit gesetztem SYN-Flag zum Verbindungsaufbau. Der Server speichert die imAufbau befindliche Verbindung ab, reserviert eventuell sogar bereits Ressourcen für die Verbin-dung und beantwortet das erhaltene Segment durch das Senden des SYN ACK. Doch diesesbleibt durch den Angreifer unbeantwortet, so dass der Server mehrere Versuche unternimmt, dasSYN ACK an den Client zu übertragen und schließlich erst durch einen Timeout den vermeintli-chen Verbindungswunsch verwirft.

Die Anzahl solcher angefragten, aber noch nicht zustandegekommenen Verbindungen ist li-mitiert, da der Server diese abspeichern muss und gegebenenfalls bereits Ressourcen (Pufferetc.) reserviert. Daher kann ein Überschwemmen des Servers mit solchen Anfragen dazu füh-ren, dass ernsthafte Verbindungsaufbauversuche vom Server nicht entgegengenommen werdenkönnen oder der Server aufgrund der Überlast sogar vollständig zusammenbricht.

Was solche Angriffe noch gefährlicher macht, ist, dass sie sich wunderbar mit gefälschten IP-Absenderadressen durchführen lassen, dem sogenannten IP-Address-Spoofing (siehe Abschnitt8.2.4). Dabei benutzt der Angreifer nicht seine eigene Adresse, sondern gibt eine gefälschte IP-Adresse an, von der er weiß, dass sie auf eingehende TCP-Segmente mit gesetztem SYN-Flagund gesetztem ACK-Flag nicht reagiert, beispielsweise weil kein Rechner unter dieser Adresseaktiv ist oder sich der Rechner hinter einer Firewall befindet, die solche Pakete herausfiltert. Ent-sprechende Adressen sind nicht schwierig zu ermitteln. Der Server schickt dann seine Antwort anden vermeintlichen Initiator der Verbindung, der aber nicht antwortet. Eine SYN-Flood in Ver-bindung mit IP-Address-Spoofing ist raffiniert, denn der Server erkennt aufgrund der gefälschtenAdressen nicht, dass nur ein Rechner für eine Vielzahl von Verbindungsanfragen verantwortlichist. Zudem bleibt die wahre IP-Adresse des Angreifers unsichtbar. Weitere Details zum SYN-Flood-Angriff finden sich im unter [CERT-Web] erhältlichen Advisory CA-1996-21.

252 12 Verfügbarkeit

Internet

Angreifer erzeugt TCP SYNs mit gefälschten IP-Quelladressen

Opfer antwortet mit SYN ACKs an die gefälschten Adressen, die nirgendwo landen

Abbildung 12.2: Angriff mittels einer SYN-Flood und IP-Spoofing.

Wenden wir uns nun der Frage zu, wie man sich gegen einen SYN-Flood-Angriff schützenkann, und beginnen mit dem betroffenen Server selbst. Dieser hat keine Möglichkeit, ernstge-meinte Verbindungsanfragen mit korrekter IP-Adresse von Angriffen mit einer gegebenenfallssogar gefälschten IP-Adresse zu unterscheiden. Damit bleiben noch die Möglichkeiten, keineoder möglichst wenige Ressourcen für noch nicht vollständig geöffnete TCP-Verbindungen zureservieren, den vorgesehenen Speicherplatz für noch nicht vollständig etablierte Verbindungenzu vergrößern oder die Timeouts zu verkleinern. Doch diese Maßnahmen führen letztlich nichtzu einer Verhinderung des Angriffs, sondern nur zu einer (geringfügigen) Vergrößerung der not-wendigen Ressourcen beim Angreifer. Somit gibt es gegen einen solchen Angriff letztlich keinewirksame Möglichkeit der Verteidigung durch den Server selbst.

Wenn man sicherstellen könnte, dass jede Maschine im Internet ausschließlich ihre richtigeIP-Adresse verwendet, so wäre es serverseitig möglich, eine Obergrenze für die maximale Zahlnoch nicht vollständig etablierter TCP-Verbindungen von einer IP-Quelladresse aus festzulegen.Hierdurch wird es einem Rechner unmöglich, einen SYN-Flood-Angriff mit seiner eigenen, ech-ten IP-Adresse durchzuführen. Wenn man also zusätzlich noch die Fälschung von IP-Adressenverhindern könnte, so wäre der oben beschriebene Angriff nicht mehr ohne weiteres möglich undSYN-Flood-Angriffe könnten unterbunden werden.

Gefälschte IP-Adressen lassen sich zwar beim Server nicht mehr als solche identifizieren, dieBetreiber von Netzen, insbesondere die Service Provider, haben aber die Möglichkeit, gefälschteIP-Adressen, die von Netzen ihrer Kunden aus verwendet werden, zu erkennen und die entspre-chenden Pakete aufzuhalten, nämlich bevor sie in das Transitnetz gelangen.

Dies gelingt folgendermaßen: Hat ein Serviceprovider an einen Kunden den Netzwerkadress-bereich A vergeben oder betreibt ein Netzbetreiber ein Netz mit Adressbereich A, so müssen(mit kleinen Ausnahmen) alle Pakete, die aus diesem Netz stammen, mit einer Adresse aus die-sem Bereich A als IP-Quelladresse versehen sein. Schließlich werden auch nur IP-Pakete mit

12.2 Denial-of-Service (DoS) 253

Internet

Angreifer sendet Kommandos an andere Rechner, SYNs an dasOpfer loszuschicken

Opfer

Rechner senden TCP-SYNs zurangegriffenen Maschine

Abbildung 12.3: Distributed-Denial-of-Service.

einer IP-Zieladresse im Bereich A wieder an dieses Netz geroutet. Werden Pakete mit anderenIP-Quelladressen durch den Service Provider aussortiert, so ist das beliebige Fälschen von Adres-sen aus diesem Netz heraus nicht möglich. Fälschungen könnten ausschließlich IP-Quelladressenaus dem Bereich A tragen. Damit ließe sich im Falle einer DoS-Attacke zumindest eingrenzen,woher die Anfragen stammen. Diese Information könnten sowohl zur Verhinderung zukünftigerAngriffe, etwa durch Blocken aller Anfragen von Rechnern aus dem Bereich A, als auch zurTäterermittlung eingesetzt werden (siehe [RFC 2827]).

Es sollte aber nicht verschwiegen werden, dass das Herausfiltern vermeintlich gefälschter IP-Quelladressen auch Nachteile hat, denn es verhindert nicht nur Missbrauch, sondern schränktauch die Verwendung des Netzes ein. So gibt es bestimmte Protokolle, in denen die Verwendungeiner IP-Adresse aus Netz A heraus, die nicht selbst zu Netz A gehört, vorgesehen ist. Speziellbetrifft dies Protokolle zur Mobilitätsunterstützung wie Mobile IP [RFC 5944].

12.2.3.2 Distributed-Denial-of-Service (DDos)

Selbst wenn gefälschte IP-Adressen ausgeschlossen sind, kann ein Angreifer den Schutz umge-hen und eine Denial-of-Service-Attacke starten, die nach demselben Prinzip funktioniert, aberweitaus ausgeklügelter ist und auch einiges mehr an Vorarbeit erfordert. Da wie besprochengefälschte IP-Absenderadressen zum Durchführen der Attacke nicht mehr verwendet werdenkönnen, müssen die SYNs von einer Vielzahl echter IP-Quelladressen stammen. Eine möglicheMethode ist es, durch die Verbreitung von Malware (siehe Kapitel 6) Rechner zu kompromit-tieren und eine Software zu installieren, die auf Befehle des Angreifers wartet und dann aufKommando entsprechende SYN-Nachrichten auf dem unterwanderten Fremdrechner generiert.Dies ist in Abbildung 12.3 dargestellt. Hat man genug Fremdrechner unter Kontrolle, so wirdsich ein solcher Angriff erfolgreich durchführen lassen.

Gegen solche Distributed-Denial-of-Service (DDos)-Angriffe gibt es nur wenige Schutzmög-lichkeiten, da die Angriffe von richtigen IP-Quelladressen aus durchgeführt werden und die An-fragen somit von echten Verbindungsanfragen nicht zu unterscheiden sind.

DDos-Angriffe betreffen nicht nur TCP, sondern können auch über einer Reihe anderer Proto-kolle durchgeführt werden, beispielsweise DNS.

254 12 Verfügbarkeit

12.2.4 Herbeiführen einer Überlastung

12.2.4.1 Überlastsituationen

Die bisher dargestellten Methoden haben an empfindlichen Teilen eines Systems eine Überlastherbeigeführt und so das System angegriffen. Nun wenden wir uns abschließend DoS-Angriffenzu, die nicht einmal auf eine besonders anfällige Stelle zielen, sondern einfach nur mittels Über-lastung arbeiten.

Nehmen wir als erstes Beispiel Überlastung im (scheinbar) regulären Betrieb: Wenn ein Web-server pro Sekunde 100 Anfragen beantworten kann, und ein Angreifer 10.000 Anfragen proSekunde an den Server schickt, so wird eine Überlastung die Folge sein, die den Absturz desServers nach sich ziehen kann. Selbst wenn wir annehmen, dass der Server weiterhin voll funk-tionsfähig bleibt und die über seine Kapazitäten hinausgehenden Anfragen einfach ignoriert,so werden viele der echten eingehenden Anfragen nicht mehr beantwort. Unterstellt man dabeiweiter, dass der Server zwischen den Anfragen des Angreifers und echten Anfragen nicht un-terscheiden kann (beispielsweise da der Angreifer die Attacke als DDos-Angriff durchführt), soliegt die Wahrscheinlichkeit, dass eine Anfrage beantwortet wird, nur noch bei 0,01, also einemProzent.

Ebenso ist es möglich, die Netzwerkanbindung einer Institution zu überlasten. Wenn es einemAngreifer gelingt, 100 Mbps an die Institution zu senden, diese aber nur mit 1 Mbps angebundenist, so wird ein Großteil der an die Institution gesendeten Nachrichten verlorengehen.

Diese Arten von Angriffen sind primitiv, aber effizient, und es gibt nur sehr wenige Möglich-keiten, wie man sich dagegen vorbeugend schützen kann. Am wichtigsten ist es, solche Angriffemöglichst frühzeitig zu erkennen und dann gezielte Gegenmaßnahmen einzuleiten, die sehr vonder jeweiligen Form des Angriffs selbst abhängen.

12.2.4.2 TCP Überlastkontrolle

Das TCP-Protokoll verfügt noch über ein weiteres Merkmal, das es einem Angreifer ermög-licht, TCP-Verbindungen zu stören, nämlich die Netzwerküberlastkontrolle [RFC 5681]. DieserMechanismus dient dazu, die Bandbreite, also die gesendeten Daten pro Zeiteinheit, einer TCP-Verbindung so anzupassen, dass das Netzwerk durch die TCP-Verbindung nicht überlastet wird.

Bei einer Überlast liegen an einer Stelle im Netzwerk (beispielsweise einem Router oder einerVerbindungsleitung) mehr Daten vor als verarbeitet oder transportiert werden können. Meistenswerden die entsprechenden Daten dann zunächst gepuffert, also im Speicher des Routers abge-legt, aber wenn die Überlast bestehen bleibt, ist irgendwann auch diese Ressource vollständigverwendet und zu transportierende Daten gehen verloren.

TCP arbeitet bekanntlich Ende-zu-Ende, verfügt über keine Kenntnisse über die verwendeteNetzwerkinfrastruktur und führt diese Funktion selbständig ohne Rückmeldungen der verwen-deten Netzwerke aus. Ohne auf die Details des Mechanismus näher eingehen zu wollen, erhöhtTCP in einem zweistufigen Verfahren schrittweise die Bandbreite, um sich so an die verfügbareBandbreite im Netzwerk heranzutasten.

TCP erkennt Überlastsituationen an verlorengegangenen Segmenten. Tritt eine solche Situa-tion bei einer verwendeten Bandbreite auf, stellt TCP das Senden kurzzeitig ein und steigertdie Sendeleistung in exponentiellen Schritten bis zur Hälfte der vorher verwendeten Bandbreite

12.2 Denial-of-Service (DoS) 255

(Slow-Start-Phase). Danach wird die Bandbreite linear weiter erhöht (Congestion-Avoidance-Phase), bis wieder eine Überlastsituation eintritt.

Der Hauptteil des Verkehrs im Internet ist derzeit TCP, und die Netzwerküberlastkontrollevon TCP ist grundlegend für die reibungslose Funktionsweise des Netzes, wie wir sie gewohntsind. Sie ist so entworfen, dass mehrere TCP-Verbindungen, die eine Ressource im Netzwerkgemeinsam nutzen, sich die Ressouce fair teilen. Würde jeder stur weitersenden, wenn es zuPaketverlusten käme, könnte es im Internet zu ernsthaften Problemen kommen. Daher ist dieseEigenschaft von TCP für die Funktion des Internets sehr wichtig. Und doch ist die Netzwerküber-lastkontrolle eine Achillesferse von TCP, an der sich ein Angreifer zu schaffen machen kann.

In drahtgebundenen Netzen treten im Normalbetrieb so gut wie keine Paketverluste durch an-dere Ursachen als Überlastung auf. Daher interpretieren die meisten TCP-Implementierungen(fast) jeden Verlust eines Segments letzlich als Resultat einer Überlastung und führen das obenbeschriebene Verfahren durch. Wenn der Verlust des Segments nicht auf eine Überlastung zu-rückzuführen war, wird TCP sehr grob vereinfacht durch das Verfahren seine Übertragungsge-schwindigkeit ungefähr halbieren und dann weiter linear erhöhen. Wenn es einem Angreifer alsogelingt, ab und an ein TCP-Segment verschwinden zu lassen, so kann er die Bandbreite der TCP-Verbindung signifikant verringern. Kann ein Angreifer einen Router immer mal wieder, wennauch nur kurzzeitig, stark überlasten, kann bereits eine Unterbrechung der TCP-Verbindungendie Folge sein.

Mischt man TCP-Verkehr und Informationsflüsse, die keine Netzwerküberlastkontrollmecha-nismen haben (beispielsweise VoIP-Verkehr über UDP), so wird sich im Falle einer Überlastsi-tuation die Bandbreite des gesendeten TCP-Verkehrs verringern. Bei den anderen Informations-flüssen werden aufgrund der Überlastsituation ebenfalls Paketverluste auftreten. Hierauf mussaber nicht unbedingt eine Reaktion erfolgen. Eine VoIP-Verbindung (mit konstanter Bitrate)wird weiterhin die gleiche Bandbreite beanspruchen – es sei denn einer der Gesprächsteilneh-mer beendet entnervt die schlechte Verbindung aufgrund der Tatsache, dass er wegen der vielenPaketverluste kein Wort mehr versteht.

Ein Angreifer kann also durch das Erzeugen einer Überlast TCP-Verbindungen besonders be-einträchtigen.

12.2.4.3 Smurf-Angriff

Ein Beispiel, wie man einen Rechner oder Netzwerk durch schiere Überlast lahmlegen kann,ist der Smurf-Angriff. Dieser Angriff verwendet ICMP-Echo-Requests (siehe Abschnitt 7.3.3.3und Abschnitt 11.3.2.1). ICMP-Echo-Requests können nicht nur an einzelne Rechner geschicktwerden, sondern auch an eine IP-Broadcast-Adresse. Wenn man dies in einem Netz hinreichenderGröße durchführt, erhält man eine ganze Reihe von Responses. Wenn man hierbei wiederum einefalsche IP-Quelladresse angegeben hat, kann man den Rechner mit dieser Adresse lahmlegen.

Als Maßnahme gegen diesen Angriff sollten Rechner so konfiguriert sein, dass sie, wennsie denn schon überhaupt auf ICMP-Echo-Requests antworten, zumindest solche an Broadcast-Adressen ignorieren.

256 12 Verfügbarkeit

12.3 Zusammenfassung

Verfügbarkeit ist ein wichtiges Ziel von IT-Sicherheit. Daten und Dienste sollen fürlegitime Benutzer tatsächlich benutzbar sein. Für kritische Dienste und Daten ist Ver-fügbarkeit ein entscheidendes Kriterium. Die Verfügbarkeit kann durch eine Reihe vonFaktoren beeinflusst werden. Auch durch Angriffe kann die Verfügbarkeit von Syste-men bis hin zu deren Ausfall beeinträchtigt werden. Solche sogenannten Denial-of-Service-Angriffe sind häufig einfacher durchzuführen und schwieriger zu verhindernals das Kompromittieren des Systems. Sie können durch das gezielte Ausnutzen vonSchwachstellen oder aber auch durch schlichte Überlastung hervorgerufen werden. Esgibt nur wenige Mittel, sich wirksam gegen solche Angriffe zu schützen.

12.4 Übungsaufgaben

12.4.1 Wiederholungsaufgaben

Aufgabe 12.1:

Erläutern Sie den Begriff „Redundanz“ und erklären Sie, wie Redundanz mit Verfügbarkeit zu-sammenhängt.

Aufgabe 12.2:

Beschreiben Sie unterschiedliche Arten von Denial-of-Service-Angriffen und geben Sie jeweilsein Beispiel.

Aufgabe 12.3:

Erläutern Sie, wie die Verwendung falscher IP-Absenderadressen für Denial-of-Service-Angriffeausgenutzt werden kann.

Aufgabe 12.4:

Erklären Sie kurz TCP-Netzwerküberlastkontrolle und welche Möglichkeiten ein Angreifer hier-durch hat, die Verbindung zu stören.

Aufgabe 12.5:

Berechnen Sie die durchschnittliche tägliche Ausfallzeit eines Systems mit einer Verfügbarkeitvon 0,9999.

Aufgabe 12.6:

Ein System muss jeden Monat wegen einer Wartung für eine halbe Stunde abgeschaltet werden.Berechnen Sie die Verfügbarkeit des Systems.

12.4 Übungsaufgaben 257

12.4.2 Weiterführende Aufgaben

Aufgabe 12.7:

Ein Webserver kann durchschnittlich 1.000 Anfragen pro Sekunde bearbeiten. Durchschnittlicherreichen den Server 300 Anfragen pro Sekunde. Ein Angreifer startet einen Denial-of-Service-Angriff, indem er pro Sekunde 30.000 Anfragen generiert. Der Server reagiert auf Überlast,indem er solche Anfragen ablehnt und gemäß seiner Kapazität weiter Anfragen beantwortet.

1. Berechnen Sie die Wahrscheinlichkeit, dass eine Anfrage beantwortet wird.

2. Ermitteln Sie, wie oft ein Benutzer eine Anfrage in diesem Fall wiederholen muss, bis siemit einer Wahrscheinlichkeit von 0,9 beantwortet wird.

3. Berechnen Sie die durchschnittliche Anzahl von Wiederholungen einer Anfrage bis zuihrer Beantwortung.

Aufgabe 12.8:

Testen Sie die Auswirkung einer kurzzeitigen Unterbrechung einer TCP-Verbindung experimen-tell und vergleichen Sie Ihre Resultate mit UDP.


Recommended