Emulieren, um zu löschen

Beginnen wir erst einmal mit einer kurzen Rückblende…:

Es gibt keinen hundertprozentigen Schutz. Das wissen Sie wahrscheinlich mittlerweile. Tatsache ist, dass sogar die zuverlässigste Antiviren-Lösung manchmal von professionellen Angriffen ausgetrickst wird. Das alleine ist schlimm genug, noch schlimmer ist, dass weniger gute Antiviren-Lösungen regelmäßig von den Schädlingen ausgebootet werden.

Wenn sie es möchten, können sich wirklich professionelle Kriminelle in so ziemlich alles einhacken; zum Glück gibt es nicht viele solcher Cyber-Moriartys. In den meisten Fällen werden Cyber-Übergriffe von stinknormalen Programmieren ausgeführt, die anscheinend Richtig und Falsch verwechseln – verführt von ihrer eigenen Habgier denken sie, dass sie damit schon durchkommen werden (falsch gedacht!). Diese risikobereiten Jungs haben keine umfassenden kriminellen Cyber-Erfahrungen, um die besten Verteidigungsanlagen zu hacken, doch sie können sehr gut in Computer eindringen, die entweder gar nicht geschützt sind oder einen Schutz wie ein Küchensieb haben. Und leider gibt es weltweit nicht gerade wenige solcher Computer.

Die Logik hinter all dem ist eigentlich ganz einfach:

Je besser der Schutz, desto besser ist natürlich auch die Verteidigung. Gleichzeitig gilt aber auch: Je professioneller der Angriff, desto eher wird eine bessere Verteidigung durchbrochen.

Mit den mittlerweile 2,5 Milliarden Internet-Anwendern potenziellen Opfern, kommt diese Logik zu folgendem einfachen Ergebnis:

Kriminelle benötigen heute keine Super-Mega-Nachschlüssel mehr, um in gut gesicherte Tresore einzudringen (vor allem, wenn in solchen Tresoren oft recht gruseliges/seltsames/gefährliches Zeug liegt, von dem man besser nichts weiß). Es ist viel einfacher – und günstiger –, in etwas viel Unkomplizierteres einzudringen (etwa das Netzwerk des Nachbarn), denn dort sind die Verteidigungsanlagen viel, viel leichter zu umgehen, und die Lagerstätten besser auszukundschaften.

Sie sehen schon, wohin das führt: Für den durchschnittlichen Hacker ist es sinnlos, den ganzen Ärger auf sich zu nehmen, und mega-professionelle Attacken zu planen und durchzuführen. Auch wird er sich kaum von Windows auf Mac verlegen. Es ist viel effektiver, ein Flächenbombardement zu starten, bei dem man ohne zielgerichtete Angriffe so viele Opfer wie möglich erreicht. Dazu braucht es nicht viel Vorbereitung oder Gehirnschmalz.

Je besser der Schutz, desto uninteressanter ist etwas für die bösen Jungs. Sie werden nicht extra versuchen, einzubrechen, wenn sie auch woanders – viel angreifbarere – Opfer finden.

Nun möchte ich Ihnen etwas vorstellen, das Cyberkriminelle davon abhält, Ihren Computer anzugreifen und lieber nach anderen potenziellen Opfern zu suchen, bei denen so etwas nicht zu finden ist. Ja, es ist mal wieder Zeit für einen interessanten Blick unter die Motorhaube unserer Antiviren-Lösungen, bei dem Sie mehr darüber erfahren, wie das K in Ihrer Taskleiste die Cyberkriminellen abhält – und zwar über die Emulation, die Sie vor zukünftigen Bedrohungen schützt.

Ich haben absichtlich „mehr“ geschrieben, da ich auf diesen Seiten schon über die Emulation gesprochen habe. Allen, die diesen älteren Beitrag noch nicht gelesen haben, empfehle ich, ihn kurz anzusehen. Wenn Sie es aber eilig haben, hier eine schnelle Zusammenfassung…

Kurz gesagt, die Emulation ist eine Methode zum automatischen Entdecken brandneuer Schadprogramme – sie analysiert das Verhalten verdächtiger Programme, ohne sie wirklich auf dem Computer zu starten –, so dass sie keinen Schaden anrichten können. Doch wie können wir ein Programm analysieren, ohne es wirklich zu starten? Nun, das ist das Besondere an der Emulation: Sie emuliert den Programmstart nur. Der Emulator erzeugt eine spezielle, virtuelle Umgebung, in der das Programm gestartet wird. Das ist ungefähr so wie der Test oder die Analyse eines (menschlichen) Virus (zum Beispiel eines Grippevirus) in einem Reagenzglas, statt das Virus direkt zu testen/analysieren, während es durch die Adern einer armen Seele schwimmt, die gerade die Grippe hat. Es ist einfach eine viel weniger schmerzhafte Vorgehensweise – sowohl für den kranken Menschen als auch für den Computer.

Ich füge gerne noch hinzu, dass sich Schädlinge bei der Emulation nicht verstecken können! Naja, fast nicht… Es gibt ein einziges großes „Aber“, das die Freude etwas trübt:

Die fortschrittlichsten (und gefährlichsten) Schadprogramme haben gelernt, wie sie solche künstlichen Testumgebungen erkennen können und ändern dann automatisch ihre Angriffsvektoren, so lange sie keinen Schwachpunkt in der Computerverteidigung finden können.

Das sind aber ganz spezielle Anti-Emulator-Tricks. Zum Beispiel der Start undokumentierter Funktionen, die Prüfung der Echtheit der Umgebung durch Änderungen im Prozessor-Register, die Analyse von Fehlercodes, die Suche nach bestimmtem Code im Speicher, das Verwenden von „Logikbomben“, die den Emulator in Endlosschleifen stürzen und noch vieles mehr.

Sobald ein Trick Erfolg hat, weiß das Schadprogramm, dass es sich in einem Reagenzglas befindet und verändert sich selbst zu einem anscheinend gutartigen Programm, das kein Wässerchen trüben kann. Oder es schaltet sich einfach ab. Dann versucht es heimlich im Hintergrund anzugreifen, indem es eine andere Logik verwendet, um sich unbemerkt am Emulator vorbei zu schleichen.

Die Kämpfe an dieser Front folgten jahrelang dem üblichen hin und her von Old-School-Grabenkämpfen – abwechselnd wurde geschossen, um die Oberhand über den Kontrahenten zu gewinnen, laufend wurden neue Tricks und Verteidigungen ersonnen, immer und immer wieder. Doch all das hat dem durchschnittlichen Anwender wenig Freude gemacht. Da der Kampf so langwierig und ermüdend war, und so viele Ressourcen beanspruchte, hatten einige Experten schon beschlossen, dass die Tage der Emulation als hilfreiche Antiviren-Technologie gezählt seien. Doch wir haben einen Weg gefunden, in dieser Sache das letzte Wort zu haben :).

Klar war, dass wir die Emulation nur gewinnen können, wenn wir ein Reagenzglas (eine Testumgebung)  entwickeln, die mit dem menschlichen Körper (der eigentlichen Computer-Umgebung) identisch ist.

Nun ja, bei biologischen Viren bin ich mir im heutigen Zeitalter des Klonens nicht ganz sicher :), aber bei Computer-Schädlingen ist das zumindest theoretisch möglich; allerdings ist es wahnsinnig teuer und enoooorm kompliziert, das in die Praxis umzusetzen. Warum? Hauptsächlich weil ein komplett neues Betriebssystem entwickelt werden muss – eines, das mit dem Original übereinstimmt. Und so ein Betriebssystem müsste für jede einzelne verdächtige Datei gestartet werden. Stellen Sie sich vor, welche Systemressourcen das benötigen würde!

Also sind wir es anders angegangen – auf einem weniger gar nicht benutzten Weg, einer Umleitung…

Der Großteil der schädlichen Programme arbeitet auf der Benutzerebene des Betriebssystems. Für Systemaufrufe (zum Beispiel beim Schreiben oder Lesen von Dateien) interagieren sie allerdings mit dem Kernel des Systems auf Systemebene. Zwischen diesen beiden Ebenen gibt es einen großen Unterschied: Auf der Benutzerebene können Programme sehen, welche Änderungen an der Umgebung gemacht werden (und dadurch auch Anti-Emulator-Tricks anwenden), während sie dies auf der Systemebene nicht können.

Deshalb haben wir all unsere hochentwickelten Emulationsfunktionen auf der Systemebene zusammengefasst, während wir uns auf der Benutzerebene darauf konzentrieren, die höchstmögliche Ähnlichkeit zur Originalumgebung herzustellen. Das Ergebnis: eine fast perfekte Lösung, das „Reagenzglas“ unsichtbar zu machen!

Genauer gesagt, emulieren wir ganz genau die Ausführung aller API-Funktionsaufrufe und gehen dann auf die Systemebene für die tiefe Anti-Malware-Analyse. Dadurch hat ein Schadprogramm auf Benutzerebene das Gefühl, sich ungestraft in einer jungfräulichen Umgebung zu bewegen – allerdings ist das ein trügerisches Gefühl – und gibt dadurch schlussendlich seine schädlichen Absichten zu. Bingo!

Wie bei allen Technologien, verlangsamt leider auch unser turboschneller (und übrigens auch super-stabiler) Emulator die Computerleistung etwas, so dass wir einen intelligenten Hardware-Beschleuniger hinzugefügt haben, der die Software-basierte Emulation wahlweise umgeht und einige Teile eines Programms auf dem echten Prozessor ausführt. Ich will hier nicht zu sehr ins Detail gehen (der Patentantrag läuft noch!), doch ich kann sagen, dass wir damit ein technologisches Duo bieten, das schneller als die traditionelle Emulation arbeitet! Noch einmal: Bingo!

Kommentare lesen 0
Hinterlassen Sie eine Nachricht.