--
Single-point scanning -- 
Exkurs:
Häufig lesen AV/AT Scanner beim Dateiscan nicht das gesamte File ein und durchsuchen es nach dem Vorhandensein einer bestimmten Zeichenkette. Es wird vielmehr überprüft, ob sich eine Signatur gerade an einer bestimmten Stelle (Offset) der Datei feststellen lässt (sog. "single-point scanning"). Dies geschieht zur Verbesserung der Scangeschwindigkeit und hilft ausserdem dabei, Fehlalarme zu vermeiden. Beispielsweise versucht die Kaspersky Scan Engine, Trojaner im Wege des "single-point scanning" zu identifizieren. Zu Erkennungsproblemen kann diese Methode unter Umständen führen, wenn eine gepackte oder verschlüsselte Datei "ungenau" entpackt wird und sich die Position der Signatur innerhalb der Datei verschiebt. Wir haben haben deshalb zu Testzwecken einige laufzeitkomprimierte Trojaner zunächst manuell mit einem Unpacker entpackt und anschliessend wieder mit einem anderen Packer gepackt.
Eine Scan Engine, die auf dem Prinzip des "single-point scanning" beruht, lässt ausserdem relativ leicht durch sog. gepatchte Trojaner aushebeln. Bei solchen Angriffen wird der Programmcode der Malware nicht automatisch mit Hilfe eines Tools verschlüsselt, sondern mit einem Hexeditor per Hand so verändert, dass sich die von einem AV oder AT Scanner zur Erkennung verwendete Signatur nicht mehr an der "richtigen" Stelle befindet. Siehe hierzu ---> "The Art of Patching". Gegen solche gezielten Angriffe hilft keine noch so gute Unpacking Engine.
Wir haben stichprobenweise auch mit gepatchten Malwaresamples getestet,
da wir daran interessiert waren herauszufinden, ob sich die Verwundbarkeit
durch einen Patch automatisch auf mehrere AV/AT Scanner erstrecken kann,
sofern diese die gleiche Scan Engine verwenden. Dies war in der Tat der
Fall: Ein
gepatchter Trojaner, den Kaspersky Antivirus nicht erkennen konnte, wurde
auch von F-Secure Anti-Virus nicht entdeckt. Erschwert werden könnte
das Patchen von Malware möglicherweise durch die Verwendung von grossen,
"unscharfen" Signaturen in Verbindung mit Wildcards (anstelle eines kurzen
Signaturstrings).
Da die Verwendung grosser Signaturen den Arbeitsspeicher belastet
und das Scannen verlangsamt, eignet sich diese Vorgehensweise
voraussichtlich nur für das Überwachen von Prozessen im Arbeitsspeicher
(und nicht für den Dateiscan). Eine weitere Möglichkeit, dem
Problem des Patchens von Malware zu begegnen, könnte die Verwendung
einer guten Scanheuristik sein (siehe etwa TrojanHunter
oder TDS-3).
