Hallo Leute,
hat jemand Infos oder einen Link zu den Techniken, mit denen Virenscanner Dateien auf verdächtige Signaturen überprüfen? Geht es nur um Dateigröße/-typ oder werden bspw. ausführbare Dateien mit ihrem Binärcode in den Speicher geladen oder gar disassembliert?
Meine Frage hat folgenden Hintergrund:
Ich bin auf einen Keygen der Shareware WinRAR gestoßen, der von zwei Freeware-Antiviren-Programmen sofort als Trojaner identifiziert wurde und alle Aktionen mit dieser ausführbaren Datei wurden unterbunden. Dagegen haben die kommerziellen Scanner von AVK 2008 (GData) und NOD32 (Eset) gar keinen Mucks von sich gegeben. Und ich halte einiges von der Scanengine von AVK!
Daraufhin habe ich mir die Keygen.exe auf meinem Testrechner näher angeguckt. Fazit nach einer mühevollen Kleinarbeit: Sämtliche Registrierungsschlüssel und Programme, welche bei der Installation des Cracks verändert wurden, werden auch vom ungecrackten WinRAR benutzt und gelesen. WinRAR.exe wird mehrmals modifiziert, allerdings liest dieses Programm beim Starten auch im unmodifizierten Zustand in seinen eigenen Offsetbereichen. Es benutzt zur Lizenzierung Schutz- und Verschlüsselungsmechanismen, welche umgangen werden müssen.
Später konnte ich kein verdächtiges Verhalten der veränderten Datei WinRAR.exe feststellen. Das ist natürlich keine 100%-ige Sicherheit, das Programm ist immerhin an mehreren Stellen verändert worden. Und ein Verdachtsmoment bleibt auf jeden Fall: bei der Installation des Cracks schnüffelte der Keygen in einer DLL eines installierten Bluetooth-Stacks herum, der nun gar nichts mit WinRAR zu tun hat.
Ich habe dafür höchstens die Erklärung, dass es sich um einen Schlüsselgenerator/Crack handelt, der einmal einen Trojaner integrierte, dem der "Zahn gezogen wurde".
So entstand bei mir die Frage, wie eine solche .exe-Datei von einem Virenscanner geprüft wird. Wenn der Programmcode überprüft werden soll, muss die Datei doch disassembliert oder dekompiliert werden?
Thx,
UselessUser
Viren, Spyware, Datenschutz 11.258 Themen, 94.807 Beiträge
Virenscanner durchsuchen Dateien, Datenträger und Hauptspeicher nach bekannten (Bit-) Mustern, die Viren kennzeichnen.
oder werden bspw. ausführbare Dateien mit ihrem Binärcode in den Speicher geladen oder gar disassembliert?
Nein. Es wird die Datei nach bekannten Bitmustern untersucht.
Und ich halte einiges von der Scanengine von AVK!
Warum?
Wenn der Programmcode überprüft werden soll,
Es wird nicht der Programmcode (im Quelltext) überprüft, das geht auch gar nicht. Wie gesagt wird die Datei ganz "primitiv" nach (Bit-)Mustern gesucht, die ein Virus hinterlässt, die sogenannten Signatur. Dazu muss das Virus bekannt sein. Dann beginnt ein "Katz-und-Maus-Spiel" zwischen den Virenbastlern und den Ativirenprogrammierern. Die Virenbastler verändern den Code etwas, so das in der kompilierten Datei das Muster nicht mehr vorhanden ist. Die Antivirenprogrammhersteller müssen dann das Muster der "neuen" Virenunterart wieder ihrem Programm hinzufügen, usw. Deshalb die vielen Updates.
Eine anderen Weg gehen sog. behavioral Scanner: Sie überwachen "alle Vorgänge" des Computers auf verdächtiges Verhalten und schlagen dann Alarm.
Hallo maestro812,
danke für deine Antwort!
Zur Scanengine von AVK: Na gut, ich bin mittlerweile sehr vorsichtig geworden, was Lob oder Tadel von Programmen zur Internetsicherheit betrifft. Zumindest erzielt dieser Scanner beste Werte, was Archive und gepackte Dateien betrifft, hier gibt es wesentlich mehr Treffer als mit anderen Programmen, das entspricht auch meiner Erfahrung. Der Scanner ist langsam, aber recht gründlich. Als Hintergrundwächter verbraucht er allerdings eine Menge Ressourcen.
Wie kann ich mir denn so ein Bitmuster vorstellen? Werden die "Nullen und Einsen" von der Festplatte direkt gelesen? Das eine Datei nicht dekompiliert werden kann, müsste mir eigentlich auch klar sein, dass würde viel zu lange dauern und oft sind die Programme ja auch geschützt. Aber mir will einfach nicht in den Kopf, dass bei als gefährlich eingestuften Trojanern Bitmuster von einigen Scannern nicht erkannt werden, denn es gibt doch öffentlich einsehbare Listen aller bislang entdeckter Trojaner. Und die Labors der Softwareentwickler werten doch alle Bitmuster aus?
MfG
UU
Ein Scanner kann immer nur das finden, was er kennt. Das wichtigste ist also, daß der Hersteller schnell aktuelle Virensignaturen zur Verfügung stellt.
Und diese auch eingespielt werden.
Werden die "Nullen und Einsen" von der Festplatte direkt gelesen?
Ja, so kann man das sagen.
es gibt doch öffentlich einsehbare Listen aller bislang entdeckter Trojaner.
Wenn ein Virus endeckt wird, muss es analysiert werden, ein charakteristisches "Bitmuster" gefunden werden und diese dem Scanner mitgeiteilt werden. Das Problem ist, eine Balance zu finden zwischen möglichst breiter Erkennung aller Schädlinge, der Vermeidung von Fehlalarmen und einer akzeptablen Scangeschwindigkeit.