[Index] [runter] [vorher] weiter





4 ARTEN VON ANTIVIRUSPROGRAMMEN UND IHRE FUNKTION

4.1 Monitor-Programme (residente Wächter)

Viren-Monitore belegen als TSRs Speicher des Rechners. Sie "warten" im Hintergrund auf virentypische Aktivitäten auf dem Rechner wie z.B. das Verändern von ausführbaren Dateien, Formatieren von Sektoren, Verbiegen von Interruptvektoren etc. Der Monitor meldet diese dem Benutzer und fragt ihn, ob die Aktion legitim ist. Die meisten können jedoch durch Interrupt- Tracing und verwandte Tricks ausgeschaltet werden. Gute Monitore "tarnen" sich vor solchen Aktionen und haben weitere Kniffe und Sperren eingebaut, die Stealth-Viren (3.3.1.) und tunnelnden Viren (3.3.3.) das Leben schwer machen. Es dürfen nie zwei Monitorprogramme zugleich auf einem Rechner eingesetzt werden, da sie sich gegenseitig ins Gehege kommen! Beispiele für Monitorprogramme sind FluShot+ (Urvater aller Monitorprogramme, Secure (von Mark Washburn, allerdings sehr unsicher), Nemesis (sehr zu empfehlen, von Robert Hoerner und Christian Sy), SVS von Stefan Kurtzhals und das Programm TBMON aus dem TBAV-Paket von Frans Veldmann).

4.2 Scanner

Die ursprüngliche Philosophie von Scannern war es, befallenen Wirtscode auf bekannte Scanstrings (Bytesequenzen, die in Viren vorkommen) zu prüfen und Alarm zu schlagen, wenn ein Programm einen solchen Scanstring enthält. Scanstrings können dabei auch "wildcarded" sein, d.h., sie enthalten einen oder mehrere Jokerzeichen, so daß flexibler auch nach Hacks und neuen Varianten der Viren gesucht werden kann. Scanner, die nur mit Scanstrings arbeiten, können natürlich nur bereits bekannte und analysierte Viren finden. Auch ist es für moderne, polymorphe Viren (3.3.2.) nicht mehr möglich, einen Scanstring abzuleiten, da jede Kopie des Virus anders aussieht. Daher erhalten viele Scanner noch Erweiterungen, die Ansätze der Künstlichen Intelligenz oder heuristische Techniken benutzen, um "virentypischen Code" zu erkennen und so auch unbekannte Viren aufzuspüren. Nähere Informationen kann der Scanner in solch einem Fall nicht liefern; der Benutzer enthält z.B. die Meldung, daß dieses oder jenes Programm fähig ist, eine Spur eines Mediums zu formatieren, einen Verschlüsselungsalgorithmus beinhaltet und außerdem ein nicht standardgemäßes EXE-Header enthält. All dieses kann normal sein; wenn jedoch mehrere Programme auf Festplatte die gleichen derartigen "Symptome" zeigen, ist Vorsicht geboten - es könnte sich um einen unbekannten Virus handeln. Ebenso können Scanner "Viren-Killprogramme" enthalten, die befallene Wirte wieder in den uninfizierten Zustand zurückzuversetzen versuchen, indem sie den Virus gewissermaßen herausschneiden. Diese Technik funktioniert aber nur vernünftig, wenn der Scanner eine exakte Variantenidentifikation vornehmen kann. Sehr viele Viren existieren in zig Varianten, die man bei einer solchen Desinfektion nicht alle über einen Kamm scheren darf. Besser ist es daher grundsätzlich, ein nichtinfiziertes Backup zurückzufahren. Beispiele für Scanner sind F-PROT (von Fridrik Skulason), SCAN (McAfee), VIRX (Microcom), TBSCAN (Thunderbyte) und HTSCAN (Harry Thijssen). Um einen vernünftigen Grad an Sicherheit zu erreichen, müssen mindestens zwei gute Scanner eingesetzt werden! Eine spezielle Sorte Scanner sind die residenten oder TSR-Scanner. Diese werden bei jedem Start oder Kopieren einer ausführbaren Datei aktiv und scannen diese im Speicher. Wird ein Virus gefunden, so wird eine Meldung ausgegeben, daß das soeben geladene Programm infiziert ist, und die Ausführung des Programm wird gestoppt. Es handelt sich also um eine Mischung aus Scanner und residentem Monitor. Ein Beispiel hierfür wäre VSHIELD von McAfee. Solch ein Programm sollte ebenfalls nicht mit einem anderen residenten Monitor "gemischt" werden.

4.3 Integrity Checker

Diese Sorte von Antivirenprogrammen sind die Nachfolger der Checksummenprogramme, mit denen von einem Datenabschnitt (Bootsektor, Programm, Treiber, Sourcecode, Datendatei...) eine lineare oder CRC-Prüfsumme erstellt wird. Von Zeit zu Zeit wird dann diese Prüfsumme mit einer neu abgeleiteten verglichen und auf diese Weise festgestellt, ob sich das geprüfte Stück verändert hat. Diese Idee ist die Grundlage des Integrity Checkings und wird von guten Checkern noch wesentlich erweitert. So kann z.B. für jede installierte Kopie eines Checkers eine andere Methode gewählt werden, wie die Prüfsummen erstellt werden, um direkt gegen das Produkt gerichtete Angriffe zu vermeiden. Auch kann zusätzlich ein Scanner, auch mit heuristischen Fähigkeiten, implementiert werden, der beim Prüfsummenbilden ausführbaren Code auf bekannte Viren bzw. virentypisches Verhalten hin prüft. Gute Integrity Checker testen außerdem noch auf andere Sicherheitslücken in MS-DOS-Systemen wie z.B. dem Vorhandensein von COM- und EXE-Dateien gleichen Namens, was auf einen Companion-Virus (3.1.3.) hinweisen könnte. Mit Integrity Checkern werden mehrere Sicherheitsaspekte zugleich abgedeckt. So können bei korrekter Anwendung (Booten von Floppy!) nicht nur Viren aller bekannten Arten erkannt werden, sondern auch aus anderem Grunde defekte Dateien (z.B. durch alternde Festplatte). Außerdem können bei zumindest einem Integrity Checker Dateien auf Rechnern, die als "offenes System" von mehreren Benutzern verwendet werden, vor unbemerkten Manipulationen gesichert werden. Beispiele für Integrity Checker sind V-Analyst/The Untouchable (BRM Technologies) und Integrity Master (Stiller Research). Abgesehen davon gibt es ein Programm, welches ich fast als residenten Integrity Checker bezeichnen möchte. Dieses beinhaltet als Monitorfunktion (4.1.) einen Schutz von ausführbarem Code in Echtzeit, und zwar auf Sektorebene. Sogar Stealth-Viren, die heute übliche Techniken verwenden, werden von solchen Checkern erkannt, da sie nur auf Dateiebene arbeiten und einen direkten Sektorschutz nicht erkennen können. Um tunnelnde Viren zu blockieren, wird durch spezielle Tricks das Interrupt Tracing verhindert; undokumentierte DOS-Calls werden überwacht sowie der eigene Code gewissermaßen im Speicher "versteckt", um Manipulationen zu verhindern. Diese innovative Technik ist leider mit vielen Programmen und Betriebssystem-Aufsätzen, die das offene Konzept von DOS in bezug auf Interrupts intensiv nutzen (z.B. WINDOWS), inkompatibel. Das Programm heißt Nemesis und stammt von Robert Hörner und Christian Sy.

4.4 Heuristische Scanner

Solche Programme, wie SUSP, DR.WEB, AVP usw., arbeiten in im Gegensatz zu normalen Signaturscannern (siehe 4.2) nach einem anderen Verfahren. Hier wird nicht mehr nach einer festen Bytefolge gesucht, sondern nach, für Viren typischen Verhaltensmustern. Im Prinzip wird der Code eines Programms analysiert und dann nach einem Schema ala Fuzzi-Logik ausgewertet: "Diese Programm sucht andere COM-Dateien, es schreibt ans Ende dieser COM-Dateien, es modifiziert Dateiattribute, daraus folgt, es ist höchst wahrscheinlich ein Virus, also schlagen wir mal Alarm". Siehe hierzu auch Frage 6.

[hoch] [zurueck] [weiter]






© by Martin Rösler, 1994-1997 - Alle Rechte vorbehalten