
Malware-Grundlagen: Techniken zur Signaturumgehung
Trotz aller Fortschritte bei der Malware-Erkennung ist die gängigste Methode zum Schutz von Endgeräten (und so ziemlich die einzige Methode, die Endbenutzern zur Verfügung steht) nach wie vor die signaturbasierte Erkennung. Diese Methode stützt sich auf bekannte bösartige Datei-Hashes und Signaturen mit regulären Ausdrücken, um Malware zu erkennen. Signaturen sind zwar keineswegs unwirksam, aber sie beruhen darauf, dass Malware-Samples bereits analysiert wurden, damit daraus Signaturen erstellt werden können. Dadurch können neue Malware-Varianten oder Malware, die sich vor diesen Signaturen versteckt, oft übersehen werden. Zu diesem Zweck verwendet Malware oft verschiedene Umgehungstechniken, um eine signaturbasierte Erkennung und manchmal sogar eine statische Analyse zu vermeiden.
Verschleierung
Unter Verschleierung versteht man die Verschleierung der beabsichtigten Bedeutung von etwas, was im Falle von Malware die beabsichtigte Funktionalität der Malware ist. Da ein Großteil der signaturbasierten Erkennung und der statischen Analyse darauf beruht, bösartige Aktionen der Malware zu finden, kann deren Verschleierung die Erkennung erschweren.
Im Falle dokumentenbasierter Malware, die auf Skripten beruht, beinhaltet dies in der Regel Techniken, die das Skript für Analysten und Software gleichermaßen unverständlich machen. Ein Analyst würde die Verschleierung natürlich sofort erkennen und wissen, dass sich dahinter wahrscheinlich eine bösartige Aktivität verbirgt. Aber Signaturen verlassen sich auf das, was sich wiederholt, während die Verschleierung in der Regel programmatisch erzeugt wird, um so viel Varianz wie möglich in den Mustern zu erzeugen.
Denken Sie an die Caesar-Chiffre, bei der jeder Buchstabe einer Zahl zugeordnet ist, aber durch Rotation dieser Zahlen können 26 verschiedene Chiffren aus dem englischen Alphabet erstellt werden. Im Hinblick auf die Verschleierung von Malware wären dies 26 verschiedene Signaturen, die nur für dasselbe Code-Snippet verfolgt werden müssten. Tatsächliche Verschleierungsschemata sind nicht unbedingt komplexer als dieses Beispiel, weisen jedoch eine viel höhere Varianz als 26 Ausgaben auf, sodass zu viele Versionen desselben verschleierten Codes mit einfachen Signaturen realistisch nachverfolgt werden können. Abhängig von den verwendeten statischen Analysetechniken ist es möglich, dass sogar dies manchmal umgangen wird.
Packer
Packer sind in gewisser Weise eine Form der Verschleierung auf Binärebene und wurden ursprünglich dazu entwickelt, ausführbare Dateien so zu komprimieren, dass sie weniger Platz beanspruchen. Diese Komprimierung erschwert auch das Reverse Engineering des Codes, was sowohl für legitime Softwareunternehmen nützlich ist, um proprietäre Daten zu schützen, als auch für Malware-Autoren, um die Erkennung der Malware und ihrer Aktivitäten zu erschweren.
Die komprimierten Daten werden zur Laufzeit von einem im Packer enthaltenen Loader extrahiert und ausgeführt. Vom Standpunkt der Signatur aus gesehen, kann der Code, der das Entpacken vornimmt, erkannt werden. Da es aber auch legitime Verwendungszwecke für Packer gibt, kann dies gelegentlich zu falsch positiven Ergebnissen führen, wenn Packer-Bibliotheken von Antimalware-Software vollständig blockiert werden.
Malware-Autoren können außerdem eigene Pakete erstellen, um Signaturerkennung zu vermeiden und mehr Arbeit für Malwareanalysten zu schaffen. Es ist nicht ungewöhnlich, dass Malware mehrfach mit verschiedenen Packern gepackt wird, um das Auffinden des eigentlichen Rohinhalts der Datei zusätzlich zu erschweren.
Verschlüsselung und Kryptos
Während Packer den Code durch Komprimierung verschleiern, verbirgt die Verschlüsselung den Code mithilfe der Kryptografie vollständig. Malware, die auf diese Weise Verschlüsselung nutzt, wird oft als Kryptor bezeichnet. Kryptoren lösen den Code auf und führen ihn zur Laufzeit aus, ähnlich wie Packer. Anstatt sich jedoch auf einen Lader zu verlassen, um den Code zu dekomprimieren, können sie einfach einen Entschlüsselungsprozess verwenden, für den die Betriebssysteme bereits Optionen eingebaut haben, anstatt sich darauf zu verlassen, dass der Prozess in der Datei selbst enthalten ist.
Die Kryptographie-Bibliothek kann jedoch immer noch in die Datei aufgenommen werden, wenn der Autor dies wünscht, da eine Reihe von Open-Source-Bibliotheken zur Verfügung stehen und – obwohl dies in der Welt der Kryptographie niemals empfohlen wird – kann auch ein eigener Entschlüsselungscode verwendet werden. Die Verschlüsselung stellt auch sicher, dass kein Originalcode in der Binärdatei enthalten sein kann, während Packer aufgrund der Komprimierungsmethode möglicherweise unverschlüsselte Anweisungen erhalten.
Erkennen von bösartigem Code
Das Verstecken von bösartigem Code ist bei weitem die einfachste Umgehungsmethode von Malware, kann jedoch leider immer noch recht effektiv gegen Signatur- und statische Analyseerkennungsmethoden sein. Es kann auch mehr Arbeit für Malware-Analysten bedeuten, die herausfinden wollen, was Malware tut, um die Erkennung zu verbessern.
Letztlich hängt jede Malware-Erkennung davon ab, bösartige Indikatoren zu finden, und ohne dynamische Analyse müssen sich diese Indikatoren in der Binärdatei selbst befinden, um erkannt zu werden. Fortschrittlichere statische Analysesysteme können gängige Packer und Kryptoren berücksichtigen, die von Malware verwendet werden, aber das verlangsamt den Analyseprozess und hilft nicht, wenn Malware benutzerdefinierte Implementierungen verwendet.
Die anderen Artikel der Reihe Malware 101 finden Sie hier.

Der Ransomware Insights Bericht 2025
Wichtige Erkenntnisse über die Erfahrungen und Auswirkungen von Ransomware auf Unternehmen weltweit
Abonnieren Sie den Barracuda-Blog.
Melden Sie sich an, um aktuelle Bedrohungsinformationen, Branchenkommentare und mehr zu erhalten.

Managed Vulnerability Security: Schnellere Behebung von Schwachstellen, weniger Risiken, einfachere Compliance
Erfahren Sie, wie einfach es sein kann, die von Cyberkriminellen bevorzugte Schwachstellen zu finden.