Dateiviren, auch Programm- oder Linkviren genannt, sind die am häufigsten verbreitete Art von Computerviren. Ein Dateivirus ist ein parasitäres Computerprogramm, das sich selbst verbreitet, indem es seinen Programmcode in fremde Programmdateien einschleust. Wird eine befallene Programmdatei geöffnet, kommt der Virus-Code zur Ausführung und infiziert weitere Programmdateien. Dateiviren können Schadensfunktionen enthalten.
Abgrenzung zu übriger Malware
Dateiviren bilden zusammen mit den anderen Virenarten (Boot-, Makro- und Skriptviren) die älteste Kategorie von Schadprogrammen oder Malware. Zur Malware gehören auch Würmer und Trojaner.
Bootviren befallen den ersten Sektor bootfähiger Speichermedien. Dateiviren hingegen nutzen zur Verbreitung das Dateisystem. Im Gegensatz zu Makro– oder Skriptviren bestehen sie aus direkt ausführbarem Maschinencode.
Anders als Würmer, die eigenständige Programme sind, brauchen sie ein fremdes Programm als Wirt. Würmer sind effizienter als Dateiviren, da sie nicht passiv abwarten, bis sie von Rechner zu Rechner kopiert werden, sondern zur Verbreitung auf andere Computer aktiv das Internet nutzen.
Trojaner verleiten den Anwender zum Öffnen, indem sie sich als nützliche Software tarnen. Einmal gestartet, führen sie unbemerkt schädliche oder unerwünschte Aktionen aus. Darin besteht eine Ähnlichkeit zu virusinfizierten Programmdateien. Trojaner werden jedoch absichtlich mit der unerwünschten Komponente ausgestattet und besitzen keine Verbreitungsfunktion.
Heute existieren mehrheitlich Mischformen verschiedener Malware-Kategorien, vor allem von Würmern und Trojanern. Hybride aus Viren und Würmern sind meist unbeabsichtigt durch die Infektion eines Wurms mit einem Virus entstanden.
Infektionsmechanismen von Dateiviren
Werden Dateiviren durch Öffnen eines verseuchten Programms aktiviert, suchen sie nach weiteren möglichen Wirtsprogrammen und infizieren diese.
Sogenannte Prepender setzen ihren Code vor das eigentliche Programm. So wird durch den Programmstart zunächst der Virus ausgeführt, der am Schluss seiner Aktivität das Wirtsprogramm in seinem ursprünglichen Zustand in den Hauptspeicher lädt.
Appender kopieren ihren Code ans Ende des Wirtsprogramms. Indem sie an dessen Anfang eine Sprunganweisung zum Virus-Code setzen, sorgen sie dafür, dass dieser zuerst ausgeführt wird. Am Ende des Virus-Codes führt eine weitere Sprunganweisung zurück zum Einsprungspunkt des eigentlichen Programms.
Intelligenter programmierte Dateiviren betreiben Entry Point Obscuring (Verschleierung des Einsprungspunktes): Sie bringen ihren Code an geeigneter Stelle mitten in der Programmdatei unter, sodass sie für Virenschutz-Software schwieriger zu finden sind. Die meist gewählte Stelle ist die Beenden-Funktion des Wirtsprogramms, da diese bei allen Programmen vorhanden ist und bei jeder Programmausführung einmal aufgerufen wird.
Überschreibende Viren überschreiben das Wirtsprogramm teilweise oder ganz und beeinträchtigen oder zerstören damit oft dessen Funktionsfähigkeit.
Companion-Viren ändern nicht das Wirtsprogramm selbst, sondern dessen Dateinamen, um sich selbst in eine Datei mit diesem Namen zu speichern. Wird die Virus-Datei geöffnet, startet sie die umbenannte Originaldatei, damit der Benutzer die Infektion nicht bemerkt.
Um ihre Verbreitungseffizienz zu steigern, erkennen Dateiviren gewöhnlich durch sie befallene Programme und infizieren sie kein weiteres Mal.
Tarnung
Neuere Dateiviren benutzen überwiegend Mechanismen, um ihre Entdeckung durch Virenschutz-Software zu verhindern.
Verschlüsselte Viren machen ihren Code mittels eines kryptografischen Verfahrens unkenntlich. Nur die Entschlüsselungsfunktion bleibt unverschlüsselt.
Polymorphe Viren ändern bei jeder Infektion ihr Aussehen. Dazu variieren sie nicht nur die Verschlüsselung, sondern bilden auch die Entschlüsselungsfunktion jedes Mal neu.
Tarnkappenviren gelingt es, sich durch Veränderung von Systemfunktionen unsichtbar zu machen. So fangen sie beispielsweise den Lesezugriff einer Virenschutz-Software auf eine befallene Datei ab und übergeben den Originalinhalt vor Infektion zur Überprüfung.
Retroviren versuchen Schutzprogramme wie Antivirus-Software und Firewalls zu deaktivieren.
Schäden
Einige Dateiviren enthalten keine Schadfunktion. Der vom Programmierer intendierte Zweck liegt in der bloßen Verbreitung. Schaden kann dennoch entstehen durch übermäßige Beanspruchung von Systemressourcen oder durch Programmierfehler des Virus. Überschreibende Viren beeinträchtigen oft die Funktionalität des Wirtsprogramms.
Dateiviren, die Schadfunktionen bergen, ärgern den Computernutzer im harmloseren Fall mit störenden Meldungen, zerstören bisweilen aber Daten oder – ganz selten – die Hardware.