Stonesoft: Zielgerichtete und getarnte

Werbung
Zielgerichtete getarnte Angriffe (Eng. Advanced Evasion
Techniques)
Intrusion Detection und Prevention Systeme
IT-Sicherheitssysteme wie ein „Intrusion Detection System“ bzw. „Intrusion
Prevention System“ (IDS bzw. IPS) oder eine Firewall mit „Deep Packet
Inspection“ (DPI) stellen eine „Verteidigungslinie“ gegen Angriffe aus dem
Internet dar. Ein IDS soll Angriffe erkennen, diese loggen und Verantwortliche
alarmieren. Das IPS erweitert diese Aufgabe indem es Angriffe blockiert.
Solche IT-Sicherheitssysteme bieten viele Vorteile: i
• Ein IPS schützt das Netzwerk inklusive aller Endgeräte bevor
Sicherheitspatches
zur
Verfügung
stehen.
Sobald
eine
neue
Sicherheitslücke bekannt wird, erhält das IPS automatisch alle wichtigen
Informationen darüber und kann dadurch die Schwachstelle im System
sofort schützen. Damit ist der Client vor der neuen Bedrohung sicher noch
bevor die Lücke geschlossen ist.
• Ein IPS ermöglicht das „virtuelle Patchen“ von Servern und Diensten. Dabei
sichert es gefährdete Server ab, die erst während des nächsten
Wartungsfensters gepatcht werden sollen.
• Viele IT-Sicherheitssysteme agieren als eine Web Applikationsfirewall (kurz
WAF), in dem sie Webseiten gegen Webschwachstellen wie z.B. „SQL
Injection“, „Cross Site Scripting“ schützen. Diese Schwachstellen können
nur behoben werden wenn der Source Code der Seite entsprechend
geändert wird. Das IPS kann eine verwundbare Webseite schützen bis man
die Schwachstelle am Source-Code behoben hat.
Somit stellen diese IT-Sicherheitssysteme eine Risikominimierungsmaßnahme
gegen die Ausnutzung von Schwachstellen durch Angreifer dar.
Viele IDS/IPS Systeme funktionieren nach dem Prinzip des Musterabgleichs (engl.
Pattern Matching). Jeder Angriff, der eine Schwachstelle ausnutzen will, wird
anhand einer Signatur oder einen Fingerprint erkannt (Dasselbe Prinzip wird bei
Antivirensoftware verwendet). Erkennt das IT-Sicherheitssystem diese Signatur
wird der Angriff identifiziert und kann verhindert werden.
Können aber diese IT-Sicherheitssysteme umgangen werden? Kann ein Angreifer
eine Schwachstelle auf die Systeme ausnutzen obwohl das IPS/IDS über einen
Fingerprint für diese Schwachstelle verfügt und dabei keine Spuren hinterlassen?
Die Antwort ist leider Ja. Professionelle Angreifer sind in der Lage ihre Angriffe so
zu verschleiern und zu tarnen, dass ein IDS oder IPS den Angriff nicht erkennt,
obwohl es über eine Signatur von diesem Angriff verfügt.
Diese verschleierten und getarnten Angriffe nennt man „Advanced Evasion
Techniques“ (AET). Fast alle IT-Sicherheitssysteme können ohne großen Aufwand
mit AETs umgangen werden.
Was sind Evasions?
Technisch beinhaltet eine Evasion also die Veränderung und Manipulation von
protokollspezifischen Daten, wie unter anderem Fragmentierung, die Nutzung
bestimmter wenig benutzter Flags im Protokoll, sowie das Hinzufügen von
weiteren Informationen, sodass das IT- Sicherheitssystem auf Basis von
Signaturen nicht mehr in der Lage ist diese Angriffe zu erkennen.
Evasions sind keine neue Erfindung, die erste wissenschaftliche Arbeit zu diesem
Thema fand bereits in den 1990er stattii. Evasions sind auf jede TCP/IP
Netzwerkschicht (Network Layer) und auf jedes Protokoll möglich wie zum
Beispiel:
• Netzwerkschicht 2: Evasions auf das IP Protokoll
• Netzwerkschicht 3: Evasions auf das TCP Protokoll
• Netzwerkschicht 4: Evasions auf die HTTP, SMB, NetBIOS … Protokolle
Evasion auf das IP Protokoll
Einer der Evasions auf das IP Protokoll nennt sich „IP Chaff“. Hierbei wird
versucht gefälschte oder ungültige IP Pakete zu senden mit der Hoffnung, dass
das IT-Sicherheitssystem den gesamten Verkehr nicht richtig interpretiert. Die
Ausnutzung dieser Evasion kann so abgebildet werden:
1. Ein Angreifer will ein IP Paket mit einem Schadcode durchschleusen. Ohne
Evasions wird das Paket vom IT-Sicherheitssystem bemerkt.
2. Anstatt das Schadcode-Paket zuerst zu senden, sendet der Angreifer
zuerst ein ungültiges Paket (chaffed packet). So ein Paket hat einen
unauffälligen Inhalt aber falsche Angaben im IP-Header wie z.B.
unstimmige Paketlänge oder Prüfsumme (checksum).
3. Das IT-Sicherheitssystem lässt das gefälschte Paket nicht weiter.
4. Der Angreifer sendet unmittelbar danach das Paket mit dem Schadcode
und stellt sicher, dass die Identifikationsnummer von diesem Paket (im
IP-Header) dieselbe wie die vom ungültigen Paket ist.
Um die Paket-Inspizierung für manche IDS/IPS Systeme zu beschleunigen, geht
dessen Algorithmus davon aus, dass das zweite Paket ein „Resend-Paket“ sein
muss, da beide Pakete dieselbe Identifikationsnummer haben. Und weil der Inhalt
vom ersten Paket unbedenklich war, und das zweite Paket ein „Resend-Paket“ ist,
ist die Schlussfolgerung von solchen IT-Sicherheitssystemen, dass der Inhalt vom
zweiten Paket auch unbedenklich sein muss.
Somit kann der Angreifer seinen Schadcode unbemerkt vom IDS/IPS
durchschleusen.
Evasions auf das TCP Protokoll
Auf das TCP Protokoll findet man zahlreiche Evasions, einer davon ist die „TCP
Overlap“ Evasion. Bei dieser Evasion versucht man unbedenkliche Inhalte mit
bösartigen Inhalten zu überlappen. Das folgende Beispiel zeigt, wie ein Angreifer
diese Evasion ausnutzen kann. Will der Angreifer z.B. seinen Schadcode
„Payload is evil“ durchschleusen und das IT-Sicherheitssystem verfügt bereits
über diese Signatur, so kann er folgende Schritte durchführen:
1. Der Angreifer sendet zuerst ein TCP Segment mit dem Inhalt „Payload
is good“. Das Segment wird als unbedenklich eigestuft und geht durch
das IDS/IPS. Zu beachten ist, dass der Inhalt 15 Bytes in der Länge ist.
Das heißt, wenn das Segment mit der „Sequenz Nummer“ (ein Feld im
TCP-Header) 1000 gesendet wurde, so ist das nächste Segment mit der
Sequenz-Nummer 1016 zu erwarten.
2. Der Angreifer sendet danach ein Segment mit dem Inhalt „ evil, this is
bad“. Der Inhalt ist auch unbedenklich und somit passiert das Segment
das IDS/IPS. Aber die Sequenznummer für dieses Segment ist nicht
1016 sondern 1012.
3. Wenn das Zielsystem die Segmente zusammenstellt, dann überschreibt
das zweite Segment die letzten 4 Bytes vom ersten Segment. Was das
Zielsystem sieht ist:
Somit konnte der Angreifer sein Schadcode „ Payload is evil“ durchschleusen
obwohl das IT-Sicherheitssystem über dieselbe Signatur verfügt.
Evasions auf das HTTP Protokoll
Viele Evasions können aufs HTTP Protokoll gerichtet werden u.a. die „Request
Pipeline“ Evasion. Bei dieser Evasion versucht der Angreifer das IDS/IPS zu
irritieren, in dem er zwei oder mehr HTTP Anfragen hintereinander sendet. Wie
das folgende Beispiel zeigt, kann die Evasion so ausgenutzt werden:
1. Angenommen, der Angreifer will eine Schwachstelle auf eine Webseite
ausnutzen (Cross Site Scripting, Sql Injection, …) dafür muss die
Ausnutzung der Schwachstelle im URL stattfinden wie z.B.
http://webseite.de/ausnutzung_schwachstelle. Diese Anfrage wird mit
dem HTTP Protocol so weitergegeben
2. Weil das IT-Sicherheitssystem über einen Fingerprint für diese
Schwachstelle verfügt, kann der Angreifer diese Anfrage so nicht
senden. Stattdessen sendet er zwei (oder mehr) HTTP GET Anfragen
hintereinander. Die erste Anfrage bezieht sich auf eine unbedenkliche
Website (z.B. index.html). Die letzte GET Anfrage beinhaltet den
tatsächlichen Schadcode.
3. Manche IT-Sicherheitssysteme überprüfen nur die erste GET Anfrage.
Somit kann der Angreifer seinen Schadcode unbemerkt von einem
IDS/IPS durchschleusen obwohl es über einen Fingerprint verfügt.
Kann man mit Evasions IT-Sicherheitssysteme umgehen?
Hersteller von Netzwerk-Security Lösungen haben Maßnahmen getroffen, die Ihre
Produkte vor einzelnen Evasions schützen. Viele Hersteller lassen Ihre IDS/IPS
Systeme zertifizieren, zum Beispiel von NSS Labs. Beim Zertifizierungsprozess
werden die Systeme geprüft, dass sie mit Evasions nicht umgangen werden
könneniii. Aber da die Testmethoden von den Zertifizierungsstellen bekannt sind,
können sich die Hersteller dagegen rüsten z.B. mit Signaturen oder Fingerprints iv.
Allgemein kann man sagen, dass viele moderne IDS/IPS Systeme im Markt gegen
einzelne Evasions geschützt sind.
Vor etwa 15 Jahren (1998) v hat man damit begonnen Evasions miteinander zu
kombinieren, denn die Kombination von mehreren Evasions ist eine neue
Evasion. Diese komplexen Evasions nennt man Advanced Evasion Techniques
(AET).
Advanced Evasion Techniques
In 2007 began Stonesoft mit der Forschung im Bereich getarnte Angriffe oder
Advanced Evasions. Bei dieser Zeit gab es mehrere Tools mit denen man einzelne
Evasions kombinieren konnte, aber mit keinem konnte man Evasions auf der IP,
TCP und Applikationsschicht zusammen kombinieren. Stonesoft entwickelte ein
Tool Namens Evader (evader.stonesoft.com), mit dem sich Evasions auf
verschiedenen Protokollen kombinieren lassen, z.B. IP, TCP, HTTP, SMB und
NetBIOS.
Die Ergebnisse der Forschungsarbeiten waren ernüchternd, denn man konnte
alle namhaften IDS/IPS ohne große Schwierigkeit umgehen. Das wurde der
Öffentlichkeit in 2010 bei einer Pressemitteilung bekannt gemacht vi.
Die Herausforderung beim Schutz vor AET ist deren Vielfältigkeit an Variationen,
denn bei z.B. 4 Evasions, kann man sie in 16 Variationen kombinieren oder es
gibt 16 neue Evasions. Die Anzahl von Evasions, die man auf Evader kombinieren
kann ist mehr als 163vii. Man hat theoretisch
es gibt
2
80
2163
Möglichkeiten (zum Vergleich
Sterne im Universum). Mit Signaturen oder Fingerprints kann man
sich gegen AET überhaupt nicht schützen. Deswegen meiden viele Hersteller
Maßnahmen gegen AET zu treffen, denn das würde bedeuteten, dass sie die
Architektur ihrer IT-Sicherheitssysteme ändern müssen.
Die Umgehung von IT-Sicherheitssysteme mit Evader
Evader ist ein kostenloses Security-Tool, das man selbst unter
evader.stonesoft.com herunterladen kann. Es ist eine Testumgebung mit der man
2 Schwachstellen ausnutzen kann:
• conficker - MSRPC Server Service Vulnerability, CVE-2008-4250
• http_phpbb_highlight - HTTP phpBB highlight, CVE-2004-1315
Es besteht aus einer virtuelle Linux Image, die man als „Victim“ und „Attacker“
präparieren kann.
• Evader Victim: Dieser Server hat die Schwachstelle CVE-2004-1315, mit
der ein Angreifer beliebigen Code auf der Maschine durchführen um z.B.
einen Shell-Zugriff zu bekommen.
• Evader Attacker: Diese Maschine simuliert den Attacker, er versucht die
CVE-2004-1315 Schwachstelle mittels AET auszunutzen.
• Sie platzieren Ihr IT-Sicherheitssystem (wie die Abbildung unten) sodass es
den Verkehr zwischen den Victim und Attacker inspizieren kann.
Ziel von dieser Testumgebungviii ist das eigene IT-Sicherheitssystem im Netz zu
testen, ob es Schutz gegen AET bietet. CVE-2004-1315 ist eine sehr alte
Schwachstelle von 2004. Alle gängigen IDS/IPS Systeme bieten bereits einen
Fingerprint, der gegen diese Verwundbarkeit schützen soll.
Wenn das eigene IDS/IPS über einen Fingerprint für die „http_phpbb_highlight“
Schwachstelle verfügt, aber sie trotzdem mittels AET ausgenutzt werden kann,
so bedeutet dies, dass dieses System keinen Schutz gegen AET liefert.
Für diese Schwachstelle bietet Evader 27 einzelne Evasions. Sie können jede
Kombination von den 27 Evasions für die „http_phpbb_highlight“ testen.
Zusätzlich hat jede Evasion mehrere Variationen, z.B. für die tcp_overlap Evasion
(unser Beispiel für TCP Evasions) können Sie angeben wie viele Bytes sich
überlappen soll und ob die alten Segmente die neuen überlappen oder
umgekehrt. Die Anzahl von Evasions mit deren Variationen ist unendlich,
deswegen fallen alle Hersteller von IT-Sicherheitssystemen mit dem Evader-Test
durch.
Schutzmaßnahmen gegen AET
Der effektivste Schutz gegen getarnte Angriffe ist nicht die Verwendung von
Signaturen oder Fingerprints, sondern Traffic Normalisierung. Das bedeutet, dass
das IT-Sicherheitsgerät den Verkehr so verstehen muss als ob dieser für das
IDS/IPS selbst bestimmt wäre. Alle versuchten Manipulationen auf dem gesamten
Verkehr und auf allen Netzwerkschichten werden so erkannt. Viele Hersteller
verwenden eine vertikale Inspektionsmethode wie in der unteren Grafik. Die
Inspektion wird nur auf einem Teil des Verkehrs gemacht. Diese Methode bietet
keinen Schutz gegen AET.
Die richtige Methode den Verkehr zu inspizieren ist die horizontale Methode. Hier
findet die Inspizierung auf dem gesamten Verkehr statt. Es werden alle Evasions
oder Manipulationen auf allen Netzwerkschichten erkannt und normalisiert.
Diese Methode hat sich bewährt, z.B. eine unabhängige Studie ix von der
University of South Wales hat 9 Hersteller mit Evader gegen 2638 möglichen
CVE-2004-1315 und 2759 CVE-2008-4250 Attacken, die mit AET präpariert sind
getestet. Nur das IPS von Stonesoft konnte bei beiden Attacken eine
Erkennungsrate von mehr als 99,5% erreichen.
i Bitte beachten Sie, dass die beste Methode Schwachstellen zu beheben ist, sie auf dem
betroffenen System zu entfernen. Ein IDS/IPS ist keine Sicherheitsmaßnahme um die
Schwachstelle zu beheben, sondern minimiert nur das Risiko bis die Verwundbarkeit auf dem
Zielsystem beseitigt wird.
ii „Insertion Evasion and Denial of Service Eluding Network Intrusion Detection”, H. Ptacek, N.
Newsham 1998
iii https://www.nsslabs.com/system/files/public-report/files/IPS%20Methodology%20v6_2.pdf
iv Zum Beispiel beim NSS Labs Verfahren wird geprüft ob das IPS/IDS mit kleinen Segmenten
umgangen werden kann. NSS Labs überprüft nur Segmente von 1 und 2 Bytes, aber nicht mit
3, 4, 5 … Bytes. Obwohl manche Hersteller den Test bei NSS Labs bestehen, kann man
trotzdem die Evasion mit einer anderen Konstellation ausnutzen
v Mit dem Tool fragroute und fragrouter.
vi http://www.stonesoft.com/en/company/press_and_media/releases/en/2010/18102010-2.html
vii http://www.stonesoft.com/en/company/press_and_media/releases/en/2011/10102011.html
viii Evader ist kein Penetration Tool, man kann mit ihm nur CVE-2008-4250 und
CVE-2004-1315 ausnutzen.
ix Effectiveness of blocking evasions in Intrusion Prevention Systems White Paper, April, 2013
Konstantinos Xynos, Iain Sutherland, Andrew Blyth University of South Wales, Pontypridd,
Wales.
Herunterladen