Der folgende Vortrag wurde anläßlich des VHM/VIRUS.GER-Treffens am 31.08.1996 gehalten.
von Stefan Kurtzhals
Hintergründe |
Ende 1994 kursierten in vielen Newsgroups des Internet und anderen Foren Gerüchte
über einen E-Mail-Virus mit dem Namen "Good Times". Dieser
angebliche Virus sollte in E-Mails enthalten sein und sich bereits beim Lesen
der Mail aktivieren. Zu erkennen sein sollte der Virus am Betreff der Nachricht,
die "Good Times" lautet. Im Glauben, andere Anwender warnen zu müssen,
wurde dieser Hinweis von vielen Lesern immer weiter verbreitet. Obwohl es sich
bei "Good Times" nur um einen schlechten Scherz handelt, wurde doch
hier wieder das Thema von Viren aufgegriffen, die nicht nur Programme, sondern
auch Daten infizieren.
Offenbar inspirierten diese Gerüchte um "Good Times" einen
amerikanischen Sicherheitstechniker (Joel McNamara) dazu, weitere Forschungen
zum Thema Makro-Viren anzustellen. Er kam zu dem Schluß, daß alle
Anwenderprogramme mit komplexen Makro-Sprachen gefährdet sind und aufgrund
ihrer starken Verbreitung insbesondere Microsoft Word und Excel. Joel McNamara
schrieb im Dezember 1994 zwei Vorführ-Makro-Viren (Document Makro
Viruses=DMV) für Word und Excel. Und obwohl diese beiden Viren den
Antiviren-Firmen relativ schnell vorlagen, wurden keine präventiven Maßnahmen
gegen diese neue Art von Viren ergriffen.
Mitte 1995 schlug daher der Word-Makro-Virus "Concept" wie eine
Bombe ein, denn bis dahin galt im allgemeinen, daß Viren nur ausführbare
Programme infizieren. Dokumente galten als sicher und wurden erst gar nicht auf
Virenbefall untersucht. Daher konnte sich "Concept" über einen
relativ langen Zeitraum ungestört ausbreiten. Zu der enormen weltweiten
Verbreitung trug unter anderem Microsoft selber bei, indem unbeabsichtigt
mehrere tausend CD's mit infizierten Dokumenten verschickt wurden. War "Concept"
noch sehr einfach programmiert und an sich harmlos, so war der zweite bekannte
Makro-Virus "Nuclear" bereits verschlüsselt, benutzte Tricks, um
seine Erkennung zu verbergen und war zudem noch destruktiv. Es folgten "Colors"
und "Hot", heute liegt die Zahl der bekannten Makro-Viren für
Word bereits über 50 und wächst ständig. Makro-Viren wie Concept
haben sich rasend schnell verbreitet, was wohl hauptsächlich darin begründet
ist, daß viele Anwender und Firmen E-Mailsysteme auf Word-Dokument-Basis
verwenden.
Es werden deutlich mehr Dokumente zwischen den Anwendern ausgetauscht, als
EXE-Programme, da auch viele Anwenderprogramme heute nur noch auf speziellen
Installationdisketten oder CD's ausgeliefert werden. Einige Antiviren-Experten
gehen mittlerweile sogar davon aus, daß Makro-Viren wie "Concept"
eine höhere Verbreitung, als die bis dahin am weitesten verbreiteten
Bootviren, wie etwa Monkey.B, haben.
Obwohl sich die Makro-Viren weltweit schnell sehr stark ausbreiteten, blieb
Deutschland lange verschont von der großen Makrovirenflut. Denn obwohl
Word intern die englischen Makro-Befehle automatisch übersetzt, bleiben
Strings wie etwa Makro-Kopieren "FileSaveAs", "Global:FileSave-
As",1 in dieser Form vorhanden.
Beispiel:
CopyMacro Global:FileSaveAs", target$,1
wird anhand der Tokens von der deutschen Version übersetzt in:
KopiereMakro Global:FileSaveAs", target$,1
und nicht in:
KopiereMakro Global:DateiSpeichernUnter", target$, 1
Die Strings in Anführungszeichen bleiben unverändert, daher
funktionieren englische Makro-Viren nicht mit der deutschen Version von Word.
Der Virus versucht Makros zu manipulieren, die nicht existieren.
Aufgrund dieser Eigenart von Word können englische Makro-Viren zwar NORMAL.DOT infizieren, weitere Dateien werden jedoch nicht angegriffen - der Virus wird nicht voll aktiviert. Lediglich Anwender und Firmen, welche die englischsprachige Version von Word einsetzten und Kontakte zum Ausland hatten, waren anfangs gefährdet. Allerdings kann immer noch die Schadensfunktion des Virus ausgelöst werden, wenn diese entsprechend in allgemein gültigen Makros enthalten ist.
Aufbau und Funktion eines Word Makro-Virus |
Viren für Microsoft Word werden nicht, wie sonst üblich, in
Assembler programmiert, sondern verwenden die Makro-Sprache WordBasic.
Word-Viren konnten deshalb programmiert werden, weil Word automatisch bestimmte
Makros beim Öffnen von Dokumenten ausführt, das Umdefinieren von
bestehenden Word-Systemmakros erlaubt und das Kopieren von Makros in Dokumente
ermöglicht. Word Makro-Viren bestehen aus einem oder mehreren Word-Makros,
und beinhalten meistens ein Auto-Makro wie etwa AutoOpen oder AutoClose, um beim
Lesen eines infizierten Dokuments aktiviert zu werden. Führt Word eines der
Auto-Makros des Virus beim Bearbeiten eines infizierten Dokuments aus, kopiert
sich der Virus zuerst in die globale Makro-Vorlage "NORMAL.DOT", in
der alle vom Anwender definierten Makros und Vorlagen enthalten sind. Weitere
Dokumente werden beim Öffnen oder Schließen infiziert, wobei der
Virus infizierte Dokumente in Vorlagen umwandeln muß, um die Makros übertragen
zu können. Dabei muß der Dateiname nicht angepaßt werden und
kann weiterhin auf ".DOC" enden - infizierte Dokumente können
somit nicht ohne weiteres als Vorlagen erkannt werden. Einen aktiven Makro-Virus
kann man aber meistens daran erkennen, daß beim Speichern eines
infizierten "Dokuments" der Formattyp nicht mehr verändert werden
kann (Ausnahme bilden hier die Companion-Makro-Viren). Word Makro-Viren können
genauso wie DOS-Viren verschlüsselt werden (Execute-Only Makros) und sind
nach Verschlüsselung nur noch ausführbar und lassen sich umbenennen
oder löschen. Ein Bearbeiten von Execute-Only-Makros ist nicht möglich.
Über den Word-Befehl "Extras/Makros" kann die aktuelle
Makroliste betrachtet und eine evtl. vorliegende Infektion erkannt werden.
Allerdings können Makro-Viren eine Art Tarnkappenfunktion realisieren und
die Anzeige dieser Makroliste entweder ganz verhindern oder eine korrigierte
Liste ohne verdächtige Virenmakros anzeigen. Neben der herkömmlichen
Methode, Dokumente zu infizieren, indem sie in Vorlagen konvertiert werden, kann
ein Makro-Virus auch eine Art Companion-Infektion einsetzen. Dabei erzeugt der
Makro-Virus eine gleichnamige Datei mit der Endung ".DOT" zu einer
bereits bestehenden .DOC-Datei. Die neu erzeugte Vorlage enthält den Virus,
das Dokument bleibt unmodifiziert. Öffnet der Anwender die .DOC-Datei,
werden automatisch auch die Makros in der dazugehörigen .DOT-Datei
aktiviert. Der Vorteil für den Virenprogrammierer ist hier, daß das
Format des Dokuments geändert werden kann (was sonst ein deutlicher Hinweis
auf ein Makro-Virus wäre). Allerdings dürften solche Makro-Viren keine
hohe Ausbreitungsrate haben, da der Anwender beide Dateien (.DOT und .DOC)
kopieren muß, wenn der Virus übertragen werden soll.
Die Möglichkeiten, Schaden anzurichten, sind für die Word
Makro-Viren fast unbegrenzt, da nicht nur WordBasic zur Verfügung steht.
Sie können auch DOS-Befehle, wie etwa FORMAT oder DELTREE aufrufen oder
sogar die Windows-Systemfunktionen (Win-API) in Makros einbinden. Einige der
bisher bekannten Makro-Viren sind destruktiv und löschen Dateien oder rufen
FORMAT auf. Anderen manipulieren Texte in Dokumenten, fügen Texte beim
Drucken oder Faxen hinzu, verändern die Bildschirmfarben von Windows oder
verlangen Eingaben vom Anwender. Die meisten der bekannten Makro-Viren fragen
die Systemuhrzeit und das Datum ab und aktivieren sich an bestimmten Terminen
oder Uhrzeiten. Möglich ist aber auch die Führung eines Zählers
in der WIN.INI oder WINWORD.INI., um beim Erreichen eines bestimmten Wertes die
Schadensfunktion auszulösen.
Makro-Viren sind "Fast Infektoren", da sie jedes Dokument bereits
beim Zugriff durch den Anwender infizieren. Sie sind allerdings nur solange
aktiv, solange Word selber aktiv bleibt. Ein Makro-Virus hat also ohne Word
keinerlei Möglichkeiten, sich zu aktivieren oder Schaden anzurichten.
Allerdings ist es möglich (und wird bereits von einigen Makro-Viren
angewendet), DOS-Viren in ein ASCII-Skript umzuwandeln und in den Virus
einzubinden. Dieser DOS-Virus wird dann später mittels DEBUG wieder in Binärform
umgewandelt und kann ausgeführt werden. Auf diese Art und Weise wären
somit Viren mit "Dropper"-Funktionen entstanden.
Word Makro-Viren sind die ersten wirklich plattformübergreifenden Viren, da sie nicht von der CPU abhängig sind. Word wurde für mehrere Betriebssysteme portiert, und die meisten Makro-Viren funktionieren auch unter Windows NT oder auf dem Macintosh.
Aufbau und Funktion eines Excel Makro-Virus |
Obwohl Excel bei den Anwendern und Firmen fast genauso verbreitet wie Word
ist, hat es relativ lange gedauert, bis der erste Excel-Virus entdeckt wurde.
"Laroux" wurde in einer südafrikanischen Firma gefunden und
gilt nicht als verbreitet. Es ist jedoch anzunehmen, daß weitere
Excel-Viren bald folgen werden. Excel-Viren funktionieren ähnlich wie
Makro-Viren für Microsoft Word, sie werden allerdings in VBA (Visual Basic
for Applications) geschrieben. VBA ist zwar umfangreicher als WordBasic, aber
zum Glück enthält es nicht so viele Komponenten wie WordBasic, die von
Virenprogrammierern ausgenutzt werden können. Unter Excel gibt es nur zwei
Makros (Auto_Open und Auto_Close), die beim Zugriff auf eine Excel-Datei
automatisch ausgeführt werden. Genau wie Word Makro-Viren werden
Excel-Viren beim Öffnen eines Dokuments aktiviert. Dabei wird zuerst im
Startup-Verzeichnis (meistens EXCEL\XLSTART) eine Datei mit dem Virus angelegt,
wobei der Dateiname beliebig sein kann. Excel lädt und aktiviert beim Start
alle Vorlagen und Makros, die sich in diesem Verzeichnis befinden. Weitere
Excel-Dateien können z.B. beim Öffnen oder Aktivieren der Tabellen
infiziert werden, wobei der einzige bisher bekannte und verbreitete Excel-Virus
"Laroux" eine Arbeitsmappe (WorkBook) in die Datei einfügt und
dann die Virenmakros überträgt. Da während des Übertragens
der Makros die Zieldatei aktiviert und damit auf dem Bildschirm sichtbar gemacht
werden muß, schalten "Excel.DMV" und "Laroux" während
des Infektionsvorgangs die Bildschirmaktualisierung ab.
Da VBA nicht nur von Excel sondern auch von Access und anderen Microsoft Anwendungen unterstützt wird, ist anzunehmen, daß weitere Makro-Viren für andere Anwendungen erscheinen werden.
Schutzmaßnahmen gegen Makro-Viren |
Viele Antiviren-Firmen waren am Anfang mit der Erkennung und der Reinigung
von Makro-Viren überfordert. Als Notlösung wurden sogenannte
Antiviren-Makros angeboten, die sich genau wie die Viren in die globale
Makrovorlage NORMAL.DOT kopieren und alle Dokumente vor dem Öffnen auf
Virenbefall überprüfen. Diese Schutzmakros sind allerdings nur eine
unzureichende Lösung und neben dem nicht hundertprozentigen Schutz sind sie
genauso wie die Makro-Viren selber zum Teil unkompatibel und stören die
normale Arbeit mit Word.
Mittlerweile haben die meisten der großen Antiviren-Firmen auch ohne Unterstützung von Microsoft das Dateiformat von Word Dokumenten analysiert und bieten zuverlässige Erkennung und Reinigung von Makro-Viren an. Einige der Antiviren-Firmen bieten bereits sogar Virenscanner mit Makroviren-Heuristiken an, die in der Lage sind, auch unbekannte Makro-Viren zu erkennen. Die oft publizierte Schutzmethode, Word mit dem Parameter /M zu starten oder beim Öffnen von Dokumenten die SHIFT-Taste gedrückt zu halten, ist unwirksam. Mit dieser Methode werden nur die Auto-Makros wie AutoOpen, AutoNew usw. ausgeschaltet. Viele der Makro-Viren verwenden mittlerweile aber auch andere Makros und können sich trotzdem problemlos aktivieren. Oft werden aktive Makro-Viren dadurch erkannt, daß beim Speichern der Datei sich der Formattyp nicht mehr von "Formatvorlage" verändern läßt. Damit lassen sich so gut wie alle Makro-Viren für Word erkennen. Es ist zwar für die Virenprogrammierer möglich, eine andere Infektionsmethode zu verwenden (Companion-Infektion), diese sorgt aber gleichzeitig dafür, daß sich der Virus nicht sehr weit verbreiten kann.
Die aktuelle Situation |
"Concept" war der erste Makro-Virus für Word, der sich stark
verbreiten konnte. Er ist heute immer noch der am häufigsten Auftretende
und dient oft als Vorlage, weitere Makro-Viren zu schreiben. Es sind bereits über
sechs Varianten von "Concept" bekannt und da der Virus nicht "Execute-Only"
ist, sind weitere Varianten zu erwarten.
Waren anfangs die Makro-Viren kein Problem für die deutschen Anwender,
so gibt es mittlerweile fast 10 Makro-Viren, die speziell für die deutsche
Version von Word geschrieben wurden und weitere, wie etwa "Wazzu", die
aufgrund ihrer Programmierung mit jeder nationalen Version von Word
funktionieren.
Im Februar 1996 erschienen die ersten deutschsprachigen Makroviren wie "Xenixos",
"Boom" oder "Friendly", wobei diese nur eine sehr geringe
Verbreitung fanden (obwohl Xenixos im Internet über die Newsgroup
ALT.COMP.VIRUS veröffentlicht wurde).
Im Januar 1996 wurde ein einer großen PC-Zeitung ein sehr ausführlicher
Bericht über die Funktionsweise von Makro-Viren veröffentlicht, der
leider schon fast als Bauanleitung für Makro-Viren herhalten kann. Anhand
dieser Vorlage wurden offenbar die Makro-Viren "NOP", "NF", Dietzel"
und "PCW" programmiert, die sich innerhalb kürzester Zeit
verbreiteten. Vor allem "NOP" ist, obwohl sehr einfach aufgebaut, in
Deutschland extrem stark verbreitet. Auch einige größere Infektionen
mit dem bereits im englischsprachigen Raum stark verbreiteten "Wazzu"
sind mittlerweile in Deutschland bekannt geworden.
Vor allem in Firmen mit Zweigstellen im Ausland oder ausländischen
Kunden, die ihre E-Mail im Word-Dateiformat verschicken, sind sehr stark gefährdet.
In letzter Zeit sind mehrfach Fälle gemeldet worden, in denen Makro-Viren
auf "natürliche" Art mutierten. Dabei wurde in einem bereits
infizierten System ein weiterer Makro-Virus aktiviert, der zum Teil die Makros
(wie etwa AutoOpen) des bereits vorhandenen Virus überschreibt. Je nachdem,
welche Makros der zweite Virus überträgt, verschmelzen die beiden
Viren und es werden Teile beider Viren bei den nachfolgenden Infektionen übertragen.
Es wurde sogar schon ein mutierter Makro-Virus gefunden, der Teile des
Antiviren-Makros von Microsoft, SCANPROT, enthält.
Ebenfalls neu aufgetreten sind die Makroviren-Kits, mit denen sich beliebig neue Makro-Viren generieren lassen. Es sind bis jetzt zwei dieser Kits bekannt, wobei das deutsche Kit vom offenbar sehr aktiven Programmierer der Viren "Boom", "Friendly", "LBYNJ" und "Satanic" stammt. Ein weiteres Kit für die englische Version von Word stammt vom russischen Virenprogrammierer "Wild Worker". Die mit diesen Kits erzeugten Viren dürften allerdings kein Problem für die Antiviren-Firmen darstellen und es ist damit zu rechnen, daß die Antiviren-Programme in der Lage sind, diese Viren problemlos zu erkennen und aus den befallenen Dokumenten zu entfernen.
Die weitere Entwicklungen bei den Makro-Viren |
Viele Virenprogrammierer unterschätzen zum Glück das Potential von
Makro-Viren. Denn technisch haben die bisher bekannten Viren noch lange nicht
alle Möglichkeiten ausgereizt. Es ist zu erwarten, daß bald die
ersten Makro-Viren mit polymorpher oder selbstmodifizierender Struktur oder
effektiven Tarnkappen auftauchen werden. Neben der bisher üblichen
Akti-vierung durch spezielle Systemmakros können sich Makro-Viren aber auch
durch Umdefinierung der Word-Menüstruktur, durch Einfügen von
Shortcuts (Tastaturbelegungen) oder durch Formularfelder mit OnEntry und
OnExit-Makros aktivieren.
Die Zahl der Makro-Viren für Word wird drastisch zunehmen, solange wie
Microsoft Word eine ideale Plattform für diese Viren bietet. Nach dem
Erscheinen des ersten Excel-Virus ist es nur eine Frage der Zeit, bis auch hier
weitere Viren erscheinen werden, wobei der Ausbreitungsgrad ähnlich hoch
wie bei den Makro-Viren für Word liegen dürfte, da auch Excel sehr
verbreitet ist.
Dagegen sind Makro-Viren für weniger verbreitete Anwendungen wie
AmiPro, StarWriter oder WordPerfect unwahrscheinlich, da diese
Textverarbeitungen das Programmieren von Viren nicht so vereinfachen wie
Microsoft Word und ihr geringerer Verbreitungsgrad sie für potentielle
Virenprogrammierer eher uninteressant erscheinen läßt.
Möglich sind allerdings Viren für Access und andere Microsoft-Produkte, die Visual Basic for Applications anbieten, wobei hier der Ausbreitungsgrad nicht so hoch wie bei den Viren für Word oder Excel liegen dürfte. Aufgrund ihrer CPU- und Betriebssystemunabhängigkeit wird die Zahl und der Verbreitungsgrad von Makro-Viren in Zukunft wahrscheinlich weiter stark zunehmen, da es die Hersteller trotz langjähriger Erfahrung mit den DOS-Viren versäumt haben, hier vorbeugende Maßnahmen zu ergreifen.
© 1996 Stefan Kurtzhals - VIRUS HELP MUNICH. Alle Rechte vorgehalten!
Dieser Vortrag darf ohne vorherige ausdrückliche Genehmigung durch den Verfasser Stefan Kurtzhals weder in seiner Gesamtheit noch in Teilen weiterverbreitet, abgedruckt oder kommerziell genutzt werden!
HTML-© by Rainer Link - VHM, 04.10.1996. Alle Rechte vorbehalten.