Privacy Policy Cookie Policy Terms and Conditions Computervirus - Wikipedia

Computervirus

aus Wikipedia, der freien Enzyklopädie

Ein Computervirus (Singular; das, außerhalb der Fachsprache auch der Computervirus; Plural: Computerviren) ist ein sich selbst vermehrendes Computerprogramm, welches sich in andere Computerprogramme einschleust und sich damit reproduziert. Die Klassifizierung als Virus bezieht sich hierbei auf die Verbreitungs- und Infektionsfunktion.

Einmal gestartet, kann es vom Anwender nicht kontrollierbare Veränderungen am Status der Hardware (zum Beispiel Netzwerkverbindungen), am Betriebssystem oder an der Software vornehmen (Schadfunktion). Computerviren können durch vom Ersteller gewünschte oder nicht gewünschte Funktionen die Computersicherheit beeinträchtigen und zählen zur Malware.

Der Begriff Computervirus wird auch fälschlich für Computerwürmer und Trojanische Pferde genutzt, da der Übergang inzwischen fließend und für Anwender oft nicht zu erkennen ist.

Inhaltsverzeichnis

[Bearbeiten] Arbeitsweise

Wie sein biologisches Vorbild benutzt ein Computervirus die Ressourcen seines Wirtes und schadet ihm dabei häufig. Auch vermehrt es sich meist unkontrolliert. Durch vom Virenautor eingebaute Schadfunktionen oder auch durch Fehler im Virus kann das Virus das Wirtssystem bzw. dessen Programme auf verschiedene Weisen beeinträchtigen, von harmloseren Störungen bis hin zu Datenverlust.

Viren brauchen, im Gegensatz zu Computerwürmern, einen Wirt um ihren Schadcode auszuführen. Viren haben keine eigenständigen Verbreitungsroutinen, d. h. ein Computervirus kann nur durch ein infiziertes Wirtsprogramm verbreitet werden. Wird dieses Wirtsprogramm aufgerufen, wird – je nach Virentyp früher oder später – das Virus ausgeführt, das sich dann selbst in noch nicht infizierte Programme weiterverbreiten oder seine eventuell vorhandene Schadwirkung ausführen kann.

Heutzutage sind Computerviren fast vollständig von Würmern verdrängt worden, da fast jeder Rechner an Rechnernetze (lokale Netze und das Internet) angeschlossen ist und die aktive Verbreitungsstrategie der Würmer in kürzerer Zeit eine größere Verbreitung ermöglicht. Viren sind nur noch in neuen Nischen von Bedeutung.

[Bearbeiten] Unterschied zwischen Virus und Wurm

Computerviren und -Würmer verbreiten sich beide auf Rechnersystemen, doch basieren sie zum Teil auf vollkommen verschiedenen Konzepten und Techniken.

Ein Virus verbreitet sich, indem es sich selbst in noch nicht infizierte Dateien kopiert und diese ggf. so anpasst, dass das Virus mit ausgeführt wird, wenn das Wirtsprogramm gestartet wird. Zu den infizierbaren Dateien zählen normale Programmdateien, Programmbibliotheken, Skripte, Dokumente mit Makros oder anderen ausführbaren Inhalten sowie Bootsektoren (auch wenn Letztere normalerweise vom Betriebssystem nicht als Datei repräsentiert werden).

Die Verbreitung auf neue Systeme erfolgt durch versehentliches (gelegentlich auch absichtliches) Kopieren einer infizierten Wirtsdatei auf das neue System durch einen Anwender. Dabei ist es unerheblich, auf welchem Weg diese Wirtsdatei kopiert wird: Früher waren die Hauptverbreitungswege Wechselmedien wie Disketten, heute sind es Rechnernetze (z. B. via E-Mail zugesandt, von FTP-Servern, Web-Servern oder aus Tauschbörsen heruntergeladen). Es existieren auch Viren, die Dateien in freigegebenen Ordnern in LAN-Netzwerken infizieren, wenn sie entsprechende Rechte besitzen.

Im Gegensatz zu Viren warten Würmer nicht passiv darauf, von einem Anwender auf einem neuen System verbreitet zu werden, sondern versuchen, aktiv in neue Systeme einzudringen. Sie nutzen dazu Sicherheitsprobleme auf dem Zielsystem aus, wie z. B.:

  • Netzwerk-Dienste, die Standardpasswörter oder gar kein Passwort benutzen
  • Design- und Programmierfehler in Netzwerk-Diensten
  • Design- und Programmierfehler in Anwenderprogrammen, die Netzwerkdienste benutzen (z. B. E-Mail-Clients)

Ein Wurm kann sich dann wie ein Virus in eine andere Programmdatei einfügen; meistens versucht er sich jedoch nur an einer unauffälligen Stelle im System mit einem unauffälligen Namen zu verbergen und verändert das Zielsystem so, dass beim Systemstart der Wurm aufgerufen wird (wie etwa die Autostart-Funktion in Microsoft-Windows-Systemen).

In der Umgangssprache werden Computerwürmer wie „I Love You“ oft fälschlicherweise als Viren bezeichnet, da der Unterschied für Anwender oft nicht ersichtlich ist.

[Bearbeiten] Gefährdungsgrad unterschiedlicher Betriebssysteme

Das verwendete Betriebssystem hat großen Einfluss darauf, wie hoch die Wahrscheinlichkeit einer Virusinfektion ist bzw. wie hoch die Wahrscheinlichkeit für eine systemweite Infektion ist.

Grundsätzlich sind alle Betriebssysteme anfällig, die einem Programm erlauben, eine andere Datei zu manipulieren. Ob Sicherheitssysteme wie z. B. Benutzerrechte-Systeme vorhanden sind (und auch benutzt werden), beeinflusst, in wie weit sich ein Virus auf einem System ausbreiten kann.

Betriebssysteme ohne jegliche Rechtesysteme wie z. B. MS-DOS, Windows 9x oder Amiga-Systeme sind die anfälligsten Systeme. Wenn der Benutzer ausschließlich als Administrator arbeitet und somit das Rechtesystem nicht eingreifen kann, sind jedoch auch Unix und Unix-ähnliche Systeme wie Linux und Mac OS X theoretisch genauso anfällig. Genau das ist auch das Hauptproblem von aktuellen Microsoft-Windows-Systemen, die über ein gutes Benutzerrechtesystem verfügen, dieses aber normalerweise eine systemweite Virusverbreitung nicht verhindern kann, da die meisten Anwender aus verschiedenen Gründen als Administrator arbeiten oder ihr Benutzerkonto Administratorrechte besitzt. Ein Grund dafür ist, das nach der Installation von Windows das automatisch eingerichtete Benutzerkonto Administratorenrechte besitzt und weitere Konten erst vom Benutzer eingerichtet werden müssen. Die meisten Linux Distributionen richten bei der Installation ein Nutzerkonto mit eingeschränkten Rechten ein, so das beim ersten Start zunächst nur beschränkte Rechte zur Verfügung stehen und der so genannte Root-Nutzer, der Administratorenrechte besitzt, erst gezielt gestartet werden muss.

Wenn ein Anwender mit einem Benutzerkonto mit eingeschränkten Rechten arbeitet, kann ein Virus sich nur auf Dateien verbreiten, auf die der Benutzer die entsprechenden Rechte zur Manipulation besitzt. Das heißt in der Regel, dass Systemdateien vom Virus nicht infiziert werden können, solange der Administrator oder mit Administratorrechten versehene Systemdienste nicht Dateien des infizierten Benutzers aufrufen. Eventuell auf dem gleichen System arbeitende Benutzer können meist ebenfalls nicht infiziert werden, so lange sie nicht eine infizierte Datei des infizierten Benutzers ausführen oder die Rechte des infizierten Benutzers erlauben, die Dateien von anderen Benutzern zu verändern.

Da Windows-Systeme heute die weiteste Verbreitung haben, sind sie derzeit das Hauptziel von Virenautoren. Die Tatsache, dass sehr viele Windows-Anwender mit Konten arbeiten, die Administratorrechte haben, sowie die Unkenntnis von Sicherheitspraktiken bei der relativ hohen Zahl unerfahrener Privatanwender macht Windows-Systeme noch lohnender als Ziel von Virenautoren.

Während für Windows-Systeme über 60.000 Viren bekannt sind, liegt die Zahl der bekannten Viren für Linux und dem klassischen Mac OS jeweils bei etwa 50, für das seit einiger Zeit aktuelle (auf dem Unix-Subsystem Darwin basierende) Mac OS X sind bisher unter 10 Viren bekannt (aktuell zwei im Februar 2006). In „freier Wildbahn“ werden allerdings weitaus weniger verschiedene Viren beobachtet als theoretisch bekannt sind. Das erste Virus für Apples Mac-OS-X-Betriebssystem wurde am 13. Februar 2006 im Forum einer US-amerikanischen Gerüchteseite veröffentlicht. Bis dahin galt das Betriebssystem der Macintosh Computer als gänzlich von Viren und Würmern unbelastet. Der Hersteller von Windows Antivirenprogrammen Sophos stellt in seinem Security Report 2006' öffentlich fest, dass Mac OS X sicherer ist als Windows.[1]

Die meist kommerzielle Nutzung von Apple- und Unix-Computern allgemein führt unter anderem auch dazu, dass der Sicherheitsstandard höher ist, weil professionell betreute Computersysteme oft gut geschützt werden. Außerdem macht die geringe Verbreitung von Macintosh-Rechnern die Virenentwicklung weniger lohnend.

Bei Unix- und Linux-Systemen sorgen die höheren Sicherheitsstandards und die noch nicht so hohe Verbreitung dieser Systeme bei Endanwendern dafür, dass sie für Virenautoren momentan kein lohnendes Ziel darstellen und Viren „in freier Wildbahn“ praktisch nicht vorkommen. Anders sieht es bei Computerwürmern aus. Unix-/Linux-Systeme sind wegen der hohen Marktanteile bei Internet-Servern mittlerweile ein häufiges Ziel von Wurmautoren.

Der Quellcode von Linux sowie der meisten anderen Unix-Betriebssysteme liegt offen und ist frei verfügbar, was die erfolgreiche Virenentwicklung für diese Betriebssysteme erschwert, da Sicherheitslücken meist sehr schnell geschlossen werden, nachdem sie entdeckt wurden.

[Bearbeiten] Schutz durch Live-Systeme

Live-Systeme wie Knoppix, die unabhängig vom installierten Betriebssystem von einer CD gestartet werden, bieten nahezu vollständigen Schutz, wenn keine Schreibgenehmigung für die Festplatten erteilt wird. Weil keine Veränderungen an Festplatten vorgenommen werden können, kann sich kein schädliches Programm auf der Festplatte einnisten. Speicherresidente Malware kann aber auch bei solchen Live-Systemen Schaden anrichten, indem diese Systeme als Zwischenwirt bzw. Infektionsherd für andere Computer dienen können. Malware, die direkt im Hauptspeicher residiert, wird erst bei einem Reboot unschädlich gemacht.

[Bearbeiten] Allgemeine Prävention

[Bearbeiten] bei Microsoft-Betriebssystemen

Anwender sollten niemals unbekannte Dateien oder Programme aus unsicherer Quelle ausführen und generell beim Öffnen von Dateien Vorsicht walten lassen. Das gilt insbesondere für Dateien, die per E-Mail empfangen wurden. Solche Dateien – auch eigentlich harmlose Dokumente wie Bilder oder PDF-Dokumente – können durch Sicherheitslücken in den damit verknüpften Anwendungen auf verschiedene Weise Schadprogramme aktivieren. Daher ist deren Überprüfung mit einem aktuellen Antivirenprogramm zu empfehlen.

Betriebssystem und Anwendungen sollten regelmäßig aktualisiert werden und vom Hersteller bereitgestellte Service Packs und Patches/Hotfixes eingespielt werden. Dabei ist zu beachten, dass es einige Zeit dauern kann, bis Patches bereitgestellt werden. [2] Einige Betriebssysteme vereinfachen diese Prozedur, indem sie das automatische Herunterladen und Installieren von Updates unterstützen. Manche unterstützen sogar das gezielte Herunterladen und Installieren nur derjenigen Updates, die sicherheitskritische Probleme beheben. Dazu gibt es auch die Möglichkeit, die Service Packs und Hotfixes für Windows 2000 und Windows XP via „Offline-update“ (siehe Weblinks) einzuspielen. Diese Offline-updates sind besonders bei neuen PCs zu empfehlen, da andernfalls der PC bereits beim ersten Verbinden mit dem Internet infiziert werden könnte.

Die eingebauten Schutzfunktionen des Betriebssystems sollten ausgenutzt werden. Dazu zählt insbesondere, nicht als Administrator mit allen Rechten, sondern als Nutzer mit eingeschränkten Rechten zu arbeiten, da dieser keine Software systemweit installieren darf.

Das automatische Öffnen von Dateien aus dem Internet sowie das automatische Ausblenden von bekannten Dateianhängen sollte deaktiviert werden, um nicht versehentlich Dateien auszuführen, die man sonst als getarnten Schädling erkennen würde. Auch durch die Autostartfunktion für CD-ROMs und DVD-ROMs können Programme bereits beim Einlegen eines solchen Datenträgers ausgeführt und damit ein System infiziert werden.

Es empfiehlt sich, die auf den meisten Privatrechnern vorinstallierte Software von Microsoft zu meiden oder sicherer zu konfigurieren, da sie meist so konfiguriert sind, dass sie für den Anwender den höchsten Komfort und nicht die höchste Sicherheit bieten. Auch bieten sie durch ihren extrem hohen Verbreitungsgrad eine große Angriffsfläche. Vor allem Internet Explorer (IE) und Outlook Express sind hier zu nennen. Sie sind die am häufigsten von Schädlingen angegriffenen Anwendungen, da sie extrem weit verbreitet und in den Standardeinstellungen leicht angreifbar sind. Die zur Zeit bedeutendsten Alternativen zum Internet Explorer sind Firefox sowie Opera, die beide mehr Sicherheit versprechen. Alternativen zu Outlook Express sind beispielsweise Mozilla Thunderbird oder The Bat.

[Bearbeiten] bei sonstigen Betriebssystemen

Es existieren auch Computerviren für Nicht-Microsoft Betriebssysteme. Bekannte Beispiele dafür sind Symbian OS, Linux, Mac OS und Betriebssysteme der BSD-Reihe. Da diese Viren jedoch kaum verbreitet sind, stellen sie für den Benutzer keine große Gefahr da. Ein Grund dafür ist einerseits die geringere Verbreitung dieser Plattformen, sodass Virenschreiber diese Systeme in der Vergangenheit eher verschont haben und es andererseits für die Schadprogramme eine erhebliche Schwierigkeit bietet, weitere Infektionsopfer zu finden. Ein weiterer, technischer Grund ist die explizite Rechtetrennung vieler anderer Betriebssysteme. Bei quelloffenen Betriebssystemen kommt noch hinzu, dass es viele verschiede Distributionen gibt, was wiederum eine Einschränkung für Viren darstellt.

[Bearbeiten] Personal Firewall

Personal Firewalls zeigen gegen Viren keine Wirkung, da ihre Arbeitsweise nichts mit der der Viren zu tun hat, sondern auf die von Würmern zugeschnitten ist.

[Bearbeiten] Antivirensoftware

Ein Online-Scanner erkennt einen Virus.
vergrößern
Ein Online-Scanner erkennt einen Virus.

Antivirenprogramme schützen (mit Ausnahmen) nur vor bekannten Viren. Daher ist es bei der Benutzung eines solchen Programms wichtig, regelmäßig die von den Herstellern bereitgestellten aktualisierten Virensignaturen einzuspielen. Viren der nächsten Generation (Tarnkappenviren) können von Antivirensoftware fast nicht mehr erkannt werden [1].

Mit Hilfe dieser Programme werden Festplatte und Arbeitsspeicher nach schädlichen Programmen durchsucht. Antivirenprogramme bieten meist zwei Betriebsmodi: einen manuellen, bei dem das Antivirenprogramm erst auf Aufforderung des Benutzers alle Dateien einmalig überprüft (on demand) und einen automatischen, bei dem alle Schreib- und Lesezugriffe auf die Festplatte (teilweise auch auf den Arbeitsspeicher) und damit auch E-Mail-Anhänge und sonstige Downloads überprüft werden (on access). Es gibt Antivirenprogramme, die mehrere (für das Scannen nach Viren verantwortliche) „Engines“ nutzen. Wenn diese unabhängig voneinander suchen, steigt die Erkennungswahrscheinlichkeit.

Antivirenprogramme bieten nie vollständigen Schutz, da die Erkennungsrate selbst bei bekannten Viren nicht bei 100% liegt. Unbekannte Viren können von den meisten dieser Programme anhand ihres Verhaltens entdeckt werden („Heuristik“); diese Funktionen arbeiten jedoch sehr unzuverlässig. Auch entdecken Antivirenprogramme Viren oft erst nach der Infektion und können das Virus unter Umständen nicht im normalen Betrieb entfernen.

Besteht der berechtigte Verdacht einer Infektion, sollten nacheinander mehrere On-Demand-Programme eingesetzt werden. Dabei ist es sinnvoll, darauf zu achten, dass die Programme unterschiedliche „Engines“ nutzen, damit die Erkennungsrate steigt. Es gibt Antivirenprogramme verschiedener Hersteller, welche die gleichen Scan-Methoden anwenden, also im Grunde eine ähnlich hohe Erkennungswahrscheinlichkeit haben und damit auch ein ähnliches Risiko, bestimmte Viren zu übersehen. Verschiedene On-Access-Antivirenprogramme („Wächter“, „Guard“, „Shield“, etc.) sollten nie gleichzeitig installiert werden, weil das zu Fehlfunktionen des PC führen kann: Da viele dieser On-Access-Scanner bereits beim Hochfahren des Betriebssystems nach Bootsektorviren suchen, werden sie quasi gleichzeitig gestartet und versuchen einen alleinigen und ersten Zugriff auf jede zu lesende Datei zu erlangen, was naturgemäß unmöglich ist und daher zu schweren Systemstörungen führen kann bzw. muss.

Werden mehrere On-Demand-Scanner installiert und – auch unabhängig, also nicht gleichzeitig – gestartet und ausgeführt, sind falsche Virenfunde häufig, bei denen das eine Programm die Virensignaturen des anderen auf der Festplatte oder im Arbeitsspeicher als Virus erkennt bzw. schon gesicherte Virendateien im so genannten „Quarantäne-Ordner“ des anderen Programms findet. Auch ein On-Access-Scanner kann deshalb bei einem zusätzlich gestarteten On-Demand-Scanvorgang eines anderen Virensuchprogramms im Konkurrenzprodukt also fälschlich eine oder mehrer Viren finden.

Grundsätzlich sollte gelegentlich, aber regelmäßig der gesamte PC on demand auf Viren untersucht werden, da – mit Hilfe neuer Virensignaturen – alte, früher nicht erkannte Virendateien entdeckt werden können und darüber hinaus auch die „Wächtermodule“ ein und desselben Herstellers manchmal anders suchen und erkennen als der zugehörige On-Demand-Scanner.

[Bearbeiten] Computervirentypen

[Bearbeiten] Bootviren

Bootviren zählen zu den ältesten Computerviren. Diese Viren waren bis 1995 eine sehr verbreitete Form von Viren. Ein Bootsektorvirus infiziert den Bootsektor von Disketten und Festplattenpartitionen und/oder den Master Boot Record (MBR) einer Festplatte.

Der Bootsektor ist der erste physische Teil einer Diskette oder einer Festplattenpartition. Festplatten haben außerdem einen so genannten Master Boot Record oder MBR. Dieser liegt wie der Bootsektor von Disketten ganz am Anfang des Datenträgers. Bootsektoren und MBR enthalten mit den Boot-Loadern die Software, die von einem Rechner direkt nach dessen Start ausgeführt wird, sobald die Firmware bzw. das BIOS den Rechner in einen definierten Startzustand gebracht hat. Üblicherweise laden Boot-Loader das installierte Betriebssystem und übergeben diesem die Kontrolle über den Computer.

Wie beschrieben sind Boot-Loader Programme, die vor dem Betriebssystem ausgeführt werden und deshalb für Viren sehr interessant: Bootviren können in das Betriebssystem, das nach ihnen geladen wird, eingreifen und dieses manipulieren oder dieses komplett umgehen. Dadurch können sie sich z. B. auf Bootsektoren eingelegter Disketten verbreiten.

Lädt ein Rechner nicht den MBR der Festplatte sondern den infizierten Bootsektor einer Diskette, versucht das enthaltene Bootvirus meist, sich in den MBR der Festplatte zu verbreiten, um bei jedem Start des Computers ohne Diskette aktiv werden zu können.

Bootviren haben jedoch mit den technischen Limitierungen, die mit dem Speicherort „Bootsektor“ bzw. vor allem „MBR“ einhergehen, zu kämpfen: sie können maximal 444 Bytes groß sein, sofern sie nicht noch weitere Teile auf anderen Teilen der Festplatte verstecken. (Der MBR ist nach Industrienorm einen Sektor, also 512 Byte groß, aber einige Bytes werden für die Hardware- und BIOS-Kompatibilität verbraucht.) Außerdem müssen sie die Aufgaben des Boot-Loaders übernehmen, damit das System funktionsfähig bleibt, was von dem ohnehin schon sehr geringen Platz für die Virenlogik noch weiteren Platz wegnimmt. Da sie vor einem Betriebssystem aktiv werden, können sie außerdem nicht auf von einem Betriebssystem bereitgestellte Funktionen wie das Finden und Öffnen einer Datei zurückgreifen.

Seit 2005 gibt es auch Bootsektorviren für CD-ROMs. Diese infizieren bootfähige CD-ROM-Image-Dateien (ISO-Images). Es ist technisch möglich, ein Bootsektorvirus für einen USB-Stick oder für ein LAN-Netzwerk zu erstellen, dies ist aber bis 2005 noch nicht geschehen.

Heutzutage gibt es beinahe keine Bootsektorviren mehr, da BIOS und Betriebssysteme meistens einen gut funktionierenden Schutz vor ihnen haben. Zwar gibt es Bootsektorviren, die diesen Schutz umgehen können, doch ist ihre Verbreitung im Allgemeinen sehr langsam. Durch die technischen Probleme, die mit diesem Virentyp einhergehen, fordern sie vom Virenautor außerdem deutlich mehr Wissen und Programmierfertigkeiten, während sie zugleich seine Möglichkeiten stark einschränken.

[Bearbeiten] Dateiviren/Linkviren

Teil der Infektionsroutine eines Dateivirus, das PE-Dateien infiziert.
vergrößern
Teil der Infektionsroutine eines Dateivirus, das PE-Dateien infiziert.

Linkviren oder Dateiviren sind der am häufigsten anzutreffende Virentyp. Sie infizieren ausführbare Dateien oder Programmbibliotheken auf einem Betriebssystem.

Um eine ausführbare Datei zu infizieren, muss das Virus sich in diese Wirtsdatei einfügen (oft direkt am Ende, da dies am einfachsten ist). Außerdem modifiziert das Virus die Wirtsdatei so, dass das Virus beim Programmstart aufgerufen wird. Eine spezielle Form von Linkviren wählt eine andere Strategie und fügt sich in eine bestehende Programmfunktion ein.

Zu den verschiedenen Arten von Linkviren siehe Infektionsarten.

[Bearbeiten] Makroviren

Makroviren benötigen Anwendungen, die Dokumente mit eingebetteten Makros verarbeiten. Sie befallen Makros in nicht-infizierten Dokumenten oder fügen entsprechende Makros ein, falls diese noch nicht vorhanden sind.

Makros werden von den meisten Office-Dokument-Typen verwendet, wie z. B. in allen Microsoft-Office- sowie OpenOffice.org-Dokumenten. Aber auch andere Dokument-Dateien können Makros enthalten. Sie dienen normalerweise dazu, in den Dokumenten wiederkehrende Aufgaben zu automatisieren oder zu vereinfachen.

Häufig unterstützen Anwendungen mit solchen Dokumenten ein spezielles Makro, das automatisch nach dem Laden des Dokuments ausgeführt wird. Dies ist ein von Makroviren bevorzugter Ort für die Infektion, da er die höchste Aufruf-Wahrscheinlichkeit hat. Wie Linkviren versuchen auch Makroviren, noch nicht infizierte Dateien zu befallen.

Da die meisten Anwender sich nicht bewusst sind, dass z. B. ein Textdokument ausführbare Inhalte und damit ein Virus enthalten kann, gehen sie meist relativ sorglos mit solchen Dokumenten um. Sie werden sehr oft an andere Anwender verschickt oder sogar auf öffentlichen Servern zum Herunterladen angeboten. Dadurch können sich Makroviren recht gut verbreiten. Um das Jahr 2000 herum stellten sie die größte Bedrohung dar, bis sie darin von den Computerwürmern abgelöst wurden.

Ein Schutz gegen Makroviren besteht darin, dafür zu sorgen, dass nur zertifizierte Makros von der Anwendung ausgeführt werden. Dies ist insbesondere für (größere) Unternehmen und Behörden von Interesse, wo eine zentrale Zertifizierungsstelle Makros zum allgemeinen Gebrauch vor deren Freigabe überprüft und akzeptierte Makros zertifiziert.

Es empfiehlt sich weiterhin, das automatische Ausführen von Makros in der entsprechenden Anwendung auszuschalten.

[Bearbeiten] Skriptviren

Teil des Source-Codes von Html.Lame, einem Skriptvirus, das HTML-Dateien infiziert.
vergrößern
Teil des Source-Codes von Html.Lame, einem Skriptvirus, das HTML-Dateien infiziert.

Ein Skript ist ein Programm, welches nicht durch einen Kompilierer in Maschinensprache übersetzt wird, sondern durch einen Interpreter Schritt für Schritt ausgeführt wird. Ein Skript wird häufig auf Webservern verwendet (z. B. in Form der Skriptsprache Perl oder PHP) bzw. durch in Webseiten eingebettet Skriptsprachen (z. B. JavaScript).

Ein Skript wird gerne in Webseiten zusätzlich zu normalem HTML oder XML eingesetzt, um Funktionen zu realisieren, die sonst nur unter Zuhilfenahme ausführbarer Programme auf dem Server (CGI-Programme) realisierbar wären. Solche Funktionen sind zum Beispiel Gästebücher, Foren, dynamisch geladene Seiten oder Webmailer. Skriptsprachen sind meist vom Betriebssystem unabhängig. Um ein Skript auszuführen, wird ein passender Interpreter – ein Programm, das das Skript von einer für den Menschen lesbaren Programmiersprache in eine interne Repräsentation umsetzt und dann ausführt – benötigt. Wie alle anderen Viren auch sucht das Skriptvirus eine geeignete Wirtsdatei, die es infizieren kann.

Im Falle von HTML-Dateien fügt sich das Skriptvirus in einen speziellen Bereich, dem Skriptbereich, einer HTML-Datei ein (oder erzeugt diesen). Die meisten Browser laden diesen Skriptbereich des HTML-Dokuments um in schließlich ausführen. Diese speziellen Skriptviren verhalten sich also fast genauso wie die oben beschriebenen Makroviren.

Unix-, Mac-OS-X- und Linux-Systeme benutzen für die Automatisierung vieler Aufgaben ein Skript, welches z. B. für eine Unix-Shell wie bash, in Perl oder in Python geschrieben wurde. Auch für diese Skriptsprachen gibt es Viren, die allerdings nur Laborcharakter haben und in der „freien Wildbahn“ so gut wie nicht anzutreffen sind. Auch können sie nicht wie in HTML eingebettete Skriptviren versehentlich eingefangen werden, sondern man muss – wie bei einem Linkvirus – erst ein verseuchtes Skript auf sein System kopieren und ausführen.

[Bearbeiten] Mischformen

Nicht alle Computerviren fallen eindeutig in eine spezielle Kategorie. Es gibt auch Mischformen wie zum Beispiel Viren, die sowohl Dateien als auch Bootsektoren infizieren (Beispiel: Kernelviren) oder Makroviren, die auch Programmdateien infizieren können. Bei der Zusammensetzung ist beinahe jede Variation möglich.

[Bearbeiten] Testviren

Meldung der Eicartestdatei nach der Ausführung
vergrößern
Meldung der Eicartestdatei nach der Ausführung

Die Eicar Testdatei ist eine Datei, die benutzt wird um Virenscanner zu testen. Sie ist kein Virus und enthält auch keinen „viralen“ Inhalt, sondern ist nur per Definition als Virus zu erkennen. Jeder Virenscanner sollte diese Datei erkennen. Sie kann deswegen benutzt werden, um auf einem System – das von keinem Virus infiziert wurde – zu testen, ob der Virenscanner korrekt arbeitet.

[Bearbeiten] Infektionsarten

[Bearbeiten] Companion-Viren

Companion-Viren infizieren nicht die ausführbaren Dateien selbst, sondern benennen die ursprüngliche Datei um und erstellen eine Datei mit dem ursprünglichen Namen, die nur das Virus enthält, oder sie erstellen eine Datei mit ähnlichem Namen, die vor der ursprünglichen Datei ausgeführt wird. Es handelt sich also nicht um ein Virus im eigentlichen Sinne, da kein Wirtsprogramm manipuliert wird.

Unter MS-DOS gibt es beispielsweise Companion-Viren, die zu einer ausführbaren EXE-Datei eine versteckte Datei gleichen Namens mit der Endung „.com“ erstellen, die dann nur das Virus enthält. Wird in der Kommandozeile von MS-DOS ein Programmname ohne Endung eingegeben, sucht das Betriebssystem zuerst nach Programmen mit der Endung „.com“ und danach erst nach Programmen mit der Endung „.exe“, so dass der Schädling vor dem eigentlichen Programm in der Suchreihenfolge erscheint und aufgerufen wird. Der Schädling führt, nachdem er sich meist im Arbeitsspeicher festgesetzt hat, das ursprüngliche Programm aus, so dass der Benutzer oft nichts von der Infektion bemerkt.

[Bearbeiten] Überschreibende

Überschreibende Computerviren sind die einfachste Form von Viren, wegen ihrer stark zerstörenden Wirkung allerdings auch am leichtesten zu entdecken. Wenn ein infiziertes Programm ausgeführt wird, sucht das Virus nach neuen infizierbaren Dateien und überschreibt entweder die ganze Datei oder nur einen Teil derselben (meist den Anfang) mit einer benötigten Länge. Die Wirtsdatei wird dabei irreparabel beschädigt und funktioniert nicht mehr oder nicht mehr korrekt, wodurch eine Infektion praktisch sofort auffällt.

[Bearbeiten] Prepender

Diese Art von Computerviren fügt sich am Anfang der Wirtsdatei ein. Beim Ausführen der Wirtsdatei wird zuerst das Virus aktiv, das sich weiterverbreitet oder seine Schadwirkung entfaltet. Danach stellt das Virus im Arbeitsspeicher den Originalzustand des Wirtsprogramms her und führt dieses aus. Außer einem kleinen Zeitverlust merkt der Benutzer nicht, dass ein Virus gerade aktiv wurde, da die Wirtsdatei vollkommen arbeitsfähig ist.

[Bearbeiten] Appender

Ein Appender-Virus fügt sich an das Ende einer zu infizierenden Wirtsdatei an und manipuliert die Wirtsdatei derart, dass es vor dem Wirtsprogramm zur Ausführung kommt. Nachdem das Virus aktiv geworden ist, führt es das Wirtsprogramm aus, indem es an den ursprünglichen Programmeinstiegspunkt springt. Diese Virusform ist leichter zu schreiben als ein Prepender, da das Wirtsprogramm nur minimal verändert wird und es deshalb im Arbeitsspeicher nicht wieder hergestellt werden muss. Da Appender einfach zu implementieren sind, treten sie relativ häufig auf.

[Bearbeiten] Entry Point Obscuring

Der Fachbegriff „Entry Point Obscuring“ (kurz: EPO) heißt übersetzt „Verschleierung des Einsprungspunkts“. Viren, die diese Technik benutzen, suchen sich zur Infektion einen bestimmten Punkt in der Wirtsdatei, der nicht am Anfang oder am Ende liegt. Da dieser Punkt von Wirt zu Wirt variiert, sind Viren dieses Typs relativ schwierig zu entwickeln, da u.a. eine Routine zum Suchen eines geeigneten Infektionspunktes benötigt wird. Der Vorteil für diesen Virentyp besteht darin, dass Virenscanner die gesamte Datei untersuchen müssten, um EPO-Viren zu finden – im Gegensatz zum Erkennen von Prepender- und Appender-Viren, bei denen der Virenscanner nur gezielt Dateianfang und -ende untersuchen muss. Sucht ein Virenscanner also auch nach EPO-Viren, benötigt er mehr Zeit – wird der Virenscanner so eingestellt, dass er Zeit spart, bleiben EPO-Viren meist unentdeckt.

Für das Entry Point Obscuring sucht sich das Virus einen speziellen Ort, wie etwa eine Programmfunktion, irgendwo in der Datei, um diese zu infizieren. Besonders lohnend ist z. B. die Funktion zum Beenden des Programms, da sie meist ein leicht zu identifizierendes Erkennungsmuster hat und genau einmal aufgerufen wird. Würde das Virus eine zeitkritische Funktion oder eine sehr häufig aufgerufenen Funktion infizieren, fiele es leichter auf. Das Risiko für EPO-Viren besteht darin, dass sie sich unter Umständen einen Punkt in einem Wirt aussuchen können, der nie oder nicht bei jeder Ausführung des Wirtes aufgerufen wird.

[Bearbeiten] Techniken

[Bearbeiten] Arbeitsspeicher

Speicherresidente Viren verbleiben auch nach Beendigung des Wirtprogramms im Speicher. Unter MS-DOS wurde eine Technik namens TSR (Terminate and Stay Resident) verwendet, in Betriebssystemen wie Windows, Unix oder Unix-ähnlichen Systemen (Linux, Mac OS X) erzeugt das Virus einen neuen Prozess. Das Virus versucht dem Prozess in diesem Fall einen unverdächtig wirkenden Prozessnamen zu geben oder seinen Prozess komplett zu verstecken. Gelegentlich versuchen diese Viren auch Funktionen des Betriebssystems zu manipulieren oder auf sich umzuleiten, sofern das Betriebssystem dieses ermöglicht bzw. nicht verhindert.

[Bearbeiten] Selbstschutz der Viren

[Bearbeiten] Stealthviren

Computerviren dieser Art ergreifen besondere Maßnahmen, um ihre Existenz zu verschleiern. So werden Systemaufrufe abgefangen, so dass zum Beispiel bei der Abfrage der Größe einer infizierten Datei die Größe vor der Infektion angegeben wird (manche Viren verändern die ursprüngliche Größe auch gar nicht, weil sie sich in unbenutzte Bereiche der Datei kopieren) oder auch beim Lesen der Datei die Daten der ursprünglichen Datei zurückgeben.

Teil eines polymorph verschlüsselten JavaScript-Virus.
vergrößern
Teil eines polymorph verschlüsselten JavaScript-Virus.

[Bearbeiten] Verschlüsselte Viren

Dieser Typ von Viren verschlüsseln sich selbst. Der Schlüssel kann dabei von Infektion zu Infektion variieren. Das soll Antivirenprogramme daran hindern, einfach nach einer bestimmten Zeichenfolge in Dateien suchen zu können. Die Routine zum Entschlüsseln muss aber naturgemäß in normaler Form vorliegen und kann von Antivirenprogrammen erkannt werden.

[Bearbeiten] Polymorphe Viren

Diese Art von Viren ändern ihre Gestalt von Generation zu Generation, teilweise vollkommen. Das geschieht oft in Kombination mit Verschlüsselung – hierbei wird eine variable Verschlüsselung benutzt. Ein Teil des Virus muss jedoch in unverschlüsselter Form vorliegen, um bei der Ausführung den Rest zu entschlüsseln. Um auch diesen Teil variabel zu gestalten, wird die Entschlüsselungsroutine bei jeder Infektion neu erstellt. Die Routine, die die Entschlüsselungsroutine immer neu erstellt, befindet sich dabei selbst im verschlüsselten Teil des Virus und kann zum Beispiel voneinander unabhängige Befehle austauschen und Operationen mit verschiedenen Befehlssequenzen kodieren, so dass verschiedene Varianten entstehen.

[Bearbeiten] Metamorphe Viren

Dieser Computervirentyp verändert bei einer Ausführung den eigenen Code. Im Gegensatz zu polymorphen Viren, die nur die Gestalt des Codes (durch variable Verschlüsselung oder Permutation) ändern, wird bei dieser Technik der Virus temporär in die Source-Code Form zurückgeschrieben (Disassembler), welcher verändert wird, und danach wieder kompiliert wird. Diese Technik ist möglich, da die Assemblersprache für einen Befehl verschiede Möglichkeiten bietet, diesen auszuführen. Zum Beispiel kann der Befehl mov eax, 0x0 in xor eax, eax oder sub eax, eax umgewandelt werden. Der Vorteil dieser Viren ist, dass sie am schwersten zu entdecken sind, da die Befehlsfolge des Virus sich vollkommen ändert. Da diese Technik sehr viel Arbeit und Wissen benötigt, sind diese Viren sehr selten. Beispiele sind Win32.ZMist, Win32.MetaPHOR, Win32.SK oder DOS.ACG.

[Bearbeiten] Retroviren

Sie zielen darauf ab, Virenschutzprogramme und Personal Firewalls zu deaktivieren. Da sie sich dadurch nicht nur selbst vor Entdeckung schützen, sondern auch anderen Schadprogrammen Tür und Tor öffnen, gelten sie als sehr gefährlich, wenngleich sie 2005 noch nicht besonders weit verbreitet sind.

[Bearbeiten] Mögliche Schäden/Payload

Computerviren sind vor allem gefürchtet, weil sie den Ruf haben, sämtliche Daten zu zerstören. Das ist aber nur in sehr wenigen Fällen richtig. Die meisten Computerviren versuchen hauptsächlich sich selbst möglichst weit zu verbreiten und deswegen nicht aufzufallen.

Harmlose Auswirkungen: Eine Eigenschaft, die jedes Virus hat, ist das Stehlen von Rechnerzeit und -speicher. Da ein Virus sich selbst verbreitet, benutzt es die Leistung des Prozessors und der Festplatten. Viren sind aber im Normalfall so geschrieben, dass sie für das System keine spürbare Beeinträchtigung darstellen, so dass sie der Benutzer nicht erkennt. Bei der Größe aktueller Festplatten fällt auch der zusätzlich benötigte Festplattenplatz nicht mehr auf.

Ungewollte Schäden – Programmierfehler: Viele Computerviren enthalten Fehler, welche unter gewissen Umständen zu fatalen Folgen führen können. Diese Fehler sind zwar meistens unbeabsichtigt, können trotzdem Dateien durch eine falsche Infektion zerstören oder gar in Einzelfällen ganze Datenbestände vernichten.

„Existenzbericht“ – Meldungen an den Benutzer:

Ein HTML-Virus gibt sich dem Opfer zu erkennen.
vergrößern
Ein HTML-Virus gibt sich dem Opfer zu erkennen.

Manche Viren geben dem Benutzer ihre Existenz bekannt. Beispiele für Meldungen von Viren können z. B. sein:

  • Piepsen/Musik
  • Meldungsboxen oder plötzlich auftauchende Texte auf dem Bildschirm mit oft (für den Virusautor) amüsanten Nachrichten oder gar politischem Inhalt
  • Manipulation des Bildschirminhaltes wie herunterfallende Buchstaben, Verzerrungen oder über den Bildschirm wandernde Objekte

Die meisten dieser Existenzmeldungen sind harmlos und erfolgen oft nur zu bestimmten Uhrzeiten oder nur an bestimmten Tagen, um nicht zu schnell aufzufallen und so eine höhere Verbreitung zu erlangen.

Datenzerstörung: Durch das Infizieren von Dateien werden die darin enthaltenen Daten manipuliert und möglicherweise zerstört. Da jedoch die meisten Viren vor Entdeckung geschützt werden sollen, ist eine Rekonstruktion der Daten in vielen Fällen möglich.

Einige wenige Viren wurden speziell zur Zerstörung von Daten geschrieben. Das kann vom Löschen von einzelnen Dateien bis hin zum Formatieren ganzer Festplatten führen. Diese Art von Payload wird von den meisten Menschen unmittelbar in Verbindung mit allen Viren gebracht. Da der Speicher der „Lebensraum“ von Viren ist, zerstören sie sich mit diesen Aktionen oft selbst.

Hardwarezerstörung: Direkte Hardwarezerstörung durch Software und somit durch Computerviren ist nur in Einzelfällen möglich. Dazu müsste dem Virenautor bekannt sein, wie eine bestimmte Hardware so extrem oder fehlerhaft angesteuert werden kann, dass es zu einer Zerstörung kommt. Einige (z. T. eher theoretische) Beispiele für solche Möglichkeiten sind:

  • Das Senden extremer Bildsignale an Bildschirme. Heute nicht mehr gebräuchliche Festfrequenzmonitore waren dafür anfällig, es gab Viren, die diese Angriffe auf solche Monitore tatsächlich durchgeführt haben. Heute ist eine Beschädigung durch fehlerhafte/extreme Bildsignale so gut wie ausgeschlossen.
  • Übertakten von Grafikkarten, die es erlauben, die Taktfrequenz der Bausteine per Software einzustellen. Bei einer zu hohen Übertaktung und nicht ausreichenden Kühlung können Bausteine überhitzen und beschädigt oder zerstört werden.
  • Übertakten von Bausteinen auf der Hauptplatine, die dadurch selbst überhitzen oder andere Bauteile überlasten können (Widerstände, Integrierte Bausteine).
  • Unbenutzbarkeit von Festplatten durch bestimmte inoffizielle ATA-Kommandos.

Da im heutigen PC-Bereich die Hardwarekomponentenauswahl sehr heterogen ist, gilt bisher die Meinung, dass es sich für Virenautoren nicht lohnt, solche Angriffe durchzuführen.

Ein als Hardwareschaden missinterpretierter Schaden ist das Überschreiben des BIOS, das heute meist in Flash-Speichern gespeichert ist. Wird dieser Flash-Speicher böswillig überschrieben, kann der Rechner nicht mehr starten. Da der Rechner nicht mehr startet, wird oft fälschlicherweise ein Hardwareschaden angenommen. Der Flash-Speicher muss in diesem Fall ausgebaut und mit einem korrekten BIOS neu bespielt werden. Ist der Flash-Speicher fest eingelötet, ist das Ausbauen wirtschaftlich nicht rentabel und die gesamte Hauptplatine muss ausgetauscht werden.[3]

[Bearbeiten] Wirtschaftliche Schäden

Der wirtschaftliche Schaden durch Computerviren ist geringer als der Schaden durch Computerwürmer. Grund dafür ist, dass sich Viren nur sehr langsam verbreiten können und dadurch oft nur lokal verbreitet sind.

Ein weiterer Grund, warum der wirtschaftliche Schaden bei Computerviren nicht so hoch ist, ist die Tatsache, dass sie den angegriffenen Computer oder die angegriffene Datei im Allgemeinen für einen längeren Zeitraum brauchen, um sich effektiv verbreiten zu können. Computerviren, die Daten sofort zerstören, sind sehr ineffektiv, da sie mit dieser Aktion auch ihren eigenen Lebensraum zerstören.

Im Zeitalter der DOS-Viren gab es trotzdem einige Viren, die erheblichen Schaden angerichtet haben. Ein Beispiel ist das Virus DataCrime, das gesamte Datenbestände vernichtet hat. Viele Regierungen reagierten auf dieses Virus und verabschiedeten Gesetze, die das Verbreiten von Computerviren zu einer Straftat machen.

Auch unter Windows gab es vereinzelt Fälle von Computer-Viren, die gravierende finanzielle Schäden für einzelne Unternehmen bedeuteten. So wurde Anfang 1998 der XM/Compat-Virus entdeckt, ein Makro-Virus, der Microsoft-Excel-Dateien mit einer äußerst bösartigen Schadfunktion befällt: Immer, wenn Excel beendet wird, durchforstet der Schädling ein zufälliges Dokument aus der Bearbeitungs-History nach ungeschützen Zellen mit numerischen Werten. In diesen Zellen ändert er die Werte mit einer einprozentigen Wahrscheinlichkeit zufällig in einem Rahmen von +5 bis −5% ab. Aufgrund der zunächst nur unwesentlichen Veränderungen fallen die so manipulierten Daten möglicherweise erst nach Wochen oder gar Monaten auf. Wird der Schaden entdeckt, lässt er sich nur durch die Einspielung eines Backups wieder beheben – dazu muss man natürlich aber wissen, wann der Erstbefall genau stattgefunden hat. Zwar hat der Schädling keine sonderlich hohe Verbreitung gefunden, aber es gab Fälle von Unternehmen, deren Geschäftsbilanzen und Umsatzberichte durch einen XM/Compat-Befall völlig unbrauchbar geworden sind.

Ein Virus mit hohem wirtschaftlichen Schaden war auch Win32.CIH, auch „Tschernobyl-Virus“ genannt (nach dem Atomunfall von Tschernobyl vom 26. April 1986), das sich großflächig verbreitete und am 26. April 2000 den Dateninhalt von mehr als 2000 BIOS-Chips in Südkorea zerstörte. Laut des Antivirenherstellers Kaspersky sollen im Jahr davor sogar 3000 PCs betroffen gewesen sein.

Ein weiterer wirtschaftlicher Faktor war früher vor allem der Image-Schaden der betroffenen Unternehmen, heute ist dieser immaterielle Schaden nicht mehr so hoch, da ein Computervirus schon eher als normale und übliche Gefahr akzeptiert wird.

[Bearbeiten] Aufbau

Computerviren haben viele unterschiedliche Formen, daher ist es nur schwer möglich zu beschreiben, wie ein Virus grundsätzlich aufgebaut ist. Der einzige nötige Bestandteil, der aus einem Computerprogramm per Definition einen Computervirus macht, ist die Vermehrungsroutine.

Die folgende Erklärung ist keineswegs ein Standard für alle Viren. Manche Viren können mehr Funktionen haben, andere wiederum weniger.

  • Entschlüsselungsroutine: Dieser Teil sorgt bei verschlüsselten Viren dafür, dass die verschlüsselten Daten wieder zur Ausführung gebracht werden können. Nicht alle Viren besitzen diesen Teil, da nicht alle verschlüsselt sind. Oft wird die Entschlüsslungsroutine der Viren von Antiviren-Herstellern dazu benützt, das Virus zu identifizieren, da dieser Teil oft klarer erkennbar ist als der Rest des Virus.
  • Vermehrungsteil: Dieser Programmteil sorgt für die Vermehrung des Virus. Es ist der einzige Teil, den jedes Virus hat (Definition).
  • Erkennungsteil: Im Erkennungsteil wird geprüft, ob die Infektion eines Programms oder Systembereichs bereits erfolgt ist. Jedes Wirtsprogramm wird nur einmal infiziert. Dieser Teil ist in fast allen nicht-überschreibenden Computerviren vorhanden.
  • Schadensteil: Im Verhältnis zur Zahl der Computerviren haben nur sehr wenige einen Schadensteil (Payload). Der Schadensteil ist der Grund für die Angst vieler Menschen vor Computerviren.
  • Bedingungsteil: Der Bedingungsteil ist dafür verantwortlich, dass der Schadensteil ausgeführt wird. Er ist in den meisten Computerviren mit einem Schadensteil enthalten. Viren ohne Bedingungsteil führen den Schadensteil entweder bei jeder Aktivierung oder – in ganz seltenen Fällen – niemals aus. Der Bedingungsteil (Trigger) kann zum Beispiel das Payload an einem bestimmten Datum ausführen oder bei bestimmten Systemvoraussetzungen (Anzahl der Dateien, Größe des freien Speicherplatzes, etc.) oder einfach zufällig.
  • Tarnungsteil: Ein Tarnungsteil ist nur in wenigen, komplexen Viren vorhanden. Er kann das Virus zum Beispiel verschlüsseln oder ihm eine andere Form geben (Polymorphismus, Metamorphismus). Dieser Teil dient zum Schutz des Virus vor der Erkennung durch Anti-Viren-Software. Es gibt aber nur eine sehr geringe Anzahl von Viren, die nicht vollständig erkannt werden können (z. B.: Win32.ZMist, ACG, Win32.MetaPHOR oder OneHalf).

[Bearbeiten] Achillesferse eines Virus

Damit ein Virenscanner ein Virus identifizieren kann, benötigt er dessen Signatur. Ein Virus versucht, ein System zu infizieren, und dies geschieht z. B. bei einem Linkvirus durch das Anhängen an ein bestehendes Programm. Dabei muss es (abgesehen von überschreibenden Viren) zuerst prüfen, ob es dieses Programm bereits infiziert hat – sprich, es muss in der Lage sein, sich selbst zu erkennen. Würde es dies nicht machen, könnte es ein Programm theoretisch beliebig oft infizieren, was aufgrund der Dateigröße und der CPU-Belastung sehr schnell auffallen würde. Dieses Erkennungsmuster – die Signatur – kann unter gewissen Umständen auch von Virenscannern genutzt werden, um das Virus zu erkennen. Polymorphe Viren sind in der Lage, mit verschiedenen Signaturen zu arbeiten, die sich verändern können, jedoch stets einer Regel gehorchen. Daher ist es den Herstellern von Anti-Viren-Software relativ einfach und schnell möglich, ein neues Virus nach dessen Bekanntwerden zu identifizieren.

Viele Viren benutzen anstelle von polymorphen Signaturen sehr kleine Kennzeichnungen wie zum Beispiel ein ungenutztes Byte im Portable-Executable-Format. Ein Virenscanner kann dieses eine Byte nicht als Erkennungsmuster nutzen, da es zu viele falsch positive Treffer geben würde. Für ein Virus ist es jedoch kein Problem, wenn es unter ungünstigen Verhältnissen einige Dateien nicht infiziert.

[Bearbeiten] Geschichte

[Bearbeiten] Theoretische Anfänge: Bis 1985

John von Neumann veröffentlichte im Jahr 1949 seine Arbeit „Theory and Organization of Complicated Automata“. Darin stellt er die These auf, dass ein Computerprogramm sich selbst wiederherstellen kann. Das war die erste Erwähnung von computervirenähnlicher Software. Erst als Victor Vyssotsky, Robert Morris Sr. und Doug McIlroy, Programmierer bei Bell Labs, ein Computerspiel mit dem Namen Darwin erstellten, wurde die Theorie in die Praxis umgesetzt. Zwei Spieler ließen Software-Organismen um die Kontrolle über das System kämpfen. Die Programme versuchten dabei, einander zu überschreiben. Spätere Versionen des Spiels wurden als Core Wars bekannt. Breite Bekanntheit erfuhr das Konzept Core Wars durch einen Artikel von Alexander K. Dewdney in der Kolumne Computer Recreations der Zeitschrift Scientific American.

1975 veröffentlichte der englische Autor John Brunner den Roman Der Schockwellenreiter, in dem er die Gefahr von Internetviren vorausahnt. Sein Kollege Thomas J. Ryan schilderte 1979 in The Adolescence of P-1, wie sich eine Künstliche Intelligenz virenähnlich über das nationale Computernetz ausbreitet.

Im Jahr 1980 verfasste Jürgen Kraus an der Universität Dortmund eine Diplomarbeit mit dem Titel Selbstreproduktion bei Programmen, in welcher der Vergleich angestellt wurde, dass sich bestimmte Programme ähnlich wie biologische Viren verhalten können. Die Behörden wurden bei dieser Diplomarbeit hellhörig und ließen die Verbreitung des Werkes stoppen. Aus diesem Grund ist die Arbeit heute nicht mehr erhältlich.

1982 wurde von Rich Skrenta ein Computerprogramm geschrieben, das sich selbst über Disketten auf Apple-II-Systemen verbreitete. Das Programm hieß Elk Cloner und kann als das erste Bootsektorvirus bezeichnet werden. Die Grenze von Theorie und Praxis bei Computerviren verschwimmt jedoch, und selbst Experten streiten sich, was tatsächlich das erste war.

Professor Leonard M. Adleman verwendete 1984 im Gespräch mit Fred Cohen zum ersten Mal den Begriff „Computervirus“.

[Bearbeiten] Praktische Anfänge: 1985–1990

Fred Cohen lieferte 1986 seine Doktorarbeit Theory and Experiments ab.[4] Darin wurde ein funktionierendes Virus für das Betriebssystem UNIX vorgestellt. Dieses gilt heute als das erste Computervirus.

Im Januar 1986 wurde schließlich auch die erste Vireninfektion auf einem Großrechner an der FU Berlin entdeckt.

Zwei Software-Händler aus Pakistan verbreiteten im Jahr 1986 das erste Virus für das Betriebssystem MS-DOS der Pakistani-, Ashar- oder auch Brain-Virus genannt wird. Diese Händler verkauften billige Raubkopien von Originalsoftware. Dies war möglich, da dort das Kopieren von Software nicht strafbar war. Jeder Softwarekopie legten sie den Virus bei, der den Zweck haben sollte, die Kunden an den Händler zu binden. Überraschenderweise verbreitete sich dieser Virus aber sogar bis in die USA. Das Programm war relativ harmlos, da es nur das Inhaltsverzeichnis der befallenen Disketten in Brain umbenannte.

Schließlich wurde 1987 auch der erste Virus für Macintosh-Rechner entdeckt. Apple lieferte daraufhin all seine System gleich komplett mit einem Virensuchprogramm aus. Allerdings konnte es nur diese eine Virenfamilie finden und war für andere Virustypen sozusagen blind. Somit war das Programm also nur bedingt brauchbar.

1987 verbreitete sich der erste Wurm in einem IBM-System. Dieser „Weihnachtsbaum“ oder „Tannenbaum“-Wurm fand eine explosionsartige Verbreitung (siehe „Würmer“).

Im November des Jahres wurde schließlich auch der LeHigh-Virus gefunden, der eine neue Technik beim Infizieren von Programmen verwendete (Slackbereich-Infektor).

Kurz darauf wird in Deutschland auch zum ersten Mal der Cascade-Virus gefunden. Er war der erste Virus, der speicherresident wurde und in Dateien auch verschlüsselt auftrat. Aufgrund dieser Eigenschaften wird er auch zur zweiten Generation der Viren gerechnet.

Zu einer der ersten Viren gehört auch der Jerusalem- oder PLO-Virus. Er wurde auch unter dem Namen Freitag-der-13.-Virus bekannt, da er an einen solchen Tag alle COM- und EXE-Dateien löscht. An allen anderen Tagen verlangsamte er nach etwa 30 Minuten die Rechnergeschwindigkeit. Heute gibt es etwa 500 Varianten dieses Viruses.

Für andere Systeme treten auch die ersten Viren auf, so für den Mac (nVir, Peace), Amiga (SCA-Virus), Atari (PT, Aladdin) und für UNIX (IBM MVS 370).

Im selben Jahr, 1987, erschien im Data-Becker-Verlag das erste Buch zum Thema Computerviren, Das große Computervirenbuch von Ralf Burger. Da Burger den Quellcode einiger Viren im Buch veröffentlichte, erschienen in den folgenden Monaten Dutzende Varianten des von ihm geschriebenen Virus' in der Öffentlichkeit.

1988 erschien der erste Baukasten für Viren (Virus Construction Kit). Damit ist es auch Anfängern möglich, Viren nach Maß zu erstellen. Das Programm wurde für den Computer Atari ST geschrieben.

In diesen Jahren wurden auch die ersten Antivirenprogramme herausgebracht, vor allem um große Firmen zu schützen. Im Jahr 1989 erschien mit V2Px dann auch das erste polymorphe Virus, das sich selbst immer wieder neu verschlüsseln konnte und nur sehr schwer zu entdecken war.

[Bearbeiten] Die Ära der DOS-Viren: 1990–1995

In diesen Jahren wurden Viren immer komplexer, um sich weiter verbreiten zu können und um sich besser gegen die Entdeckung durch Antivirenprogramme zu schützen. Im Jahr 1992 veröffentlichte ein Virenschreiber namens Dark Avenger den ersten polymorphen Programmgenerator, MTE. Damit konnten sich auch einfachste Viren leicht vor einer Erkennung schützen. Einige der damaligen Hersteller von Antiviren-Software konnten dieses Problem nicht lösen und stoppten die Entwicklung ihres Programms.

1992 löste auch das Michelangelo-Virus eine enorme Medienhysterie aus. Mit ihm wurde die Existenz der Viren auch in der breiten Öffentlichkeit bekannt.

In diesen Jahren wurden auch immer wieder neue Techniken in Viren entdeckt, wie zum Beispiel die gleichzeitige Infektion von Dateien und Bootsektor, OBJ-Dateien oder Quellcode-Dateien. Auch wurde 1992 mit Win.Vir_1_4 das erste Computervirus für das Betriebssystem Microsoft Windows 3.11 registriert. Dieses Proof-Of-Concept-Virus wurde nie in „freier Wildbahn“ entdeckt.

Viren wie ACG und OneHalf markieren das Ende der MS-DOS-Viren. Bis heute zählen sie zu den komplexesten Viren überhaupt. Sie sind stark polymorph und enthalten auch Techniken wie Metamorphismus.

[Bearbeiten] Die Ära der Viren für 32-Bit-Windows-Betriebssysteme: 1995–2002

Ab 1995, mit dem Erscheinen von Microsoft Windows 95 und dem ständigem Zuwachs an Benutzern, wurden auch Viren für dieses Betriebssystem (und dessen obligate Programme wie Microsoft Office) geschrieben. 1995 erschien das erste Makrovirus für Microsoft Word. Da Dokumente öfter als Programme getauscht wurden, wurden Makroviren ein sehr großes Problem für die Anwender. In den Jahren darauf erschienen dann auch die ersten Makroviren für Excel (1997), Powerpoint und Access (beide 1998) und Visio (2000). 1996 wurde auch das erste Virus Constructor Kit für Makroviren geschrieben, das es auch Personen ohne Programmierkenntnissen ermöglichte, Viren zu erstellen.

1996 erschien dann mit Boza auch das erste Virus für Microsoft Windows 95. Damit wurde gezeigt, dass das neueste Microsoft-Betriebssystem für Viren doch nicht, wie behauptet, unantastbar war.

Da der Kampf zwischen Antivirenherstellern und Virenautoren zugunsten der Antivirenhersteller gewonnen schien, wurden 1998 mit W32.HPS und W32.Marburg die ersten polymorphen Windows-32-Bit-Viren geschrieben. Kurze Zeit später entstand mit Regswap auch das erste metamorphe Virus für diese Betriebssysteme.

1998 und 1999 erschienen die ersten VBS- und JavaScript-Viren und als logische Konsequenz auch die ersten HTML-Viren. Diese Viren arbeiteten mit dem umstrittenen Zusatzprogramm „Windows Scripting Host“. Nun konnten auch Webseiten von Viren infiziert werden.

In dieser Zeit wurden auch einige andere, für den Benutzer ungefährliche, Viren geschrieben, die dennoch historisch interessant sind. Beispiele sind das OS2.AEP-Virus, das als erstes ausführbare Dateien des Betriebssystems OS/2 infizierten konnte, oder die ersten Viren für HLP-Dateien, für PHP-Dateien, für Java, für AutoCAD, für Bash, für Palm OS und für Flash.

Mit dem W95/CIH-10xx verbreitete sich 1998 das erste Virus, das neben dem Löschen der Festplatte auch das BIOS zerstören konnte. Somit war der gesamte PC unbrauchbar, bis durch Fachleute mit geeigneter Hardwareausstattung in den BIOS-Flash-EEPROM-Baustein ein neues BIOS geschrieben wurde.

Am Ende dieser Ära tauchten wieder (wie in der DOS-Ära) die komplexesten Viren auf, die es bis zu dieser Zeit gab. Beispiele sind Win32.MetaPHOR oder Win32.ZMist, die sehr stark metamorph sind und nicht von allen Antivirenprogrammherstellern vollständig entdeckt werden können.

[Bearbeiten] Neue Nischen: Ab 2002

Ungefähr ab 2002 traten Viren mehr und mehr in den Hintergrund und wurden durch Würmer ersetzt. Die Entwicklung von Viren geht trotzdem weiter und bezieht sich vor allem auf neue Nischen.

Im Jahr 2002 wurde das erste Virus geschrieben, das sowohl Win32-Anwendungen als auch ELF-Dateien (z. B. Linux-Anwendungen) infizieren konnte. Dieses Virus kann als das Einläuten eines neuen Zeitalters der Viren gesehen werden.

Im Jahr 2004 brach dann endgültig eine neue Ära für Viren an. Das erste Virus für PocketPCs (mit dem Betriebssystem Windows CE) tauchte auf und zeigte, dass auch diese viel verwendeten Kommunikationsgeräte nicht verschont werden.

Einige Monate später wurde das Virus Win64.Rugrad entdeckt. Dieses Virus konnte die Anwendungen des neu erschienenen Microsoft Windows XP 64-bit Edition infizieren und hat eine Vorreiterrolle in der Entwicklung neuer Viren.

Wieder einige Monate später, im Jahr 2005, wurde das erste Virus für Handys (mit dem Betriebssystem Symbian OS) geschrieben. Es kann, nachdem vorher schon Würmer für dieses Betriebssystem erschienen sind, auch Dateien infizieren.

Mitte 2005, kurz nach der Veröffentlichung der ersten Beta-Version des XP-Nachfolgers Microsoft Windows Vista, wurde das erste Virus für die Microsoft Command Shell (Codename Monad) veröffentlicht. Zunächst wurde propagiert, dass es ein erstes Virus für das neue Windows gebe. Jedoch ließ Microsoft nach Bekanntwerden der Viren verlautbaren, dass Monad doch nicht wie geplant in Vista enthalten sein werde. Somit wäre dies ein Virus für eine Betaversion mit extrem geringen Chancen auf Verbreitung.

Das erste wirkliche Computervirus für MS Windows Vista trat einige Monate später, im Oktober 2005 auf. MSIL.Idoneus nutzt .NET Framework 2.0, um sich zu verbreiten.

In dieser Zeit wurden auch die ersten Viren für Ruby, MenuetOS, F#, CHM, IDA und Microsoft Office Infopath entdeckt, die aber weder jetzt noch in Zukunft eine Gefahr für Anwender sein werden, da diese Plattformen kaum verbreitet sind und sich die Viren daher kaum vermehren können.[5]

Eine Gefahr für die Zukunft geht von StarOffice- und OpenOffice.org-Makroviren aus, die im Juli 2006 entdeckt wurden. Da die Zahl von Benutzern, die nicht mehr auf Microsoft Office setzen, im Anstieg ist, war eine Konsequenz daraus, dass diese Programme angegriffen wurden.[6]

[Bearbeiten] Literatur

Die meisten Bücher zum Thema sind inzwischen veraltet und/oder nicht mehr erhältlich (Auswahl).

[Bearbeiten] Quellen

  1. Sophos Security Report 06
  2. golem.de: Microsoft wartet mit Bereitstellung eines Patches fast ein Jahr.
  3. Infos zu den das CMOS und das BIOS schädigenden Viren
  4. Fred Cohen: Computer Viruses - Theory and Experiments
  5. Trend Micro: E-Zine Releases New Virus Technologies
  6. Symantec: Back to the Future

[Bearbeiten] Weblinks

Dieser Artikel wurde in die Liste exzellenter Artikel aufgenommen.
THIS WEB:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia 2006:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu