Sandboxing

Mit diesen Techniken versuchen Hacker eine Malware-Analyse zu umgehen

Mit diesen Techniken versuchen Hacker eine Malware-Analyse zu umgehen

Sandbox-Umgehungstechniken

Die Verwendung von Malware-Analyse-Sandboxen gegen fortgeschrittene Bedrohungen wurde bereits vor einigen Jahren populär. Damals hatten Malware-Autoren schon Wege gefunden, um statische Analyse Tools (wie herkömmliche AV-Security Produkte) mit Techniken wie Polymorphie, Metamorphie, Verschlüsselung, Verschleierung und Rückverfolgungsschutz, zu umgehen. Bei WannaCry und NotPetya, zwei sehr populäre und erfolgreiche Großangriffe aus dem letzten Jahr, wird vermutet dass diese Malware mit fortschrittlichen Umgehungstechniken ausgerüstet war. Nicht ohne Grund werden die Malware-Analyse-Sandboxen auch als sog. letzte Verteidigungslinie gegen moderne Bedrohungen angesehen.

Was ist eine Sandbox?

Das Funktionsprinzip einer Sandbox ist relativ einfach: Auf Basis des beobachteten Verhaltens einer Datei, kann man feststellen ob diese schädlich ist oder nicht. Dazu wird einer potentiell gefährlichen Datei, in einer kontrollierten Umgebung (Sandbox) erlaubt, alle (schädlichen) Vorgänge auszuführen. Das daraus resultierende Verhalten wird gleichzeitig aufgezeichnet. Nach einiger Zeit wird die Analyse gestoppt und das Ergebnis wird auf typische bösartige Verhaltensmuster untersucht und gescannt. Da die Erkennung nicht auf Signaturen basiert, können Sandboxes auch Zero-Day- und zielgerichtete Malware-Angriffe (APTs) erkennen, also Schadsoftware, die bisher von Security Forschern noch nie gesehen oder in einem Antiviren-Labor analysiert wurden.

Allerdings funktioniert die verhaltensbasierte Malware-Erkennung nur dann, wenn die beobachtete Datei, während ihrer Analyse tatsächlich schädliche Vorgänge ausführt. Wenn – aus welchen Gründen auch immer – während der Analyse keine schädlichen Operationen ausgeführt werden sollten, stellt die Sandbox fest, dass die zu untersuchende Datei gutartig ist. Das nutzen die Malware-Autoren aus und suchen daher immer nach neuen, innovativen Möglichkeiten, das eigentliche Verhalten einer Datei so zu maskieren, dass die Erkennung durch eine Sandbox fehlschlägt.

Die Umgehungstechniken kann man in drei Hauptkategorien einteilen:

  1. Sandbox-Erkennung: Suchen und Erkennen von vorhandenen Sandboxes (dabei zeigt die Malware zunächst nur gutartige Verhaltensmuster)
  2. Sandbox-Lücken ausnutzen: Schwächen oder Lücken in der Sandbox-Technologie oder im Ökosystem ausnutzen
  3. Kontextsensitive Malware: Verwenden von zeit- / ereignis- und umgebungsbasierten Triggern, die während der Sandbox-Analyse nicht aktiviert werden

Sandbox-Erkennung

Mit dieser Umgehungstechnik versucht die Malware zu erkennen, ob eine Sandbox im Zielsystem vorhanden ist.

Malware sucht nach einer Sandbox

Sie sucht nach kleinen Unterschieden zwischen einer Sandbox-Umgebung und dem eigentlichen System. Wenn eine Sandbox erkannt wird, reagiert die Schadsoftware in der Regel auf zwei Arten: Entweder wird sie sofort beendet (was an sich schon verdächtig ist) oder sie zeigt ein nicht bösartiges Verhalten und führt nur gutartige Operationen aus. Entsprechende Malware-Analyzer wie beispielsweise der Threat Identifier (VTI) von VMRay visualisiert die Sandbox-Erkennungsversuche und stuft das Malware-Verhalten hier bereits als sehr bösartig ein.

Sandbox-Lücken ausnutzen

Der zweite Umgehungsansatz sucht nach potentiellen Schwachstellen in der zugrunde liegenden Sandbox-Technologie oder in dem umgebenden System und nutzt diese unmittelbar aus.

Illegitime API-Nutzung - blending the monitor

Als Schwachstellen könnte man z.B. obskure Dateiformate anführen, die eine bestimmte Größe überschreiten und dadurch von der Sandbox nicht mehr korrekt verarbeitet werden können. Die Umgehung der Analyse durch die illegitime API-Nutzung kann eine effektive Methode sein, um sich vor einer Sandbox-Analysetechnik, die auf einen Hook oder auf einem injizierten Treiber im Opfersystem angewiesen ist, zu verstecken. Wenn die Sandbox allerdings kein Hooking verwendet, kann ein solcher Ausweichversuch erkannt und ausgewertet werden.

Kontextsensitive Malware

Die dritte Umgehungstechnik wird von Schadsoftware eingesetzt, die erst gar nicht versucht, die Sandbox zu erkennen oder anzugreifen. Stattdessen nutzt sie die natürlichen Nachteile der automatisierten Analysesysteme.

Sandbox-Umgehung durch Reboot-Taktik

In der Regel verbringen Sandbox-Analysesysteme nur wenige Minuten mit einer Datei. Durch die zeitliche Verzögerung bei der Ausführung der schädlichen Nutzdaten, könnte die Malware allerdings in ein bestimmtes Zeitfenster fallen und unentdeckt bleiben.

Neben dem zeitlichen Problem, könnte die entsprechende Malware auch andere Ereignisse ausnutzen, die normalerweise nicht für den Einsatz in einer Sandbox vorgesehen sind: z.B. einen Systemneustart oder eine bestimmte Benutzerinteraktion. Oder die Malware sucht nach bestimmten Artefakten, die auf der Zielmaschine bereits vorhanden sind, wie z. B. eine Anwendung oder eine lokalisierte Systemeinstellung.

In diesem Analysebeispiel wird gezeigt wie die Malware, neben dem Erkennungsversuch einer VM-Umgebung, zudem versucht, bestimmte Start-Scripts und Anwendungen zu installieren, um einen Systemneustart zu „überleben“.

Das spannende Thema Sandboxing wird auch in Zukunft eine immer größere Rolle in der Cyber Security und der damit verbundenen Abwehr und Früherkennung von fortschrittlichen Angriffsbedrohungen einnehmen.

Daher soll dieser erste Überblick ein Vorspann auf die kommende Themenreihe „Sandbox-Ausweichtechniken“ sein, in der wir auf die aufgeführten Techniken noch detaillierter eingehen werden.