Wikipedia · einfach zusammengefasst · Stand
Computervirus
Ein Computervirus (lateinisch virus ‚Gift, Schleim'; Plural -viren) ist ein sich selbst verbreitendes Computerprogramm, welches sich in andere …
Inhalt6 Abschnitte
Grundidee und Abgrenzung
Ein Computervirus ist ein sich selbst verbreitendes Computerprogramm, das sich in andere Computerprogramme, in einen Bootsektor oder in den RAM einschleust und sich dadurch reproduziert. Die Einordnung als Virus bezieht sich auf diese Verbreitungs- und Infektionsfunktion. Nach dem Start kann ein Virus Veränderungen am Betriebssystem oder an anderer Software vornehmen; solche Schadfunktionen können zu Datenverlusten führen und mittelbar auch Hardware beeinträchtigen. Computerviren gehören zur Malware. Laut AV-Test-Institut machen sie nur noch etwa 13 Prozent der Schadprogramme aus.
Umgangssprachlich wird „Computervirus“ oft auch für Computerwürmer und Trojanische Pferde verwendet, weil es Mischformen gibt und der Unterschied für Anwender oft schwer erkennbar ist. Fachlich ist der Unterschied wichtig: Ein Virus kopiert sich in noch nicht infizierte Dateien oder Bootbereiche und wird mit dem Wirtsprogramm ausgeführt. Auf neue Systeme gelangt es meist, wenn ein Anwender eine infizierte Datei kopiert, etwa über Wechselmedien, E-Mail, Downloads, Server oder Tauschbörsen. Ein Wurm verbreitet sich dagegen aktiv, indem er versucht, in neue Systeme einzudringen. Dazu nutzt er zum Beispiel Netzwerkdienste mit Standardpasswörtern oder ohne Passwort, Programmierfehler in Netzwerkdiensten oder Fehler in Programmen, die Netzwerkdienste verwenden.
Die Arbeitsweise ähnelt dem biologischen Vorbild: Das Virus nutzt Ressourcen des Wirtcomputers und kann ihn dabei schädigen. Viele Viren sind in einem Wirtsprogramm eingebettet. Wird dieses Programm gestartet, wird auch das Virus ausgeführt und kann sich weiterverbreiten. Heute sind klassische Computerviren weitgehend von Würmern verdrängt worden, weil vernetzte Rechner Würmern eine schnellere aktive Verbreitung ermöglichen.
Risiko und Schutz
Das Risiko einer Virusinfektion hängt stark vom Betriebssystem und von dessen Rechtesystem ab. Grundsätzlich sind alle Betriebssysteme anfällig, wenn Programme andere Dateien verändern dürfen. Systeme ohne Zugriffskontrollen, etwa DOS, MS-DOS-basierte Windows-Versionen bis Windows 9x oder Amiga-Systeme, gelten als anfälliger. Auch moderne Systeme können gefährdet sein, wenn Benutzer dauerhaft mit Administratorrechten arbeiten. Bei eingeschränkten Benutzerkonten kann ein Virus normalerweise nur Dateien verändern, für die der Benutzer Schreibrechte besitzt; Systemdateien und Dateien anderer Benutzer sind dann meist besser geschützt.
Windows-Systeme sind wegen ihrer weiten Verbreitung auf PCs ein besonders wichtiges Ziel für Virenautoren. Der Artikel nennt außerdem als Risikofaktoren, dass viele Windows-Anwender mit Administratorrechten arbeiten und Sicherheitspraktiken nicht kennen. Für Linux, klassisches Mac OS und Mac OS X beziehungsweise macOS werden deutlich weniger bekannte Viren genannt; der Artikel weist aber auch darauf hin, dass einige Aussagen zum Gefährdungsgrad und zur neueren Entwicklung nicht ausreichend belegt oder nicht aktuell sein können.
Zur allgemeinen Prävention gehört, unbekannte Dateien oder Programme aus unsicheren Quellen nicht auszuführen. Besondere Vorsicht gilt bei E-Mail-Anhängen, auch wenn sie von bekannten Absendern kommen, falls die Nachricht ungewöhnlich oder nichtssagend wirkt. Betriebssystem und Anwendungen sollten regelmäßig mit Service Packs, Patches oder Hotfixes aktualisiert werden. Schutzfunktionen des Betriebssystems sollten genutzt werden, vor allem das Arbeiten mit eingeschränkten Rechten statt mit Administratorrechten. Automatisches Öffnen von Dateien aus dem Internet, das Ausblenden bekannter Dateiendungen und Autostart-Funktionen für CD-ROMs oder DVD-ROMs können riskant sein.
Personal Firewalls helfen gegen Viren laut Artikel nicht, weil ihre Funktion eher auf Würmer ausgerichtet ist. Antivirenprogramme schützen vor allem vor bekannten Viren und brauchen regelmäßig aktualisierte Virensignaturen. Sie können manuell auf Anforderung prüfen („on demand“) oder automatisch Lese- und Schreibzugriffe überwachen („on access“). Vollständigen Schutz bieten sie nicht: Auch bekannte Viren werden nicht immer zu 100 Prozent erkannt, unbekannte Viren nur unsicher über Heuristik. Mehrere On-Access-Scanner sollten nicht gleichzeitig installiert werden, da dies zu schweren Systemstörungen führen kann. Live-Systeme wie Knoppix bieten nahezu vollständigen Schutz, wenn keine Schreibrechte auf Festplatten erteilt werden; speicherresidente Malware kann aber bis zum Neustart weiterwirken.
Wichtige Virentypen
Bootviren gehören zu den ältesten Computerviren und waren bis 1995 sehr verbreitet. Sie infizieren den Bootsektor von Disketten und Festplattenpartitionen oder den Master Boot Record (MBR) einer Festplatte. Der Bootsektor beziehungsweise MBR enthält Bootloader, also Programme, die vor dem Betriebssystem ausgeführt werden. Das macht sie für Viren interessant, weil sie das später geladene Betriebssystem beeinflussen können. Bootviren sind technisch eingeschränkt, weil der MBR nach Industrienorm 512 Byte groß ist und nach Abzug von Bereichen für Hardware- und BIOS-Kompatibilität höchstens 444 Bytes übrig bleiben, wenn keine weiteren Bestandteile versteckt werden. Heute gibt es beinahe keine Bootsektorviren mehr, weil BIOS und Betriebssysteme meist Schutzmechanismen besitzen und die Verbreitung langsam ist.
Dateiviren oder Linkviren sind der am häufigsten anzutreffende Virentyp. Sie infizieren ausführbare Dateien oder Programmbibliotheken. Dazu fügt sich das Virus in eine Wirtsdatei ein und verändert sie so, dass beim Programmstart zuerst oder zusätzlich das Virus ausgeführt wird.
Makroviren befallen Dokumente mit eingebetteten Makros. Ein Makro ist eine Folge von Befehlen in einer Anwendung, die wiederkehrende Aufgaben automatisiert. Viele Office-Dokumente können Makros enthalten. Makroviren nutzen besonders gern automatisch startende Makros, weil sie beim Öffnen eines Dokuments mit hoher Wahrscheinlichkeit ausgeführt werden. Um das Jahr 2000 herum stellten Makroviren eine besonders große Bedrohung dar, bis sie von Computerwürmern abgelöst wurden. Schutz bietet unter anderem, nur zertifizierte Makros zuzulassen und die automatische Ausführung von Makros abzuschalten.
Skriptviren infizieren Skripte. Ein Skript ist ein Programm, das nicht vorher vollständig in Maschinensprache übersetzt wird, sondern von einem Interpreter Schritt für Schritt ausgeführt wird. Skripte werden zum Beispiel auf Webservern mit Perl oder PHP oder in Webseiten mit JavaScript verwendet. Bei HTML-Dateien kann sich ein Skriptvirus in den Skriptbereich einfügen. Daneben gibt es Skriptviren für Shell-, Perl- oder Python-Skripte sowie für Kommandozeileninterpreter, die laut Artikel aber meist nur Laborcharakter haben. Mischformen verbinden mehrere Kategorien, etwa Viren, die Dateien und Bootsektoren infizieren.
Infektionsarten und Tarntechniken
Bei Companion-Viren wird nicht die eigentliche ausführbare Datei verändert. Stattdessen benennt das Virus die ursprüngliche Datei um oder erzeugt eine Datei mit ähnlichem oder gleichem Namen, die vor dem Originalprogramm ausgeführt wird. Unter MS-DOS konnten solche Viren zum Beispiel zu einer EXE-Datei eine versteckte COM-Datei gleichen Namens anlegen, weil MS-DOS bei einem Programmnamen ohne Endung zuerst nach „.com“ und danach nach „.exe“ sucht.
Überschreibende Computerviren sind besonders einfach aufgebaut, aber leicht zu entdecken: Sie überschreiben eine ganze Datei oder einen Teil davon, meistens den Anfang. Die Wirtsdatei wird dadurch irreparabel beschädigt und funktioniert nicht mehr richtig. Prepender setzen sich an den Anfang der Wirtsdatei. Beim Start wird zuerst das Virus aktiv, danach stellt es im Arbeitsspeicher den Originalzustand des Programms wieder her und führt es aus. Appender hängen sich an das Ende einer Wirtsdatei und verändern sie so, dass das Virus vor dem eigentlichen Programm ausgeführt wird. Diese Form ist leichter zu schreiben und kommt relativ häufig vor. Beim Entry Point Obscuring (EPO), der „Verschleierung des Einsprungspunktes“, wird ein variabler Punkt innerhalb der Wirtsdatei infiziert, zum Beispiel eine Programmfunktion. Das erschwert die Erkennung, weil Virenscanner dann nicht nur Dateianfang und Dateiende prüfen können.
Einige Viren bleiben speicherresident, also nach dem Ende des Wirtsprogramms im Arbeitsspeicher. Unter MS-DOS wurde dafür TSR („Terminate and Stay Resident“) verwendet; unter Windows, Unix, Linux oder macOS erzeugt das Virus eher einen neuen Prozess und versucht, harmlos zu wirken oder sich zu verstecken.
Zur Selbsttarnung gibt es mehrere Techniken. Stealth-Viren fangen Systemaufrufe ab, damit etwa bei der Abfrage einer infizierten Datei weiterhin die ursprüngliche Größe oder der ursprüngliche Inhalt angezeigt wird. Verschlüsselte Viren verschlüsseln sich selbst, wobei der Schlüssel von Infektion zu Infektion variieren kann; die Entschlüsselungsroutine bleibt aber ein möglicher Erkennungspunkt. Polymorphe Viren verändern ihre Gestalt von Generation zu Generation, oft durch variable Verschlüsselung und neu erzeugte Entschlüsselungsroutinen. Metamorphe Viren verändern nicht nur die Darstellung, sondern schreiben ihre Befehlsfolge um, zum Beispiel indem gleichwertige Maschinenbefehle ersetzt werden. Retroviren versuchen, Virenschutzprogramme und Personal Firewalls zu deaktivieren und gelten deshalb als besonders gefährlich.
Aufbau und mögliche Schäden
Computerviren können sehr unterschiedlich aufgebaut sein. Der einzige notwendige Bestandteil ist die Vermehrungsroutine; sie macht ein Programm per Definition zum Computervirus. Weitere mögliche Bestandteile sind eine Entschlüsselungsroutine bei verschlüsselten Viren, ein Erkennungsteil, der prüft, ob ein Ziel schon infiziert ist, ein Schadensteil oder Payload, ein Bedingungsteil als Trigger und ein Tarnungsteil. Der Trigger kann eine Payload zum Beispiel an einem bestimmten Datum, bei bestimmten Systembedingungen oder zufällig auslösen.
Eine wichtige „Achillesferse“ klassischer Viren ist, dass sie sich selbst erkennen müssen, um dieselbe Datei nicht immer wieder zu infizieren. Dieses Erkennungsmuster kann unter Umständen auch von Virenscannern als Signatur genutzt werden. Polymorphe Viren können ihre Signaturen verändern, folgen dabei aber Regeln. Manche Viren verwenden sehr kleine Kennzeichnungen, etwa ein ungenutztes Byte im Portable-Executable-Format; für Virenscanner wäre ein einzelnes Byte als Signatur zu ungenau, weil es viele falsch positive Treffer gäbe.
Nicht jedes Virus zerstört Daten. Jedes Virus verbraucht allerdings Rechnerzeit, Speicher und meist auch Festplattenplatz. Viele Viren sind so geschrieben, dass der Benutzer diese Belastung nicht bemerkt. Ungewollte Schäden können durch Programmierfehler entstehen, etwa wenn Dateien falsch infiziert und dadurch zerstört werden. Manche Viren zeigen ihre Existenz durch Pieptöne, Musik, Meldungsboxen, Texte oder Bildschirmeffekte. Solche Meldungen können harmlos sein und werden teils nur zu bestimmten Uhrzeiten oder Tagen ausgelöst.
Datenzerstörung reicht vom Löschen einzelner Dateien bis zum Formatieren ganzer Festplatten. Da Viren ihren „Lebensraum“ dadurch oft selbst zerstören, ist diese Strategie für ihre Verbreitung wenig geeignet. Direkte Hardwarezerstörung durch Software ist nur in Einzelfällen möglich und setzt genaues Wissen über bestimmte Hardware voraus. Der Artikel nennt als Beispiele extreme Bildsignale bei alten Festfrequenzmonitoren, Übertakten von Grafikkarten oder Hauptplatinen-Bausteinen, bestimmte inoffizielle ATA-Kommandos oder verringerte Lüftergeschwindigkeit. Häufiger als echter Hardwareschaden kann das Überschreiben des BIOS sein, das den Rechner am Starten hindert und deshalb leicht als Hardwaredefekt missverstanden wird.
Wirtschaftliche Schäden durch Computerviren gelten im Artikel als geringer als Schäden durch Computerwürmer, weil sich Viren langsamer verbreiten. Trotzdem gab es große Einzelfälle. Das Virus DataCrime vernichtete Datenbestände. Das Makrovirus XM/Compat veränderte Anfang 1998 in Microsoft-Excel-Dateien zufällig numerische Werte mit einer Wahrscheinlichkeit von einem Prozent in einem Bereich von +5 bis −5 Prozent. Win9x.CIH, auch „Tschernobyl-Virus“, zerstörte am 26. April 2000 den Dateninhalt von mehr als 2000 BIOS-Chips in Südkorea; laut Kaspersky sollen im Vorjahr 3000 PCs betroffen gewesen sein.
Historische Entwicklung
Die theoretischen Grundlagen reichen bis 1949 zurück, als John von Neumann in Theory and Organization of Complicated Automata die These formulierte, dass ein Computerprogramm sich selbst reproduzieren kann. 1961 setzten Victor Vyssotsky, Robert Morris Sr. und Doug McIlroy von den Bell Labs diese Idee im Spiel Darwin um, dessen spätere Versionen als Core Wars bekannt wurden. 1972 veröffentlichte Veith Risak den Artikel Selbstreproduzierende Automaten mit minimaler Informationsübertragung über ein Forschungsvirus im Maschinencode des SIEMENS 4004/35. Ebenfalls 1972 erwähnte David Gerrold in When Harlie Was One den Begriff „Computervirus“ literarisch. 1980 verglich Jürgen Kraus an der Universität Dortmund bestimmte Programme mit biologischen Viren. 1982 schrieb Rich Skrenta Elk Cloner für Apple-II-Systeme, das als erstes Bootsektorvirus gelten kann. 1984 verwendete Leonard M. Adleman im Gespräch mit Fred Cohen den Begriff „Computervirus“ als Fachbegriff.
In der praktischen Anfangsphase stellte Fred Cohen 1984 in seiner Doktorarbeit Computer Viruses – Theory and Experiments ein funktionierendes Virus für Unix vor, das heute als erstes Computervirus gilt. 1986 wurde an der FU Berlin die erste Vireninfektion auf einem Großrechner entdeckt. Ebenfalls 1986 verbreitete sich mit Pakistani, Ashar oder Brain das erste MS-DOS-Virus. 1987 wurde das erste Virus für Macintosh-Rechner entdeckt; im selben Jahr erschien das erste deutschsprachige Buch zum Thema von Ralf Burger. 1988 kam mit dem Virus Construction Set der erste Baukasten für Viren heraus. 1989 erschien mit V2Px das erste polymorphe Virus.
Von 1990 bis 1995 wurden DOS-Viren komplexer. 1991 verbreitete sich der polymorphe Tequilavirus, 1992 veröffentlichte Dark Avenger den polymorphen Programmgenerator MTE. Das Michelangelo-Virus löste 1992 große Medienaufmerksamkeit aus. Von 1993 bis 1996 waren in Europa zwei Versionen von Parity Boot besonders häufig. Mit ACG und OneHalf erreichten MS-DOS-Viren eine hohe Komplexität.
Von 1995 bis 2002 entstanden Viren für 32-Bit-Windows-Systeme und für Microsoft Office. 1995 erschien das erste Makrovirus für Microsoft Word, später folgten Makroviren für Excel (1997), PowerPoint und Access (1998) sowie Visio (2000). 1996 zeigte Boza, dass auch Windows 95 infizierbar war. 1998 traten mit W32.HPS und W32.Marburg die ersten polymorphen 32-Bit-Windows-Viren auf, danach mit Regswap ein metamorphes Virus. 1998 und 1999 erschienen erste VBS-, JavaScript- und HTML-Viren. Ab etwa 2002 traten Viren hinter Würmer zurück, entwickelten sich aber in Nischen weiter, etwa für PocketPCs, Windows XP 64-bit Edition, Symbian-Handys, Ruby, MenuetOS, F#, CHM und Microsoft Office Infopath.