Im Virusbulletin vom März 1995 findet sich ein Artikel von Ian Whalley
zur Thematik "Viren und Windows-NT". Da dies bisher die einzige, mir
bekannte, Veröffentlichung zu diesem Thema ist, und Windows-NT zunehmend im
kommerziellen Umfeld eingesetzt wird, habe ich beschlossen, hier eine kurze
Zusammenfassung der Ergebnisse zu veröffentlichen.
Wenn ein PC bootet,
ist der Bootvorgang unabhängig davon, welches Betriebssystem geladen wird
(die Hardware hat ja auch keinerlei Ahnung davon, welches Betriebssystem auf der
Festplatte vorhanden ist). Bootet man einen PC von einer infizierten Diskette,
wird dieser Virus immer versuchen die Festplatte zu infizieren (nur hat dieser
Virus auch keine Ahnung davon, welches Betriebssystem auf der Festplatte ist).
Wenn NT auf einem PC von DOS aus installiert wird (z.B. in dem die Maschine von
einer DOS-Diskette gebootet wird und dann von CD aus die NT-Installation
gestartet wird), wird die Maschine "dual bootable", d.h. es kann
wahlweise DOS oder NT gebootet werden.
Während der Installation
kopiert NT den Bootsektor (1. logischer Sektor der aktiven Partition), der eine
Kopie von DOS enthält, und speichert ihn in der Datei "BOOTSECT.DOS"
des Rootverzeichnisses.
Infiziert man eine saubere NT-Maschine mit dem FORM-Virus, wird,wie erwartet der BS durch den FORM-Virus ersetzt und der originale BS an das physische Ende der Festplatte kopiert. Allerdings kann es passieren, das eine auf diese Weise infizierte Maschine plötzlich nicht mehr bootet. Der gerettete Original-BS des Systems kann durch das Paging des NT-Systems überschrieben werden und beim nächsten Bootvorgang wird dann kein gültiger BS mehr gefunden und das System steht.
Während also BS-Viren relativ einfach zu bekämpfen sind, können MBR-Viren zum totalen Ausfall eines NT-Servers führen, da das Restaurieren des Systems zu großen Schwierigkeiten führen kann. Die Ursache hierfür liegt in der Tatsache, daß NT bei den meisten MBR-Infektionen nicht mehr booten kann. Der Bootvorgang läuft normal ab, bis der Bildschirm seine Farbe ändert und NT beginnen will, die Partitions auf logische Laufwerke zu mappen. An dieser Stelle bleibt der Bootvorgang mit einem "Blue-Screen-Error" hängen. Ein solcher Fehler kann zwei Ursachen haben, einmal "INACCESSIBLE_BOOT_DEVICE" (z.B. durch einen fehlerhaften Plattenkontroller) und zum anderen "This system may be infected with a virus". In beiden Fällen aber steht das System.
Unklar ist bisher, weshalb manche MBR-Viren einen Bootvorgang noch ermöglichen, wärend andere MBR-Viren einen Systemstillstand hervorrufen. Ursachen könnten in den Bereichen des überschriebenen MBR oder in der Art der belegten Interrupts liegen, aber hier muß erst noch weitere Forschung betrieben werden. Bootet aber eine infizierte NT-Maschine, so ist es für den Virus nicht möglich, sich weiter zu verbreiten (logisch, verwendet doch NT intern die Interrupts ganz anders als DOS). In einem solchen Fall, wird ein Anwender wohl gar nicht bemerken, das er eventuell ein Problem hat. Was allerdings während eines Updates auf eine neuere NT-Version passieren könnte, kann sich jeder selbst ausmalen. Versuche haben folgende Bootergebnisse geliefert:
AntiCMOS | NT bootet einwandfrei | |
AntiEXE.A | Blue-screen "INACCESSIBLE BOOT DEVICE" | |
Monkey.A | Blue-screen "INACCESSIBLE BOOT DEVICE" | |
Monkey.B | Blue-screen "INACCESSIBLE BOOT DEVICE" | |
Natas.4744 | Blue-screen "This system may be infected" | |
Parity.Boot.A | Blue-screen "INACCESSIBLE BOOT DEVICE" | |
Peanut | Blue-screen "This system may be infected" | |
Spanish_Telecom | Blue-screen "INACCESSIBLE BOOT DEVICE" | |
Stonehenge.B | NT bootet einwandfrei |
Was aber nun tun, wenn ein infizierte NT-Maschine nicht mehr bootet ? Glücklicherweise
beinhaltet NT einige mehr oder weniger dokumentierte Features, die verwendet
werden können, um ein solches System wieder zu restaurieren. So besitzt das
NTFS zum Beispiel eine Kopie des MBR, die zur Restaurierung verwendet werden
kann.
Wenn unter NT ein NTFS eingerichtet wird, wird der BS genau in die
Mitte der Partition kopiert. Man kann nun mit einem DOS-Utility, z.B. Norton
Disk EDITOR, diese Kopie wieder über den infizierten BS kopieren, was
wahrscheinlich auch von den NT-Utilities beim Recovery gemacht wird. Das ganze
funktioniert natürlich nur deshalb, weil die DOS-BS-Viren keine Ahnung von
der Existenz dieser Kopie haben, diese also auch nicht infizieren. BS-Viren, die
für NT angepasst werden würden, werden wohl in Zukunft auch diese
saubere Kopie infizieren. Windows NT legt ebenfalls eine Kopie des MBR an,
allerdings nicht an einer bestimmten Stelle (wie bei der Kopie des BS).
Interessanter Weise ist die Position der MBR-Kopie noch nicht mal an
Sektor-Grenzen gebunden, weshalb anzunehmen ist, das diese Kopie nicht mit einem
Sektor-Kopier-Programm erstellt wird. Es besteht die Möglichkeit, das diese
Kopie Bestandteil des Sicherheitsbereichs der Registrierung ist. Auf alle Fälle
kann mit einem Disktool nach der Kopie des MBR gesucht werden und mit dieser
dann ein infizierter MBR ersetzt werden. Und ganz zum Schluß gibt es noch
die, ebenfalls nicht dokumentierte, Möglichkeit, ein NT System von Diskette
zu booten.
Mit so einer Diskette kann man ein infiziertes NT-System booten und dann mit einem, unter NT lauffähigen AV-Programm den Virus entfernen.