Heuristische Analyse
Bei der heuristischen Analyse kann eine Reihe von verschiedenen Techniken eingesetzt werden. Eine heuristische Methode, die so genannte statische heuristische Analyse, besteht darin, ein verdächtiges Programm zu dekompilieren und seinen Quellcode zu untersuchen. Dieser Code wird dann mit bereits bekannten Viren verglichen, die sich in der heuristischen Datenbank befinden. Wenn ein bestimmter Prozentsatz des Quellcodes mit etwas in der heuristischen Datenbank übereinstimmt, wird der Code als mögliche Bedrohung gekennzeichnet.
Eine andere Methode ist als dynamische Heuristik bekannt. Wenn Wissenschaftler etwas Verdächtiges analysieren wollen, ohne Menschen zu gefährden, schließen sie die Substanz in einer kontrollierten Umgebung wie einem sicheren Labor ein und führen Tests durch. Bei der heuristischen Analyse läuft der Prozess ähnlich ab – allerdings in einer virtuellen Welt.
Dabei wird das verdächtige Programm oder der verdächtige Code in einer speziellen virtuellen Maschine – oder Sandbox – isoliert, so dass das Antivirenprogramm die Möglichkeit hat, den Code zu testen und zu simulieren, was passieren würde, wenn die verdächtige Datei ausgeführt werden dürfte. Es prüft jeden Befehl, sobald er aktiviert wird, und sucht nach verdächtigen Verhaltensweisen wie Selbstreplikation, Überschreiben von Dateien und anderen Aktionen, die für Viren typisch sind, und meldet mögliche Probleme an den Benutzer.
Die heuristische Analyse ist ideal für die Erkennung neuer Bedrohungen, aber um effektiv zu sein, muss die Heuristik sorgfältig abgestimmt werden, um die bestmögliche Erkennung neuer Bedrohungen zu gewährleisten, ohne jedoch falsch-positive Ergebnisse bei völlig harmlosem Code zu erzeugen.
Aus diesem Grund sind heuristische Tools oft nur eine Waffe in einem ausgeklügelten Antivirus-Arsenal. Sie werden in der Regel zusammen mit anderen Methoden der Virenerkennung eingesetzt, wie z.B. der Signaturanalyse und anderen proaktiven Technologien.