Tutorials Infos - Anleitungen - Hilfe - Dreamcodes
 

Wie können Pcviren erkannt werden?

Computerviren lassen sich durch verschiedene Methoden entdecken.
Eine sichere Methode alle Computerviren zu entdecken existiert nicht.
Wie im richtigen Leben gibt es auch bei einer Infektion mit Computer-Viren keine 100-prozentige Gewissheit, bis der Anwender durch das Aktivwerden der destruktiven Machenschaften des Virus selbst oder durch die Viren-Warnung der eingesetzten Anti-Viren-Software auf den Schädlingsbefall aufmerksam wird.

In vielen Fällen einer Virusinfektion ist allerdings noch Rettung möglich, sofern man sich ein wenig mit der Arbeitsweise von Viren-Scannern auseinander setzt. Außerdem sollte man in einem solchen Fall unbedingt auch über die Arbeitsweise und Infektionswege einzelner Viren Bescheid wissen.

Normalerweise wird eine Mischung aus verschiedenen Technologien benutzt:



ANTIVIRENPROGRAMME
Um nach einem bestimmten (normalen) Virus schnell und einfach suchen zu können, verwendet ein Antivirenprogramm einen sog. Suchstring. Das ist nichts anderes als eine eindeutige Zeichenfolge innerhalb des Virus, zwischen ca. 25 und 100 Bytes lang. Man könnte dies mit einem Fingerabdruck beim Menschen vergleichen. Wird dieser Suchstring in einer Datei erkannt, ist auch der Virus vorhanden. Leider kann es ab und zu bei der riesigen Menge an Daten und Programmen vorkommen, daß der gleiche Suchstring auch in sauberem Code oder Daten gefunden wird. Dies wird dann eine Fehlmeldung oder engl. 'False Positive' genannt. Bei ca. 30.000 bekannten Viren (Dezember '98) erklärt dies auch den relativ großen Speicherbedarf von Antivirenprogrammen, da alle diese Suchstrings zusammen mit dem Programmcode und weiteren Daten im Speicher gehalten werden müssen. Um nach so vielen Zeichenketten gleichzeitig schnell und zuverlässig suchen zu können, werden sog. Hashverfahren verwendet, die bei entsprechender Implementation eine hohe Suchgeschwindigkeit ermöglichen.

Für sog. polymorphe Viren ist kann dieses Verfahren allerdings nicht mehr verwendet werden, da diese Ihren 'Fingerabdruck' ständig ändern. Eine Erkennung dieser Viren ist nur über einen algorythmischen Ansatz oder über eine sog. Generic Decryption Engine (GDE) möglich.



ALGORHYTMISCHER ANSATZ
Der algorythmische Ansatz versucht dabei, für diesen Virus typische Aktionen im Programmcode einer Datei zu finden. Durch einige Anti-Antivirenprogramm-Tricks der Virenprogrammierer ist dieser Ansatz aber sehr oft mit enorm hohem Aufwand verbunden: die Suchgeschwindigkeit verringert sich erheblich. Eine GDE verfolgt einen ganz anderen Ansatz.
Hierbei spielt das Antivirenprogramm selber 'Computer' und simuliert(!) die Ausführung des Viruses. Dieser wird nun solange simuliert ausgeführt, bis er sich selber wieder in seine Urform gebracht hat. Nun kann er wieder mit einem herkömmlichen Suchstring gefunden werden. Man nimmt also sozusagen dem Virus seine Maske ab (oder besser: man läßt ihn sie sich selber abnehmen), um Ihn erkennen zu können. Leider benötigt auch dieses Verfahren leistungsstarke Rechner, da die Simulation eines Prozessors (CPU) doch sehr aufwendig ist.

Makroviren werden wiederum mit einer anderem Methode gesucht.
Hierbei ist es zuerst notwendig, die internen OLE-Streams (unter Windows) eines Dokuments auszulesen um an die Makros zu kommen. Diese werden dann anhand Ihrer Befehlskennungen (Tokens) verrechnet und mit einer Signatur verglichen. Leider sind aufgrund polymorpher Makroviren auch hier inzwischen erweiterte Verfahren notwendig geworden. Ein weiters Problem für die Hersteller von Antivirensoftware besteht darin, daß die internen Dateiformate der Dokumente oft nicht bekannt sind oder vom Hersteller nicht veröffentlicht werden. Diese internen Strukturen müssen dann vom Entwickler der Antivirensoftware sehr aufwendig analysiert werden, falls das überhaupt möglich ist.



HEURISTISCHE METHODEN
Unbekannte Viren wiederum können mit Hilfe heuristischer Methoden oder mit Hilfe der künstlichen Intelligenz zumindest zum Teil entdeckt werden. Heuristik bedeutet dabei, daß das Antivirenprogramm versucht, mit algorythmischen Methoden im Programm- oder Makrocode einer Anwendung virentypische Merkmale herauszufiltern.
Man könnte das mit einem potentiellen Einbrecher vergleichen: Er verhält sich möglicherweise verdächtig, beobachtet das Haus, hat spezielle Werkzeuge bei sich, etc.
Man versucht also im Programmcode zu annalysieren, was dieser bei der Ausführung anstellen wird.
Die Methoden der künstlichen Intelligenz werden dagegen noch sehr selten eingesetzt. Ein sog. neuronales Netzwerk, eine Art selbstlernendes, dem menschlichen Gehirn ähnlicher Programmteil versucht auch hierbei den Programmcode einer Datei zu analysieren und verdächtige Aktionen zu finden. Durch die 'Trainierbarkeit' kann das System seine eigene Trefferquote mit der Zeit immer weiter erhöhen - zumindest theoretisch.
Leider haben alle Ansätze auch neue, unbekannte Viren zu finden ein paar generelle Probleme: Diese Verfahren sind sehr aufwendig und verlangsammen demnach die Suchgeschwindigkeit und - da sie immer nur aus bestimmten Verhaltensmustern Rückschlüsse auf das Vorhandensein ein Virus schließen können - sind Fehlmeldungen (engl. False Positives) leider an der Tagesordnung.

Antivirensoftware kann nie alle Viren erkennen, schon gar nicht die neuen und unbekannten. Durch heuristische Methoden können zwar mögliche Viren gemeldet werden, leider schlüpfen aber auch allzuoft neue Viren durch die Maschen der Überwachung oder die Software verursacht Fehlmeldungen. Der Anwender selber kann aber mit einiger Aufmerksamkeit durchaus die Anwesenheit eines Virus erkennen oder vermuten. Hierbei ist einfach auf bestimmte Symptome zu achten.

ZU DEN HÄUFIGSTEN SYMPTOMEN GEHÖREN FOLGENDE:



Programme benötigen plötzlich deutlich länger, bis sie vollständig geladen sind.
Die Dateigröße eines Programmes verändert sich.
Der freie Platz auf der Festplatte wird schnell sehr klein.
CHKDSK.EXE zeigt unter DOS keine freien 655360 Bytes mehr an
Die Dateien haben seltsame oder unmögliche Datums-/zeitangaben.
Windows gibt 32-Bit Zugriffsfehler aus.
Die Festplatte zeigt ohne Ihr Zutun häufige Aktivitäten.
Nach dem Booten von Diskette kann auf die Festplatte nicht mehr zugegriffen werden.
Es erscheinen neue, unbekannte Dateien auf der Festplatte.
Dateien haben unbekannte Namen.
Aus dem Lautsprecher kommt bei jedem Tastendruck ein Geräusch.
Der Bildschirmausgaben verändern sich ohne Ihr Zutun.
Der Computer verliert seine Einstellungen im CMOS-RAM, obwohl Akku oder Batterie ok sind.
Unter Windows 95 ist der Kompatibilitätsmodus aktiviert.
Dokumente zeigen häufige Rechtschreibfehler bzw. werden verändert.

Die beste Methode einen Virus zu entdecken bietet aber immer noch ein gutes und - ganz wichtig - aktuelles Antivirenprogramm.

ÜBRIGENS: Zwei Augen sehen mehr als eines, d.h. mit mehreren Antivirenprogammen nacheinander zu suchen erhöht die Sicherheit beträchtlich Zur Erkennung von Computerviren können auch Prüf- /Checksummenprogramme eingesetzt werden, die oft mit in die Antivirenprogramme integriert sind. Diese Programme errechnen für jede Programmdatei eine Prüfsumme und speichert diese in einer Datei. Infiziert ein Computervirus eine Programmdatei, ändert sich (fast immer) die Prüfsumme der Programmdatei, was durch erneutes Prüfen herausgefunden werden kann.

 
ID: 89
eingestellt am: 07.10.2002
Autor: Mario Linke
Status zum lesen: Gast
gelesen: 5413
Webseite: www.dreamcodes.com
[Drucken]