Schutz vor Advanced Evasion Techniques – und darüber hinaus (Teil 1)

Schutz vor Advanced Evasion Techniques – und darüber hinaus (Teil 1)

Advanced Evasion Techniques sind getarnte Angriffsmethoden, die verwendet werden, um Sicherheitslücken gezielt auszunutzen. In diesem Beitrag zeigt IT-Sicherheitsforscher Steffen Ullrich anschaulich, wie unterschiedliche Firewall-Lösungen mit diesen Gefahren umgehen und welches Schutzniveau die verschiedenen Ansätze bieten.

Firewallsysteme unterscheiden sich in Preis, Performance sowie in der Qualität und Tiefe der Analyse. So sind klassische Paketfilterfirewalls schnell und billig, können aber nur rudimentär auf Basis von IP-Adressen und Portnummern filtern. Das reicht oftmals zur Trennung interner Netze und ist sinnvoll als Verteidigungslinie gegen Denial-Of-Service-Angriffe. Sie sind jedoch damit nicht in der Lage, über Web und Mail verbreitete Malware zu erkennen, die den größten Teil der heutigen Angriffe gegen Endanwender ausmachen.

Zum Erkennen derartiger Angriffe reichen Informationen über die Endpunkte der Verbindung alleine nicht aus. Stattdessen ist es nötig, die übertragenen Inhalte zu analysieren. Je nach Applikationsprotokoll ist es durchaus komplex, die Inhalte aus dem Datenstrom zu extrahieren. So können bei dem im Web verwendeten Hypertext Transport Protocol (HTTP) die Inhalte auf verschiedenste Weisen komprimiert sein sowie in mehreren Teilstücken übertragen werden.

Für diese tiefere Analyse gibt es zwei wesentliche und lange bekannte Ansätze: Ein Ansatz sind Gateways auf Applikationsebene. Bei diesen wird die ursprüngliche IP-Verbindung auf der Firewall terminiert und eine neue Verbindung zum eigentlichen Ziel aufgebaut. Die Daten werden zwischen diesen beiden Verbindungen weitergeleitet und dabei analysiert. Diese Gateways sind traditionell unter den Bezeichnungen "Proxy", "Application Level Gateway" (ALG) oder "Secure Gateway" bekannt. Der andere Ansatz ist die Erweiterung der vorhandenen Paketfilterfirewalls durch eine Analyse des Inhalts der Pakete, der sogenannten Deep Packet Inspection (DPI). Diese Lösungen sind traditionell unter den Bezeichnungen Intrusion Detection System (IDS) oder Intrusion Prevention System (IPS) zu finden. Heutzutage werden sie aber meist als sogenannte "Next Generation Firewalls" (NGFW) vermarktet.

Was sind Advanced Evasion Techniques?

Auf der internationalen Sicherheitskonferenz Black Hat 2013 zeigten Mitarbeiter des damaligen finnischen Firewallherstellers Stonesoft, wie einfach sich typische Enterprise Firewalls und Next Generation Firewalls (NGFW) austricksen lassen. Da der größte Teil der Analyse in diesen Firewalls mittels Deep Packet Inspection (DPI) auf Paketebene stattfindet und die ankommenden Pakete unverändert weitergeleitet werden, lässt sich das Ausnutzen unterschiedlicher Interpretation der Datenpakete zwischen der DPI und dem zu schützenden System für eine Umgehung der Analyse nutzen.

Die Mehrheit der von den Autoren in Evading Deep Packet Inspection for Fun and Shell aufgeführten Tricks waren dabei schon lange bekannt: Die meisten getesteten Firewalls waren prinzipiell durchaus in der Lage, viele dieser sogenannten Advanced Evasion Techniques (AET) zu erkennen, sofern die passenden Filteroptionen eingeschaltet wurden. Dass diese Optionen nicht standardmäßig aktiv waren, ist damit zu erklären, dass die dafür erforderlichen Analysen die Performance der Systeme spürbar beeinträchtige. Und zumindest für die Vermarktung der Produkte ist es wichtiger, eine gute Performance im Vergleich zu den Mitbewerbern auszuweisen, da man Sicherheit nur schwer messen und vergleichen kann.

Firewall genugate ist immun gegenüber AET

Durch die zugrundeliegende ALG-Technologie ist die Firewall genugate prinzipbedingt  resistent gegen Umgehungen der Analyse auf Paketebene. In einem ALG werden nicht die ankommenden Datenpakete weitergeleitet, sondern die Verbindung auf der Firewall terminiert. Eine neue Verbindung zum Ziel wird aufgebaut und über Software werden die Daten zwischen den Verbindungen ausgetauscht. Dabei werden sie analysiert und bei Bedarf auch modifiziert. Auf diese Weise werden die Daten auf Paketebene standardmäßig normalisiert und so wird dafür gesorgt, dass die Analyse die Daten auf die gleiche Weise verarbeitet wie das zu schützende Zielsystem.

ALG-Technologie wird nicht nur in der Firewall genugate sondern auch bei einigen Mitbewerbern eingesetzt. Wurde diese Technologie früher als "Proxy" oder "Secure Gateway" vermarktet, so befindet sie sich heute auch in Produkten, die als Next Generation Firewall (NGFW) oder Unified Threat Management (UTM) angeboten werden. Dort wird sie jedoch im Allgemeinen mit anderen, oft gegen AET anfälligen Technologien wie Intrusion Detection Systemen (IDS), kombiniert.

"Super Advanced" Evasion Techniques

Offensichtlich existieren in Form von Application Level Gateways also Technologien, die AET auf Paketebene implizit neutralisieren. Diese Technologien werden von uns in der Firewall genugate eingesetzt. Aus unserer Sicht sind die von Stonesoft publizierten "Advanced" Evasion Techniques daher nicht die hochkomplexen und schwer zu erkennenden Angriffe, als welche sie oftmals dargestellt werden. Stattdessen sind es ungewollte Nebeneffekte – bedingt durch die Wahl einer auf Performance anstatt auf Qualität optimierten Analysetechnologie.

Die den AET zugrundeliegende Idee der unterschiedlichen Interpretation von Daten in Zielsystem und Firewall lässt sich jedoch auch außerhalb der Paketebene anwenden, z. B. auf Applikationsebene.

Advanced Evasion Techniques umgehen trickreich die Analyse-Tools einiger Firewall-Systeme

In den letzten Jahren haben wir uns bei genua innerhalb der Forschungsabteilung intensiv mit den Folgen der Komplexität von Applikationsprotokollen wie HTTP befasst, welches zur Übertragung von Inhalten zwischen Browser und Server im Web genutzt wird. Dabei haben wir eine Vielfalt von Möglichkeiten entdeckt, die Analyse von Web-Verkehr in praktisch allen etablierten Next Generation Firewalls und Unified Threat Management-Produkten zu umgehen und so selbst bekannte Malware von der Firewall unbehelligt zum Browser zu transportieren.

Im Folgenden zeigen wir an einigen Beispielen, wie trivial eine derartige Umgehung sein kann und auch, wie man einfach die Resistenz der eigenen Firewall bezüglich  dieser Umgehungen testen kann.

Einführung in HTTP

Um die nachfolgenden Beispiele zu verstehen, ist es nötig, sich ein wenig mit den Grundlagen des zum Datenaustausch zwischen Webbrowser und Webserver benutzten Hypertext Transfer Protocols (HTTP) zu befassen. Zumindest bis zur derzeit meistgenutzten Version HTTP/1.1 handelt es sich um ein textbasiertes Protokoll, bei dem der Client (zum Beispiel ein Webbrowser) eine Anfrage stellt, welche der Server dann beantwortet. Eine typische Antwort eines Webservers sieht wie folgt aus:

HTTP/1.1 200 ok
Content-Type: text/html
Content-Encoding: gzip
Content-Length: 200

...200 Byte mit gzip komprimierter HTML-Daten...

Die Antwort besteht aus einem Header und einem Body, getrennt durch eine Leerzeile. Der Header enthält Meta-Daten über den Inhalt, während der Body den eigentlichen Inhalt in eventuell komprimierter oder kodierter Form ausliefert. In diesem Beispiel liefert der Server einen 200 Byte langen Body aus, welcher den mit dem gzip-Algorithmus komprimierten eigentlichen Inhalt enthält. Entsprechend dem Content-Type soll der Browser diesen Inhalt als HTML darstellen.

Umgehung mit ungewöhnlichen Kompressionsmethoden

Ein Großteil der Inhalte im Web ist textbasiert und lässt sich sehr gut komprimieren. Die meistgenutzte Kompressionsmethode im Web ist gzip, welche auch im einführenden Beispiel benutzt wurde. Jedoch unterstützen sämtliche Browser mit deflate eine weitere Methode, welche aber in der Praxis nur wenig verwendet wird. Und obwohl bereits Ende 2014 öffentlich auf fehlende Unterstützung für deflate in Online-Scannern und Firewalls hingewiesen wurde, zeigten unsere Untersuchungen im September 2015, dass über 90 % der Firewalls nicht in der Lage waren, mit deflate komprimierte Inhalte korrekt zu analysieren und die Daten unverändert weiterleiteten. Das bedeutet, dass die Analyse in diesen Systemen mit der folgenden einfachen Antwort des Webservers umgangen werden konnte:

HTTP/1.1 200 ok
Content-Type: application/octet-stream
Content-Encoding: deflate

...Malware, komprimiert mit deflate...

Um eine derartige HTTP-Antwort zu generieren, braucht ein Angreifer nicht einmal einen eigenen Webserver. Stattdessen reicht bereits die Nutzung eines kostenlosen Website-Providers, der erlaubt, eigenen PHP-Code auszuführen.

Nächste Woche lernen Sie im zweiten Teil dieses Artikel weitere Techniken kennen und erfahren, welche IT-Sicherheitslösungen Schutz bieten.

 

 Bildquelle: ©  psdesign1, compressor - Fotolia.com


Lesen Sie auch

Diskutieren Sie mit

Sie können diesen Artikel sofort ohne Registrierung als Gast-User kommentieren.

Registrieren Sie sich jetzt! Mit einem User Account genießen Sie Vorteile:
Ihr Kommentar wird sofort im genublog veröffentlicht und Sie werden über Reaktionen auf Ihre Kommentare informiert.

Bereits registrierte User gelangen hier zum Login.



Registrieren Sie sich jetzt! Mit einem User Account genießen Sie Vorteile:
Ihr Kommentar wird sofort im genublog veröffentlicht und Sie werden über Reaktionen auf Ihre Kommentare informiert.

Bereits registrierte User gelangen hier zum Login.