Zum Hauptinhalt springen
TECHNOLOGIE

Emulator

Der Emulator führt die Anweisungen des Objekts in einer sicheren virtuellen Umgebung einzeln aus, sammelt Artefakte und übermittelt sie an heuristische Analyseprogramme, um schädliche Verhaltensmerkmale einer Binärdatei oder eines Skripts zu erkennen.


Informationen zur Code-Emulationstechnologie

Bei der Code-Emulation wird das Verhalten einer Datei untersucht, indem ihre Ausführung in einer virtuellen (emulierten) Umgebung simuliert wird. Grundsätzlich ist dieser Ansatz der Malware-Erkennung in einer Sandbox sehr ähnlich, allerdings gibt es geringfügige Unterschiede in Bezug auf Design und Anwendung. Im Folgenden sollen diese Unterschiede erläutert werden.

Im Gegensatz zum Emulator gehört eine voll ausgestattete Sandbox zu den „Schwergewichten“ unter den Methoden. Sie emuliert die gesamte Umgebung und führt die zu untersuchende Probe in einer virtuellen Maschine aus mit einem echten Betriebssystem (BS) und installierten Programmen aus. Deshalb erfordert diese Methode eine hohe Rechenleistung und unterliegt wegen der Kompatibilität auf dem Host-System gewissen Beschränkungen. Die Sandbox funktioniert daher am effektivsten in zentralisierten Lösungen, die lokal oder in der Cloud ausgeführt werden. Für die Malware-Erkennung auf Benutzer-Hosts und anderen regulären Computern ist sie dagegen weniger geeignet.

Ein Emulator simuliert lediglich die Ausführung der Probe selbst. Dabei werden temporäre Objekte erstellt, mit denen die Probe interagiert: Passwörter, auf die es eine Malware abgesehen haben könnte, Virenschutz, den sie versuchen könnte zu stoppen, die Systemregistrierung und so weiter. Diese Objekte sind keine realen Bestandteile eines Betriebssystems oder einer Software, sondern vom Emulator erstellte Imitationen. Da der Emulator die Umgebung selbst kontrolliert, kann er den Zeitablauf beschleunigen, um künftiges Dateiverhalten zu beobachten, und so verhindern, dass die Malware auf Zeit spielt.

Der Emulator ermittelt wesentliche Verhaltensmerkmale der untersuchten Datei, wobei er deutlich weniger Ressourcen in Anspruch nimmt als eine Sandbox und damit auch besser für Benutzer-Hosts geeignet ist. Unbekannte Dateien werden in der Regel erst ausgeführt, nachdem sie von einem Emulator überprüft wurden. Der Emulationsansatz ist nicht neu, aber einige Emulatoren wurden sind stark weiterentwickelt und leisten einen erheblichen Beitrag zur Malware-Erkennung. Die Emulatoren von heute greifen auf Cloud-basierte Reputationsdienste zurück und werden in ihrer Effizienz durch maschinelles Lernen noch zusätzlich gestärkt.

Der Emulator von Kaspersky

In unseren Lösungen stellt der Emulator eine von mehreren abgestuften Schutzschichtendar. Er emuliert Binärdateien und Skripte, wobei gerade letztere mit der zunehmenden Verbreitung von Skript-basierten dateilosen Angriffen immer wichtiger werden.

Die Emulation ist für begrenzte Computerressourcen optimiert. Sie benötigt viel weniger Arbeitsspeicher pro Objekt als eine Sandbox und kann viele Objekte gleichzeitig scannen, ohne das System wesentlich zu belasten. Mit der Hardware-Beschleunigung nutzt die Emulation den Prozessor auf sichere Weise, um den Scanvorgang um fast das 20-Fache zu beschleunigen.

Emulations-Scans werden von unseren Lösungen nur bei Bedarf („On Demand“) gestartet, wenn ein Benutzer einen Festplatten-Scan anfordert, oder bei Zugriff („On Access“), wenn ein Objekt vor dem Zugriff oder der Ausführung automatisch gescannt wird. Die Emulierung kann parallel zu anderen Erkennungsmethoden (z. B. Anfragen zur Reputation eines Prozesses in der Cloud) gestartet werden.

Emulatoren kommen in den Endpoint-Lösungen von Kaspersky, in Lösungen auf Gateway-Ebene (z. B. Proxy- und E-Mail-Server) sowie beim Schutz von Virtualisierungsumgebungen zum Einsatz. In der Kaspersky-Infrastruktur sind leistungsfähige Emulatoren Teil der Pipeline zur Objektklassifizierung.

Aufgaben des Emulators:

  • Simuliert die Ausführung von beliebigen ausführbaren Dateien (PE), wie *.exe, *.dll, *.sys und andere in einer Windows-Umgebung.
  • Verarbeitet JavaScript-, VBScript- und AutoIT-Skripttypen, eigenständige (als Dateien heruntergeladene) Skripte.
  • Scannt Skripte von einem Weblink (auf einer Webseite, in einer E-Mail, in einer Nachricht), der in PDF- und MS Office-Dateien eingebettet ist.

Updates

Die Emulationstechnologie besteht neben dem Emulationskern auch aus Erkennungsdatensätzen, um die vom Kern bereitgestellten Daten auszuwerten. Diese Datensätze werden in Kaspersky erstellt und stündlich mit neuen Daten von den Lösungen aktualisiert. Ein Erkennungsdatensatz kann viele verschiedene Malware-Proben mit unterschiedlichem Binärinhalt, aber ähnlichem Verhalten erkennen.

Ablauf der Malware-Erkennung

  1. Der Emulator erhält von einer anderen Komponente der Sicherheitslösung eine Anfrage zum Scannen eines Objekts (eine ausführbare Datei oder ein Skript).
  2. Ausgehend vom Eintrittspunkt des Objekts führt der Emulator alle Anweisungen des Objekts nacheinander in einer abgesicherten virtuellen Umgebung aus. Wenn eine Anweisung mit der Umgebung interagiert (Betriebssystem, Registry, anderen Dateien, Speicher etc.), imitiert der Emulator eine Reaktion von diesen Objekten.
  3. Dabei erfasst er Artefakte und leitet sie an das heuristische Analyseprogramm weiter. Das Analyseprogramm übermittelt seine Beurteilung, zu der es aufgrund dieser Artefakte gelangt ist, an die Komponente, die die Analyse angefordert hat.
  4. Die Emulation stoppt nach einem bestimmten Zeitfenster, oder wenn genügend Artefakte vorhanden sind, um eine Malware-Einstufung vorzunehmen.

Vom Emulator erfasste Artefakte

Für ausführbare Dateien (Binärdateien):

  • API-Aufrufprotokoll
  • Alle Änderungen am Dateisystem, an der System-Registry
  • Speicherauszüge

Für Skripte:

  • Argumente und Rückgaben von String-Operationen
  • Aufrufe von eingebetteten Funktionen sowie Funktionen, die von der Umgebung bereitgestellt werden
  • Ereignisse
  • Ablage im Dateisystem und untergeordnete Skripte

Anti-Umgehungsmethoden

Findige Malware-Entwickler statten ihre Malware mit Funktionen aus, die eine Erkennung in der Emulation verhindern. Unser Emulator kann diese neuen Umgehungstechniken nachvollziehen und entsprechende Maßnahmen einleiten. Beispiele:

Umgehungsversuch A: Die Malware muss vor der Ausführung entpackt werden. Das erfordert viel Rechenzeit, die in der Regel ausreicht, um die Erkennung aufgrund der Zeitüberschreitung für die Emulierung zu umgehen.

Gegenmaßnahme A: Der Emulator erkennt gepackte Dateien und passt die Emulationstiefe entsprechend an. Die Hardwarebeschleunigung gibt dem Emulator den benötigten Spielraum, um die Zeit zum Entpacken zu überbrücken.

Umgehungsversuch B: Bevor die Malware ihre schädliche Payload ausführt, kann sie auf Webressourcen oder Parameter ihrer Umgebung (z. B. Computername, Festplattengröße) zugreifen und prüfen, ob diese verfügbar und bedeutsam sind. Wenn die Malware nichts von Interesse findet, führt sie ihre Payload nicht aus und entgeht damit der Erkennung.

Gegenmaßnahme B: Auf Anfrage der gescannten Datei liefert der Emulator vermeintliche Informationen zu Umgebung und Systemressourcen und lässt sie so bedeutsam wie möglich aussehen. Zum Beispiel werden Computernamen randomisiert, sodass die Malware keine spezifischen Computernamen als Signal für die Ausführung in einer Emulation nutzen kann.

Verwandte Produkte

ARTICLE

A Modern Hypervisor as a Basis for a Sandbox


ARTICLE

“The evolution of technologies used to...

Ergebnisse in unabhängigen Vergleichstests:

Zugehörige Technologien

SandBox

Unsere Sandbox, die lokal, in der Cloud und in der Malware-Analyseinfrastruktur von Kaspersky betrieben werden kann, wendet verschiedene Anti-Umgehungstechniken an, während sie für ihre Erkennungsarbeit auch die Bedrohungsinformationen aus dem Kaspersky Security Network nutzt.

Verhaltensbasierter Schutz

Die Threat Behavior Engine mit ML-basierten Modellen kann bislang unbekannte schädliche Muster bereits in einem frühen Stadium erkennen, während Memory Protection und Remediation Engine dafür sorgen, dass Benutzerdaten nicht manipuliert werden oder verloren gehen.

Mehrschichtiges Sicherheitsmodell

True Cybersecurity sollte auf der Synergie verschiedener Schutztechniken basieren, vom klassischen AV-Datensatz bis hin zur verhaltensbasierten Erkennung anhand von Deep Learning-Modellen.