Makroviren sind keine neue Erfindung, die Idee besteht schon seit Jahren. Angeblich untersuchte 1994 ein amerikanischer Sicherheitstechniker die Gefahr von Makroviren speziell für Microsoft Word und Microsoft Excel. Seine sehr ausführliche Analyse enthielt unter anderem zwei Demonstrations-Viren, "WM/DMV.A" und "XM/DMV.A", wobei DMV für "Demo Macro Virus" steht. Diese beiden Viren wurden nicht weiter beachtet, erst als Mitte 1995 der erste Microsoft Word Makrovirus "in freier Wildbahn" gefunden wurde, brach bei den Anwendern Panik und bei den Antivirenfirmen große Hektik aus; es galt, schnell eine Lösung zur Bekämpfung des neuen Virentyps zu finden. "WM/Concept.A" war dieser erste verbreitete Makrovirus, sein genauer Ursprung ist unbekannt. "Concept" breitete sich sehr schnell aus und gilt heute international als sehr verbreitet (ITW). "Concept" ist an sich harmlos, er zeigt lediglich ein Fenster mit einer "1" bei seiner ersten Aktivierung an.
Das Makro mit dem bezeichnenden Namen "Payload" blieb offenbar absichtlich leer. Der Virus enthält den Text "That's enough to prove my point", der allerdings nicht angezeigt wird. Der Virus wurde unter anderem von Microsoft selber unbeabsichtigt auf einer CD verschickt.
Weitere Makroviren ließen nicht lange auf sich warten, als nächstes erschienen "WM/Nuclear.A" und "WM/Colors.A". Beide sind fortschrittlicher als "Concept" und benutzen Execute-OnlyExecute_Only Makros, um ihre Analyse zu erschweren.
"Nuclear" enthält einen normalen DOS-Virus, der aus dem
Dokument ins System eingeschleust wird bzw. eingeschleust werden soll; der Virus
hat einen Programmierfehler, der dies verhindert. Zu bestimmten Uhrzeiten fügt
dieser Virus beim Versenden von Dokumenten den Text
"And finally I would like to say - STOP ALL FRENCH NUCLEAR TESTING IN THE PACIFIC!"
hinzu.
"Colors" ist nicht so fehlerhaft wie die beiden vorherigen Makroviren programmiert und ändert die Bildschirmfarben von Windows. Da in der deutschen Version von Microsoft Word neben den normalen Anzeigetexten auch die Makronamen übersetzt wurden, funktionieren die englischen Makroviren in Deutschland nicht richtig; nur die Datei NORMAL.DOT wird infiziert, ansonsten bleiben die Viren inaktiv. Es ist allerdings relativ leicht, unverschlüsselte Viren wie "Concept" zu "übersetzen", damit sie mit der deutschen Version von Microsoft Word funktionieren. Außerdem kann eine möglicherweise vorhandene Schadensfunktion ausgelöst werden, auch wenn der Virus sich nicht vermehren kann.
Mittlerweile sind etliche deutsche Makroviren bekannt, z.B. "Xenixos", der unter anderem den DOS-Virus "Neuroquila" enthält und ins System einschleust, "NOP", "NF", "Clock", "Boom" oder "Buero". Viele neuere Makroviren benutzen nur bestimmte Makros und sind somit unabhängig von der Version von Microsoft Word. Ein Beispiel ist der sehr stark verbreitete Makrovirus "CAP", welcher durch geschicktes Abfragen der Menüstruktur von Microsoft Word die notwendigen Namen der Makros ermittelt und sich damit immer an die aktuell laufende Version von Word anpaßt. Einfache Makroviren wie etwa "Npad" oder "Wazzu" verwenden lediglich Auto-Makros und erreichten damit eine enorme Verbreitung.
Ähnlich wie bei der Entwicklung der DOS-Viren erschienen neben den herkömmlichen Makroviren bald komplexere Viren, welche fortschrittlichere Infektions- und Tarnmethoden (Stealth) einsetzen. Polymorphe Makroviren wie "Slow" oder "UglyKid" erschweren die Erkennung durch Variierung ihres Programmcodes. Einige Makroviren verstecken ihren Programmcode in Dokumentvariablen oder Autotext-Einträgen, andere enthalten den eigentlichen Infektionsprogrammteil als verschlüsselte Strings. "Navhar" versucht sogar, Dokumente auf Betriebssystemebene, ohne Verwendung von WordBasic-Befehlen, zu infizieren. Anti-heuristische Makroviren wie "Target" oder Varianten der "Minimal"-Familie versuchen durch trickreiche Programmierung die Erkennung durch Codeanalyse zu verhindern. Es hat sich jedoch gezeigt, daß derart komplexe und ausgefallene Viren zu auffällig sind und sich kaum verbreiten. Im Gegensatz dazu erreichten "primitive" Makroviren wie "Npad" oder "Wazzu" eine sehr hohe Verbreitung. Eine Ausnahme davon stellt der Makrovirus "CAP" dar, welcher trotz einer relativ hohen Komplexität sich sehr stark weltweit vermehren konnte.
Die Zahl der neuen Makroviren für Microsoft Word 6.0/7.0 steigt täglich, da durch die fehlerhafte Systemdatei "OLE32.DLL" gelegentlich Dokumente beim Speichern beschädigt und vorhandene Makrviren dadurch verändert werden können. Sämtliche Varianten von "Npad.A" wurden auf diese Weise von Microsoft Word selber generiert! Ein weiterer Faktor ist die Möglichkeit der Doppelinfektion. Ist ein Dokument bereits infiziert und ein weitere Makrovirus versucht das betroffene Dokument erneut zu infizieren, kann je nach Übereinstimmung der Makronamen einer der beiden Viren Teile des anderen Makrovirus übernehmen und somit zu einer neuen Variante mutieren. Weitaus häufiger werden jedoch Anwendermakros oder sogar Antivirenmakros wie etwa das sehr unsichere "ScanProt" von Microsoft von Viren einfach "übernommen" und Teil eines Virus. Von den mittlerweile über 4000 bekannten Makroviren sind hunderte auf diese Weise entstanden.
Microsoft Excel blieb längere Zeit von der Makroviren-Plage verschont, obwohl es eine recht große Anzahl von Viren für Excel gibt. Erst mit Auftreten des "XM/Laroux.A"-Virus änderte sich dies. "Laroux" erreichte schnell eine große Verbreitung und ist heute immer noch der einzige Excel-Virus der verstärkt auftritt und als "ITW" gilt. Zudem existieren Unmengen an Varianten von "LarouxLaroux", da ein Verändern des Programmcodes ohne weiteres leicht möglich ist. Ein weiterer Excel-Virus erreichte leider größere Verbreitung, "XM/Compat", der erste bekannte polymorphe Excel-Virus. Dieser Virus enthält zudem eine sehr hinterhältige Schadensfunktion, die in der aktiven Excel-Tabelle zufällig Daten sehr geringfügig manipuliert. Dieser Schaden ist leider nicht mehr zu reparieren.
Mit der Einführung von Microsoft Office 97 versprach Microsoft Abhilfe gegen die Makrovirenflut, was sich allerdings schnell ins Gegenteil kehrte. Word97 und Excel97 sind in der Lage, Dokumente der älteren Word- bzw. Excel-Versionen zu konvertieren, wobei auch vorhandene Makros übernommen werden. Zwar enthält dieser Konverter einen minimalen Virenschutz (es wird völlig unsinning nach Zeichenketten einiger bekannter Makroviren gesucht, z.B. nach "sMacro$" oder sogar nach Kommentaren, welche leicht zu entfernen sind), dieser Schutz hat sich jedoch als ebenfalls als unzureichend herausgestellt. Selbst der zusätzliche "Virenschutz" innerhalb von Word97, der jedes Dokument mit Makros meldet, half nicht viel. Da dieser Schutz laufend Fehlermeldungen produziert, wird er von den meisten Anwendern meistens schnell wieder ausgeschaltet. Das einzige Hindernis, was eine Fortsetzung der Virenflut von Word 6.0/7.0 zuerst verhinderte ist der Umstand, daß verschlüsselte Makros zwar nach Word97 konvertiert werden, diese sich aber nicht mehr selber kopieren können, wie es für die Verbreitung eines Makrovirus notwendig ist. Da viele der bekannten Makroviren verschlüsselte Makros besitzen, konnten sich diese unter Word97 nicht verbreiten. Mittlerweile gibt es jedoch "reinrassige" Word97- und Excel97-Makroviren die den Virenschutz von Word97 gezielt umgehen. Mit dem Service-Release 1 versuchte Microsoft es erneut, den Makroviren Einhalt zu gebieten. Word97 mit dem Service Release 1-Update (SR1) verhindert, daß sich Makros aus der globalen Vorlageglobale_Vorlage "NORMAL.DOT" in andere Dokumente kopieren. Kurze Zeit nach Erscheinen von SR1 hatten findige Virenprogrammierer bereits Schwachstellen entdeckt, die weiterhin eine ungehinderte Vermehrung eines Makrovirus unter Office97 erlauben. Allerdings werden durch den verbesserten Virenschutz des Service Release 1 sämtliche "hochkonvertierte" Word-Makroviren erfolgreich blockiert. Auch das Ende 1998 erschienene SR-2 löst das Virenproblem nicht, alle SR-1 kompatiblen Office97-Viren funktionieren auch mit dem Service Release 2.
Es wurden mehrere Makrovirus-Construction-Kits gefunden, mit denen sich ohne besonderes Fachwissen neue Makroviren erstellen lassen. Es hat sich jedoch gezeigt, daß diese Kits für Word95-Viren kaum angewendet werden: Es sind so gut wie keine WM-Viren bekannt, die anhand dieser Kits erstellt wurden. Es gibt Construction-Kits für Word 6.0/7.0, Word97 und Excel-Viren.
Bei den W97M-Viren ist die Situation anders, es existieren eine große Anzahl von Kit-Viren, wie etwa die "W97M/VMPCK"-Familie, oder die "W97M/Class"-Familie. Einige Antivirenfirmen legen offenbar keinen Wert auf eine genauere Analyse dieser Kit-Viren und benennen diese fälschlicherweise als jeweils eigenständigen Virus.
Anfang 1998 wurde ein weiterer Typ von Makrovirus entdeckt. Der aus Frankreich stammende "XF/Paix.A" benutzt nicht, wie die bisher bekannten Makroviren, WordBasic-Makros oder VBA-Module sondern Excel 4.0-Makros. Der Programmcode befindet sich in den Formelfeldern von Excel, daher heißt dieser Virentyp "ExcelFormula"-Virus. Diese Art von Makrovirus ist allerdings bisher nicht verbreitet, zusammen mit den Ende 1998 erschienen "XF/Sic" und "XF/Craze" stellt diese Virenart aber eine potentielle Gefahr für die Zukunft dar, vor allem weil diese Makrosprache aufwärtskompaibel ist und z.B. auch noch mit dem Office 2000 funktioniert.
Im März 1998 wurde der erste Virus für Microsoft Access 97 gefunden. "A97M/Accessiv.A" ist ein sehr einfacher Makrovirus, der nach Access-Datenbanken sucht und seinen Programmcode in diese überträgt. Der Aufbau des Virus, die vergleichsweise geringe Verbreitung von Microsoft Access gegenüber Microsoft Word bzw. Excel und die Veröffentlichung des Virus über bekannte VX-Homepages im Internet wird vermutlich dafür sorgen, daß sich "Accessiv.A" nicht bei Anwendern verbreiten wird. Gleiches gilt für die anderen bekannten Access-Viren wie etwa "A97M/Detox".
Für Microsoft PowerPoint sind ebenfalls eine kleinere Anzahl von Viren bekannt, wie etwa "O97M/Triplicate", der nicht nur PowerPoint97-Dateien sondern auch Word97 und Excel97-Dokumente befällt.
Ein Problem mit den Makroviren für Microsoft-Produkte ist die mangelnde Kooperation von Microsoft mit den Herstellern von Antiviren-Programmen. Trotz einiger Konferenzen und Initiativen zur Bekämpfung von Makroviren ist Microsoft offenbar nicht bereit, die wirklich relevanten und dringend benötigten Informationen über die internen Dateiformate von OLE, VBA oder JET bereitzustellen die zur effektiven Erkennung und Reinigung der Makroviren für Office97 notwendig sind. Mittlerweile sind die Antivirenfirmen fast mehr damit beschäftigt neue Dateiformat zu untersuchen, als die eigentlichen Viren zu bekämpfen. Existierende SR1-kompatible Makroviren funktionieren auch unter Office 2000, allerdings hat sich hier das interne Dateiformat erneut geändert. Zudem wurden ein dreistufiger Virenschutz eingeführt. Ähnlich wie die Sicherheitseinstellungen beim Microsoft Internet Explorer bezüglich ActiveX lassen sich nun Makros völlig deaktivieren - was dann auch die Standardeinstellung für Microsoft Office 2000 ist. Leider läßt sich diese Option leicht über die Registry extern verstellen. Außerdem werden alle Anwender, die selber Makros einsetzen den Schutz deaktivieren und somit den Viren weiter Möglichkeiten geben, sich zu vermehren.
Neu aufgetreten sind VB-Script Makroviren, die .VBS und .HTML-Dateien infizieren können. VB-Script ist im Prinzip genauso leistungsfähig wie VBA5 und von der Syntax her so identisch das es bereits Makroviren gibt, die nicht nur Word97 und Excel97-Dokumente befallen sondern mit Hilfe des CreateObject-Befehls auch VBS und/oder HTML-Dateien. Dieser Ansatz ist wesentlich effektiver als z.B. der Transfer über DDE wie es "O97M/Shiver" einsetzt. HTML-Dateien können dank bestimmter Microsoft-spezifischer Tags auch VB-Scripts und somit VBS-Viren enthalten. Diese werden allerdings nur aktiviert, wenn die HTML-Datei mit dem Microsoft Internet Explorer betrachtet wird. Die Entwicklung hin zum Multi-Applikations-Virus scheint ein genereller Trend bei den Makroviren zu sein, es soll angeblich bereits ein Virus kursieren der Word97, Excel97, PowerPoint97 und Access97-Dateien infizieren kann.
Verstärkt wird auch das Internet direkt von den Viren genutzt, wie etwa die Makroviren "W97M/ATU" und "W97M/Nail" zeigen. "W97M/ATU" nutzt die Möglichkeit aus, daß Dokumente eine Verknüpfung mit Vorlagen enthalten können - und das ab Office97 diese Verknüpfung auch eine URL sein kann (wird als ATU-ExploitATU-Trojaner bezeichnet). "Infizierte" Dokumente enthalten keine Makros, sondern nur einen Link auf die Homepage des Virusautors, von der aus dann eine Vorlage mit dem eigentlichen Virus aktiviert wird. "W97M/Nail" setzt die MAPI-Emailschnittstelle von Microsoft Windows ein um sich selber als Attachment zu verschicken - gleichzeitig wird eine zufällig ausgewählte Mail des Opfers an den Virenautor weitergeleitet. Diesen Ansatz zur Spionage nutzt auch "W97M/Caligula", welcher den privaten PGP-Keyring des Anwenders auf eine FTP-Adresse im Internet kopiert, falls die Windows-Version des bekannten Verschlüsselungsprogramm PGP installiert ist. Allerdings macht diese Aktion wenig Sinn, da der private Keyring mit dem IDEA- Algorithmus verschlüsselt ist. Kritisch wird dies nur, wenn der Anwender ein sehr einfaches Paßwort zur Verschlüsselung des Keyrings verwendet hat. Wohl aufgrund des durchschlagenden Erfolges fand der Makrovirus "W97M/Melissa" schnell Nachahmung. Ähnlich wie "Nail" verschickt auch Melissa sich selber als Email-Attachment und erreichte dadurch eine enorme Verbreitung.
Bestenfalls als exotisch kann man den Versuch von "WM/Anarchy" und "Beast.41472" bezeichnen, das komplexe Word-Dateiformat direkt ohne Verwendung der Makrosprachen WordBasic oder VBA zu infizieren.
[zum Anfang der Seite] [Makro-Index]
© by Stefan
Kurtzhals (Virus Help Munich), 1996-99 - Alle Rechte vorbehalten!
aus: Online-Dokumentation zu F/WIN