28 Mai 2019
Unsere neue Emulations-Technologie: Der schlimmste Alptraum für gewiefte Malware
Haben Sie sich jemals gefragt, warum Computerviren überhaupt „Viren“ genannt werden? Tatsächlich wird das Wort „Viren“ heutzutage etwas irreführend verwendet, um sich auf so gut wie alle „Arten eines Schadprogrammes“ zu beziehen, oder um jegliche schädliche Aktivität zu beschreiben, die ein Programm auf einem Computer ausführt. Diese Informationen habe ich übrigens unserer Enzyklopädie entnommen.
Genau genommen wird ein Virus jedoch als Programmcode definiert, der sich repliziert und ausbreitet – also im Grunde genommen wie ein biologischer Virus, beispielsweise ein Grippevirus.
Das Seltsame an der ganzen Sache ist jedoch, dass der obigen Definition entsprechende Viren als solche bereits vor einigen Jahren in freier Wildbahn verschwunden sind. Heutzutage dreht sich alles um Schadprogramme, deren Fokus nicht mehr auf der Replikation, sondern vielmehr auf schädlichen Funktionen liegt, mit denen Daten von einem Computer gestohlen oder vollständig gelöscht werden können, wie zum Beispiel ein Trojaner. Doch selbst wenn man heutzutage jemanden darum bittet, „Computersicherheitstechnologien“ in Bildern darzustellen, zeigen diese Bilder häufig Dinge wie Wissenschaftler in Laborkitteln Schutzanzügen mit Reagenzgläsern in der Hand, die irgendwelche Quarantänemaßnahmen ausführen – obwohl diese nur im Umgang mit biologischen Viren benötigt werden.
Naja, ich denke, Sie haben es bereits verstanden: Computerviren sind ausgestorben. Aber die Analysemethoden, die zu ihrer Entdeckung und Desinfektion (übrigens eine weitere Entlehnung aus der Mikrobiologie!) verwendet wurden, sind erhalten geblieben, haben sich weiterentwickelt und helfen auch heute noch enorm im Kampf gegen moderne Viren Malware. Zu einer solchen „Alte Schule“-Technologie zählt beispielsweise der Emulator.
Kurz gesagt handelt es sich bei der Emulation um eine Methode zur Erkennung zuvor unbekannter Bedrohungen, bei der eine Datei, die sich verdächtig (ungewöhnlich, atypisch) verhält, in einer virtuellen Umgebung („emulierte“ Umgebung), die einen realen Computer simuliert, ausgeführt wird. In dieser Umgebung beobachtet das Antivirus* das Verhalten der Datei; Wenn es dabei gefährliche Aktivitäten feststellt, isoliert es die Datei für weitere Untersuchungen.
Können Sie die Analogie zur mikrobiologischen Virologie erkennen? Warum sollte man einem Patienten, der möglicherweise an einer bestimmten Krankheit leidet, ein starkes Gegenmittel mit vielen Nebenwirkungen verabreichen, wenn der Patient eventuell von einer völlig anderen Erkrankung betroffen ist? Eine deutlich bessere Alternative ist es, den Virus in vitro zu emulieren, um zu sehen, was wirklich im Gange ist, um dann das entsprechende Medikament verabreichen zu können.
Die größte Herausforderung ist die gleiche wie auch in der Mikrobiologie: Es ist unglaublich wichtig, die emulierte Umgebung so real wie möglich zu gestalten. Anderenfalls könnten schädliche Dateien in der Lage sein, zu erkennen, dass es sich lediglich um ein Set-up handelt, und sich folglicherweise wie ein frommes Lamm verhalten. Wir führen bereits seit einigen Jahren Jahrzehnten Emulationen durch und sind der Konkurrenz in dieser Hinsicht wirklich um Längen voraus.
Der erste Emulator der Welt wurde 1992 von mir höchstpersönlich entwickelt. Und bereits kurze Zeit später schwärmten Experten auf der ganzen Welt von der Erkennungsrate unseres AV-Programms (ja – damals war es tatsächlich noch ein reines „Antivirus“), das die Konkurrenz in unabhängigen Tests, unter anderem dank des Emulators, weit hinter sich ließ.
Die Zeit verging und die Bedrohungslandschaft wurde immer komplizierter: Viren machten nach und nach Platz für Netzwerkwürmer, Trojaner und andere komplexe Schädlinge. In der Zwischenzeit steigerte sich auch die Vielfalt der Computer/Mobilgeräte/IoT-Gadgets und aller anderen digitalen Technologien; ebenso wie die Kompetenz des Emulators. Wir integrierten ihn in unsere KSN Sicherheitscloud, brachten ihm neue Programmiersprachen bei, und machten ihn mit neuen Browsern und anderen OS-Objekten bekannt – und das alles, um noch nie zuvor gesehenen Arten von Malware automatisch auf die Schliche zu kommen. Keine AI BS, lediglich viel und vor allem intelligente Arbeit – also alles, was es braucht, um echte HuMachine-Innovationen zu entwickeln :).
Heutzutage können sich nur wenige Mitbewerber mit einer solchen Technologie rühmen, was nicht verwunderlich ist: Die Emulation ist eine sehr schwierige Aufgabe, die ein langjähriges Know-how, eine zeitaufwändige Produktintegration und eine ständige Weiterentwicklung erfordert. Viele Neulinge in der Cybersicherheitsbranche investieren jedoch lieber in Bla-bla-bla-bla-Marketing. Kurzfristig kann dieser Ansatz die Geschäftsentwicklung erheblich vorantreiben; Doch Nutzer lassen sich nur eine gewisse Zeit etwas vorgaukeln. Früher oder später wird es zu einem gehörigen Missgeschick kommen – und das war’s. Anders ausgedrückt: Wenn ein Cybersicherheitsunternehmen über einen eigenen Emulator verfügt, können Sie defintiv davon ausgehen, dass sowohl das Know-how als auch die Reife des Entwicklers beeindruckend sind. Und umgekehrt: Kein Emulator = wenig Know-how und wenig Erfahrung.
Aber ich schweife vom Thema ab …
Obwohl unser Emulator kontinuierlich verbessert wurde, haben auch die Cyberschurken auf der anderen Seite der Barrikaden leider keine Däumchen gedreht. Ganz im Gegenteil: Sie haben ihre Geschäfts- und Cyberspionage-Operationen aktiv geschützt, und dazu gehört auch der Versuch, sich gegen unseren Emulator zu schützen.
Die fortschrittlichsten Bedrohungsakteure verwenden eine Reihe von Anti-Emulator-Tricks, um die „Reagenzglas“ -Umgebung zu erkennen – beispielsweise durch das Ausführen einer undokumentierten Funktion, die Authentizitätsüberprüfung von Anforderungen zum Ändern von Prozessor-Registern, die Analyse von Fehlercodes, die Suche nach spezifischem Code im Speicher, den Einsatz von „logischen Bomben“, die den Emulator in eine Endlosschleife versetzen, und so weiter. Sobald die Malware etwas Verdächtiges vernimmt, stoppt sie jegliche schädliche Funktionen.
Da wir uns diesen Taktiken aber sehr wohl bewusst sind, bleiben wir Cyberkriminellen weiterhin einen Schritt vorraus, indem wir unseren Emulator ständig optimieren und auch auf andere Art und Weise stetig verbessern (hauptsächlich durch die Reduzierung der Ressourcenintensität). Um ihn zu beschleunigen, verwenden wir beispielsweise verschiedene Begrenzer, Optimierer und Konfigurationsprofile, die den Emulator unter bestimmten Bedingungen sogar vollständig deaktivieren können, wenn es sich bei der Verzögerung um einen BSoD handelt.
In der Zwischenzeit haben uns unsere Patent-Krieger neulich gute Nachrichten von der Emulationsfront überbracht: Wir haben ein Patent (US10275597) für einen Programmcode-Emulator erhalten, der unbekannte Objekte interpretieren kann! Soweit ich weiß, gibt es ein solches Feature in keinem unserer Konkurrenzproduke: Um vor den Anti-Emulator-Tricks von Malware zu schützen, müssen Wettbewerber ihren gesamten Emulator überarbeiten, was selbstverständlich kein schneller Prozess ist. Wir haben unseren Emulator allerdings darauf geschult, sich aus einer lokalen Datenbank einfach selbst zu aktualisieren! Eine sehr nützliche Funktion, und es gibt keinen Grund, Ihnen nicht davon zu berichten :).
Einige Dateien werden allerdings nicht im Maschinencode, sondern direkt im Quellcode verteilt. Um sie auf einem Computer ausführen zu können, ist deshalb ein Interpretierprogramm notwendig (z. B. JavaScript oder VBA), das den Code in Echtzeit in eine maschinenfreundliche Sprache übersetzt. Und auch in derartigen Dateien befindet sich häufig Malware.
Um unbekannte Bedrohungen dieser Art zu erkennen, haben wir vor vielen Jahren einen Programmcode-Emulator entwickelt, der Dateien „in einem Reagenzglas“ überprüft, bevor sie ausgeführt werden. Das gesamte Interpretierprogramm zu emulieren ist jedoch zu ressourcenintensiv: Die Verzögerung bei der Verarbeitung von Webseiten mit Skripten würde gleichzeitig auch viele frustrierte Internetnutzer bedeuten. Daher erstellen Emulatoren in der Regel eine Kompromissversion, die auch in Hinsicht auf Leistung und Qualität des Schutzes akzeptabel ist. Aber was passiert, wenn der Emulator auf ein unbekanntes Objekt, eine unbekannte Methode oder eine unbekannte Funktion im Code stößt, deren Interpretation für eine vollwertige Analyse der Datei unbedingt erforderlich ist?
Wir haben dieses Problem alternativ gelöst – und zwar mithilfe eines intelligenten Interpretierprogramms, das in der Lage ist, schnell zu lernen, wie man solche Objekte emuliert. Während eines Updates via KSN-Cloud erhält das Produkt Hilfscode in der Sprache des zu analysierenden Objekts (JavaScript, VBA, VB Script, AutoIt …) und kehrt dann mit seinem neuen Wissen zur Überprüfung der Datei zurück. In besonders schwierigen Fällen, wird die Aufgabe automatisch an unsere Analysten weitergeleitet, die den notwendingen Hilfscode entwickeln und dann umgehend zur Datenbank hinzufügen.
Auf diese Weise steht den Benutzern nicht nur eine leistungsstarke, sondern auch eine extrem schnelle Technologie zur Verfügung, die im Handumdrehen auf Cyberbedrohungen reagieren kann – ohne auf den Re-Release des gesamten Emulators zu warten. Bingo!
* „Antivirus“ ist ein weiterer Archaismus der Computerviren-Ära. Moderne Virenschutzprogramme schützen nicht nur vor Viren, sondern vor allen Arten von Malware. Sie enthalten darüber hinaus viele andere nützliche Sicherheitsfunktionen: zum Beispiel einen Passwort Manager, ein VPN, einen angemessenen Kinderschutz, Back-ups und vieles mehr. Im Grunde genommen sollte ein gutes „Antivirus“ heutzutage eigentlich als „Anti-Dies, Anti-Das, Anti-Alles, das mich, meine Familie, all unsere Geräte und all unsere Daten schützt – und dazu mit jeglichem Schnickschnack ausgestattet ist“, heißen.