Logo Scheinsicherheit

 

-- Scanners -- Baustelle



*** Translations still needs work. Volunteers welcome... ***

Attention: The below reports are outdated. You will find more up-to-date and more accurate scan logs in the forum.


In the following, we discuss the most important technologies that are used by AV/AT producers to detect compressed or crypted malware --> see "Various Detection Methods".

Subsequently, we examine several AV and AT scanners in order to figure out how well they can handle compressed or crypted malware --> see "Several Scanners Examined" and draw a --> "Conclusion".

Various Detection Methods


In der Regel werden zur Erkennung von laufzeitkomprimierter oder verschlüsselter Malware folgende (mehr oder weniger gut funktionierenden) Technologien bzw. Behelfslösungen eingesetzt:

(a) Verwenden zusätzlicher Signaturen für speziell behandelte Malware,
(b) Verwenden einer Unpacking Engine,
(c) heuristisches Scannen sowie
(d) Scannen im Arbeitsspeicher (RAM).

Die einzelnen Verfahren, die auch kumulativ eingesetzt werden können, werden nachfolgend kursorisch erklärt. Für eine ausführlichere Darstellung der Funktionsweise von AV Scannern siehe etwa Jay Munro (http://www.extremetech.com/...), Markus Schmall (http://online.securityfocus.com/...), Igor Muttik (http://www.nai.com/...) oder Katherine Carr (http://www.sophos.com/...).

a) Verwenden zusätzlicher Signaturen für speziell behandelte Malware

Hersteller von AV/AT Produkten, die über keine (brauchbare) Unpacking Engine verfügen, müssen behelfsweise einen anderen Weg beschreiten, um gepackte oder gecryptete Malware zu erkennen. Solche Hersteller fügen regelmässig die bereits gepackten bzw. gecrypteten Schadprogramme in ihre Signaturdatenbanken ein. Es werden also zusätzliche Signaturen für jede einzelne modifizierte Version eines an sich bereits bekannten Schädlings erstellt. So werden nicht nur die Originalmalware, sondern auch einige Varianten erkannt.

Angesichts der Vielzahl der derzeit verfügbaren Packer und Crypter (und der unterschiedlichen Kompressionsstufen und Einstellungsmöglichkeiten) bei solchen Programmen kann man sich allerdings leicht ausrechnen, dass es quasi unmöglich ist, jeden Schädling in jeder nur erdenklichen gepackten bzw. gecrypteten Form der Signaturdatenbank hinzuzufügen. Dies würde sich auch negativ auf die Geschwindigkeit eines AV/AT Scanners auswirken. Es muss deshalb regelmässig eine sehr begrenzte Auswahl getroffen werden. Dass bei einer solchen Vorgehensweise nur ein unzureichender Schutz zu erwarten ist, liegt auf der Hand, zumal die Verwender von Trojanern genau wissen, mit welchen Packern bzw. Cryptern sie welche AV-Programme austricksen können. Wenn ein AV/AT Scanner über eine spezielle Signatur für relativ viele gepackte bzw. gecryptete Trojaner verfügt, kann es auf den ersten Blick so aussehen, als sei eine funktionierende Unpacking Engine vorhanden. Deshalb ist es wichtig, einen Scanner mit mit mehreren Trojanern (auch mit solchen, die in der Praxis weniger verbreitet sind) zu testen, um der "Wahrheit" auf die Spur zu kommen. Anhand der Scanresultate der Trojan Defense Suite (TDS-3) lässt sich beispielsweise nicht sofort feststellen, ob das Produkt eine (fehlerhaft arbeitende) Unpacking Engine besitzt oder nur sehr viele spezielle Signaturen für laufzeitkomprimierte bzw. verschlüsselte Trojaner erstellt wurden. Letzteres ist der Fall.

Im allgemeinen fallen die Erkennungsraten der von uns getesteten Scanner ohne Unpacking Engine deutlich ab im Vergleich zu den Scanleistungen der Produkte mit Unpacking Engine (siehe sogleich).


b) Verwenden einer Unpacking Engine


Durch eine Unpacking Engine kann das Problem umgangen werden, separate Signaturen für jede einzelne Variante eines verschlüsselten oder gepackten Schadprogammes erstellen zu müssen. Da die Unpacking Engine ein verdächtiges Programm zunächst entpackt bzw. entschlüsselt und erst anschliessend der Signaturvergleich durchgeführt wird, bedarf es in der Regel nur einer Signatur pro Malwareexemplar. (Mehrere Signaturen oder alternative Erkennungstechnologien können u.U. für sich verändernde Malware erforderlich sein. Insbesondere Viren und Würmer sind häufig polymorph. Es existieren aber auch polymorphe Trojaner wie etwa MoSucker 3.0). Soweit eine Unpacking Engine einzelne Packer oder Crypter nicht unterstützt, kann hilfsweise auf die unter a) genannte Behelfslösung zurückgegriffen werden.

Eine Unpacking Engine kann so programmiert werden, dass sie Routinen zum Entpacken oder Entschlüsseln bestimmter Packer bzw. Crypter enthält. Schwierigkeiten kann es hierbei bereiten, den Typ des verwendeten Packers oder Crypters zu bestimmen. Eine mit UPX gepackte Datei enthält beispielsweise im Dateiheader Informationen über die Art des verwendeten Packers. Diese Informationen lassen sich aber mit einem Hexeditor leicht verfälschen. Ein Scanner mit einer "guten" Unpacking Engine kann eine auf diese Weise manipulierte Datei dennoch entpacken. Aus diesem Grund haben wir stichprobenweise auch mit gepackten Trojanern getestet, deren Dateiheader nachträglich "gefälscht" wurde.

Einige Unpacking Engines enthalten nicht nur spezielle Routinen zum Entpacken bestimmter Packer oder Crypter (passives Disassemblieren), sondern verwenden eine sog. aktive "Emulation". Die Emulation führt den Code einer verdächtigen Datei (einschliesslich der im Code enthaltenen Routinen zum Entpacken bzw. Entschlüsseln) innerhalb einer virtuellen Umgebung aus und analysiert ihn dabei. Das Verwenden einer Emulation ist recht effektiv, da auf diese Weise auch manche (aber nicht alle) "unbekannten" Packer oder Crypter entpackt werden können. Andererseits ist das Verwenden einer Emulation zeitaufwendig und technisch anspruchsvoll. Dies gilt insbesondere dann, wenn ein Scanner nach Signaturen im Wege des --> "single-point scanning" sucht.

Im Ergebnis konnte keines der von uns untersuchten Produkte, die eine Unpacking Engine enthalten, sämtliche Packer und Crypter "durchleuchten". Im Gegensatz zu denjenigen Scannern, die ohne Unpacking Engine auskommen müssen, konnten aber eine deutlich grössere Zahl von gepackten und gecrypteten Schädlingen beim Dateiscan erkannt werden. Daraus folgt unseres Erachtens, dass Produkte mit Unpacking Engine ein in der Praxis nicht zu unterschätzendes Plus an Sicherheit gewährleisten.

(Für weiterführende Informationen siehe auch "Sandbox Technology Inside AV Scanners" von Kurt Natvig, Norman.)

c) Heuristisches Scannen

Beim heuristischen Scannen einer Datei wird deren Code analysiert und nach bestimmten verdächtigen Merkmalen durchsucht. Viren neigen etwa typischerweise dazu, andere ausführbare Dateien zu öffnen, um sie zu infizieren. Führt eine Datei innerhalb kurzer Zeit eine Vielzahl solcher Dateioperationen durch (Öffnen von ausführbaren Dateien nebst anschliessenden Schreiboperationen), liegt der Verdacht nahe, dass es sich um Malware handelt. Moderne Heuristiken verfügen insoweit über eine Vielzahl von ausgefeilten Erkennungsmechanismen. Wenn eine Heuristik genügend Verdachtsmomente ermittelt hat, schlägt der Scanner an und gibt Alarm.

Der grosse Vorteil einer Heuristik besteht in der Theorie darin, dass Malware selbst dann als solche identifiziert werden kann, wenn es beim Signaturscan kein "Treffer" erzielt werden kann. Der grösste Nachteil einer Heuristik besteht in der Praxis darin, dass es relativ leicht zu Fehlalarmen kommen kann. Ausserdem kann Malware, die nur durch eine Heuristik erkannt (also nicht exakt identifiziert) wird, nicht automatisch und zielgenau durch den AT/AV Scanner entfernt werden. Der Anwender weiss dann zwar, dass er infiziert ist, muss die Desinfektion des Rechners aber (halb)manuell vornehmen. Unerfahrene Anwender werden hiermit regelmässig überfordert sein.

Heuristiken können nicht nur bei "On-Access-Scannern", d.h. im Rahmen einer permanenten Überwachung durch einen sog. speicherresidenten Viruswächter, sondern auch beim "On-Demand-Scanning" eingesetzt werden. Letzteres macht aber regelmässig nur dann Sinn, wenn der On-Demand-Scanner gleichzeitig über eine aktive Unpacking Engine (Emulation) verfügt.

In der Regel ist die heuristische Erkennung von Trojanern deutlich schwieriger als die heuristische Erkennung von Viren oder Würmen zu bewerkstelligen. Daher kommt der heuristischen Identifizierung von Trojanern in der Praxis noch keine sehr hohe Bedeutung zu.

Die Produkte TrojanHunter 3.5 sowie Trojan Defence Suite 3 verfügen insoweit über eine besonders fortschrittliche Heuristik. Bei unseren Tests gelang es diesen AT Scannern in Einzelfällen, gepackte Trojaner als "unbekannte" Malware zu identifizeren, obwohl die Trojaner beim normalen Signaturscan nicht erkannt wurden.

Im Ergebnis sind wir der Meinung, dass eine Heuristik eine Unpacking Engine nur sinnvoll ergänzen, nicht jedoch ersetzen kann.

(Für weiterführende Informationen siehe auch "Understanding Heuristics" von Symantec.)


d) Scannen im Arbeitsspeicher

Einige AT Scanner, die (bislang) über keine Unpacking Engine verfügen, verfolgen einen alternativen Ansatz, um gepackte bzw. gecryptete Trojaner zu erkennen. So scannen beispielsweise "TrojanHunter" von Mischel Internet Security sowie die "Trojan Defence Suite" (TDS) von DiamondCS auch im Arbeitsspeicher des Computers nach Trojanern. Dies hat den Vorteil, dass (in der Regel) selbst gepackte bzw. gecryptete Trojaner erkannt werden, die beim vorherigen Dateiscan unbemerkt geblieben sind.

Hintergrund: Gepackte und gecryptete Trojaner werden beim Ausführen der Datei (normalerweise) in entpackter bzw. entschlüsselter Form in den Arbeitsspeicher geladen und können aus diesem Grund im RAM einfacher erkannt werden.

Der Nachteil dieser Technologie besteht darin, dass ein Trojaner erst dann im RAM erkannt werden kann, wenn er bereits ausgeführt wurde. Dementsprechend kann eine Schadwirkung bereits eingetreten sein. Dies beinhaltet im Grundsatz auch das Unbrauchbarmachen des AV/AT Scanners. Aus diesem Grund stellt das Scannen im Arbeitsspeicher zwar eine sinnvolle Ergänzung dar, kann eine gute Unpacking Engine aber nicht ersetzen.

Bei den beiden o.g. Scanner, die über keine Unpacking Engine verfügen und stattdessen im RAM scannen, handelt es sich um spezielle AT Scanner. Sie sind somit lediglich als Zweitscanner zu empfehlen.

(Für weiterführenden Informationen siehe auch "Memory Scanning Under Windows NT" von Péter Ször, Symantec.)

Several Scanners Examined


Nachfolgende AV/AT Scanner haben wir uns angesehen, um herauszufinden, ob sie über eine brauchbare Unpacking Engine verfügen oder nicht. Wir ausserdem versucht festzustellen, ob sich die theoretischen Vorteile einer Unpacking Engine beim Erkennen von laufzeitkomprimierter bzw. verschlüsselter Malware auch in der Praxis bewahrheiten. (Soweit sich darüberhinaus weitere Auffälligkeiten in bezug auf einzelne AV/AT Produkte ergeben haben, lassen wir diese nicht unerwähnt.) Sie können sich die Einzelergebnisse im Detail anschauen, wenn Sie auf den zum jeweiligen Scanner zugehörigen Link klicken.

Wir konnten eine brauchbare Unpacking Engine feststellen bei den Produkten:

AntiVirenKit 12 Professional
BitDefender

Dr. Web
Kaspersky Antivirus (KAV)
F-Secure Anti-Virus
McAfee VirusScan
RAV Antivirus

(Zur Kaspersky Scan Engine: Es gibt eine Reihe weiterer Scanner, die ebenfalls die Kaspersky-Technologie einsetzen. So etwa "AntiVirus 2" von CDV Software, "PowerAntiVirus XP" von G Data sowie "AntiVirus 5" von Steganos. Wir haben uns die Produkte noch nicht angeschaut, erwarten aber, dass ihre Scanleistungen in etwa mit denen von Kaspersky Antivirus und F-Secure Anti-Virus vergleichbar sind.)

Bei anderen Produkten ist es uns dagegen nicht gelungen, eine brauchbare Unpacking Engine festzustellen:

AntiVir PE
Anti-Trojan
Avast! Antivirus
AVG Anti-Virus
BOClean (Hinweis: Unterstützt stattdessen das Scannen im RAM.)
F-Prot
NOD32
Norman Virus Control
Norton AntiVirus 2003 (NAV)
Panda Antivirus
PC-cillin 2002
Pestpatrol 4
Sophos Anti-Virus
TrojanHunter (Hinweis: Unterstützt stattdessen alternative Scantechniken sowie das Scannen im RAM)
Trojan Defence Suite/TDS-3 (Hinweis: Unterstützt stattdessen alternative Scantechniken sowie das Scannen im RAM)
Trojan Remover
Vet Anti-Virus

Attention: The above results must be accurately interpreted. Please note that we did not compress/crypt an equal number of malware samples with each and every compressor/crypter. Thus, it is generally not of critical importance to figure out which scanner has detected the biggest number of malware samples. It is much more important to determine whether a scanner is able to "look through" various compressors/crypters (and also whether the scanner uses strong or weak signatures). See: "How has been tested?".

Conclusion


Viele Hersteller von AV/AT Software haben es bislang nicht für notwendig erachtet (oder waren nicht in der Lage), eine brauchbare Unpacking Engine für ihr Produkt zu entwickeln. Die Sicherheit der zahlenden Kunden bleibt in solchen Fällen auf der Strecke, zumindest im Bereich der Erkennung von Trojanern. Einige wenige Hersteller bemühen sich dagegen ernsthaft, eine funktionsfähige Unpacking Engine zu entwickeln oder haben dies bereits getan. Besonderes zu loben sind insoweit - in alphabetischer Reihenfolge - Dr. Web, Kaspersky, McAfee sowie RAV.

Please note that this examination does not purport to be an AV/AT review in the ordinary sense. An AV/AT scanner that comes with an unpacking engine does not necessarily constitute a good product overall. A good AV/AT scanner is a well-balanced combination of several features, e.g.: acceptable resource consumption, comprehensive signature database, frequent signature updates, comfortable and intuitive mode of operation, reliable detection rates (both on-demand and on-access), good heuristic virus detection (applies to AV scanners only), small number of false alarms, etc. In general, we did not! examine whether an AV/AT scanner meets these criteria.

Consequently, our examination merely allows to draw a reverse conclusion. We believe that an AV/AT product which does not feature an unpacking engine (or a similar efficient technology) can be recommended at best as a virus scanner and not as a trojan scanner. This is because trojans, which are usually (not rarely!) compressed and/or crypted, frequently compromise a computer system for a couple of months before they are detected. In general, a scanner without an unpacking engine does not sufficiently protect from this danger. Other malware (virii and worms) may also be compressed and/or crypted. However, virii and worms replicate themselves by defintion and are therefore detected rather quickly (after they have harmed more or less people). Therefore, it is usually possible to react within a tolerable time frame to new virii or worms (or new variants of such malware) with a signature update. In addition, virii and worms are more easily detected by a scan heuristic than trojans.