Bedrohung

Computerviren

Desinfektions-Desaster

Von Andreas Marx, Magdeburg

Glaubt man den Versprechungen mancher Anti-Viren-Firma, so genügt ein Knopfdruck, um digitale Schädlinge von Computersystemen zu tilgen. Die Praxis sieht jedoch anders aus, wie Tests der Universität Magdeburg (AV-Test.de) belegen: Oft verursachen Reinigungsfunktionen sogar mehr Probleme als sie beheben. Als verlässliche Wiederherstellungsmaßnahme können sie durchweg nicht gelten.

Im längst vergangenen Zeitalter der DOS-Viren wurde die Reinigung (Desinfektion) virenverseuchter Dateien häufig nur als zusätzliches Bonus-Feature angesehen, da sich infizierte Programme leicht durch Sicherheitskopien ersetzen ließen. Einige Hersteller verzichteten ganz auf eine Reinigungsfunktion, da sich schon damals Mängel zeigten und nach der Wurmkur bisweilen nicht mehr alle Programme einwandfrei liefen.

Mit der zunehmenden Verbreitung von Makroviren änderte sich die Situation jedoch und auch diese Hersteller mussten zumindest für diese Virenart eine entsprechende Reinigungsfunktion in ihre Programme implementieren: Denn anders als bei Software, die auch ohne eigenes Backup zumindest noch von den Distributionsmedien zur Verfügung steht, befallen Makroviren in der Regel das Originaldokument. Obwohl hierbei "nur" die viralen Makros entfernt werden müssen, zeigen sich dennoch teils erhebliche Mängel bei der Wiederherstellung.

Bootviren spielen bei der Reinigung heutzutage nur eine untergeordnete Rolle, da die meisten AV-Programme einfach den Bootsektor oder den Master-Boot-Record (MBR) mit einem Standard-Sektor überschreiben, der allerdings oft nur auf Windows-9x-Systeme angepasst ist. Zudem nimmt die Anzahl der Neuinfektionen mit Bootviren ständig ab. Im Labor hat das AV-Test.de-Team der Uni Magdeburg auf solche Tests daher verzichtet. Da kaum ein Anti-Virus-Programm Reparaturmöglichkeiten für Skriptviren oder exotische Formate (z. B. Java) anbietet, liegen für diese Formate ebenfalls keine Testdaten vor.

Sämtliche folgenden Aussagen basieren auf dem Test 2000-08 (Clients unter Windows 98, NT 4 und 2000), der auf [externer Link] www.AV-Test.de im Internet verfügbar ist. Für diesen Bericht wurden die Tests stichprobenartig wiederholt, allerdings zeigten sich keine signifikanten Abweichungen; die Daten können daher immer noch als aktuell gelten. Die Werte in der abgedruckten Tabelle und die zusammenfassenden Aussagen im Folgenden beziehen sich auf die gesamte Palette aller geprüften Anti-Viren-Software.

Dateiviren lassen sich nach ihrem "Lebensraum" klassifizieren: DOS, Win16, Win32, Linux, OS/2, PalmOS, BeOS usw. Derzeit tauchen in der WildList (www.wildlist.org), die verbreitete Infektionen bei Anwendern erfasst, nur DOS- und Win32-Dateiviren auf. Dabei nehmen DOS-Viren ständig ab und Win32-Schädlinge sind weiterhin auf Expansionskurs.

Speicherfehler

Bei einer Betrachtung der Desinfektion von Dateiviren sollte man bedenken, dass das jeweilige Virus nicht nur als (infizierte) Datei vorliegen kann, sondern eventuell auch andere Bereiche befällt, etwa den Speicher. Ein Anti-Viren-Programm muss beispielsweise einen im Speicher aktiven residenten Teil zunächst deaktivieren, bevor es die Dateien desinfizieren kann, ansonsten würde das Virus alles erneut verseuchen – unter Umständen inklusive dem Anti-Viren-Programm selbst.

Nur wenige Scanner durchsuchen aber den Windows-Speicher wirklich komplett. Die meisten Programme scannen nur den DOS-Speicher nach dort vorhandenen Boot- oder Dateiviren. Für einige weit verbreitete Windows-Viren wie Win32/CIH haben die Hersteller in vielen Programmen zwar Spezialroutinen integriert. Kaum ein Scanner kann jedoch Prozesse von Würmern oder Trojanischen Pferden im laufenden System finden oder gar entfernen, selbst wenn sie in einer Hochsprache geschrieben wurden und nur Windows-typische Funktionen benutzen, um im Speicher zu bleiben. Dass eine solche Abwehrfunktion mit wenig Programmieraufwand zu implementieren wäre, zeigen verschiedene Freeware-Programme, die noch nicht einmal von spezialisierten Entwicklern geschrieben wurden. Mittlerweile bieten auch einige Anti-Viren-Firmen solche Programme an; auf eine Integration in ihre Software wartet man allerdings bislang vergebens.

Für zusätzliche Probleme sorgen infizierte (System-)Dateien, die unter Windows gerade aktiv sind (vom System "benutzt" werden). Sie lassen sich bisweilen erst nach einem Rechnerneustart reinigen, worauf nicht jede Anti-Viren-Software vorbereitet ist.

----------Anfang Textkasten----------

Desinfektionsergenisse

laut AV-Test.de 2000-08 (Anti-Viren-Software-Clients aller getesteten Hersteller unter Windows 98, NT und 2000)

  Sauber gereingt Schlecht gereinigt Zerstört Nichts getan
Dateiviren 75,1 % 1,9 % 7,3 % 15,8 %
DOS 81,5 % 1,9 % 4,4 % 12,2 %
Win32 68,7 % 1,8 % 10,2 % 19,3 %
Makroviren 76,5 % 14,3 % 2,9 % 6,3 %
PP97M 53,3 % 20,0 % 0,0 % 26,7 %
W97M 80,8 % 12,0 % 6,7 % 0,5 %
WM 60,3 % 39,7 % 0,0 % 0,0 %
X97M 98,6 % 0,0 % 1,4 % 0,0 %
XF 70,0 % 13,3 % 6,7 % 10,0 %
XM 95,9 % 0,8 % 2,5 % 0,8 %

PP97M = Powerpoint 97/2000/XP
W97M = Word 97/2000/XP
WM = Word 95
X97M = Excel 97/2000/XP
XF = "Excel-Formula" (existiert seit Excel 4.0 bis heute)
XM = Excel 95

----------Ende Textkasten----------

Fast jedes Programm beherrscht die Reinigung verbreiteter DOS-Viren einwandfrei. Dies ist allerdings kein Wunder, denn fast alle diese Viren sind schon einige Jahre alt und die DOS-Dateistruktur ist sehr einfach und gut dokumentiert. Im Test wurden etwa 80 Prozent der infizierten Dateien von DOS-Schädlingen korrekt gereinigt. Das fehlende Fünftel geht hauptsächlich auf zwei getestete Progamme zurück, von denen eines keine Reinigung anbietet und das andere fast jede Datei auf Null Bytes Länge zurücksetzte oder anderweitig bei der Reinigung zerstörte.

Schlechter sieht die Sache bei Windows-Viren aus. Dort ist das Dateiformat wesentlich komplexer und auch weniger gut dokumentiert. Insbesondere interpretieren verschiedene Windows-Versionen, etwa 98 und NT, Einträge im Vorspann der Programme (header bytes) unterschiedlich. Anders als unter DOS gibt es daher unzählige Varianten, wie ein Virus eine Datei infizieren kann. Er kann sich etwa, wie der Win32/CIH, in ungenutzten Breichen (slack space) einnisten und den Programmeinsprung ändern. Diese Möglichkeit haben zwar schon DOS-Viren genutzt, aber unter Windows sind derartige leere Bereiche viel öfter zu finden.

Wenn ein solches Virus sich rasant verbreitet, müssen die Anti-Virus-Software-Hersteller rasch ein Update des Scanners herausgeben. Die Reinigung ist dann oft nur notdürftig implementiert (wenn sie überhaupt schon existiert). Spätere Updates enthalten zwar häufig eine bessere Desinfektionsroutine, aber oft genug behält man auch die Notfallroutine bei, wenn sie (einigermaßen) funktioniert.

Stille Post

Einige Viren komprimieren Teile des ursprünglichen Programms und nisten sich dann in dem gewonnenen Speicherplatz ein. Auch derartig modifizierte Dateien werden oft noch repariert, wenn die Entwickler entsprechenden Ehrgeiz besitzen. Vergleicht man anschließend eine nicht-infizierte Version und die gereinigte Datei, so stellt man oft große Unterschiede fest. Programme, die sich auf Veränderungen prüfen (etwa Sicherheitssoftware oder auch die Virenscanner selbst) schlagen dann weiterhin Alarm und man muss sie doch noch durch eine Sicherheitskopie ersetzen.

Eine schlecht gereinigte Datei enthält möglicherweise auch noch (inaktive) Teile des Virus, was bei anderer Scanner-Software Fehlalarm auslösen kann. Setzt ein Unternehmen mehrere Anti-Viren-Programme verschiedener Hersteller ein, um höhere Erkennungsraten zu erzielen (Multi-Vendor-Strategie), führt dies zwangsläufig zu Problemen.

Schlimmer noch ist jedoch die Situation, wenn beispielsweise ein Wurm oder eine Backdoor durch einen Dateivirus infiziert wurde. Eine schlechte Reinigung führt dann sehr oft dazu, dass der Wurm oder die Backdoor nicht mehr als schädliches Programm erkannt wird – Mutationen entstehen. Mittlerweile versuchen zwar die Hersteller, dieses Problem zu umgehen, aber noch nicht jeder Scanner überblickt derartige Situationen. Insbesondere bereitet eine schlechte Desinfektion eines Herstellers dem Scanner eines anderen Anbieters Probleme.

Insgesamt wurden im Test nicht einmal 70 Prozent der infizierten Dateien von Windows-Viren gereinigt, nicht mitgezählt Würmer und Viren, die nur durch Löschen zu entfernen sind. Etwa 20 Prozent der Dateien haben die Anti-Viren-Programme gar nicht erst versucht zu desinfizieren, was vielleicht auch besser ist, denn auch so wurde insgesamt etwa jede 10. Datei bei der Desinfektion zerstört.

Infektiöse Systeme

Als wäre die Reinigung einer einzelnen infizierten Datei nicht schon schwierig genug, treten immer mehr Würmer und Backdoor-Trojaner auf, die aus einem (evtl. redundanten) Verbund mehrerer Dateien bestehen. Zusätzlich verankern sie sich in der Windows-Registry, etwa um bei jedem Rechnerstart automatisch aktiv zu werden. Eine Reinigung muss alle diese Veränderungen – soweit möglich – wieder rückgängig machen. Leider arbeiten die meisten Anti-Virus-Programme aber nach dem "Fire&Forget"-Prinzip: Sie löschen die schädlichen Dateien und denken, das Problem sei damit beseitigt. Dass dies zumindest ein Irrglaube ist und teilweise sogar die Lage noch verschlimmert, lässt sich anhand einiger weit verbreiteter Würmer zeigen.

Beispielsweise verbreitet sich Win32/QAZ, der auch unter dem Namen Notepad-Wurm bekannt ist, über freigegebene Laufwerke anderer Rechner, wobei er nach der Datei notepad.exe sucht. Ist diese noch nicht durch den Wurm infiziert, so wird die Originaldatei nach note.com umbenannt und der Wurm kopiert sich als Notepad.exe in das Verzeichnis (companion virus). Startet man diese Datei, dann ruft der Wurm das richtige Notepad (die Datei note.com) auf. Zusätzlich fügt QAZ in die Registry einen Eintrag ein, um sich bei jedem Neustart vom Betriebssystem laden zu lassen.

Die Desinfektion sollte daher nicht nur die Datei Notepad.exe löschen und die Datei note.com nach Notepad.exe umbenennen, sondern auch den entsprechenden Registry-Key wieder entfernen. Gerade einmal ein Programm von 17 getesteten war hierzu in der Lage; der Rest löschte nur die Datei Notepad.Exe. Dies ist zwar nur halb so schlimm, aber trotzdem ärgerlich.

Drastischere Folgen zeigen sich bei Win32/Pretty_Park. Dieser Wurm verändert die Registry derart, dass der Aufruf aller EXE-Dateien zuerst eine Wurmkomponente aktiviert; erst diese startet dann die richtige Anwendung. Entfernt eine Desinfektions-Routine diesen Teil des Wurms, so lassen sich fortan überhaupt keine Programme mehr starten, sofern die Anti-Viren-Software nicht auch die Registry repariert. Im laufenden Betrieb kann bereits ein ungeschickter Virenwächter den Zugriff auf die Wurmkomponente und somit die Ausführung jeglicher Programme verhindern.

----------Anfang Textkasten----------

Mit Schutz keine Desinfektion?

Ein kurioses Verhalten zeigen auch heutzutage noch manche On-Access-Scanner (residente Virenwächter): Wenn der Zugriff auf eine infizierte Datei blockiert wird, der Virenwächter selbst die betreffende Datei aber weder desinfizieren kann noch löschen darf, dann muss der Anwender oder Administrator entscheiden. Bestimmte Anti-Viren-Software unterbindet aber auch das manuelle Löschen einer infizierten Datei. In diesem Fall muss man zunächst den Schutz durch den Virenwächter abschalten, bevor man die gefährliche Datei löschen darf – was je nach Produkt sogar mit einem Rechnerneustart verbunden sein kann. Beim Löschen einer solchen Datei sollte man die rechte Maustaste und den Löschbefehl im Kontextmenü benutzen, damit ein verseuchtes Programm nicht genau im falschen Moment durch einen versehentlichen Doppelklick gestartet werden kann.

Wer seine Anti-Viren-Software auf diese Merkwürdigkeit prüfen möchte, kann das gefahrlos mit dem EICAR-Test-Virus tun: Es handelt sich dabei um ein ungefährliches COM-Programm von 69 Byte Länge, das aber per Konvention von jedem Scanner als Virus identifiziert wird. Startet man es, so identifiziert es sich durch eine kurze Mitteilung. Die Test-Datei ist unter [externer Link] www.eicar.org/anti_virus_test_file.htm im Internet verfügbar.

Ebenfalls anzuraten ist die Prüfung des Verhaltens von On-Access-Scannern nach der Identifikation von Viren. Bei verschiedenen Produkten wichen die tatsächlichen Aktionen von den eingestellten Vorgaben ab. Ein Scanner änderte den Dateinamen, wo er desinfizieren sollte, löschte, wo er umbennen sollte und desinfizierte, wenn er löschen sollte – anscheinend war der Hersteller bei Implementierung oder Übersetzung mit den Checkboxen im Einstellungsdialog durcheinander geraten.

----------Ende Textkasten----------

Dokumentenseuche

Microsoft verwendet seit einigen Jahren das OLE2-Format, in dem alle Office-Anwendungen bis auf Access ihre Daten speichern. Im Prinzip ist das nichts weiter als ein FAT-ähnliches Dateisystem innerhalb einer Datei, wobei darin nicht nur Dateien (Streams), sondern auch Verzeichnisse vorhanden sein können. Zwar ist das Format nur sehr mager dokumentiert, aber alle Anti-Viren-Programme können schon seit geraumer Zeit damit umgehen; schließlich kam der erste Makrovirus 1995 heraus und es gab genug Zeit für eine entsprechende Entwicklung. Nur einige wenige Anti-Viren-Programme greifen noch direkt über die Windows-API-Funktionen von Microsoft auf OLE2-Objekte zu, da diese gerade bei leicht beschädigten Dokumenten schnell zum Absturz führen können. Die Hersteller mussten ohnehin eigene OLE2-Routinen für den Zugriff aus anderen Betriebssystemen heraus (z. B. Unix-Scanner auf Gateways) entwickeln.

Für das Verständnis der Reparaturprobleme bei Office-Dokumenten ist ein Einblick in die verschiedenen Speicherformate hilfreich. Word und Excel 95 haben alle Makros zusammen mit dem eigentlichen Dokument in einem einzigen Stream gespeichert. Die Makros ließen sich mit nur einem Zeiger leicht lokalisieren und waren einfach zu untersuchen. Waren die Makros geschützt abgespeichert, sodass man sie nur noch ausführen, aber nicht mehr ansehen oder bearbeiten konnte, so waren sie lediglich mit einem 1-Byte-Schlüssel "chiffriert". Dieser wurde zudem noch zusammen mit den Makros gespeichert, was die Entschlüsselung trivial machte.

[Screenshot DocFile Viewer]
Unter Word 6.0 war die Dateistruktur noch einfach und durchschaubar: Makros und Dokument in einem Stream.

Hatte der Anwender ein Word-95-Dokument mit einem Passwort versehen, so wurden allerdings auch die Makros verschlüsselt. Die Methode, die Word hierfür einsetzte, basierte auf einem 16 Byte langen Schlüssel, der sich aber sehr leicht berechnen ließ – auch ohne Kenntnis des Passworts (mit etwas angewandeter Mathematik konnte man sogar das Passwort finden). Auch dann war es also mit einigem Programmieraufwand möglich, alle Dokumente zu durchsuchen.

Excel 95 verschlüsselte Makros nicht. Dennoch liefern einige Anti-Viren-Programme bei geschützten Excel-Sheets nur die Meldung, das Dokument sei verschlüsselt, und durchsuchen es nicht. Die fragwürdige Begründung: Man wolle den Benutzer nicht dadurch verunsichern, dass man ein solches passwortgeschütztes Dokument knacken könne.

Die Reinigung infizierter Dateien war somit bei Office-95-Dokumenten vergleichsweise einfach, da man nur aus einer Tabelle die zu entfernenden Makronamen und anschließend die zugehörigen Makrocodes löschen musste. Nahezu alle Anti-Viren-Programme beherrschen dies zuverlässig. Allerdings passiert es häufig, dass derart gereinigte Dateien eine Makrovirenwarnung von Office 97 oder 2000 auslösen, weshalb sie im Test nicht als "perfekt gereinigt" auftauchen.

Mit der mächtigen Programmiersprache Visual Basic for Applications (VBA) hat sich die Situation beim Schritt zur nächsten Office-Generation jedoch deutlich geändert: Die Datenstrukturen sind wesentlich komplexer geworden und erfordern überdies viel Speicherplatz, wenn man die Dokumente richtig untersuchen möchte. Viele Daten sind über mehrere Streams verteilt und redundant abgelegt und müssen bei einer Reinigung daher an mehreren Stellen entsprechend geändert werden.

[Screenshot DocFile Viewer]
Die meisten mit Makroviren infizierten Word-97/2000-Dokumente erhalten mehrere Streams mit Makros.

Für jedes Makro und für das Klassenmodul "ThisDocument" (Word) beziehungsweise "DieseArbeitsmappe" (Excel) existiert zusätzlich ein eigener Stream. Er enthält die Makros im Klartext, wenn auch leicht komprimiert. Zusätzlich befindet sich der so genannte P-Code in diesem Stream, der aus den Klartext-Makros generiert und von Office interpretiert wird. Enthält ein Dokument keinen P-Code, so generiert Office ihn neu – enthält es keinen Sourcecode, so wird dieser aus dem P-Code erzeugt. Ausgeführt wird jedoch immer nur der P-Code, der letztlich aus einigen Tabellen besteht, die wiederum untereinander verknüpft sind.

Fehlerkompatibel

Bei der Prüfung müssen die Anti-Viren-Programme zudem bestimmte Fehler von Office simulieren: Dazu gehört etwa ein Bug in Mac Office 2001, wo aus einem 32-Bit-Wert (DWORD) ein 16-Bit-Wert (WORD) wurde. Hersteller, denen dieser Fehler entgangen war, mussten ihre Software nachträglich anpassen. Auf dem Mac gespeicherte infizierte Dokumente wurden sonst nicht mehr als infiziert angesehen, obwohl der entsprechende Virus auf einem Windows-PC ohne weiteres lauffähig war.

Die Reinigungsroutine muss sowohl den Source-Code als auch den P-Code und die Virenmodule entfernen sowie eventuell vorhandene Benutzermakros intakt lassen. Keine einfache Aufgabe; der entsprechende Programmcode der Anti-Viren-Software ist häufig einige Tausend Zeilen lang. Er muss zudem auch berücksichtigen, dass sich lokalisierte Versionen von Office anders als die englischsprachige Version verhalten und auch die einzelnen Service Packs minimal differieren.

Mittlerweile haben trotz alledem nur noch wenige Programme echte Schwierigkeiten beim eigentlichen Entfernen von Viren-Makros. Meist treten diese nur auf, wenn Benutzermakros vorhanden sind, wofür es vier verschiedene Möglichkeiten gibt:

  1. Das Virus steckt zusammen mit dem Benutzermakro im Klassenmodul. Im Test entfernten alle Programme ein solches Virus – wenn überhaupt – gemeinsam mit den Benutzermakros. Allerdings wurden die Viren nicht immer zuverlässig identifiziert, insbesondere wenn sie sich direkt hinter dem Benutzermakro eingenistet hatten (parasitäre Infektion).
  2. Das Virus sitzt im Klassenmodul, Benutzermakros existieren als normale Makromodule. Dies bereitet nur wenigen Programmen Schwierigkeiten.
  3. Das Virus ist als Makromodul vorhanden, die Benutzermakros sind im Klassenmodul gespeichert. Auch hier treten selten Probleme auf.
  4. Sowohl Virus als auch Benutzermakros sind als eigene Module vorhanden. Wie die beiden letzten Varianten sorgt auch diese kaum für Schwierigkeiten.

Da das Berücksichtigen aller dieser Kombinationen aufwändig ist, verzichten jedoch einige Programme vollständig auf eine korrekte, zerstörungsfreie Reinigung, da sich zudem nicht immer genau feststellen lässt, welche Makros zum Virus gehören und welche der Benutzer geschaffen hat. In diesen Fällen werden dann (ggf. nach Rückfrage) einfach alle Makros entfernt.

Durch die verschiedenen Möglichkeiten für einen Makrovirus, sich einzunisten, kann es überdies zu Mehrfachinfektionen eines einzelnen Dokuments mit verschiedenen Parasiten kommen. Dabei drohen dann Scanner die Übersicht zu verlieren und in der Folge wiederum Mutationen.

Probleme am Rande

Die Reinigung sollte über das bloße Entfernen von gefährlichen Makrocodes auch gewisse Nebenbedingungen erfüllen. Wenn keine Makros mehr im Dokument vorhanden sind, sollte auch keine Makrovirenwarnung beim Öffnen der Datei erscheinen. Ebenso dürfen beim Start des VBA-Editors keine Fehlermeldungen kommen und es sollten keine leeren Makromodule zurückbleiben. Des Weiteren sollte die VBA-Umgebung voll einsetzbar sein: Der Anwender sollte Makros weiterhin erstellen, bearbeiten und ausführen können.

Leider zeigen sich hier aber bei etlichen Desinfektionen Probleme. Besonders unter Word 97 und 2000 gibt es für die Hersteller von Anti-Viren-Lösungen noch einiges zu tun, denn oft genug erscheint noch irrtümlich eine verwirrende Makrovirenwarnung oder der VBA-Editor streikt. Unter Excel 97 und 2000 gibt es weniger Schwierigkeiten, vor allem aber weil Excel intern bei VBA deutlich anders als Word arbeitet.

Ein Scanner zeigte im Test auch, wie schnell man einen Virus entfernen und gleichzeitig auch viele Word-Funktionen außer Kraft setzen kann: Er entfernte lediglich alle Makrobefehle bis auf das einleitende "Sub <Makroname>" und das abschließende "End Sub". Enthielt das Virus Makros, die Menüfunktionen wie "Speichern" oder "Speichern unter ..." erweitern, so konnte anschließend der Anwender die entsprechenden Menüpunkte nicht mehr nutzen, weil nur die leeren Makrobefehle ausgeführt wurden.

[Screenshot DocFile Viewer]
Infiziertes Office '97-Dokument mit SRP-Streams, in denen vorkompilierter Viruscode steckt.

Aber selbst wenn das Anti-Viren-Programm scheinbar alles richtig gemacht hat, sorgen bestimmte Eigenheiten für Probleme. So wurde erst vor kurzem bekannt, dass Office nicht nur mit dem Source- und P-Code arbeitet, sondern Makromodule auch vorkompiliert und direkt ausführbar in der Datei als so genannten SRP-Stream ablegen kann. Dieser wird dann direkt beim Öffnen des Dokuments gestartet, auch wenn die anderen Teile fehlen. Durch die Desinfektion entstanden somit unsichtbare Viren: Zwar können sich die meisten Schädlinge in dieser Form nicht mehr fortpflanzen (Ausnahme: X97M/Jini.A1), aber ihre Schadfunktion ist weiterhin aktiv. Zudem findet sie lange nicht mehr jeder Scanner; momentan wird noch an einer exakten Erkennung solcher Dokumente gearbeitet. Die endgültige Reinigung ist in diesem Fall an sich trivial und besteht aus dem Entfernen des SRP-Stream, wobei dieser auch mehrfach in der Datei enthalten sein kann.

[Screenshot DocFile Viewer]
In dieser Excel-Tabelle sind noch "bösartige" SRP-Streams vorhanden, die eine Reinigungsroutine übersehen hat.

Die letzte Hürde betrifft die Reinigung von verschlüsselten Dateien der aktuelleren Office-Versionen: Anders als bei Word 95 ist der Makrocode nicht mehr verschlüsselt, sondern nur noch das eigentliche Dokument. Die Erkennung ist somit einfach. Die Reinigung wird jedoch verkompliziert, da unter anderem einige Tabellen mit Makronamen chiffriert sind und man die hierfür eingesetzte 40-Bit-RC4-Verschlüsselung nicht mehr leicht knacken kann. In diesem Fall entfernen die Anti-Viren-Programme nur die Makros, in der Regel erscheint aber immer noch eine Makrovirenwarnung und es bleiben oft leere Module zurück. Was genau geschieht, hängt vom jeweiligen Programm ab – jedes reinigt anders.

Nicht zuletzt sorgt die Möglichkeit für Probleme, in einem Dokument weitere Objekte einzubetten, etwa Programme oder andere Dateien. Fast die Hälfte der Schutzprogramme durchsucht solche Daten erst gar nicht. Überdies gestaltet sich die Desinfektion bei einigen Herstellern schwierig, denn oft kann ein solches Objekt nicht gereinigt werden und das Anti-Viren-Programm löscht voreiligerweise die ganze Datei. Ein Programm verursachte bei einem solchen Versuch eine Endlosschleife: Es durchsuchte eine Datei, fand den Virus, konnte ihn aber nicht entfernen, durchsuchte die Datei wiederum, fand den Virus usw. – hier half dann nur noch ein Rechnerneustart, das Problem löste er indes nicht.

Fazit

Auf die Reinigungsfunktion von Anti-Viren-Software sollte man sich auf keinen Fall verlassen. Das beste Mittel gegen Virenfolgen bleibt eine sorgsame Backup-Strategie. Im Infektionsfall sollte man nach Möglichkeit zumindest die Software von Backups wiederherstellen. Ansonsten empfiehlt es sich, alle Programme und Dokumente nach der Reinigung sorgfältig auf Seiteneffekte zu testen.

Zudem sollte man berücksichtigen, dass Anti-Viren-Software höchstens die Viren selbst, nicht aber etwaige Schäden durch "bösartigen Code" rückgängig machen kann. Zerstört er Dateien oder verändert er Dokumente, so lassen sich diese nur durch Sicherheitskopien wiederherstellen. Zu den Auswirkungen und Schadfunktionen von Viren sollte man das Virenlexikon des Herstellers seines Vertrauens studieren – möglichst bevor man Maßnahmen ergreift, die eine weitere Analyse verhindern.

Auch manuelle Reparaturen sollte man mit Vorsicht angehen: So gibt es Viren, die Teile des Festplatteninhalts verschlüsseln und den verwendeten Schlüssel im Bootsektor ablegen (z. B. One_Half). Überschreibt man einfach den Bootsektor, so ist der Virus entfernt, die chiffrierten Sektoren bleiben aber auf Dauer unzugänglich.

Auf E-Mail-Servern sollte man generell keine Dateien automatisch reinigen lassen, sondern diese bei Verdacht nur unter Quarantäne stellen und die betroffenen Kommunikationspartner informieren. Nur so kann man bewirken, dass diese sich um das Virenproblem kümmern und es nicht einfach beiseite schieben und auf die Reinigungsfunktion des E-Mail-Gateways setzen. Eine riskante Variante ist, beim Maileingang bestimmte Subject-Zeilen zu sperren und so eventuell nicht nur "scharfe Love-Letter", sondern auch Warnhinweise auszusperren oder sogar zu löschen.

Andreas Marx ist Leiter des Anti-Viren-Testcenters AV-Test.de der Universitaet Magdeburg ([externer Link] www.av-test.de) und Inhaber der Beratungsfirma GEGA IT-Solutions GbR.

© SecuMedia-Verlags-GmbH, D-55205 Ingelheim,
KES 2/2001, Seite 8