Skriptviren sind parasitäre Skriptprogramme, die sich selbst verbreiten, indem sie ihren Programmcode in fremde Skriptdateien einschleusen. Wird eine infizierte Datei geöffnet, kommt der Virus-Code zur Anwendung und befällt weitere Dateien.
Skriptviren gehören zusammen mit den Bootsektorviren, Dateiviren und den Makroviren zu den Computerviren, die zusammen mit Würmern, Trojanern und anderer Schadsoftware zur Malware gezählt werden.
Abgrenzung und Funktionsweise
In diesem Abschnitt werden die Unterschiede zwischen den Skriptviren und anderen Malware-Typen beschrieben.
Skriptviren vs. Dateiviren
Wie Dateiviren fügen Skriptviren ihren Code in andere Dateien ein. Während Dateiviren aus Maschinencode bestehen und nur kompilierte Programme befallen, sind Skriptviren selbst Skripte. Sie schreiben ihren Code in andere Skripte oder skriptfähige Dokumente wie HTML-Dateien.
Skripte sind einfache Programme, deren Anweisungen im Klartext vorliegen. Mit ihnen lassen sich Aufgaben automatisieren, einfache Apps realisieren oder Websites um dynamische Inhalte erweitern. Zu ihrer Ausführung brauchen sie einen Interpreter, ein Programm, das diese Befehle zeilenweise in Maschinensprache übersetzt.
Skripte sind in einer verglichen mit konventionellen Programmiersprachen einfacher strukturierten Sprache, einer Skriptsprache, geschrieben.
Bekannte Skriptsprachen sind JavaScript, VBScript, PHP, Perl oder Python. Auch Batch- und Shell-Dateien sind Skripte.
Innerhalb von HTML-Dateien wird meist Javascript verwendet, da diese Sprache von allen Browsern interpretiert werden kann. Webserver benutzen Skripte, mehrheitlich PHP, zum dynamischen Seitenaufbau.
Skriptviren vs. Makroviren
Makros sind Skripte, die nur innerhalb einer bestimmten Anwendung wie einer Textverarbeitung, einer Tabellenkalkulation oder eines Grafikprogramms funktionieren. Makroviren befallen Dokumente und Makrodateien dieser Anwendungen.
Skriptviren vs. Würmer
Anders als Viren sind Würmer eigenständige Programme, die zu ihrer Verbreitung keinen Wirt benötigen. Sie können als kompilierter Maschinencode oder als Skript vorliegen.
Viren verbreiten sich von einem Wirt zum nächsten auf demselben System. Sie warten aber passiv darauf, durch den Nutzer von einem Rechner auf den nächsten kopiert zu werden.
Würmer – dies ist der entscheidende Unterschied – pflanzen sich aktiv von Computer zu Computer fort. Sie nutzen dazu Sicherheitslücken und verbreiten sich hauptsächlich über E-Mail. Um den Empfänger zum Öffnen oder Herunterladen der verseuchten Datei zu bringen, bedienen sich Computerwürmer oft eines Trojaners: Sie tarnen sich als nützliche Programme oder Dokumente.
Verbreitung
Reine Skriptviren
Während Dateiviren und vor allem Makroviren häufig anzutreffen sind, sind reine Skriptviren selten. Dies hat mit dem Verhalten der Nutzer zu tun. Sie tauschen öfter Anwendungen im Bekanntenkreis oder über Filesharing. Im Büroalltag werden Word-Dateien oder Excel-Tabellen hin- und hergemailt. Nur Wenige tauschen dagegen bewusst Skripte.
Beim Betrachten einer infizierten Website kann im Browser zwar ein Skriptvirus ausgeführt werden, der Dateien auf dem lokalen Computer befällt. Da Anwender die befallenen Dateitypen selten untereinander austauschen und ein reiner Skriptvirus nicht aktiv andere Webserver angreifen kann, bleibt die Verbreitung jedoch relativ gering.
Hier zeigt sich, dass das Konzept des Computervirus vor dem Internetzeitalter entstanden ist. Erst die historisch jüngeren Würmer nutzen die Möglichkeiten der aktiven Verbreitung über Internet.
Skriptwürmer und Hybride
Die überwiegende Mehrzahl der als Skriptviren bezeichneten Schädlinge sind daher genau genommen entweder Skriptwürmer oder Mischformen zwischen Wurm und Virus.
Ein bekanntes Beispiel für solch einen Hybriden ist Loveletter. Die als Liebesbrief getarnte VBScript-Datei verschickt sich bei Ausführung selbst an die Mail-Kontakte im Adressbuch von Outlook. Der Virus-Teil von Loveletter ersetzt auf dem befallenen Rechner Programme und Dokumente verschiedener Dateitypen durch eine Kopie von sich. Dabei nutzt er den Umstand, dass Windows die Dateierweiterungen standardmäßig ausblendet und dem Benutzer das verräterische Dateisuffix „.vbs“ nicht anzeigt. So bemerkt er die Veränderung nicht und startet durch das Öffnen einer vermeintlich harmlosen Datei das bösartige Skript.
Einfache Programmierung von Skriptviren
Die hohe Verbreitung von (hybriden) Skriptviren und -würmern ist auf die relativ einfache Programmierung in Skriptsprachen zurückzuführen. Durch die Zugänglichkeit des Quelltextes ist es auch Programmierunerfahrenen möglich, mit wenigen Veränderungen im Code eine Mutation des Schädlings herzustellen und damit eine neue Infektionswelle auszulösen.
Noch einfacher machen es Cyberkriminellen Virenbaukästen, die über eine grafische Benutzeroberfläche das Zusammenstellen eines Skriptvirus nach Maß erlauben. Von da stammt auch der Ausdruck „Skriptkiddie“ für meist jugendliche Computervandalen mit beschränkten Programmierkenntnissen.
Da Skriptviren im Quellcode vorliegen, sind sie auch für Virenschutzsoftware leichter zu entdecken. Dem wirken Virenschreiber entgegen, indem sie den Skriptcode mittels entsprechender Tools zur Unkenntlichkeit umformen (Code Obfuscation) und verschlüsseln.