Was sind Computerviren?
Was ist eigentlich ein
Computervirus? Wie funktioniert er? Als Antwort versuchen wir zuerst einen kleinen
Vergleich mit der Biologie. Man stelle sich einen biologischen Virus vor, etwa
einen, der uns im Winter eine böse Virusgrippe beschert. Im menschlichen Körper dringen
die winzigen Viren in Wirtszellen ein und verfälschen deren Informationen so, dass diese
Zellen von nun auch den Virus produzieren, ihn also vervielfältigen. So ganz nebenbei
verursachen sie auch noch heftigen Schaden: Man wird krank, bekommt die Grippe und steckt
seine Mitmenschen fleißig weiter an. Werden erkrankte Personen nicht frühzeitig
behandelt oder gar geimpft, ist eine Epidemie unvermeidlich.
Bei Computerviren passiert
Ähnliches. Es handelt sich um kleine, absichtlich (!) erzeugte Programme, die von ihrem
Programmierer irgendwann einmal in ein beliebiges Wirtsprogramm eingesetzt wurden. Beim
Aufruf dieses Wirts, z.B. einer Textverarbeitung, wird der Virus aktiv und sucht sich
mindestens ein weiteres Programm, das er noch nicht befallen hat und infiziert auch
dieses. Viren sind selbstreproduzierend. Ein Computervirus ist also ein Programm, das
speziell entwickelt und geschrieben wurde, um Ihren Computer ohne Ihr Wissen oder Ihre
Erlaubnis zu beeinflussen und zu manipulieren und sich dabei noch selber zu
vervielfältigen. Etwas technischer ausgedrückt ist ein Computervirus ein Programm, das
sich selbst reproduziert, indem es sich an andere Programme anhängt oder diese sogar
überschreibt (und damit zerstört). Er vervielfältigt sich dadurch nicht nur auf Ihrem
System, sondern auch in Netzwerken oder über Disketten, also generell über Datenträger.
Wird ein infiziertes Programm aktiviert oder - bei Bootviren - der Computer neu gestartet,
wird der eigentliche Virus mit aktiviert und kann sich weiterverbreiten. Oft wartet ein
Virus einfach nur im Speicher des Computers auf den Start eines Programms oder auf einen
Festplattenzugriff, in den er sich dann einhängt und so seine Aktionen versteckt.
Computerviren entstehen also nicht zufällig durch irgendeinen Fehler im System (zumindest
ist die Wahrscheinlichkeit, dass solches passiert vernachlässigbar gering), sondern sie
müssen absichtlich von jemandem mit einem bestimmten Ziel erzeugt (entwickelt und
geschrieben) werden.
Doch das ist nicht alles. Die
Verbreitung allein wäre ja an sich nichts Schlimmes, sieht man einmal von den verbratenen
Rechnerressourcen wie Prozessorzeit und Speicherplatz ab. Leider haben fast alle Viren
neben dem Vervielfältigungsteil noch einen anderen Programmteil, die sog. Schadensroutine
(engl.: Payload). Dies ist der Programmteil des Virus, der dem Anwender oft den größten
Schaden zufügt. Meistens wird diese Schadensroutine mit dem Eintreten eines bestimmten
Ereignisses, des sogenannten Triggers (engl.: Abzug, Auslöser), ausgelöst. Das kann eine
bestimmte Uhrzeit oder ein Datum, eine bestimmte Tastenkombination, der Start eines
bestimmten Programms oder etwas anderes sein. Die Schadensroutine kann dabei alle per
Programm möglichen Aktionen ausführen. Die Spanne reicht hier von einfachen
Bildschirmausgaben über Computerabstürze und schleichende oder sofortige
Datenzerstörung bis hin zur Zerstörung des sog. Flash-BIOS neuerer Computersysteme.
Durch diese Schadensroutinen werden Viren zu Zeitbomben: Ist der Auslösezeitpunkt
erreicht, kommt der Moment, an dem der Anwender die Infektion in der Regel erst bemerkt,
denn der Virus beginnt mit seinen sichtbaren Aktionen.
Man kann Viren nach der Art ihrer
Schadensroutine in "gutartige" und "bösartige" Viren einteilen.
Gutartige Viren wurden eigentlich nur zu dem Zweck entwickelt, Sie ein bisschen zu ärgern
und nicht, um Ihren Computer zu beschädigen. Meistens verbreiten sie sich nur und geben
unter Umständen nervende Meldungen oder Bildchen auf dem Bildschirm aus.
Bösartige Viren hingegen fügen dem Wirtsrechner Schaden zu, der aber nicht unbedingt
bewusst angerichtet wird. Eine große Anzahl dieser Viren verursacht nur durch interne
Programmierfehler irgendwelche Schäden. Diese Art von Viren ist aber oft auch für
absichtliche Datenzerstörung verantwortlich, sei es, wenn einzelne Dateien gelöscht oder
zerstört werden, oder gleich der ganze Computer nicht mehr lauffähig ist.
Zum Seitenanfang
Viren und das Betriebssystem:
Viren und Würmer können im
Prinzip alle Betriebssysteme (engl.: Operating System, OS) befallen. Je besser das OS
jedoch Daten und seine eigenen Ressourcen schützt, desto geringer sind die Möglichkeiten
für einen Virus oder Wurm, sich häuslich einzunisten. Die "dankbarsten" Opfer
sind also die Single-User-Betriebssysteme wie MS-DOS, Windows 3.x, 9x und NT, der Apple
MacIntosh, OS/2, der Amiga usw., für die es bereits Tausende von Viren gibt. Auf
Mehrbenutzerbetriebssystemen wie UNIX, Novell NetWare, VMS, MVS etc. sind Viren beinahe
unbekannt. Hier treten fast ausschließlich Würmer und ggf. Makroviren auf. Hier sollte
allerdings noch kurz zwischen den Betriebssystemen im Server- und Workstationeinsatz
unterschieden werden. Wird nämlich eine UNIX-Maschine als Server für MS-DOS, Windows
oder ein anderes Betriebssystem verwendet, können die auf diesem Server abgelegten
Dateien sehr wohl infiziert sein, das System selber jedoch nicht.
Verbreitungswege von Computerviren
Computerviren können sich über
vielfältige Arten verbreiten und vermehren:
Disketten und Wechselplatten:
Auf Disketten gelangen fast alle Virentypen einfach von einem Opfer zum nächsten. Die auf
einer Diskette oder Wechselplatte befindlichen Programme oder Dokumente sowie der
entsprechende Bootsektor sind bevorzugtes Ziel eines jeden Virus, da dieser Datenträger
sehr häufig mit anderen Benutzern ausgetauscht wird.
Netzwerke: Der
Datenaustausch erfolgt immer mehr über lokale (LAN) und globale (WAN) Netzwerke. Vielen
der modernen Viren bereitet es keine Probleme, sich beim Daten- und Programmaustausch
selber weiter auszubreiten. Hierbei sind die Programme und Dokumente die bevorzugten
Träger der Viren.
Email: Im Text einer
normalen Email kann sich (noch) kein Virus verstecken, sehr wohl aber im Anhang
(Attachment). Dieser Anhang kann - je nach Typ - alle möglichen Arten von Viren
enthalten.
Internet-Downloads: Hier
gilt das gleiche wie bei den Netzwerken. In jeder weitergegebenen oder geladenen Datei
unbekannter Herkunft kann sich ein Virus verbergen.
Internet: In jüngster
Zeit tauchen vermehrt Schädlinge direkt in den HTML-Seiten des World-Wide-Web auf.
VB-Script, Java und vor allem Active-X sind hierbei die Angriffsziele der Virenschreiber.
Speziell der MS-Internet-Explorer ist durch seine Ausbaufähigkeit mit VB-Script und
Active-X anfällig gegen solche Virentypen. Diverse Programmfehler und Sicherheitslücken
fördern dies noch weiter.
Zum Seitenanfang
Klassifikation von Computerviren
Generell sollte zwischen
reinrassigen Viren und Störprogrammen unterschieden werden:
Logische Bomben
oder kurz Bombe. Dieser
Schädlingstyp ist eine Abart der Trojanischen Pferde. Es handelt sich hierbei um
Programmteile, die in nützliche Programme eingebettet sind und aus einem Auslöser
(Trigger) und einer Schadensroutine (Payload) bestehen. Die Schadensroutine wird dabei im
Normalfall nicht aufgerufen. Erst bei Erreichen der Trigger-Bedingung
"explodiert" die Bombe und verrichtet ihr zerstörerisches Werk, d.h. die
Schadensroutine wird aufgerufen.
Trojanische Pferde
werden auch kurz Trojaner genannt
und sind in letzter Zeit recht häufig anzutreffen. Als Trojaner bezeichnet man Programme,
die vorgeben, eine bestimmte Funktion zu haben, nach ihrem Start aber ihr wahres Gesicht
zeigen und irgendeine andere Funktion ausführen, die zumeist zerstörerisch ist.
Trojanische Pferde können sich nicht selber vermehren, was sie von Viren und Würmern
unterscheidet. Die meisten Trojaner haben einen interessanten Namen (STARTME.EXE oder
SEX.EXE), der den Anwender zur Ausführung des Trojaners verleiten soll. Unmittelbar nach
der Ausführung werden diese dann aktiv und formatieren z.B. die Festplatte. Eine
spezielle Art eines Trojaners ist ein Dropper, der Viren "droppt", d.h. in das
Computersystem einpflanzt.
Viren
Ein Computervirus ist ein
Programm, welches die Fähigkeit besitzt, sich nach seinem Aufruf selbsttätig an andere
Programme auf irgendeine Weise anzuhängen und dadurch zu infizieren. Viren
vervielfältigen sich also im Gegensatz zu logischen Bomben und Trojanern selber. Im
Gegensatz zu einem Wurm benötigt ein Virus immer ein fremdes Programm als Wirt, dessen
Programmablauf durch die Infektion über den Virus umgelenkt wird. Im Normalfall wird aber
der eigentliche Programmablauf des Wirts selber nicht geändert.
Applikations- oder Makroviren
Makroviren gehören zu einer
neueren Generation von Computerviren, den Dokumentviren. Sie sind in der Makrosprache
einer Applikation (z.B. WinWord, Excel, Access, AmiPro, WordPerfect, StarOffice)
geschrieben und können sich (mit Ausnahmen) auch nur dann verbreiten, wenn die
entsprechende Applikation aktiv ist. Die Verbreitung erfolgt im Normalfall über die
Dokumente der Applikation. Diese Viren können unter Umständen auch
plattformübergreifend "arbeiten", nämlich dann, wenn der entsprechende
Dokumenttyp im gleichen Format auf anderen Plattformen verwendet wird. Als Beispiel seien
hier MS Word Makroviren genannt, die sich sowohl auf Windows-PC's wie auch auf dem Apple
MacIntosh verbreiten können.
Würmer
Als Wurm wird ein Programm
bezeichnet, das sich selber vervielfältigt, jedoch keinen Wirt infiziert. Würmer können
also nicht Bestandteil anderer Programmabläufe werden. Würmer bieten auf Systemen mit
restriktiveren Sicherheitsvorkehrungen oft die einzige Möglichkeit, irgendwelche
Schadensprogramme einzuschleusen.
Witzprogramme
Diese Programme werden
geschrieben, um jemanden zu erschrecken oder zu ärgern. Sie sind im Normalfall nicht
schädlich und vermehren sich auch nicht (es sein denn durch Weitergabe amüsierter
Zeitgenossen). Oft beginnt der Computer nach dem Start eines Witzprogramms eine Melodie zu
spielen, etwas auf dem Bildschirm darzustellen oder ein kleines Programm zu simulieren.
Der Anwender bekommt häufig einen Schreck oder richtet in Panik eventuell selber Schaden
an.
Computerviren lassen sich auch
nach den Techniken klassifizieren, die sie benutzen:
Speicherresidente Viren:
Einige Viren nisten sich resident im Hauptspeicher ein, um jederzeit das System
kontrollieren zu können. Unter anderem werden Festplattenzugriffe, Tastatureingaben,
Druckerausgaben etc. vom Virus überwacht und ggf. manipuliert. Residente Viren bleiben
also nach der Ausführung aktiv und können eine Schadensroutine zu späteren Zeitpunkten
ausführen. Der Benutzer wird zwischen der Ausführung des infizierten Programms und einem
Schaden, der nach Beendigung des infizierten Programms auftritt, keinen Zusammenhang
erkennen. Ein residenter Virus kann vom Zeitpunkt seiner Aktivierung an zu jeder Zeit neue
Programmdateien infizieren. Schon das DOS-Kommando DIR führt bei einigen residenten Viren
zu einer Infektion. Da es unter Windows (9x und NT) keine eigentlichen residenten
Programme (TSR's) mehr gibt, verwenden die Viren sog. Dienste oder VxD's, um eine
permanente Kontrolle über das System zu erlangen. Dienste oder VxD's sind Programme, die
wie TSR's resident im Speicher verankert sind und ihre Arbeit im Hintergrund verrichten.
Residenz ist die Voraussetzung für einige weitere Techniken (siehe Stealth-Viren).
Residente Viren können (im Normalfall) im Speicher des Computers mit einem normalen
Suchstring erkannt werden.
Stealth-Viren sind immer
auch speicherresident und versuchen, über spezielle Tricks ihre Anwesenheit im System zu
verschleiern. Dazu überwachen und manipulieren sie z.B. Zugriffe auf Programmdateien und
das Inhaltsverzeichnis, um so einem Antivirenprogramm oder dem Anwender ein sauberes
System vorzugaukeln. Versucht das Betriebssystem, z.B. beim Befehl DIR, die Größe einer
infizierten Programmdatei zu ermitteln, subtrahiert der Stealth-Virus von der
tatsächlichen Dateilänge die Länge des Viruscodes und täuscht so eine korrekte
Programmlänge vor. Wird eine Programmdatei nicht ausgeführt, sondern nur gelesen, z.B.
von einem Virenscanner, entfernt der Virus aus der zu lesenden Datei den Viruscode, so
dass der Virenscanner den Virus nicht in der Programmdatei finden kann.
Verschlüsselte Viren:
Mit dieser Technik versuchen einige Viren, sich vor Antivirenprogrammen zu verstecken,
indem Sie ihren eigenen Programmcode transformieren. Der Virus konvertiert sich dabei
selber in verschlüsselte, unleserliche Zeichen, die vom Antivirenprogramm nicht erkannt
werden. Um sich allerdings weiter verbreiten zu können und ausgeführt zu werden, muss
sich der Virus wieder decodieren und kann dann entdeckt werden.
Polymorphe Viren: Diese
Art von Viren "mutiert" dadurch, dass Sie ihren eigenen Programmcode
manipulieren und so bei jeder Infektion ihr "Aussehen" verändern. Hierbei
werden z.B. bestimmte Befehle auf unterschiedliche Art und Weise codiert. Polymorphe Viren
sind meistens auch noch verschlüsselt. Ein polymorpher Virus kann u.U. mehrere Milliarden
verschiedene Mutationen erzeugen und so die Erkennung mit herkömmlichen Suchmethoden
(Suchstring) unmöglich machen.
Direct-Action-Viren
infizieren bei der Ausführung des infizierten Programms sofort weitere Programmdateien
und führen eine eventuell vorhandene Schadensroutine sofort aus (u.U. nur bei Eintreten
bestimmter Bedingungen wie Zeit/Datum, Zähler etc.). Nach der Ausführung übergibt der
Virus die Kontrolle an das ursprüngliche Programm und entfernt sich damit aus dem
Hauptspeicher. Der Virus führt seine Aktionen direkt nach dem Programmstart aus.
Slow Viren führen ihre
Schadensroutine nicht sofort aus, sondern verändern Daten minimal. Sie versuchen dadurch,
möglichst lange Zeit unentdeckt zu bleiben. Werden Datenmanipulationen über einen
längeren Zeitraum nicht entdeckt oder nicht auf einen Virus zurückgeführt, wird ein
Benutzer Datensicherungen durchführen. Diese Datensicherungen enthalten aber schon die
manipulierten bzw. verfälschten Daten und sind somit im Falle einer Datenrestaurierung
wertlos. Solche langsamen, zerstörerischen Viren können erheblichen Schaden anrichten.
Dateiviren: Dies sind
Viren, die sich an bestehende Programmdateien auf Diskette bzw. Festplatte anhängen,
wobei das bestehende Programm (der Wirt) um den Virus erweitert oder der Wirt ganz oder
teilweise überschrieben wird. Startet der Anwender solch ein infiziertes Programm, so
wird vor der Ausführung des eigentlichen Programms der Virus aktiviert, der seinerseits
dann den Wirt aktiviert. Programmviren kommen also (meistens) erst beim Starten von
Programmdateien zur Ausführung.
Bootviren: Diese Art von
Computerviren befällt die Systembereiche von Disketten oder Festplatten. Bei diesen
Systembereichen handelt es sich um den sogenannten Bootsektor bzw. Master-Bootsektor
(Partitionstabelle). Dieser enthält Programmteile, die schon beim Start des Computers
(Booten) ausgeführt werden. Infiziert ein Computervirus einen solchen Bereich, wird der
Virus aktiviert, sobald der Computer eingeschaltet wird.
Companion-Viren: sind
Viren, die anstatt sich an eine bestehende Datei anzuhängen ein neues Programm erzeugen,
von dem der Benutzer allerdings nichts weiß. Dieses neue Programm (der Virus) wird nun
anstelle des gewünschten Programms aufgerufen und so der Virus aktiviert. Beim Verlassen
dieses Programms wird dann das Original gestartet, so dass der Benutzer nicht merkt, dass
er gerade den Virus aktiviert hat. Bei PC's wird dabei normalerweise ein .COM Programm mit
dem selben Namen wie die entsprechende .EXE-Datei erzeugt. Durch Eingabe des Namens auf
der Kommandozeile wird nun aber (per Systemdefinition) zuerst nach einer .COM-Datei
gesucht und diese ggf. gestartet. Nur wenn keine .COM-Datei vorhanden ist, sucht das
Betriebssystem anschließend nach der .EXE-Datei und startet sie. Prüfsummenprogramme
bemerken solche Viren häufig nicht, da im Originalprogramm keinerlei Veränderung
feststellbar ist.
Tunnelnde Viren: Sind
Viren, die nach den originalen Interrupt-Handlern für DOS und das BIOS suchen und diese
dann direkt aufrufen. Hierdurch werden eventuelle Wächterprogramme unter DOS umgangen,
die sich gerade in diese Interrupts eingeklinkt haben, um Virenaktivitäten erkennen zu
können.
Dropper: Ein Dropper ist
ein Programm, das einen richtigen Virus im Zielsystem installiert. Der Virencode ist dabei
normalerweise in einer Art und Weise im Dropper enthalten, die es Antivirenprogrammen
unmöglich macht, den Virus als solchen im Dropper zu erkennen.
Active-X-Viren: Bei
Active-X handelt es sich um eine Microsoft-spezifische Art, reinen Programmcode von einem
(Internet-)Server auf den Arbeitsplatzrechner zu übertragen und dort auszuführen. Viren
können dies ausnutzen und sich problemlos weiter verbreiten. Unseres Wissens existiert
aber bis auf sog. Malware, also reine Trojaner, heute noch kein funktionierender Virus
dieses Typs. Diese Viren sind (derzeit) nur auf dem Betriebssystem MS Windows und dem dort
eingesetzten MS Internet-Explorer funktionsfähig.
VB-Script-Viren: Auch
Visual Basic (VB) - Script kann dazu verwendet werden, Programmcode von einem Web-Server
auf den Arbeitsplatzrechner zu übertragen und auszuführen. Viren dieses Typs sind im
Umlauf. Das reine Ansehen einer Homepage im Internet genügt, um den eigenen Rechner zu
infizieren. Allerdings ist wieder nur der MS Internet-Explorer bei abgeschalteten
Sicherheitsvorkehrungen betroffen.
Java Viren: Im Gegensatz
zu Java-Applets, die häufig in Browsern zur Animation oder Steuerung bestimmter Dinge
verwendet werden, können reine Java-Programme auch sicherheitskritische Operationen
ausführen, z.B. auf Festplatte schreiben, usw. Die ersten Viren dieser Machart sind
bereits aufgetaucht, mit weiteren ist zu rechnen.
Zum Seitenanfang
Probleme und Schäden durch Computerviren
Computerviren sind durch Ihre
Existenz ein generelles Problem. Sie benötigen Speicherplatz, verlangsamen das
Rechnersystem und verursachen eine Instabilität von Betriebssystem und
Anwendungssoftware. Das eigentliche Problem sind aber zum einen die Schäden, die durch
Computerviren entstehen und zum anderen der hohe Aufwand für die Entfernung der
Viren.
Die meisten Viren besitzen eine
sog. Schadensroutine oder Payload, die - neben den fehlerhaft programmierten Viren - die
größten Schäden an Rechnersystemen verursacht. Das Ausmaß der durch die
Schadensroutine eines Computervirus verursachten Probleme reicht von gezielten Störungen
des Arbeitsablaufs bis zur Zerstörung aller Daten eines Systems. Hierfür einige
Beispiele:
Störungen beim Bildaufbau und
Veränderung der Bildschirmausgaben.
Eigene Bildschirmausgaben, die
nur durch bestimmte Aktionen wieder rückgängig gemacht werden können.
Veränderung von
Tastatureingaben.
Komplette Systemabstürze.
Löschen von einzelnen Daten und
Programmen.
Formatieren von Festplatten und
Disketten und damit sofortige Vernichtung aller Daten eines Systems.
Schleichende Datenzerstörung
bzw. sehr langsame Veränderung der Daten auf dem System.
Löschen von Systeminformationen
(CMOS-Setup).
Überschreiben bzw. Verändern
des BIOS in Flash-ROMS.
Die Zerstörung von Daten durch
Computerviren kann fatale Folgen haben. Werden z.B. in einem Unternehmen sämtliche
Kundendaten gelöscht, kann die Arbeitsfähigkeit stark eingeschränkt sein, falls keine
aktuelle Datensicherung vorhanden ist. Die neueste Generation von Viren ist sogar in der
Lage, das Urlade-Programm eines Computers, das sog. BIOS, zu zerstören. Ist der
entsprechende Chip nicht gesockelt und/oder keine Kopie des BIOS mehr vorhanden, ist die
Hauptplatine des Computers u.U. nicht mehr verwendbar, sie ist zerstört.
Auch für die Vorbeugung bzw. Bekämpfung ist großer Aufwand erforderlich, die Kosten
für Antivirensoftware sind hierbei noch das kleinste Problem. Um eine netzwerkweite
Infektion in einem großen Unternehmen zu bekämpfen, sind unter Umständen einige Wochen
zu veranschlagen, ganz abgesehen von den Ausfallzeiten der einzelnen Rechnersysteme.
Leider ist es aber oft so, dass, wie bei einer Versicherung, viele Anwender oder
IT-Verantwortliche nicht einsehen, für eine potentiell mögliche Bedrohung durch Viren
vorzusorgen. Aber wie bei einer Hausrat- oder Feuerversicherung zeigt sich der eigentliche
Nutzen erst beim Eintritt eines richtigen Schadens: man ist froh, wenn man sich versichert
hatte.
Zum Seitenanfang
Wie
können Computerviren erkannt werden?
Computerviren lassen sich durch
verschiedene Methoden entdecken. Eine sichere Methode, alle Computerviren aufzuspüren,
existiert nicht. Normalerweise wird eine Mischung aus verschiedenen Technologien
eingesetzt:
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, ca. zwischen 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, dass der gleiche Suchstring auch in sauberen Codes oder Daten gefunden wird.
Dies wird dann eine Fehlmeldung oder engl. "False Positive" genannt. Bei ca.
60.000 bekannten Viren 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 kann
dieses Verfahren allerdings nicht verwendet werden, da diese ihren
"Fingerabdruck" ständig ändern. Eine Erkennung dieser Viren ist nur über
einen algorithmischen Ansatz oder über eine sog. Generic Decryption Engine (GDE)
möglich. Der algorithmische 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 Virus. Dieser wird nun solange simuliert ausgeführt, bis er sich
selber wieder in seine Urform gebracht hat. Nun kann er mit einem herkömmlichen
Suchstring gefunden werden. Man demaskiert den Virus (oder besser: man lässt ihn die
Maske sich selber abnehmen), um ihn zu enttarnen. Leider benötigt auch dieses Verfahren
leistungsstarke Rechner, da die Simulation eines Prozessors (CPU) 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 weiteres Problem für die Hersteller von Antivirensoftware besteht
darin, dass die internen Dateiformate der Dokumente oft nicht bekannt sind oder vom
Hersteller nicht veröffentlicht werden. Diese internen Strukturen müssen vom Entwickler
der Antivirensoftware sehr aufwändig analysiert werden, falls das überhaupt möglich
ist.
Unbekannte Viren wiederum können
mit Hilfe heuristischer Methoden oder mit Hilfe der künstlichen Intelligenz zumindest zum
Teil entdeckt werden. Heuristik bedeutet, dass das Antivirenprogramm versucht, mit
algorithmischen Methoden im Programm- oder Makrocode einer Anwendung virentypische
Merkmale herauszufiltern. Man könnte das mit einem potenziellen 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 analysieren, was dieser bei der
Ausführung der Tat anstellen wird. Die Methoden der künstlichen Intelligenz werden
dagegen noch sehr selten eingesetzt. Ein sog. neuronales Netzwerk, eine Art
selbstlernender, 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, neue, unbekannte
Viren zu finden, ein paar generelle Probleme: Diese Verfahren sind sehr aufwändig und
verlangsamen die Suchgeschwindigkeit und - da sie immer nur aus bestimmten
Verhaltensmustern Rückschlüsse auf das Vorhandensein ein Virus ziehen 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 allzu oft 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, indem er auf bestimmte Symptome achtet. Zu den häufigsten
Symptomen gehören:
Programme benötigen plötzlich
deutlich länger, bis sie vollständig geladen sind.
Die Dateigröße eines Programms
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
unrealistische 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 merkwürdige,
unbekannte Namen.
Aus dem Lautsprecher kommt bei
jedem Tastendruck ein seltsames Geräusch (Klick).
Die Bildschirmausgaben
verändern sich ohne Ihr Zutun.
Der Computer verliert seine
Einstellungen im CMOS-RAM, obwohl Akku oder Batterie o.k. sind.
Unter Windows 95 ist der
Kompatibilitätsmodus aktiviert.
Dokumente zeigen häufig
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 eins, d.h. mit mehreren
Antivirenprogrammen nacheinander zu suchen, erhöht die Sicherheit beträchtlich. Zur
Erkennung von Computerviren können auch Prüf-/ Checksummenprogramme eingesetzt
werden, die oft in die Antivirenprogramme integriert sind. Diese Programme errechnen für
jede Programmdatei eine Prüfsumme und speichern sie 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.
Zum Seitenanfang
Wie lassen sich Computerviren entfernen?
Computerviren in Programmdateien
lassen sich nur durch Löschen der infizierten Programmdatei sicher entfernen. Viele
Benutzer scheuen aber eine Neuinstallation gelöschter Programmdateien und versuchen, den
Virus mit Antivirenprogrammen (z.B. AntiVir aus unserem Hause) zu entfernen. Wichtig ist
dabei, dass im Normalfall nur bekannte Viren entfernt werden können. Beim Entfernen eines
Virus aus einer infizierten Programmdatei versucht das Antivirenprogramm die
ursprüngliche Programmdatei wiederherzustellen, was durchaus möglich ist, solange der
Virus seinen Wirt nicht bereits bei der Infektion zerstört hat.
Zum Seitenanfang
Wie kann
man sich vor Computerviren schützen?
Computerviren verbreiten sich
über Datenträger. Wird auf einem Computer niemals eine "fremde" Diskette
eingelegt und wird stets nur Originalsoftware installiert, haben Viren wenig Chancen. Wird
dagegen ab und zu neue Software von "guten Bekannten" ausprobiert, steigt die
Wahrscheinlichkeit einer Infektion.
Viele Viren verbreiten sich über
den Bootsektor von Disketten oder anderen Wechselmedien (auch Datendisketten haben einen
Bootsektor). Bei neueren Systemplatinen hängt es hierbei von der Startreihenfolge (engl.
Boot Sequence) im sog. BIOS-Setup ab, ob versucht wird, von Diskette oder CD-ROM zu
starten, oder gleich von der Festplatte. Ist bei entsprechender Startreihenfolge eine
Diskette im Laufwerk A:, wird der Bootsektor dieser Diskette geladen und ausgeführt. Ein
Bootsektor-Virus auf einer Diskette wird dabei sofort aktiviert. Aus diesem Grund sollten
Sie die Startreihenfolge Ihres PC's, wenn möglich, von "A, C" nach "C,
A" umstellen. Auf jeden Fall also so, dass immer zuerst versucht wird, von der
Festplatte zu starten.
Die meisten Viren verbreiten sich
beim Starten von infizierten Programmen. Vor dem Starten neuer Programme sollten diese
Programme mit einem aktuellen Virenscanner auf Viren untersucht werden. Falls Sie einen
residenten Virenwächter wie z.B. AVGuard installiert haben, ist dies allerdings nicht
mehr erforderlich. Achten Sie nur darauf, dass der Wächter aktiv ist und die
entsprechenden Dateien auch überprüft werden. Weiter sollten Sie darauf achten, dass der
Wächter aktuell ist. Nichts ist älter als ein Monate altes Antivirenprogramm! Um ganz
sicher zu gehen, sollten Sie auch ab und zu Ihre kompletten Festplatten vollständig
durchsuchen. Starten Sie aber vorher - falls möglich - von einer schreibgeschützten,
garantiert virenfreien Systemdiskette.
Beim Schutz vor Dokumentviren gilt
das gleiche: Verwenden Sie eine gute und aktuelle Antivirensoftware. Weiter sollten Sie -
sofern vorhanden - die Schutzmechanismen der eingesetzten Applikation aktivieren. Melden
diese Schutzfunktionen Makros, wo keine vorhanden sein sollten, ist höchste Vorsicht
angebracht.
In Computernetzwerken sollten die
Zugriffsrechte für alle Benutzer auf das minimal notwendige Maß reduziert werden. Für
Programmdateien sollte nur "Leserecht" existieren. Bei einer eventuellen
Infektion kann sich der Virus hierdurch nicht allzu einfach verbreiten. Verwenden Sie
Administrator- oder Supervisor-Rechte beim Zugriff auf den Server nur, wenn Sie sie
unbedingt benötigen. Erteilen Sie den Benutzern im Login-Verzeichnis keine Schreibrechte,
damit die dort liegenden Programme nicht infiziert werden können. Installieren Sie - wenn
möglich - eine gute Antivirensoftware (z.B. AntiVir) auf Ihrem Server.
Zum Seitenanfang
Netzwerkviren
Ist vielleicht das Kapitel, das
als erstes umgeschrieben werden muss. Wenn heute gesagt wird, dass es keine Netzwerkviren
gibt, dann heißt das, dass uns bis heute kein Virus bekannt ist, der die
Schutzmechanismen der meistinstallierten Netzwerke umgehen kann.
Viren in Textdateien
Nur im Labor vorhanden, nicht
öffentlich aufgetreten. Hier sollte man aber zwischen den als Textdateien getarnten
Programmen, den von Viren überschriebenen Textdateien und den ANSI-Sequenzen in
Textdateien unterscheiden.
Als Textdateien getarnte Programme
sind keine Textdateien, sondern Programme. Ein normales Auto kann man auch als
"Kleinlaster" in das Schaufenster stellen, es ändert sich aber nichts an der
Tatsache, dass es ein Auto ist.
Ein jeder hatte vermutlich zu
DOS-Zeiten (oder auch heute noch unter Windows 9x) den ANSI-Treiber durch seine CONFIG.SYS
geladen. Mittels bestimmter ANSI-Sequenzen ist es jedoch möglich, beliebige Tasten neu zu
definieren. Ein Beispiel hierfür wäre, eine Sequenz zum Löschen bestimmter Dateien auf
die <ENTER>-Taste zu legen. Abgesehen von der Notwendigkeit, diese Sequenz erst
einmal ungefiltert an das Betriebssystem senden zu müssen, haben diese Sequenzen keine
längere Überlebenschance.
Wenn Textdateien durch Viren überschrieben wurden, kann
das Betriebssystem diese Dateien zwar ausführen, jedoch nicht mehr als Textdatei.
Erst nach Umbenennung ist dies wieder möglich. Es gibt Viren, die nicht nur die
ausführbaren Programme befallen: Sie infizieren Dateien immer dann, wenn diese infolge
von Dateinamenserweiterungen eine bestimmte Quersumme von ASCII-Zeichen aufweisen. Dem
sollte man keinesfalls dadurch zu begegnen versuchen, dass man Textdateien auf COM oder
EXE umbenennt und anschließend diese Textdatei auch noch aufruft.
Viren im CMOS
Gibt es nicht. Viren können zwar
die im CMOS-Ram abgelegten Daten ändern, doch nicht darin überleben. Es wäre demnach
wenig sinnvoll, z.B. die Uhr abzuklemmen oder auszulöten.
Viren im BIOS-ROM
Jetzt wird's interessant! Vor
Jahren galt das BIOS-ROM eines Rechners als unveränderlich, wenn man nicht gerade einen
neuen EPROM-Chip in den Sockel steckte. Heute werden allerdings die meisten Rechner mit
einem Flash-BIOS ausgeliefert. Dies ist eine Art Speicher, der beim Abschalten des Stroms
seinen Inhalt behält, jedoch durch "Neubrennen" direkt per Programm geändert
werden kann. Es ist so z.B. möglich, das BIOS seines Rechners durch Laden und Starten
einer einfachen Software upzudaten. Bei diesem Vorgang wird ein neuer Programmcode von
einem externen Datenträger in das ROM geschrieben. Theoretisch wären hier also Viren
durchaus überlebensfähig! Im Sommer 1998 gab es dann tatsächlich den ersten Virus (W95/CIH), der sich diese
Beschreibbarkeit des Flash-ROMs zunutze machte. Er verwendete dies aber nicht zur
Weiterverbreitung, sondern nur für seine Schadensroutine: Bei Erreichen seiner
Triggerbedingung überschrieb er das BIOS seines Wirtsrechners mit Datenmüll. Hier
könnte man sich natürlich auch einen Virus vorstellen, der nicht irgendwelchen
Datenmüll, sondern seinen eigenen Programmcode in das Flash-ROM schreibt und sich so
seine Aktivierung sofort beim Einschalten des Rechners Start sichert.
Viren im Drucker
Märchen? Mehr Ja als Nein.
Heutzutage besitzen Drucker fast alle einen Prozessor, Hauptspeicher sowie EEProms zur
dynamischen Neukonfiguration und zur Aufbereitung der Druckseiten. Diese Speicherbereiche
werden bis auf den Inhalt des EEPROMS nicht ausgeführt, ein Virus kann deshalb keinen
Programmcode installieren. Anders sieht es mit den Seitenbeschreibungssprachen der Drucker
aus. Besonders PostScript, eine Seitenbeschreibungssprache, die interpretativ arbeitet,
hat Kommandos, mit deren Hilfe Passwörter oder wichtige Systemparameter im Drucker auch
dauerhaft geändert werden können. Aber dann wäre ja der Virus kein Virus im Drucker,
sondern die Veränderung ist nur der Ausdruck seiner Anwesenheit.
Viren im Unterträger von Modems
Gehören ins Reich der Fabel
verbannt, oder haben Sie schon mal gehört, dass beim Fernsehen "Big Macs" und
Coca-Cola mit auf der Leitung übertragen werden?
Zum Seitenanfang
Zusätzliche Informationen
erhalten Sie bei: