Wie erkennen Antivirenprogramme Malware?
Auf dem heutigen Markt gibt es eine Vielzahl von Virenscannern, die in ihrem Marketing ihre besonderen Verteidigungsstrategien hervorheben. Trotz der scheinbar großen Vielfalt lassen sich die Erkennungsverfahren im Wesentlichen auf vier Hauptmethoden eingrenzen, die in weitere Gruppen unterteilt werden können. Diese vier Hauptmethoden sind:
- Signaturbasierte Erkennungsmechanismen
- Heuristische Erkennungsmechanismen
- Verhaltensanalyse
- Sandboxing
Diese sollen im Folgenden vorgestellt werden.
Signaturbasierte Erkennungsmechanismen
Die signaturbasierte Erkennung zählt zu den reaktiven und damit zu den klassischen Methoden der Virenerkennung. Reaktiv deshalb, da die jeweilige Malware schon einmal aufgetreten und analysiert worden sein muss, sodass sie erkannt werden kann. Im Grunde funktioniert diese Methode immer nach demselben Muster: Eine Malware tritt zum ersten Mal auf, die großen Antivirensoftwarehersteller analysieren diese und extrahieren eine individualisierende Signatur, die in die Datenbank der Hersteller übernommen wird. Anhand dieser Signatur scannen die Antivirenprogramme nun die Dateien und unterscheiden dadurch „saubere“ Software von Malware. Bei den Signaturen handelt es sich somit um eine identifizierende Bytefolge der Malware, quasi einen Fingerabdruck. Aus diesem Verlauf ist auch ersichtlich, warum du deine Virenprogramme immer aktuell halten musst. Heutige Viren treten in so vielen verschiedenen Varianten und in so hoher Schlagzahl auf, dass die Hersteller meist die Datenbanken fast permanent updaten.
Die grundlegende Scantechnik im Bereich der signaturbasierten Erkennung ist das sog. String Scanning. Hier werden charakteristische Signaturen im Binärcode der Malware gesucht, anhand derer die Antivirenprogramme dann Alarm schlagen. Es bestehen noch viele Weiterentwicklungen dieser Methode, auch Kombinationen mit Künstlicher Intelligenz.
Heuristische Erkennungsmethode
Bei der heuristischen Erkennungsmethode handelt es sich um eine proaktive Methode zur Erkennung neuer, unbekannter Malware. Da Malware in immer kürzeren Zeitabständen entwickelt wird, brauchte es eine Methode, die auch neuartige Malware erkennt.
Die Erkennung der Malware erfolgt hier auf Basis der Heurisitik. Heuristiken sind „[…] verkürzte Operationen, mit deren Hilfe Schlußfolgerungen gezogen werden, ohne komplizierte und vergleichsweise langwierige Algorithmen einsetzen zu müssen. Der Vorteil der Heuristiken liegt darin, daß sie ressourcensparend zu Schlußfolgerungen führen, die in den meisten Lebenssituationen eine hinreichende Güte besitzen.“ (zur Quelle des Zitats) Aufgrund der auf Annahmen basierten Herangehensweise kann jedoch nicht immer mit abschließender Sicherheit jede Malware erkannt werden. Zudem besteht die Gefahr von False Positive-Meldungen, d.h. dass unschädliche Dateien als Malware eingestuft werden. Aus diesen Gründen ist die heuristische Methode immer ein Bestandteil eines gesamten Methodenbündels.
Dazu ein stark vereinfachtes Beispiel: Der Code von PE-Dateien (kurz für: Portable Executables, z.B. EXE-Dateien in Windows) ist in mehrere Sektionen, wie z.B. Data-, Code-, Debug-Sektion. Die Annahme ist, dass der Standardcompiler den Einstiegspunkt einer Win32-Applikation immer auf die Code-Sektion linkt. Einige Win32-Viren ändern den Einstiegspunkt jedoch auf eine andere Sektion. Basierend auf dieser Annahme, werden in der Heuristik veränderte PE-Dateien als verdächtig eingestuft.
Verhaltensanalyse
Bei der Verhaltensanalyse wird im Gegensatz zu den oberen Methoden nicht direkt die mögliche Malware gescannt, sondern es findet eine fortlaufende Überwachung der Prozesse des Systems statt. Die Virenscanner schreiten hier in der Regel dann ein, wenn bestimmte Verhaltensregeln missachtet oder die Toleranz der Sicherheitstools überstrapaziert werden. Grundlage hierfür sind festgelegte Toleranzwerte, die an verschiedene, auch systemkritische, Prozesse geknüpft sind. Nachteile der Methode sind, dass der Schaden lediglich begrenzt werden kann, da die Ausführung des verdächtigen Prozesses schon begonnen hat.
Sandboxing
Beim Sandboxing handelt es sich um eine dynamische Methode. Hierbei werden fragliche/verdächtige Dateien in einem vom Rest abgeschirmten Bereich, ähnlich einer virtuellen Maschine, ausgeführt. Diese virtuelle Umgebung bietet nahezu vollen Lesezugriff auf das Hauptsystem, sodass sogar Registry-Einträge ausgelesen werden dürfen. Dies ist nötig, um den vollen Funktionsumfang einer verdächtigen Datei zu sehen. Die möglichen Netzwerkoperationen und Schreibzugriffe sind jedoch stark eingeschränkt. Verändert die mögliche Malware Dateien oder schreibt neue, so findet dies nur in der virtuellen Umgebung und nicht im Hauptsystem statt. Nach Ausführung werden schließlich die veränderten und neuen Dateien verworfen und die verdächtigen Aktionen der möglichen Malware dokumentiert. Die Hauptintention hinter dieser Methode war es, dass User sehr häufig Dateien aus unbekannten Quellen ausführen müssen, denen sie nicht ohne Weiteres vertrauen können, wie z.B. E-Mail-Anhängen.
Auch wenn diese Methode vor der Ausführung von verdächtigen Dateien auf dem Hauptsystem schützt und Malware erkennt, die durch die obigen Methoden nicht erkannt wird, sind auch Nachteile mit ihr verbunden. Beispielsweise gibt es Malware, die die Ausführung in einer Sandbox erkennt und sie somit normal verhält oder sogar Funktionen besitzt, um aus der Sandbox auszubrechen.
Die hier vorgestellten Methoden stellen die grundsätzlichen Funktionen von Antiviren-Scannern dar. Aufgrund der schnellen Weiterentwicklung von Malware sind aber auch die Cybersecurity-Firmen darauf bedacht neue Scanmethoden zu entwickeln und implementieren immer mehr auch neuronale Netze in die o.g. Hauptmethoden. Hierzu hat zum Beispiel Kaspersky einen interessanten Artikel dazu verfasst.