doc.-ument mit Falle

Weil Makro-Viren Dokumentvorlagen der weit verbreiteten MS-Office-Programme infizieren, machen sie via E-Mail sehr schnell die Runde. Doch nicht nur Microsoft-Anwendungen sind betroffen.

Von: Frank Ziemann

Die ersten bekannten Makro-Viren tauchten im Jahr 1995 auf und waren noch in Word Basic geschrieben, einem Vorläufer der heute in MS Office verwendeten Programmiersprache "Visual Basic for Applications" (VBA). Der erste erfolgreiche Virus dieser Art, "WM.Concept", gehört noch heute zu den meistverbreiteten und dient als Vorlage für neue Exemplare.

Erst geraume Zeit später machte "XM.Laroux" die Runde, der erste Excel-Virus. Erschien der Störenfried zunächst nur vereinzelt, zählt er gegenwärtig mit diversen Varianten zu den erfolgreichen Infekten. Auch die übrigen Produkte der MS-Office-Familie haben inzwischen Makro-Viren; unter anderem solche, die zwischen mehreren Anwendungen hin und her springen können wie zum Beispiel "O97M.Triplicate ". Selbst für Büroapplikationen anderer Hersteller haben Hacker Stoff geliefert, sofern die Programme über eine integrierte Makro-Sprache verfügen. Allerdings kommen derlei Arten selten oder nur im Labor vor. So gibt es bedrohliche Makro-Viren für Ami Pro, Word Perfect, Corel Draw und seit kurzem auch für MS Project. Nachdem die Firma Corel VBA von Microsoft als Makrosprache für ihre Produktlinie lizenziert hat, sind auch Anwender neuerer Corel-Software nicht mehr vor Makro-Schädlingen sicher.

Nicht nur eine Windows-Angelegenheit

Makro-Viren sind grundsätzlich betriebssystemunabhängig. Sie breiten sich deshalb nicht nur auf Windows-PCs aus, sondern ebenso gut auf Macintosh-Rechnern, wenn dort ein infiziertes Dokument mit MS Office 98 für Mac geöffnet wird. Viele Schadensroutinen sind allerdings speziell für Windows konzipiert, weil sie auf die Datei config.sys oder auf die Registry zugreifen und Windows-Befehle wie format C: aufrufen. Dies behindert jedoch nicht die Verbreitung eines Virus.

Es gibt inzwischen mehrere tausend Makro-Viren, die meisten davon sind entweder reine Labor-Viren oder kommen in freier Wildbahn nicht vor. Unter den ITW-Viren (ITW = in the wild) ist sicher Melissa (W97M.Melissa) der prominenteste. Er versendet sich selbst in einem infizierten Word-Dokument per E-Mail und hat auf diese Weise im April 1999 eine ganze Reihe von Mail-Servern großer Unternehmen in den USA und in Europa infolge einer E-Mail-Flut in die Knie gezwungen. Inzwischen gibt es etwa zwanzig Varianten von Melissa.

Vielfalt aus dem Baukasten

Als Labor-Viren bezeichnet man solche, die zwar von den Autoren unter anderem via Internet publiziert werden, sich jedoch nicht verbreiten. Sie zeigen oft die Machbarkeit bestimmter Angriffsarten auf und dienen als Vorbilder für neue Generationen von Viren. Es existiert inzwischen auch eine ganze Reihe von Virenbaukästen, die es auch Anfängern auf diesem Gebiet recht leicht machen, neue Varianten zu erschaffen. Meist haben Virenschutzprogramme jedoch mit solchen Baukasten-züchtungen keine Probleme.

Mit Makro-Viren vergleichbar sind Scriptviren, die gerade in letzter Zeit verstärkt auftauchen. Sie werden mit Visual Basic Script (VBS) oder mit JScript, der Microsoft-Variante von Java Script, verfaßt. VBS-Viren benutzen dabei den mit Windows 98 und 2000 ausgelieferten und standardmäßig installierten Scriptinterpreter "Windows Scripting Host" (WSH), der systemweite Scripte erlaubt. Die Kombination VBS/WSH kommt einem Nachfolger der DOS-Batch-Dateien gleich. WSH kann auch unter Windows 95 und NT 4.0 installiert werden, gehört dort aber nicht zum Lieferumfang.

Der Browser "Internet Explorer" von Microsoft stellt die Basis für sogenannte HTML-Viren dar, die jedoch nicht aus HTML-Code bestehen, sondern mit JScript oder VBS geschrieben und in HTML-Dokumente eingebettet sind. Werden solche Web-Dokumente, zum Beispiel E-Mail-Anhänge mit dem Browser geöffnet, behandelt sie dieser als lokale Dokumente mit entsprechend niedriger Sicherheitsstufe und führt den enthaltenen Scriptcode aus.

Die prinzipielle Funktionsweise eines Makro-Virus wird deutlich, wenn man einen einfachen Word-Schädling etwas näher betrachtet. Der Eindringling ist als Makro in Word-Dokumenten enthalten, die zwar meist die Endung doc tragen, aber eigentlich Vorlagendateien sind.

Wird so ein Dokument mit Word geöffnet, infiziert der Virus die globale Vorlagendatei normal.dot und wird beim Öffnen jedes weiteren doc-Files aktiv. Virenprogrammierer nützen dabei aus, daß Makros mit bestimmten, vordefinierten Namen wie "AutoOpen" oder "AutoClose" immer dann ausgeführt werden, wenn ein Dokument aufgeht. Infizierte Dokumente lassen sich nur noch als Vorlagen speichern, nicht mehr als Dokumente. Dabei kann die Dateiendung doc erhalten bleiben, wodurch der Eindruck entsteht, es handle sich um ein Dokument. Wird ein infiziertes Word-Dokument im Format von Word 6/7 mit Word 97 geöffnet und dann in dem neuen Format gespeichert, werden auch die Makros konvertiert. Makro-Viren bleiben also dank dieser Aufwärtskompatibilität stets auf einem aktuellen Stand. Es entstehen dabei neue Varianten, die von klassischen Virenscannern nur mit aktualisierten Virendefinitionen, auch Signaturdateien genannt, erkannt werden. Die umgewandelten Makros taugen allerdings nicht mehr für ältere Versionen von Word.

Kein hundertprozentiger Schutz

Excel erhielt in der Version 5.0 als erste Office-Anwendung Visual Basic for Applications (VBA) als Makro-Sprache. Die Makro-Viren für Excel 4.0 arbeiten dabei auch bei den neueren Ausgaben, wo sie als "Excel Formula" (XF) klassifiziert sind. Mit der einheitlichen Einführung von VBA für alle Office-Produkte (Word, Excel, Access und Power Point) bei Office 97 entstanden anwendungsübergreifende Makros und Makro-Viren.

Das Betätigungsfeld von Makro-Viren ist nicht auf Dokumente der Wirtsanwendung beschränkt. Dank des großen Funktionsumfangs von Visual Basic for Applications und auch schon Word Basic können auch beliebige Dateien auf der Festplatte erstellt, überschrieben oder gelöscht werden. Auch Systemfunktionen können über das Windows-API (API = Application Programming Interface) aufgerufen werden, sei es zum Verändern der Systemfarben oder zum Formatieren der Festplatte. Es können Daten innerhalb der Dokumente manipuliert oder infizierte Dokumente per E-Mail verschickt werden.

Weil Makro-Code Binärdaten aufnimmt und bei Bedarf in eine Datei schreibt, transportiert er auch herkömmliche Dateiviren. In diesem Fall spricht man von einem Dropper.

Heutige Makro-Viren verwenden eine Reihe von Techniken, um sich vor Anwendern und Virenschutzprogrammen zu verbergen. Sie enthalten verschlüsselte Sequenzen, bauen ihren eigenen Code bei jeder Infektion um, schalten die Schutzmechanismen von MS Office aus, verstecken die aktuelle Makro-Liste und zeigen statt dessen eine harmlose oder leere Liste an.

Es gibt keine Möglichkeit, das Ausführen von Makros in MS Office vollständig und zuverlässig zu unterbinden. Alle Mechanismen, die Microsoft bislang zum Schutz vor Makro-Viren entwickelt hat, haben sich sehr schnell als unwirksam erwiesen, weil in kurzer Zeit neue Viren auftauchten, die diese Mechanismen umgingen oder ausschalteten. Jedes Dokument, das neu auf einen Rechner gelangt, sollte mit einem aktuellen Viren-scanner geprüft werden. Ob dies zentral auf dem Internet-Gateway oder auf dem Arbeitsplatzrechner erfolgt, hängt vor allem von der Organisationsstruktur des Unternehmens ab. In Anbetracht der Kosten, die durch einen Virenbefall entstehen, sollte hier nicht gespart werden. Eine doppelte Absicherung von Gateway und Desktop mit zwei unterschiedlichen Produkten verspricht den bestmöglichen Schutz. Hundertprozentigen Schutz gibt es allerdings nicht, solange makrofähige Anwendungen eingesetzt werden.

Dokumente im Format Word 6/7 können auch mit Word Pad geöffnet werden, einem Textverarbeitungsprogramm ohne Makrofähigkeiten. Für Word, Excel und Power Point gibt es von Microsoft kostenlos erhältliche Viewer, die nur die enthaltenen Nutzdaten anzeigen, aber keine Makros ausführen. Damit retten Anwender auch Texte aus infizierten Word-Dateien über die Zwischenablage in eine "keimfreie" Umgebung.

Als sicheres Austauschformat für Texte gilt "Rich Text Format" (RTF), das die meisten Programme unterstützen. Dateien mit der Endung rtf sollten jedoch nicht ungeprüft geöffnet werden, weil es sich bei ihnen um umbenannte Word-Dokumente handeln könnte.

Mit der zunehmenden Verbreitung von Windows 98 und 2000 zusammen mit Windows Scripting Host werden die VBS-Viren (VBS = Visual Basic Script) weiterhin an Bedeutung gewinnen. Eine Reihe dieser Viren wird auf den Quelltexten von VBA-Viren (VBA = Visual Basic for Applications) basieren. Beides, VBS und VBA sind recht ähnliche Basic-Dialekte, die mit nur wenig Änderungen am Code ineinander übergeführt werden. Verschiedene "Würmer" gründen auf dem Quelltext eines Makro-Virus, und wurden, leicht modifiziert, mit Visual-Basic zu einer selbständigen exe-Datei kompiliert. Jüngstes Beispiel ist der Schädling "W32.Badass", der den Code von W97M.Melissa verwendet. Würmer werden nicht zu den Viren gerechnet, weil sie sich nicht durch eine Infektion des Systems oder einzelner Dateien vermehren, sondern durch Systemfunktionen wie E-Mail zum nächsten Rechner gelangen.

Die Sprache Visual Basic mit ihren Dialekten VBA und VBS ermöglicht auch weniger guten Programmierern, aus vorhandenen Virenquelltexten neue Varianten zu generieren, die auf einer anderen Plattform laufen, also zum Beispiel auf Windows Scripting Host (WSH) oder als exe-File statt in Word. Dazu werden vermehrt Viren kommen, die mindestens zwei dieser Plattformen abdecken. Das kann ein Word-Makro-Virus sein, der ein VBS-Virus droppt und dann aufruft oder auch ein Wurm, der nebenbei noch eine infizierte Word-Datei ablegt. Beispiele gibt es hierfür bereits.

Schließlich existieren viele Anwendungen mit integrierten Makro- oder Scriptsprachen, für die bislang noch keine Viren bekannt sind. Das könnte sich in Zukunft in einigen Fällen ändern. Vermutlich werden solche Viren jedoch keine große Bedeutung erlangen, wie Beispiele aus der Vergangenheit zeigen. (kpl)

Zur Person

Frank Ziemann

ist Mitglied der Virus Help Munich (www.vhm.haitec.de) und Betreiber des Hoax-Info-Service an der TU Berlin (http://i.am/hoax-info).