Letzte Änderung dieses Dokuments: 06.04.2008, 11:31:04. Entfernung von Schädlingen
Warum man bei Infektionen den Rechner neu installieren sollte...
Inhalt
1. Was ist ein Removal-Tool?
2. Warum soll ich kein Removal-Tool benutzen?
2.1. Das befallene System ist nicht mehr vertrauenswürdig
2.2. Das Finden von Schädlingen ist nicht einfach
2.3. Variationen sind schwer zu unterscheiden!
2.4. Code ist nicht immer bekannt!
2.5. Hintertüren können für weitere Manipulationen genutzt werden!
2.6. Der gefundene Schädling muss nicht der Schuldige sein!
3. Fazit
3.1. Es kann nicht gehen!
3.2. Der einzig sichere Weg...
1. Was ist ein Removal-Tool?
Mit Removal-Tool bezeichne ich hier alle Programme, die den Anspruch
erheben, einen infizierten Computer von dem Schädling, der ihn befallen
hat, zu reinigen, ohne dabei eine Neuinstallation erforderlich zu machen.
Darunter fallen sowohl die Desinfektions-Routinen von
Antivirenprogrammen wie auch die speziell für bestimmte Schädlinge
entwickelten Entfernungsprogramme. Exemplarisch sei hier
McAfee AVERT Stinger genannt, obwohl das Gesagte für alle anderen
gleichermaßen gilt.
2. Warum soll ich kein Removal-Tool benutzen?
Die Gründe dafür werde ich im Folgenden darlegen. Für Kritik und
Verbesserungsvorschläge bin ich immer offen. Sie können mir jederzeit
eine E-Mail schreiben.
2.1. Das befallene System ist nicht mehr vertrauenswürdig
Die meisten Removal-Tools werden direkt auf dem befallenen System
benutzt. Man hat einen infizierten Internet-PC, lädt sich irgendein
Werkzeug zum Entfernen herunter und startet es. Das bringt eine
Reihe von Problemen mit sich.
Das System wurde ja bereits infiziert. Der Schädling (bzw. der
Angreifer, der über den Schädling den Rechner kontrolliert) kann
Teile des Systems ausgetauscht oder manipuliert haben.
Das Removal-Tool muss aber auf Funktionen des Betriebssystems
zurückgreifen, um überhaupt seine Arbeit machen zu können. Wenn
diese Funktionen so manipuliert worden sind, dass das Betriebssystem
das Tool anlügt, kann das Tool gar nicht funktionieren.
Sogenannte
Rootkits sind auf unixoiden Betriebssystem schon lange bekannt. Bei den
Nutzern von Windows scheint sich deren Existenz aber seltsamerweise noch nicht
herumgesprochen zu haben.
Dem könnte man noch begegnen, in dem man das Tool von einem
garantiert sauberen Rettungssystem laufen lässt. Doch dieses müsste
dann auch schreibend auf das infizierte System zugreifen können.
Für ein mit EFS verschlüsseltes NTFS-Dateisystem beispielsweise ist
das aber gar nicht so einfach hinzubekommen.
Und für die folgenden Punkte gibt es überhaupt keine
Umgehungsmöglichkeit.
2.2. Das Finden von Schädlingen ist nicht einfach
Die grundsätzlichen Probleme beim Aufspüren von Schädlingen
(und wenn ich sie entfernen will, muss ich sie ja vorher erstmal
finden) bleiben auch hier bestehen. Alle Kritikpunkte, die z.B.
gegen Virenscanner vorgebracht werden, können 1:1 auf die
Removal-Tools übertragen werden.
Das allgemeine und sichere Erkennen von infektiösem
Code ist mit Computerprogrammen prinzipbedingt nicht möglich.
2.3. Variationen sind schwer zu unterscheiden!
Es existieren zahlreiche Varianten von Schädlingen, die sich teilweise
sehr ähnlich sind und nur in einigen Punkten unterscheiden.
Virensuchprogramme vergleichen niemals den ganzen Code (da dieser zu
Tarnzwecken auch häufig variiert wird), sondern nur bestimmte, für
den einzelnen Schädling charakteristische Merkmale der Datei,
in der Fachsprache "Signaturen" genannt.
Die Teile des Viruscodes, die nicht von der Signatur erfaßt werden,
werden ignoriert. Sie können sich dort also von dem Code, den der
Hersteller des Removal-Tools vorliegen hatte, unterscheiden.
(Bemerkung: Eben weil sich die einzelnen Exemplare in diesen Codeteilen
häufig unterscheiden, wurden diese Abschnitte nicht in die Signatur
aufgenommen!)
Einem Computerprogramm ist es prinzipbedingt unmöglich, diese Unterschiede
zu bewerten. Es kann nicht sagen, welche unwichtig sind und welche vielleicht
entscheidende (neue) Funktionen beinhalten, die ein Dritter dem originalen
Viruscode hinzugefügt hat.
Das Programm kann also beispielsweise nicht sagen, ob Sie einen
E-Mail-Wurm haben, der nur einen anderen Text in die von ihm erzeugten
E-Mails einfügt oder ob er vielleicht andere oder zusätzliche
Schadfunktionen beinhaltet, für die das Programm dann kein Gegenmittel
zur Hand hat.
2.4. Code ist nicht immer bekannt!
Aktuelle Viren und Würmer laden Code-Teile aus dem Internet nach.
Man kann nie ganz genau sagen, wann die Infektion stattgefunden
hat (es sei denn, man hat sie ganz bewußt herbei geführt und dabei
auf die Uhr geschaut). Ebenso überwacht niemand die Server, auf denen
diese Fragmente lagern (zumindest anfangs nicht). Man weiß also hinterher
nicht, was vorher mal dort gespeichert war. Also weiß auch niemand,
was für Code zum Zeitpunkt der Infektion heruntergeladen und ausgeführt
wurde. Daher ist es einem Removal-Tool unmöglich, die von diesen Code-Teilen
durchgeführten Manipulationen rückgängig zu machen.
Es kommt übrigens durchaus vor, dass die Virenautoren den im Internet
bereitstehenden Teil ihres Virus austauschen, um beispielsweise den
Maßnahmen der Antivirenfirmen zu entgehen.
2.5. Hintertüren können für weitere Manipulationen genutzt werden!
Viele Würmer richten auf den von Ihnen befallenen System sogenannte
Backdoors (Hintertüren) ein, durch die der Autor des Wurms die
vollständige Kontrolle über den Rechner erhält. Einen solchen
Rechner nennt man in der Szene einen "Zombie" oder "Bot" und er wird
üblicherweise von dem ihn kontrollierenden Angreifer für all die Dinge
genutzt, die er mit seinem eigenen System nicht machen würde (Versenden
von Spam, als Ablageplatz für illegale Daten, etc.)
Selbst wenn das Removal-Tool also den Wurm vollständig und restfrei
entfernen könnte, so könnte es niemals erraten, was der Virenautor
nachher selbst noch alles geändert hat. Diese Änderungen müssen ihm
also entgehen.
Diese Backdoor ist noch vergleichsweise einfach zu entdecken, da sie
von einem Programm eingerichtet wurde, das zwangsläufig weniger schlau
ist als ein Mensch und auch nicht viel Code (und damit Funktionalität)
enthalten darf, da es ja für den massenhaften Transport über das
Internet taugen soll. Das geht am besten mit vergleichsweise kleinen
Würmern.
Daher geht man in den einschlägigen Kreisen verstärkt dazu über,
dass der Angreifer die erste, leicht zu entdeckende Backdoor benutzt
und eine zweite Backdoor (und unter Umständen noch weitere) auf dem
System einrichtet, die er dann nach allen Regeln der Kunst versteckt.
Selbst wenn der Anwender also die Infektion bemerkt und sein
Removal-Tool den Wurm samt dessen Backdoor entfernt, behält der
Angreifer über die zweite Hintertür dennoch die volle Kontrolle
über das System.
2.6. Der gefundene Schädling muss nicht der Schuldige sein!
Und eine Möglichkeit wird auch häufig außer acht gelassen:
Nämlich die, dass dieser Schädling bewußt als Ablenkung platziert
wurde, um dem Benutzer einen Schuldigen für die von ihm beobachteten
Auffälligkeiten liefern zu können.
Das läuft also so ab: Ein böser Angreifer schreibt einen Wurm A,
der sich via E-Mail verbreitet und eine Backdoor auf dem Systemn
installiert. Hat der Wurm einen Rechner übernommen, kann der Angreifer
seine zweite Backdoor einrichten. Dann gibt er dem Wurm etwas Zeit, damit
dieser das befallene System zur Weiterverbreitung nutzen kann und löscht
ihn anschließend. Wurm A hat seinen Zweck damit erfüllt und wird beseitigt.
Nun kopiert er dafür einen Wurm B auf das betroffene System. Wurm B ist
ein relativ harmloser, primitiver Vertreter seiner Zunft. Von ihm ist
bekannt, dass er keine Hintertüren oder ähnliches einrichtet.
Wenn der Anwender sowieso nichts gemerkt hat, spielt das ja keine Rolle.
Aber falls der Nutzer Verdacht geschöpft hat (weil das System
sich während der Infektion oder Verbreitung vielleicht seltsam verhielt)
und es dann auf Viren untersucht, wird ihm (bestenfalls) gemeldet:
"Wurm B gefunden". Der Anwender entfernt Wurm B dann rückstandsfrei
und wähnt sich wieder in Sicherheit. Da die Ursache für das Problem ja
(scheinbar) ermittelt und beseitigt wurde, hat er keine Veranlassung,
tiefer zu graben und dabei vielleicht auf die Hintertür zu stoßen.
3. Fazit
3.1. Es kann nicht gehen!
Jeder Versuch, einen Schädling durch ein Programm sicher zu beseitigen,
muss scheitern. Es kann klappen. Muss es aber nicht. Und man kann
hinterher nicht sicher wissen, ob es nun geklappt hat oder nicht. Man
spielt russisches Roulette.
Diejenigen, die mir nicht glauben: Microsoft sieht das übrigens
ganz genau so.
Ein Mensch könnte das schaffen. Aber es wäre natürlich nicht mit dem
Löschen einiger Dateien getan, sondern man muss sicherstellen, dass eben
keine weiteren Heimtücken auf dem System sind. Dazu ist eine eingehende
Analyse des Systems unter kontrollierten Testbedingungen erforderlich,
was sehr zeitaufwendig ist (und die entsprechenden Spezialisten wollen
dafür auch nicht zu knapp bezahlt werden). Der Aufwand lohnt sich daher
so gut wie nie für einen Heimanwender.
3.2. Der einzig sichere Weg...
...ist das "Plattmachen". Also die vollständige Löschung des Systems
(am besten durch Formatierung) und die folgende Neuinstallation. Anfangs
vielleicht ein erschreckender Gedanke ("Huch, ich soll alles neu
installieren?"), aber letztlich die einzige Methode, die den Rechner mit
vertretbarem Aufwand wieder in einen wohldefinierten Zustand versetzt.
Die Neuinstallation samt Einrichtung und Konfiguration aller Software
mag ein oder zwei Tage dauern, aber danach kann man auch sicher sein,
dass einem der Rechner wieder gehört. Ein Ende mit Schrecken, sozusagen.
Eine gute Zusammenfassung der einzelnen Schritte, die bei einer
Kompromitterung zu beachten sind, finden Sie z.B. hier:
http://oschad.info/wiki/index.php/Kompromittierung.
Etwas ausführlicher ist die
Anleitung von
Jürgen P. Meier.
Streng genommen gibt es noch andere Wege:
- Ein Vergleichssystem. Wenn man einen zweiten Rechner hätte, der mit
dem ersten exakt übereinstimmt, also gleiches Betriebssystem, gleiche
Programme und Treiber in exakt der gleichen Version, gleiche Konfigration
etc.pp., dann könnte man es mit dem befallenen System vergleichen.
Da die Systeme per Definition identisch waren, muss jede beobachtete
Änderung am befallenen System auf den Virus zurückzuführen sein und
kann durch den Abgleich mit dem sauberen System korrigiert werden.
Praktisch spielt das aber für Heimanwender keine Rolle. Wer hat schon
einen exakt gleichen zweiten PC zuhause herumstehen?
- Prüfsummen. Hätte man Prüfsummen von allen Systemdateien vorliegen,
könnte man die Systemdateien, deren Prüfsummen nicht übereinstimmen,
von den Originalmedien wiederherstellen.
Auch das ist aber für Heimanwender nicht praktikabel. Man müsste die
Prüfsummen irgendwo speichern, wo Virus und Angreifer sie nicht
nachträglich passend "korrigieren" können und nach jedem Patch und
jeder sonstigen Veränderung am System müssten sowieso die
Prüfsummen wieder neu berechnet werden. Aus einem MSI-Paket eine
einzelne Datei zu fischen, ist auch nicht ganz so einfach.
|