Makroviren - eine
kurze Beschreibung
Generell benötigt ein Virus für seine schnelle
Verbreitung eine geeignete Umgebung und einige Vorbedingungen:
- Er benötigt eine Hard- und Softwarewareumgebung,
die von möglichst vielen Anwendern benutzt wird und einen möglichen Träger (Wirt). Der
Wirt sollte möglichst häufig mit anderen Anwendern ausgetauscht werden und muss einen
Transport des Virus erlauben, ohne dass dem Anwender das Vorhandensein des Virus
auffällt. In einer Netzwerkumgebung sollten die Modifikationen von Dateien nicht
verhindert werden.
- Weiter ist eine Programmierumgebung (System-API,
Makrosprache, Scriptsprache, etc.) erforderlich, die es dem Virus erlaubt, möglichst viel
Kontrolle über das System zu erlangen und potentielle "Opfer" so zu verändern,
dass Sie zusätzlich eine Kopie des Virus enthalten. Hierbei sollten keine Warnmeldungen
vom System erzeugt werden. Weiter ist es notwendig, dass die Programmierumgebung eine
Möglichkeit bietet, Programmcode zu speichern, ohne dass dieser durch das Löschen einer
Datei verloren geht.
- Die Möglichkeit, Programmcode ohne große
Programmiererfahrung zu erstellen und zu verändern, erleichtert das Schreiben von Viren
enorm.
Die meisten Anwendungen (Textverarbeitung,
Tabellenkalkulation, Datenbank) großer Office-Pakete (Microsoft Office, StarOffice, etc.)
sind inzwischen über eine äußerst mächtige Makrosprache (im Prinzip eine
Programmier-Hochsprache) automatisier- und programmierbar. Diese Makros ermöglichen z.T.
sogar den direkten Zugriff auf das Betriebssystem. Die Programmierung ist einfach, da sie
auch von unbedarften Anwendern ausgeführt werden soll. Die aufgezeichneten Makros werden
dabei zusammen mit anderen Daten im Dokument abgespeichert. Weiter werden diese
Applikationen sehr oft verwendet und auch die Dokumente immer wieder ausgetauscht. Eine
zentrale Dokumentenvorlage ermöglicht das Speichern von häufig benötigten Makros - sog.
Auto-Makros werden beim Start der Anwendung oder beim Laden eines Dokuments teilweise
automatisch ausgeführt.
Microsoft Word für Windows (WinWord), Excel,
AmiPro, StarOffice und einige andere Applikationen erfüllen somit alle der oben genannten
Bedingungen. Sie sind für Viren eine nahezu ideale Umgebung; insbesondere dadurch, dass
von den meisten Herstellern keine oder nur ungenügende Schutzmechanismen vorgesehen sind.
Noch schlimmer ist allerdings, dass es Makros gibt, die von der Anwendung automatisch
ausgeführt werden, sobald ein Dokument geladen oder gespeichert wird. Diese Makros
können sogar verändert oder ersetzt werden. Genau hier setzen Makroviren an.
Makroviren sind kleine Programme, die in der
Makrosprache einer Anwendung (z.B. WordBasic unter WinWord 6.0) geschrieben sind und sich
normalerweise auch nur innerhalb von Dokumenten dieser Anwendung verbreiten können. Sie
werden deshalb auch Dokumentviren genannt. Damit sie aktiv werden, sind sie immer darauf
angewiesen, dass die entsprechende Applikation gestartet und eines der infizierten Makros
ausgeführt wird. Im Unterschied zu "normalen" Viren befallen Makroviren also
keine ausführbaren Dateien sondern die Dokumente der jeweiligen Wirts-Applikation.
Bis zum Jahr 1995 galt die Aussage, dass Viren
sich nur in Programmdateien verbreiten könnten. Danach mussten dann aber alle alten
Aussagen verworfen werden. Was man bisher nur in der Theorie für möglich hielt, war
Wirklichkeit geworden. Der erste Makrovirus tauchte auf: WW6.Concept. Er zeigt allerdings
nur auf, dass Makroviren generell möglich waren, tat aber ansonsten nichts.
Erstmals nistete sich ein Virus in WinWord-Dokumenten ein. Eine neue Art von Viren war
geboren: Makroviren.
Es dauerte nicht lange, bis andere Virenschreiber
auf den Zug aufsprangen. Um sich zu tarnen und die Funktion zu verbergen, speicherten sie
die infizierten Dokumente als getarnte Dokumentenvorlagen, in denen die Makros abgelegt
sind. Der Anwender bemerkt davon nichts, da das infizierte WinWord auch für diese
verseuchten Dokumentenvorlagen die Dateierweiterung "DOC" verwendet. Excel und
das neuere WinWord 8 können auch in normalen Dokumenten Makros speichern und enthalten
zusätzlich noch eine leistungsfähige Programmiersprache - Visual Basic for Applications
5. Dies vereinfachte die Situation für die Virenschreiberlinge sogar noch weiter.
Die Vielfalt und Anzahl der Makroviren ist
inzwischen dramatisch gestiegen: Es gibt polymorphe Makroviren, die ihren eigenen
Programmcode bei jeder Infektion verändern und so eine Erkennung erschweren. Durch das
Starten echter Programmcodes können sog. Dropper sogar das System selber mit einem
Dateivirus infizieren oder einen Trojaner absetzen. Alles in dieser Richtung ist möglich,
mit weiteren Entwicklungen ist zu rechnen. Heutzutage werden 80% aller Infektionen durch
Makroviren verursacht. Durch unterschiedliche Zählmethoden verschiedener Firmen und
Organisationen kann zur Zeit niemand genau sagen, wie viele Makroviren eigentlich
existieren. Nur eines ist sicher: ihre Zahl ist exponentiell steigend.
Viele Firmen - unter anderem auch Microsoft -
haben bereits selber verseuchte Dokumente veröffentlicht. Makroviren sind derzeit fast
für alle großen, scriptfähigen Applikationen zu finden: WinWord 6,7 und 8, Excel,
Access, AmiPro, PowerPoint, WordPerfect etc. Die Hersteller versuchen zwar durch
Warnmeldungen oder Ähnliches vor Infektionen zu schützen, weitergehende Maßnahmen
beeinträchtigen aber oft die gewünschte Funktionalität der Makrosprachen und werden
dadurch vom Anwender nicht akzeptiert oder ausgeschaltet.
Es überrascht im übrigen nicht, dass sich die
Makroviren mit rasanter Geschwindigkeit ausbreiten. Die interne und externe Vernetzung
vieler Firmen, das Internet sowie die oben erläuterte Anfälligkeit der entsprechenden
Applikationen fördern diese Tendenz. Makroviren sind zur Zeit der
"erfolgreichste" Virentyp. Durch Infektion eines einfachen, weitverbreiteten
Dokuments gelangen sie sehr einfach per Email, FTP, HTTP, Diskette, LAN oder WAN zu
weiteren Benutzern, die es ihrerseits weiterleiten. So erklärt sich die lawinenartige
Verbreitung. Da man Office-Dokumente (Word/Excel/WordPerfect etc.) häufig als
Anlage (Attachment) zu Emails oder eingebettet in www-Pages findet, eröffnet sich hier
eine weitere Verbreitungsquelle. Häufig ist das Email-Programm, der News-Reader oder der
www-Browser so konfiguriert, dass er auf Doppelklick das passende Anwendungsprogramm, in
diesem Fall die Office-Applikation (Word, Excel etc.), startet, so dass der Virus
eine vollautomatische Verbreitungsmöglichkeit vorfindet. Der weiteren Verbreitung steht
somit - bis auf Antivirenprogramme - nicht sehr viel im Wege.
Funktion eines Makrovirus
Die meisten Makroviren benutzen sog. Auto-Makros,
welche beim Öffnen einer Datei automatisch ausgeführt werden. Andere Makroviren benutzen
häufig ausgeführte Standardbefehle wie Datei speichern oder Datei drucken
und ersetzen diese Aufrufe durch Virencodes. Danach führt die Anwendung diesen
modifizierten Menübefehl aus, der zur Tarnung zusätzlich noch den Standardbefehl
enthält. Durch das einfache Öffnen eines Dokuments oder durch Ausführen einer
bestimmten Aktion (z.B. Drucken) wird der Virus aktiv und kann alle von der entsprechenden
Applikation zur Verfügung gestellten Befehle ausführen. Mit den mächtigen Befehlen
heutiger Applikationen ist es dann ein leichtes, sich an ein noch nicht infiziertes
Dokument anzuhängen oder irgendwelche Schadensroutinen auszuführen.
Makronamen, wie auch einige Anweisungs- und
Funktionsnamen in WordBasic (Word 6/7), sind weltweit nicht einheitlich: sie wurden in die
jeweiligen Landessprachen übersetzt. So heißt etwa die Anweisung unter WinWord 6 zum
Speichern eines Dokuments in der englischen Originalversion File Save As, in der
deutschen Version hingegen Speichern unter. An dieser Stelle sind also die
Implementierungen der nationalen Word-Versionen nicht mehr kompatibel. Die ersten
Makroviren waren daher auf eine nationale Variante von Word (oder auf einige wenige)
beschränkt. Gelegentlich funktionierte in einer nationalen Variante nur ein Teil des
Virus, etwa die Infektion der NORMAL.DOT durch das Makro AutoOpen, dessen Name ja
in allen Varianten gleich ist.
Die ersten Makroviren waren noch
schlecht getarnt und daher von den Anwendern relativ problemlos zu erkennen und zu
entfernen. Dies war nur dann problematisch, wenn bereits fast alle auf dem Rechner
befindlichen Dokumente der entsprechenden Anwendung infiziert waren, da man jene Viren
einzeln und manuell entfernen musste. Die zwischenzeitlich aktualisierten
Antivirenprogramme erleichterten die Sache dann doch noch erheblich. Inzwischen sind
Makroviren - und das unterscheidet sie nicht von herkömmlichen Viren - wahre Künstler im
Versteckspielen mit Anwendern und Antivirenprogrammen.
Zum Seitenanfang
Erkennung von Makroviren
Es gibt einige Indizien, die auf einen Makrovirus
schließen lassen:
- Das Laden Ihrer Dokumente dauert wesentlich länger
als früher, Sie haben aber am Rechnersystem nichts verändert.
- Sie haben häufiger Ubchstabenverdreher oder
Ähnliches.
- Rechtschreib-korrigierte Dokumente weisen
plötzlich wieder Schreibfehler auf.
- Der Plattenplatz auf Ihrem System nimmt schnell ab.
- Ungewöhnliche Festplattenaktivitäten.
- Es gelten die üblichen Indizien wie bei normalen
Viren.
- Am einfachsten und sichersten lassen sich
Makroviren durch ein gutes und aktuelles Antivirenprogramm erkennen!
Zum Seitenanfang
Schutzmechanismen
Gegen Makroviren gibt es keinen 100%-igen Schutz
und auch kein Allheilmittel. Sie können sich und Ihr System jedoch so gut wie möglich
schützen:
- WinWord 6/7: Aktivieren Sie unter "Extras,
Optionen, Speichern" die "Automatische Anfrage für Speicherung von
NORMAL.DOT". Hiermit wird das Speichern der Standard-Dokumentvorlage vorher durch
eine Rückfrage abgesichert. Wenn Sie selbst keine Änderung an der NORMAL.DOT vorgenommen
haben (z.B. durch "normale" Makros, Änderungen der Format-Vorlage), haben Sie
es eventuell mit einem Makrovirus zu tun, der versucht, die NORMAL.DOT zu infizieren.
- WinWord 6/7: Schalten Sie - wenn möglich -
Auto-Makros ab. Auto-Makros lassen sich leider nicht über das Menü deaktivieren, sondern
Sie müssen etwas Handarbeit investieren. Erstellen Sie hierzu über "Extras, Makro,
Erstellen" ein Makro mit dem Namen "AutoExec". Im
Makro-Bearbeitungsfenster geben Sie als Text zwischen "Sub Main" und "End
Sub" die Zeile "AutoMakroUnterdrücken 1" ein. Beenden Sie
anschließend WinWord und bestätigen Sie die Rückfrage der Änderung von NORMAL.DOT
(siehe oben).
- WinWord 6/7: Kontrollieren Sie die Makroliste Ihrer
NORMAL.DOT. Sie sollten ab und zu nachsehen, ob sich in Ihrer NORMAL.DOT verdächtige
Makros befinden, die nicht von Ihnen selber stammen. Rufen Sie hierzu "Extras,
Makro" auf, wählen die NORMAL.DOT aus und überprüfen Sie die Makroliste nach
verdächtigen Makros.
- Benennen Sie das Programm "DEBUG.EXE" in
z.B. MYDEBUG.EXE um. Dieses Programm wird von einigen Makroviren - sog. Droppern -
benutzt, um den Computer mit DOS-Viren zu verseuchen. Dies geschieht dadurch, dass
DEBUG.EXE im Assembler-Modus mit dem Virencode gefüttert wird, der dann auf die Platte
geschrieben und ausgeführt werden kann.
- Sollte ein Makrovirus die Funktion zum Makroansehen
sperren (was auch ein Indiz für einen Makrovirus ist), kann man nur die NORMAL.DOT oder
die entsprechende Standardvorlage löschen und eine andere auf deren Namen umbenennen,
wobei das Risiko besteht, dass diese Vorlage ebenfalls infiziert ist. Es empfiehlt sich
daher, immer eine definitiv virenfreie Version der Standarddokumentvorlage (am besten
gleich nach der Installation machen) irgendwo auf einer Diskette gesichert zu haben. Für
verschlüsselte Makros ist das gleiche Vorgehen zu empfehlen.
- WinWord 6/7: Beim Automatisieren von Abläufen in
Word werden bevorzugt Auto-Makros benutzt. Befindet sich in der Standarddokumentvorlage
NORMAL.DOT ein Makro mit Namen "AutoExec", so wird dieses beim Start von Word
automatisch ausgeführt. Analog werden die Makros "AutoNew" beim Erstellen einer
neuen, "AutoOpen" beim Öffnen und "AutoClose" beim Schließen einer
Datei behandelt. Um zu verhindern, dass WinWord diese Auto-Makros abarbeitet, hält man
beim Start von Word die Taste SHIFT gedrückt oder startet WinWord mit dem Parameter /m.
Eine weitere Option ist, beim Laden von Dokumenten die SHIFT-Taste gedrückt zu halten.
Leider hilft dieser Trick gegen neuere Viren kaum noch, da sich diese in anderen Makros
verstecken.
- Word-Makroviren sind nicht unbedingt auf die
Automakros angewiesen. Beinahe jedem Word-Befehl ist ein Makro mit einem bestimmten Namen
zugeordnet, das ohne weiteres mit eigenem Inhalt gefüllt werden kann. Existiert ein Makro
dieses Namens (global oder im aktuellen Dokument), so bewirkt die Auswahl des betreffenden
Befehls die Ausführung des entsprechenden Makros. Viele Makroviren nützen dies aus, um
bestimmte Befehle für sich selber zu nutzen, beispielsweise zur Weiterverbreitung oder
für die Schadensroutine. Sehr oft verwendete Befehle, aber auch arglistigerweise die
Befehle "Datei/Dokumentvorlage/Organisieren" und "Extras/Makro", mit
denen Sie sonst ein Dokument nach Makros untersuchen und löschen konnten, werden von den
Viren abgefangen, verändert oder deaktiviert. Auch hier gilt wieder, dass der Virus durch
Überschreiben der Standarddokumentenvorlage deaktiviert werden muss, um an die Makros
heranzukommen.
- WinWord 8: Ab Office 97 (WinWord 8) bietet das
Programm selber einen einfachen Schutz. Ist in der Registerkarte "Allgemein" des
Dialogfelds "Optionen" die Option "Makrovirus-Schutz" aktiviert, so
wird beim Öffnen eines Dokuments, das Makros enthält, eine Warnung ausgegeben. Diese
ermöglicht das Öffnen, ohne dass die Makros aktiviert werden. Leider wird diese Funktion
nur allzu oft von Benutzern deaktiviert, da sie im Normalfall auf Dauer ziemlich nervt.
- WinWord 8: Um die Übertragung von Makroviren
auszuschließen, sollten alle Dokumente bzw. Dokumentvorlagen, die Sie als Anwender nicht
selbst erstellt haben oder deren Herkunft zweifelhaft ist, vor der Benutzung durch Öffnen
mit aktiviertem Makrovirus-Schutz überprüft werden. Sollte die Warnmeldung
erscheinen, kann das Dokument mit der Option "Makros deaktivieren" geöffnet und
auf das Vorhandensein von Makrocodes überprüft werden.
- WinWord 8: Eine weitere Schutzmöglichkeit besteht
darin, die Datei NORMAL.DOT vor unbefugten Änderungen zu schützen. Dazu wechselt man
über die Tastenkombination Alt F11 in den Visual Basic-Editor und gibt den Befehl
"Normal-Eigenschaften..." aus dem Kontextmenü auf dem Eintrag
"Normal" im Projekt-Explorer (Fenster "Projekt - Normal"). Im Register
"Schutz" des Dialogfeldes "Normal - Projekteigenschaften" aktiviert
man die Option "Projekt für die Anzeige sperren" und gibt ein Kennwort ein.
Eine Änderung der Datei NORMAL.DOT verlangt jetzt die Eingabe des Kennworts.
- WinWord 6/7: Für Anwender dieser Programme bietet
Microsoft ein kostenloses Antiviren-Tool
an (MVTOOL40.EXE). Die selbst-extrahierende Datei erzeugt eine Datei
"SCANTOOL.DOT". Nach dem Öffnen mit WinWord installiert dieses eine Reihe von
Sicherheitsmechanismen in der Standardvorlage.
- Öffnen Sie .DOC und .DOT - Dateien per WordPad
oder WordView, wenn Sie sie nur lesen wollen. Dies verhindert zuverlässig die Ausführung
aller eventuell im Dokument enthaltener Makros.
- Erstellen Sie eine Batch-Datei, die bei jedem
Systemstart die NORMAL.DOT von einem schreibgeschützten Original, am besten vom Server,
ersetzt. Dies könnte z.B. über die AUTOEXEC.BAT, einen Eintrag im Run-Eintrag der
Registry oder über das Login-Script des Servers geschehen.
Beachten Sie bitte bei allen Tipps, dass viele
Makroviren in der Lage sind, die hier dargestellten Schutzmaßnahmen zu umgehen. Der beste
Schutz ist noch immer ein gutes und vor allem aktuelles Antivirenprogramm!!
Zum Seitenanfang
Entfernen von Makroviren
Ganz einfach: mit einem guten Antivirenprogramm,
z.B. AntiVir®
Weitere Informationen (Links)