|
Computerviren sind lästige Kreaturen: Innerhalb eines Jahres muss man weltweit mit Schäden in Millionenhöhe rechnen. Dabei entstehen die größten Schäden noch nicht einmal durch Datenverlust, da die meisten Firmen inzwischen ausgeklügelte Datensicherungsmechanismen entwickelt haben, um sich vor Datenverlust zu schützen Trotzdem erfordert es einen nicht unerheblichen Aufwand, ein infiziertes System wieder zu kurieren. Heimanwender sind eigentlich stärker gefährdet, da sie einerseits recht unbefangen mit fremden Disketten, die infiziert sein könnten, umgehen, und andererseits mit Sicherungen ihres Datenbestandes sparen. und falls Sie nur Pogramme von der CD-Rom aus installieren, sollte Ihnen der Hinweis zu denken geben, dass man auf CD-Rom´s mit Shareware auch schon Viren gefunden hat. Was ist ein Virus? Ein
Computervirus ist nichts anderes als ein Programm, das der Sabotage in
der EDV dienen soll. Als solches kann es nur Schäden an der Software
bzw. an Datenbeständen anrichten. Der Name Virus, der manchmal zur
falschen Vorstellung von organischen Lebewesen führt, wurde nur aufgrund
der Ähnlichkeit der Wirkungsweise von biologischen und Computerviren gewählt.
Computerviren sind Pogramme, die sich selbst vervielfältigen können. Sie nisten sich in Wirtsprogramme ein, ähnlich wie organische Viren in Lebewesen. Das ist aber nicht die einzige Eigenschaft dieser Pogramme, denn meist haben sie neben der eigenen Vermehrung noch eine andere Aufgabe. Dies können ganz einfache Tätigkeiten sein, zum Beispiel irgendwelche Meldungen auf dem Bildschirm auszugeben. Bösartige Vieren können allerdings auch Dateien und Programme verändern, zerstören und/oder ganz löschen. Damit gefährden sie ganz erheblich die Betriebssicherheit von Rechensystemen. Seit die Gefahr von Viren durch Bekannt werden der Infizierung weltweiter Rechnersysteme endlich ins Bewusstsein der Computer-Betreiber gelangt ist, wird nach wirksamen Gegenmitteln gesucht. Sie sollen Möglichst umfassenden Schutz bieten, den Betrieb des Rechners nicht einschränken und möglichst automatisch ablaufen, da die Benutzer notwendig Routineaufgaben nur zu oft aus Bequemlichkeit unterlassen. Ähnlich wie organische Viren können sich auch Computerviren verändern, um Abwehrmechanismen auszuweichen. Doch können meist nicht alle Pogramme von einem Virus als Wirt missbraucht werden. Eine wirkliche Evolution wie in der Natur kann nicht erfolgen, da sich das Virusprogramm nur in einem vom Programmierer geplanten umfang selbst verändert. Zwar können Viren unter günstigen Umständen über mehrere Generationen überleben, dochkann man ihnen durch rabiate Maßnahmen die Existenzgrundlage entziehen. Die radikalste Maßnahme wäre das komplette Löschen aller Programme auf der Festplatte und der Neuaufbau des Betriebssystems. Wie arbeiten Computer-Viren? Viren sind Programme die sich in erster Linie selbst verbreiten: ein Beispiel ich habe ein Programm, welches durch einen Virus infiziert ist (der Virus hängt sich an Dateien meistens .EXE, .COM, DLL usw. an). Wenn ich dieses Programm starte ist der Virus in meinem Speicher. Starte ich jetzt ein anderes Programm, so hängt sich der Virus an das gestartete Programm und verbreitet sich so. Wenn ich jetzt auch noch eine Diskette oder gebrannte CD-ROM mit einem infizierten Programm weitergebe, dann breitet sich der Virus aus. Diese Art nennt man Dateivirus. Der Programmierer eines Virus möchte natürlich, daß sich der Virus sehr weit verbreitet. Dieses erreicht er, wenn er den Virus irgendwo einbaut, wo viele Benutzer die gleichen Programme aufrufen. Das ist gewährleistet bei Raubkopien, diese verbreiten sich sehr schnell. Interessant ist natürlich auch ein Netzwerk so wie das Internet. Jetzt muß man nur noch die User dazu bringen, das infizierte Programm aufzurufen. Hierfür bedient sich der Virenprogrammierer mit der menschlichen Neugier. Er nennt das Programm einfach SEX.EXE oder verspricht in einer Text-Datei Paßwörter von kostenpflichtigen Sexseiten im Internet. Mit der Verbreitung des Virus ist es noch nicht getan. In den harmlosesten Fällen fährt nur ein Krankenwagen mit Blaulicht (Acident-Virus) über Ihren Bildschirm. Meistens zerstören die Viren Daten oder ganze Festplatten. Es gibt jedoch nicht nur Viren, die sich an ausführbare (z.B. EXE) Daten hängen, sondern auch Makroviren, die sich mit Text-Dokumente, die in Word oder Excel erstellt wurden, verbreiten. Sendet man nun eine infizierte Word-Text-Datei als Email, breitet sich der Virus auch bei dem Empfänger aus. Genereller Aufbau: Ein Computervirus besteht
mit Ausnahmen aus 2 Hauptteilen: a)
Der Fortpflanzungsmechanismus: Genau
wie bei einem biologischen Virus ist eine der Aufgaben eines Computervirus
die möglichst weite Verbreitung in alle Winkel eines Computersystems.
Dazu wird ein oft ausgeklügelter Fortpflanzungsmechanismus geschrieben.
Je nach Virenart (siehe 2)) werden Dateien, Bootsektoren, Arbeitsspeicher,
BIOS-Speicher, Macros, MBRs infiziert. Bei der Infektion einer Datei
kopiert der Virus neben dem eigentlichen Programm einen speziellen Code in
das File. Falls der Virus jetzt versucht eine schon infizierte Datei
nochmals zu infizieren und dabei auf seinen eigenen Code stößt, weiß
er, daß die Datei schon von ihm infiltriert ist und eine doppelte
Infektion wird somit vermieden. b)
Der Auftrag: Nach
dem Ziel, das der Programmierer verfolgt, gestaltet sich der Auftrag. Vom
einfachen Nichtstun bis zur Zerstörung von Bildschirm, Laufwerke und Löschung
von Festplatten usw. ist alles möglich.Um
möglichst lange unentdeckt zu bleiben und um sich weit verbreiten zu können,
tritt die Schadensfunktion meistens erst nach einiger Zeit in Kraft. Viren
verwenden dazu sog. Trigger, d.h. der Virus wird erst nach dem Eintreten
eines bestimmten Ereignisses aktiv. Beispiele für Trigger: Aktivierung
-) an einem bestimmten Datum ( Fr 13.13.1333)
-) nach dem 100. Start des infizierten Programmes
-) nach dem 200. Start des Computers
-) nach Drücken einer bestimmten Tastenkombination
-) an einer bestimmten Uhrzeit 2)
Allgemeine Funktionsweise: Der
folgende Beispiel-Pseudo-Pascal-Programmcode beschreibt die prinzipielle
Funktionsweise von Computerviren:
In dieser Form wäre
der Virus natürlich nicht funktionstüchtig. Erklärung
der einzelnen Abschnitte: Zeile 2:
Dies ist der spezielle Viruscode der schon in 3)a) erklärt wurde.
Bei jeder Neuinfektion einer Datei überprüft der Virus ob diese
Zeichenkette in der Datei schon enthalten ist. Ist das der Fall, ist die
Datei schon infiziert. Zeile 4-14:
Hier wird eine zu infizierende Datei gesucht (Zeile 8) und überprüft
ob sie noch “gesund” ist (Zeile 9). Ist das der Fall, wird sie “gekränkt”. Zeile 16-19:
Hier sind die Aufgabe des Virus und der Zeitpunkt der Ausführung
definiert. In diesem Fall formatiert der Virus am 13.13.1333 die
Festplatte C:. Zeile 21-25: Das ist das Hauptprogramm in dem die einzelnen Abschnitte (Infektion, Aufgabe, Start des Wirtprogramms) aufgerufen werden. In Zeile 24 wird das Wirtprogramm gestartet um dem Benutzer ein fehlerfreies Programm vorzugaukeln. Welche Typen gibt es? Virusprogramme können in drei Gruppen unterteilt werden. Viren des Typs 1, überschreibende Viren, kommen ihren biologischen Vorbildern am nächsten. Sie zerstören das Originalprogramm. Von nun an besteht dessen einzige Funktion darin, neue Viren zu erzeugen. Dies geschieht bei jedem Programmaufruf. Da die eigentliche Funktion des Originalprogramms nicht mehr ausgeführt werden kann, täuscht das Virusprogramm meist einen Fehler vor und bricht das Programm ab. Diese Art von Viren lässt sich leicht entdecken. Viren des Typs 2 erhalten das Originalprogramm in lauffähigem Zustand und kopieren sich selbst an dessen Ende. Zur Identifikation bereits befallener Programme schreiben sie an den Anfang des Programms eine Kennung. Viren dieser Art können bereits sämtliche Programme eines Rechners infiziert haben, ohne dass der Anwender etwas von deren Vorhandensein bemerken muss. Auffällig werden solche Viren erst, wenn sie sich mit etwas anderem als ihrer eigenen Vermehrung zu beschäftigen beginnen, also etwa damit, Daten oder Programme systematisch zu zerstören. Als am weitesten entwickelte und damit am schwersten zu erkennende Version verändert Typ 3 den Anfang des Programms nicht, sondern verändert einen Punkt in der Mitte des Programms, um von dort aus auf das eigentliche Virusprogramm zu verzweigen. Der Zeitpunkt dieses Sprunges ist von Programm zu Programm unterschiedlich. Auch hier sind die verschiedensten Zusatzaufgaben denkbar. Zu welchem Typ ein Virus gehört, ist für normale PC-Anwender nicht so wichtig. Entscheidender ist dagegen, für welche Zusatzaufgaben ein Virus programmiert wurde. Gutmütige Viren machen vielleicht lediglich durch eine Meldung am Bildschirm auf sich aufmerksam. Bösartige Viren können dagegen Ihre sämtlichen Daten auf der Festplatte zerstören. Dazu kann ein Virus einfach das Programm FORMAT aufrufen, um Ihre Festplatte zu formatieren, wodurch sämtliche Informationen gelöscht werden. Oder ein Virus ändert einfach die Einträge in der FAT, wodurch das Betriebssystem nicht mehr auf die gespeicherten Daten zugreifen kann. Neben dieser Typisierung werden Viren nach verschiedensten Arten unterschieden. Einen Überblick gibt Ihnen die folgende Tabelle.
Wie wird ein System infiziert? Nun werden Sie sich sicherlich fragen, wie sich so ein Untier auf Ihrem Rechner einnisten kann? Nicht selten ist die Leichtsinnigkeit der Anwender Schuld an einer Vireninfektion. Raubkopien von Programmen aus dem Freundes- und Bekanntenkreis führen häufig zu einer weiten Verbreitung von Viren. Am Anfang der Kette steht ein verseuchter PC, von dem ein infiziertes Programm auf Diskette kopiert wird, die nun von Interessent zu Interessent wandert. jede neue Installation dieses Programms führt zu einem weiteren infizierten PC. Aber nicht nur Raubkopien sind die Schuldigen; auch so manchem Softwarehersteller ist es schon einmal passiert, dass ein Programm auf infizierten Datenträgern an seine Kunden weitergegeben wurde. Einige dieser Hersteller sind anschließend in arge finanzielle Bedrängnis geraten, da die Kunden die Kosten für die Bereinigung ihrer Computersysteme dem Hersteller in Rechnung gestellt haben. Eine weitere Verbreitungsmöglichkeit sind Shareware-Sammlungen auf CD-ROM. Nicht jeder Herausgeber einer solchen CD-ROM überprüft alle Programme auf Viren, bevor sie auf der CD gespeichert werden. Eine ganz aktuelle Gefahr stellen auch die Software-Foren der diversen Online-Dienste dar. Hier kann fast jeder Autor eines Programms dieses zum Herunterladen zur Verfügung stellen. Pech für denjenigen, der solch ein Programm ohne vorherige Überprüfung auf Viren auf seinem PC installiert und sich dadurch evtl. einen Virus einfängt. Es gibt aber nicht nur Viren, die Schaden auf einem PC anrichten können. Ein Beispiel sind die Trojanischen Pferde, Programme, die zunächst vorgeben, eine nützliche Funktion zu erfüllen, tatsächlich aber nur den Rechner beschädigen. Ein typisches Beispiel hierfür war ein Programm, das von einer Firma aus Panama auf einer AIDS-Konferenz kostenlos zum Test verteilt wurde; bei längerer Nutzung sollte eine Lizenzgebühr bezahlt werden. Nach dem neunzigsten Aufruf des Programms wurde die Festplatte des Anwenders verschlüsselt. Um wieder an seine Daten heranzukommen, sollte der Benutzer des Programms die Lizenzgebühr überweisen und würde dann das Kennwort für die Entschlüsselung erhalten. Programme, die sich in Netzwerken herumtreiben und für Unordnung sorgen können, sind die sogenannten 'Würmer. Computerwürmer benötigen keine Wirtsprogramme, um sich zu vervielfältigen. Statt dessen nutzen sie Netzwerkfunktionen, um sich innerhalb eines Computer-Netzwerks von einem Rechner auf einen anderen Rechner zu kopieren. Was aber passiert nun, wenn ein infiziertes Programm gestartet wird? Das hängt natürlich von der Art des Virus ab. Grundsätzlich enthält ein infiziertes Programm neben dem eigentlichen Programmcode auch die Codezeilen des Virus selber. Auf diese Codezeilen verweist ein Sprungbefehl, der während der Infizierung an den Anfang der Programmdatei platziert wird. Wird das Programm aufgerufen, verweist der Sprungbefehl als erstes auf den Programmcode des Virus, der dadurch auch als erstes abgearbeitet wird. Während der Ausführung kann sich der Virus nach anderen ausführbaren Programmdateien umsehen, um auch diese Programme zu infizieren. Wie erkennt man ein infiziertes System? Zunächst einmal kann man ein infiziertes System an dem durch den Virus verursachten Schaden erkennen: im Extremfall als Verlust aller Daten, bei anderen Viren durch vereinzelt gelöschte Dateien, eine beschädigte FAT, defekte Cluster auf der Festplatte, Programme, die sich nicht so verhalten, wie sie sollen, oder auch dadurch, dass die Arbeitsgeschwindigkeit des Rechners beständig abnimmt. Spätestens bei diesen Symptomen ist es Zeit, den Rechner auf Viren zu überprüfen. Die wohl sicherste Möglichkeit zur Überprüfung der eigenen Arbeitsdateien wäre der Vergleich mit einer hundertprozentig unveränderten Version, zum Beispiel von Originaldisketten. Man vergleicht lediglich jedes einzelne Bit der beiden Dateien. Diese Überprüfungsmethode birgt jedoch entscheidende Nachteile in sich. Sie kostet viel Zeit, da sich die Originalprogramme auf einem anderen Datenträger befinden müssen. Da der Vergleich vor jedem Start des Programms durchgeführt werden müsste, ist diese Überprüfungsmethode praktisch undurchführbar. Eine etwas einfachere Möglichkeit ist die Berechnung und der Vergleich von Prüfsummen. Spezielle Antiviren-Programme, die mit dieser Methode arbeiten, überprüfen in einem ersten Durchlauf alle Programme und berechnen für jedes Programm nach festgelegten Regeln eine Prüfsumme. Bei der regelmäßigen Überprüfung wird für alle Programme die Prüfsumme erneut berechnet und mit der ersten Zahl verglichen. Eine Abweichung zwischen den Prüfsummen weist darauf hin, dass das jeweilige Programm verändert worden ist, wahrscheinlich durch einen Virus. Das kann aber letztlich nur ein sogenanntes Killerprogramm feststellen. Diese Programme beruhen darauf, dass bereits bekannte Viren anhand ihrer spezifischen Merkmale gesucht werden können. So lassen sich fast alle Viren an einem bestimmten Bitmuster erkennen, das normalerweise 10 bis 16 Byte lang ist. Dieses Bitmuster verwenden diese Viren, um festzustellen, ob ein Programm bereits von ihnen infiziert ist. Solche Programme haben allerdings den Nachteil, dass sie nur eine ganz bestimmte Sorte von Viren auffinden. Gegen sich selbst verändernde Viren sind sie hilflos. So kann ein Killerprogramm ein virusfreies System melden, obwohl genaugenommen nur die Abwesenheit einiger bestimmter Virusprogramme festgestellt wurde. Daher ist es unbedingt notwendig, ein einmal angeschafftes Antiviren-Programm regelmäßig zu aktualisieren. Die meisten Hersteller solcher Programme bieten einen entsprechenden Service an. Lässt sich ein Virus wieder entfernen? Es gibt inzwischen eine ganze Reihe von Antiviren-Programmen, die direkt nach dem Systemstart alle vorhandenen Programme auf der Festplatte oder Diskette auf Viren überprüfen und diese gegebenenfalls löschen oder aus dem Wirtsprogramm herausoperieren. Dies ist allerdings nur dann möglich, wenn sich ein Virus nur an oder in den Programmcode seines Wirtsprogramms eingefügt hat. In diesem Fall kann das Antiviren-Programm diesen Programmcode einfach wieder herauslesen. Hat der Virus dagegen Code des Wirtsprogramms durch eigenen Code überschrieben, sind Antiviren-Programme machtlos. In diesem Fall hilft es nur noch, das befallene Programm zu löschen. Der beste Schutz gegen Viren ist immer noch Aufpassen und Vorsorgen. Für dieses Aufpassen gibt es einige Grundregeln: Ø Originalsoftware auf Diskette nur mit Schreibschutz verwenden. Ø Auf Rechnern mit wichtigen Daten regelmäßig zuverlässige Viren-Testprogramme einsetzen. Ø Um beim Auftauchen einer Virusinfektion noch möglichst aktuelle Sicherungsdaten zu haben, empfiehlt es sich, häufige Sicherungen (Backups) der Daten durchzufahren. Ø Rechner mit sehr wichtigen Daten sollten gegebenenfalls gänzlich von der Umwelt isoliert werden, das heißt: keine Vernetzung, Diskettenlaufwerke nur im Notfall benutzen.
Mitte
der 80er Jahre waren Viren und der Schaden, den sie anrichten, zu einem
ernstzunehmenden Problem geworden, sodaß über Maßnahmen zum Virenschutz
diskutiert wurde. Da zu dieser Zeit noch die direkte Sabotage
vorherrschend war, genügten vorerst Zugangskontrollen zu den Rechnern,
etwa durch Magnetkarten für die autorisierten Benutzer, das Aufbewahren
virenfreier Backups, sowie das Setzen des Dateiattributs
“Schreibgeschützt”.
All
das reicht jedoch als Schutz vor den heutigen Viren schon lange
nicht mehr. Das Schreibschutzattribut kann problemlos gelöscht
(und zum Verwischen der Spuren nach der Manipulation wieder gesetzt)
werden und da viele Viren zunächst keine sichtbaren Lebenszeichen von
sich geben, kann nicht garantiert werden, daß die angelegten Backups
fehlerfrei sind. Die
einzige, einigermaßen sichere Variante, sich vor Viren zu schützen, ist,
keinen Datenaustausch durchzuführen, d.h. auf jeglichen Zugang zu
Netzwerken verzichten und keine in anderen Computern beschriebenen Datenträger
(Disketten, Streamerbänder, ...) zu verwenden. Allerdings gibt es keine
100%ige Garantie, daß die installierte Software, wenn auch original,
virenfrei ist. Das Aufbewahren
von Backups ist ebenfalls keine 100%ig sichere, dennoch aber
empfehlenswerte Maßnahme, ebenso wie das regelmäßige Ordnen (und
Defragmentieren) der Festplatte, um Änderungen im Dateibestand oder
augenfällige Größenänderungen rechtzeitig zu erkennen. Einen nützlichen
- wenn auch begrenzten - Schutz bietet der Schreibschutzschalter
der 3,5” Diskette. Der
wahrscheinlich beste - wenngleich nicht absolut sichere - Schutz ist der
Einsatz eines Anti-Virus Programms, das sehr oft auch als Shareware
erhältlich ist. Das Grundprinzip von AV-Programmen ist, daß sie möglichst
viele Viren - und deren Code bzw. alle Varianten davon - kennen, und den
Dateibestand auf bekannte Strukturen überprüfen und im entsprechenden
Fall korrigieren. Ältere Programme analysieren dabei nur die Struktur des
möglichen Virus, neuere führen ihn in einer abgesicherten Simulation des
Systems aus. Diese Methode ist zwar gegen häufig verbreitete und ältere
Viren sehr effizient, hat aber den Nachteil, daß neue Viren, oder neue
Generationen polymorpher Viren oft nicht erkannt werden. Um dem
abzuhelfen, werden hauptsächlich drei Methoden verwendet: 1.
Speicherresidente Überwachung: Das Anti-Virus Programm wird
beim Booten geladen und prüft potentielle Infektionsquellen,
beispielsweise Dateien, die von einer Diskette auf die Festplatte kopiert
werden und einen Virus einschleppen könnten. 2.
Prüfsummenmethode: Dabei werden die Dateigrößen innerhalb
eines Verzeichnis in einer eigenen Datei gespeichert und immer wieder mit
der aktuellen Größe verglichen. Eine Abweichung könnte auf eine
Infektion hindeuten. Der Nachteil dieser Methode ist, daß das Anti-Virus
Programm relativ oft Fehlalarm schlägt, wenn eine Datei absichtlich verändert
wurde. 3.
Fuzzy Logic: Durch Einsatz der Fuzzy Logic in der
Virenerkennung ist es möglich, alle - oder zumindest sehr viele - Abarten
eines polymorphen Virus zu erkennen, da weitere, unbekannte Abarten fast
immer einen ähnlichen Code aufweisen wie bekannte. Bei gänzlich neuen
Viren ist die Erfolgsquote wesentlich niedriger, wenngleich Viren, die
einem schon bekannten Virus ähnlich sind, erkannt werden können. Sehr
oft werden Prüfsummenmethode und Fuzzy Logic auch bei der
speicherresidenten Überwachung verwendet.
Der Einsatz von Anti-Virus Programmen ist selbstverständlich nur dann erfolgreich, wenn die Überprüfung der Festplatte regelmäßig erfolgt und neu hinzukommende Daten (etwa von Disketten) konsequent überprüft werden. Ein
weiteres Problem beim Einsatz von Anti-Virus Programmen stellt der Wechsel
des Betriebssystems dar, da für DOS oder Windows konzipierte
Virenkiller nicht immer unter OS/2 bzw. insbesondere Windows95
funktionieren und neue Anti-Virus Software für diese Systeme erst nach
und nach auf den Markt kommt. Als die
am häufigsten auf DOS/Windows Systemen eingesetzen Anti-Virus
Programme sind zu nennen: Das in neueren DOS-Versionen enthaltene und eher
wirkungslose Microsoft Anti-Virus, IBM AntiVirus/DOS,
Central Point Anti Virus bzw. Norton Anti Virus, McAfee Scan/Clean,
ThunderByte AntiVirus, FProt sowie Dr. Solomon’s Anti
Virus Toolkit. Für Windows95 sind bislang McAfee und Norton
AntiVirus95 erhältlich, für OS/2 IBM AntiVirus/2.
Die
Rechtslage im Bereich von Computerviren ist in Deutschland sehr ungenau.
Das Programmieren von Computerviren ist demnach nicht ausdrücklich
verboten, sehr wohl aber deren - auch nur versuchte - Anwendung und
vor allem die daraus resultierende Veränderung von Daten. Strafbar
ist die Anwendung jedes Virus, auch wenn er keinen Schaden anrichtet, da
in jedem Fall durch das Kopieren des Virusprogramms eine Veränderung von
Datenbeständen erfolgt, wenngleich es keine wirklich genauen Bestimmungen
zur indirekten Verbreitung von Viren, etwa durch Einschleusen in Netzwerke
anstatt durch direkten Einsatz an einem zu manipulierenden Computer, gibt.
In der Schweiz hingegen sind alle Schritte, vom Programmieren bis zur
Verbreitung, sowie der Anstiftung dazu, mit einer Freiheitsstrafe von bis
zu 5 Jahren belegt. Sowohl in der Schweiz als auch in Österreich und
Deutschland ist allerdings mit weitreichenden Schadenersatzforderungen
sowie einer Bestrafung für andere, durch den Vireneinsatz begangene
Delikte, etwa Betrug durch einen Virus, der Bankguthaben verschiebt, zu
rechnen. |


