Dateilose Angriffe und wie man sie verhindert

Dateilose Angriffe wurden erstmals bereits 2012 beobachtet. Sie sind also nicht neu, treten allerdings seit 2017 vermehrt auf. Ihren Erfolg haben sie vor allem der Tatsache zu verdanken, dass traditionelle Antivirenlösungen gegen sie machtlos sind. [...]

Der Erfolg von dateilosen Angriffen ist darauf zurückzuführen, dass traditionelle Antivirenlösungen gegen sie machtlos sind. (c) pixabay
Der Erfolg von dateilosen Angriffen ist darauf zurückzuführen, dass traditionelle Antivirenlösungen gegen sie machtlos sind. (c) pixabay
Einer der bekanntesten Angriffe war sicherlich derjenige der OceanLotus Group. Primär asiatische Unternehmen waren der Kampagne mit Namen „Operation Cobalt Kitty“ zum Opfer gefallen. Annähernd ein halbes Jahr hatte es damals gedauert bis der Angriff überhaupt entdeckt wurde. Und auch die berühmt-berüchtigten Ransomware-Angriffe Petya und WannaCry benutzten in ihren Kill Chains dateilose Techniken. Dateilose Angriffe sind schwierig aufzuhalten und sie werden weiter zunehmen. Darin sind sich Sicherheitsexperten einig.
Sich von Angriffen zu verabschieden, die Dateien benutzen ist logisch und taktisch konsequent. Denn schließlich konzentrieren sich Antivirenlösungen bei ihrem signaturbasierten Ansatz allein auf Dateien. Was hat eine Sicherheitslösung, die so arbeitet, einem dateilosen Angriff entgegen zu setzen? Wie soll eine Blacklist in der Lage sein, einen Angreifer zu stoppen, wenn der nur legitime Ressourcen innerhalb des Systems nutzt?

Aber was genau ist ein dateiloser Angriff?

Wie der Name schon sagt, verzichtet ein dateiloser Angriff darauf, Dateien in das Host-System zu schreiben. Vielmehr nutzen diese Attacken legitime Systemressourcen für schädliche Zwecke. Der Angriff fügt sich quasi natürlich in die betreffende Umgebung ein und ist deswegen für die überwiegende Mehrzahl existierender Detect-and-Response-Lösungen nur sehr schwer zu entdecken.
Die folgenden Merkmale sind für diese Form von Angriffen typisch:
  • Die Malware befindet sich im Arbeitsspeicher und nicht wie sonst auf der Festplatte
  • Skript-intensive Malware verwendet Jscript/JAVAScript um die eigentliche Infektion auszulösen und dann das Fortschreiten des Angriffs zu flankieren
  • Damit die Malware ihre Aktivitäten weiter ausdehnen kann, bedient sie sich bei Ressourcen wie PowerShell, WMI und anderen rechtmäßigen Administrationstools unter Windows
  • Um sich möglichst dauerhaft im System einzunisten verändert die Schadsoftware schließlich noch die Betriebssystemeinträge

Was Exploit Kits mit der Sache zu tun haben

Exploit Kits sind eine wichtige Komponente bei dateilosen Angriffen. Sie fassen bekannte Softwareschwachstellen zusammen, kombinieren sie mit Tools zur Systemanalyse und solchen, die in der Lage sind die eigentliche Schadsoftware an Ort und Stelle bringen. Exploit Kits wie diese bedienen sich nicht selten gefälschter Anzeigenwerbung. Klickt der Nutzer auf die betreffende Anzeige, wird er umgeleitet und das Exploit Kit erlaubt einen unbemerkt ablaufenden Scan des betreffenden Browsers. Ergibt dieser Scan dann weitere Schwachstellen im Browser wird der Nutzer auf eine Zielseite geführt von der aus weitere Systemscans durchgeführt werden. Gelingt es mit dieser Methode zusätzliche Sicherheitslücken ausfindig zu machen, deponiert der Angreifer dann die eigentliche Malware im System. Der Benutzer bekommt von diesem Vorgang in aller Regel nicht das Geringste mit.

Dateilose Malware: Kovter

Kovter ist ein Klick-Trojaner, der 2016 damit begonnen hat dateilose Angriffe zu lancieren. Die ursprüngliche Kovter-Variante ging noch anders vor. Der Trojaner hat in den aktiven Benutzerprofilen einen Ordner angelegt, in dem die eigentliche Schadsoftware, KB9162892 exe, deponiert wurde. Als nächstes wurde ein Registrierungsschlüssel erzeugt um mit seiner Hilfe die Datei bei jedem erneuten Systemstart auszuführen. Antivirenlösungen war es gelungen diese ursprüngliche Kovter-Malware aufzudecken und unschädlich zu machen. Das funktionierte über traditionelle SHA-Signaturen und Blacklisting der KB9162892 exe.
Die dateilose Kovter-Variante geht bei der Infektion der Zielsysteme einen anderen als den beschriebenen Weg. Diese Methode nutzt ein verschleiertes Jscript/JAVAScript um die ausführende Kovter-Datei herunterzuladen und zwar in den Ordner für temporäre Windows–Dateien (%TEMP%). Als nächstes werden Einträge in die Windows Registry geschrieben, sodass die Malware dort dauerhaft verbleiben kann und nicht etwa bei einem Neustart der Systeme mit verschwindet. Damit wird das nächste Stadium der Infektion eingeleitet. Dabei missbraucht die Malware PowerShell um einen regsvr32.exe-Prozess anzustoßen und gleichermaßen zu infizieren. Zu guter Letzt löscht Kovter dann die ausführbare Datei aus der Windows-Registry %TEMP%. Zurück bleibt nichts, auf das sich eine signaturbasierte Aufdeckungsmethode stützen könnte. Die neue Kovter-Variante operiert mithilfe eines üblichen Systemprozesses innerhalb des Arbeitsspeichers. Traditionelle Aufdeckungsmethoden lassen sich auf diese Weise weiträumig umgehen, denn es gibt keine Datei, die sich als schädlich überführen ließe, noch gibt es einen auffälligen und von der Norm abweichenden Prozess.

Alternative Ansätze

Offensichtlich greifen existierende Methoden und Technologien so gut wie gar nicht, wenn man es mit einer dateilosen Malware zu tun bekommt. Schon alleine ihre Anwesenheit lässt sich nicht so einfach feststellen. Ein Versuch dateiloser Malware beizukommen ist es, zu verhindern, dass die Schadsoftware überhaupt auf Systemressourcen und Tools zugreifen kann. Dazu gibt es verschiedene Möglichkeiten wie Skriptkontrolle beziehungsweise Skriptmanagement, Schutzmechanismen für den Arbeitsspeicher und Technologien zur kontextuellen Analyse.
Mithilfe von Tools zur Skriptkontrolle haben Administratoren die Möglichkeit zu entscheiden wann wo und wie in einer bestimmten Umgebung Skripte ausgeführt werden dürfen. Mittlerweile gibt es Sicherheitslösungen im Bereich des Endpunktschutzes, die direkt aus dem Script-Interpreter heraus agieren. Diese Methode erlaubt es, sowohl die Skript-Aktivitäten zu überwachen als auch den Skript-Pfad noch bevor das eigentliche Skript ausgeführt wird. Beobachtet man dann fragwürdige Verhaltensweisen und Aktivitäten in Zusammenhang mit den Skripten, werden sie quasi an Ort und Stelle blockiert oder eine Warnung an den Systemadministrator geschickt. Solche Skriptkontrollen lassen sich beispielsweise für PowerShell, Active Scripts wie Jscript und VB-Skripts, aber auch für Makros in Microsoft Office durchführen. Bei PowerShell kann man verhindern,  dass die Konsole überhaupt startet beziehungsweise die Kommandozeilen ausgeführt werden. Ausdrücklich freigegebene Skripts laufen weiterhin ganz normal und ohne Einschränkungen. Auch dann, wenn die PowerShell-Konsole blockiert ist.

Schutz vor Arbeitsspeicher-Exploits

Dateilose Angriffe nutzen den Arbeitsspeicher um sich dauerhaft in den befallenen Systemen einzunisten. Ein neuer Ansatz sich vor solchen Arbeitsspeicher-Exploits zu schützen besteht darin, dateilosen Angriffen den benötigten Speicherplatz zu verwehren. Das geschieht beispielsweise über einen Agenten. Der kombiniert eine DLL für jeden zu schützenden Prozess mit einer Servicekomponente zur Verwaltung. Der Agent klinkt sich in den Benutzermodus der API–Funktionen ein und überprüft dort, ob es Anzeichen für eine Kompromittierung gibt. Ist das der Fall, werden die verdächtigen Funktionen außer Kraft gesetzt und der Agent bietet alternative Möglichkeiten an. Unter ihnen wählt der Benutzer aus wie er weiter verfahren will:
  • er kann die potenzielle Verletzung des Prozesses ignorieren und ihn wie gewohnt ausführen lassen
  • der Benutzer kann entsprechende Warnungen setzen, den Prozess aber dennoch ausführen lassen
  • der Prozess wird gestoppt und ein Alarm versendet
  • und natürlich kann der Benutzer den Prozess komplett abbrechen.
Wichtig bei der Verwendung solcher Agenten: sie sollten sich so wenig wie möglich auf die Gesamtleistung des Systems auswirken. Oftmals lassen sich mit ihrer Hilfe Richtlinien für die Speichernutzung so definieren, dass sie praktisch denselben Sicherheitslevel bieten wie komplexe und aufwendig zu konfigurierende Host IPS-Systeme.

Kontext-basierte Analyse und Incident Prevention Engines

Diese Methode ergänzt die zuvor beschriebenen und fungiert direkt am Endpunkt als eine Art virtuelles Security Operation Center (SOC). Um Bedrohungen abzuwehren nutzt es vordefinierte und voll automatisierte Prozesse im 24×7-Modus. Es ist dann nicht mehr nötig manuell einzugreifen. Der angenehme Nebeneffekt bei der Bedrohungsanalyse direkt am Endpunkt: niedrigere Latenzzeiten. Virtuelle SOCs dieser Art erlauben es anhand verschiedener Kataloge zum Systemverhalten Regeln aufzustellen. Verhaltensanalyen umfassen dabei PowerShell, Javascript und browser-spezifische Verhaltensweisen, die für dateilose Angriffe typisch und absolut notwendig sind. Üblicherweise lassen sich in diese Regeln auch solche Richtlinien integrieren, die Systembesonderheiten betreffen und die ebenfalls Eingang finden sollten.

Fazit

Die wachsende Zahl dateiloser Angriffe ist für traditionelle Sicherheitslösungen eine große Herausforderung. Allein deshalb, weil diese Art von Angriffen meist im Verborgenen bleibt und das nicht selten über Monate und länger. Existierende Ressourcen zu kapern und für die eigenen Zwecke zu benutzen, erschwert es traditionellen Ansätzen, dateilose Malware zu erkennen. Es muss also verstärkt darum gehen, dateilosen Angriffen sozusagen die Nahrungsgrundlage zu entziehen indem man ihnen den Zugriff auf die benötigten Systemressourcen verweigert. Dazu kontrolliert man, ob wie und wann welche Skripte ausgeführt werden, ebenso wie den Speicherplatz oder potenzielle Manipulationen an einem oder mehreren Endpunkten.
*Sascha Dubbel ist Sales Engineer DACH bei Cylance.
Werbung

Mehr Artikel

Be the first to comment

Leave a Reply

Your email address will not be published.


*


Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahren Sie mehr darüber, wie Ihre Kommentardaten verarbeitet werden .