H+BEDV Datentechnik GmbH

Homepage
Produkte

News

Virenkunde

Downloads

Support
Kontakt
 
English

Copyright 1998-2000
webmaster@antivir.de
Virenbeschreibung

av_shad.gif (1951 Byte)

 

W95/CIH

Alias: PE_CIH, CIH, Tschernobyl, Spacefiller
Merkmale: Resident, PE-Infector (Windows-EXE)
Textstring: Version 1.2  CIH v1.2 TTIT
  Version 1.3 CIH v1.3 TTIT
  Version 1.4  CIH v1.4 TATUNG
Länge: Version 1.2  1003 Bytes
  Version 1.3 1010 Bytes
  Version 1.4  1019 Bytes
Plattform: Windows 95/Windows 98

 

Allgemeine Informationen:

W95/CIH ist ein residenter Virus, der Windows-Programme (PE-Dateien) befällt. Er infiziert PE-Dateien derart, daß die Länge infizierter Dateien nicht verändert wird. Anhand der Kenntnisse über unbenutzte Bereiche innerhalb dieser PE-Dateien kann er sich in mehrere Teile aufteilen. W95/CIH enthält destruktive Schadensroutinen: Überschreiben des BIOS im Flash-ROM und Überschreiben aller Festplatten. 

Dieser Virus ist in den letzten zwei Wochen verstärkt auch in Deutschland aufgetreten. H+BEDV stellte bereits mit der Version 5.13.1 eine wirksame und leistungsfähige Sucherkennung zu Verfügung. Mit der jetzt freigegebenen Version 5.13.2 ist nun auch die Reparatur dieses Virus möglich. AntiVir geht hier den nicht sonst üblichen Weg, nur den Ladeteil des Virus zu deaktivieren ("Metzgermessermethode"), sondern es erfolgt eine Reparatur nach der "Skalpellmethode". Da W95/CIH sich bei der Infektion einer Datei selbst in verschiedene Teile aufteilt und über verschiedene Sektionen in der zu infizierenden Datei verstreut, müssen bei einer Reparatur alle vom Virus veränderten Sektionen gesondert behandelt werden. Dadurch läuft AntiVir nicht Gefahr, Teile des Virus intakt zu lassen. 

Viele andere Antivirenprogramme überschreiben nur die Installationsroutine des Virus oder "reparieren" allein durch Berichtigen des Programmeinsprunges. So verbleiben andere Teile des Virus in der eigentlich immer noch infizierten Datei in ausführbarer Form. Dies bedeutet, daß auch die Schadensroutinen noch in der Datei vorhanden sind und ggf. auch unkontrolliert (z.B. durch Programmabsturz, Fehler im Wirtsprogramm, Doppelinfektion etc.) ausgeführt werden können. 

Da AntiVir genaue Kenntnisse sowohl über den Aufbau des Virus als auch den Aufbau der PE-Dateien besitzt, ist es AntiVir möglich, eine Qualitätsreparatur durchzuführen. AntiVir entfernt die einzelnen Teile des Virus in den unterschiedlichen Sektionen und stellt die internen Verwaltungsinformationen der Sektionen wieder her. Hierdurch sind diese Programme nach Reparatur durch AntiVir wieder gefahrlos einsetzbar. 

Die Schadensroutinen des Virus variieren je nach Version. Die Version 1.2 versucht am 26. April und die Version 1.3 am 26. Juni eines jeden Jahres das BIOS im Flash-ROM zu überschreiben. Die Version 1.4, sie ist momentan die am häufigsten festgestellte Version, scheint eine Weiterentwicklung zu sein: Sie versucht das Überschreiben des BIOS im Flash-ROM am 26. eines jeden Monats durchzuführen. Allen Versionen gemeinsam ist, daß auch noch alle Festplatten am jeweiligen Auslösedatum durch direkte Zugriffe überschrieben werden. Damit dürften die meisten sog. Notfalldisketten wertlos sein, wenn nicht zusätzlich ein komplettes Backup vorliegt! 

Da von dieser Art der Schadensroutinen alsbald Nachahmer zu erwarten sind, stellt die H+BEDV PC-Anwendern das Leseprogramm IROMREAD für Flash-ROM zur Verfügung. Dieses Programm liest den Inhalt eines Flash-ROMs über den jeweiligen Chipsatz aus und speichert die Daten als Datei auf einem Datenträger ab.

 

Technische Informationen:

Persönliche Vorbemerkung: W95/CIH ist nicht unbedingt ein "Killervirus", CIH ist halt ein Virus, der einmal etwas anders, evtl. auch etwas Neues macht. Deswegen geht die Welt nicht unter und es ist auch kein "hardwarezerstörender" Virus (wobei sich aber trefflich über das Bewegen von Atomen in Festplatte/Flash-ROM streiten ließe). Nicht jeder Virus ist gleich so gefährlich, weil aus jeder Pressemitteilung das Blut nur noch so herausläuft. So haben beispielsweise viele englischsprachige Makroviren die angenehme Eigenschaft, auf deutschsprachigen Office-Installationen gar nicht lauffähig zu sein. 

W95/CIH ist ein reinrassiger Windows 95/98-Virus und nur unter diesen beiden Plattformen lauffähig. Aufgrund der von ihm überwachten Schnittstelle zum Dateisystem (IFSMGR-Hook) läuft er nicht unter Windows NT bzw. Windows 3.1x. Er infiziert nur die 32bit-Programmdateien (Windows-EXEs, die PE-Dateien). Wird eine infizierte Datei auf einem nicht infizierten Rechnersystem zum ersten Mal gestartet, fordert er über PageAllocate Speicher an und kopiert zuerst einmal seinen (gerade laufenden) "Infektionsteil" dorthin. Anschließend kopiert er seine übrigen Programmbestandteile ebenfalls in diesen Speicher. Vermutlich aufgrund eines Programmierfehlers fordert W95/CIH insgesamt 8KB an Speicher an, 4KB wären ausreichend gewesen. Zuletzt "klinkt" er sich noch in die Schnittstelle zum Dateisystem (IFSMGR-Hook) ein und übergibt die weitere Kontrolle dem eigentlichen Wirtsprogramm. Durch Überwachen der IFSMGR-Hooks bekommt er jedes Öffnen einer Datei mit und kann entsprechend reagieren. Um nun nicht allzutief in jede neue Datei "hineinzusuchen", ob sie noch infiziert werden muß, bedient sich der Virus eines kleines Tricks: Ist das letzte Byte des DOS-Stubs ("Dieses Programm benötigt Microsoft-Windows") ungleich 00h, dann wird nicht mehr infiziert. 

Der Virus "springt" direkt vom Ring 3 (Ebene der Applikationsprogramme) zum Ring 0 (Ebene der Systemprogramme). Auf diesem Ring 0 stehen dem Virus alle Systemfunktionen zur Verfügung, hier laufen seine wichtigen Programmteile ab. Der Virus prüft alle EXE-Dateien und infiziert ab der Version 1.4 solche EXE-Dateien nicht, die als Sektionsnamen "nZIP" enthalten (der WinZip-SelfExtractor prüft, ob sein Header und/oder seine komplette Sektion unverändert ist). 

Muß infiziert werden, hat der Virus bereits alle wichtigen Informationen parat: Er sucht nach unbenutzten Bereichen ("Löchern") in den einzelnen Sektionen einer PE-Datei. Hierbei ist bis auf die Startsektion, sie muß mindestens 184 Bytes unbelegten Platz frei haben, die Länge des unbelegten Bereiches eigentlich egal. Jede Seite ("Page") belegt unter Windows 95/98 exakt 512 Bytes. Wird vom Wirtsprogramm innerhalb einer Sektion die letzte Page nicht komplett benötigt, bleiben unbenutzte Bereiche übrig. Daß der Virus auch die Verwaltungsinformationen zu diesen einzelnen Sektionen verändert, sei nur am Rande erwähnt. 

Nach einer Infektion überprüft der Virus das Datum, ob seine Auslösebedingung erfüllt ist. Danach versucht W95/CIH sowohl das Flash-ROM als auch die Festplatten zu überschreiben. Festplatten werden über direkte Schreibzugriffe (IOS_SendCommand) angesprochen bzw. überschrieben. 

Am meisten diskutiert wird momentan die Möglichkeit des Löschens oder Überschreibens des Flash-ROMs. Diese Flash-ROMs sind ab Rechnern der Pentium-Klasse im Einsatz. In der Tat sind im Virus Programmsequenzen enthalten, die das Überschreiben des Flash-ROMs in ganz bestimmten Fällen erlauben, jedoch nicht in allen Fällen. Der Virus wurde vermutlich auf einem Rechnersystem mit einem TX-Chipsatz "getestet". Insgesamt ist das Lesen aus einem bzw. das Schreiben in ein Flash-ROM ein mehrstufiger Prozeß und hardwarespezifisch. 

Physikalisch kennt das Rechnersystem bzw. ein Anwendungsprogramm nur Speicheradressen, an die etwas geschrieben bzw. von denen etwas ausgelesen wird. Seit langer Zeit belegt das ROM-BIOS das gesamte F000-Segment im ersten Megabyte Adressraum. In Zeiten von Shadow-ROM müssen aber Daten aus dem "logischen" F000-Segment nicht mehr aus dem "physikalsichen" F000-Segment stammen: Über die Kombination Chipsatz und MMU (Memory Management Unit) kann der komplette ROM-Inhalt schon ins (schnellere) RAM kopiert worden sein. Ein Zugriff auf das F000-Segment wird nun von einer anderen Speicherstelle aus bedient, die irgendwo im Adressraum des Prozessors liegen kann. Darüber hinaus sind die moderneren BIOSse zumeist größer als 64KB, nämlich 128KB, und belegen zusätzlich noch das E000-Segment. Nach dem Booten ist dieser Bereich verschwunden und nicht mehr sichtbar, da der verwendete Programmcode (Setup etc.) nicht mehr benötigt wird. Beim Schreiben auf das Flash-ROM müssen also zuerst wieder "geordnete Verhältnisse" hergestellt werden. Hierzu wird der Chipsatz benötigt, dem über bestimmte Kommandos mitgeteilt werden kann, vom Shadow-ROM bzw. Mapping von Speicherbereichen Abstand zu nehmen. Hat der Chipsatz dies vorgenommen, erst dann kann dem Flash-Writer über geeignete Kommandos mitgeteilt werden, bestimmte Adreßbereiche bzw. Speicherzellen zum Schreiben zu öffnen bzw. vorzubereiten. 

Die Chipsatz-spezifischen Kommandos zum Einblenden der "richtigen" Adreßbereiche können unterschiedlich sein, die Befehle zum Programmieren der Flash-ROMs waren sich bei den getesteten LX/HX/TX-Chipsätzen doch sehr ähnlich. 

Bisher konnten wir folgende Flash-ROM-Typen (nicht Chipsätze) als gefährdet herausfinden:

Flash-ROM

Vpp 

AMD 29F010 5V 
ATMEL 29C010A 3V 
ATMEL 29C010A 5V 
INTEL 28F001BX-T 12V 
INTEL 28F010 12V 
MXIC 28F1000A 12V 
MXIC 28F1000AP 12V 
SST 28EE010 5V 
SST 28EE011 5V 
WINBOND 29ee011 5V 

Die Angabe der Programmierspannung ist deshalb von Interesse, da sich anhand der Programmierspannung ablesen läßt, ob evtl. noch ein Schreibschutzjumper vorhanden ist oder sein müßte. Generell kann gesagt werden, daß alle Flash-ROMs durch solche Attacken "verwundbar" sind, es sei denn, sie haben einen funktionierenden Schreibschutzjumper bzw. eine funktionierende Boot-Block-Protection. Ist der verwendete Typ aus dem 12V-Lager und der Jumper steht in Stellung schreibgeschützt, dann besteht keine Gefahr und das Flash-ROM kann nicht überschrieben werden. Ist das Flash-ROM ein Mehrbereichstyp (dual voltage flashable), dann ist selbst ein vorhandener Schreibschutzjumper mehr oder weniger wertlos. Lediglich in den Fällen, in denen der Boot-Block des Flash-ROMs als extra geschützt markiert ist, wäre nach dem Flashen noch eine Wiederherstellung mit einfachen Mitteln möglich. Bei einigen Flash-ROMs werden (PCI-)Setup-Informationen dynamisch gespeichert, Flash-ROMs werden hier als willkommener Zwischenspeicher "mißbraucht". 

Hat das verwendete Rechnersystem eine zu diesem Virus "kompatible" Chipsatz/Flash-ROM-Kombination, dann versucht der Virus an seinem Auslösedatum Teile des Flash-ROMs mit den Werten 55 und FF zu überschreiben. Stürzt dabei das Rechnersystem mit einem Page Fault ab, wurde vermutlich versucht, in das "nicht umgemappte" E000-Segment zu schreiben bzw. auf den ursprünglichen ("gemappten") Inhalt zuzugreifen. 

W95/CIH ist auf den TX-Chipsatz abgestimmt. Es ist jedoch zu erwarten, daß zukünftige Viren sich nicht nur mit einem Chipsatz "begnügen". Besonders problematisch wird dies, wenn man an eingelötete und/oder dauerhaft beschreibbare Flash-ROMs denkt. Diese werden häufig in Notebooks oder Laptops eingesetzt. Hier ist das Einsenden des kompletten Rechners an den Hersteller schon fast unvermeidlich. Aber auch dem normalen Anwender wird vermutlich ein neues Systemboard verkauft werden, wenn sich das alte als kaputt, sprich nicht mehr bootfähig erweist. 

Intel-Chipsatz-kompatibles Leseprogramm für Flash-ROM

Um für den "Fall des Falles" aber noch eine Kopie seines kompletten BIOS zu haben, wurde das Programm IROMREAD geschaffen. Dieses Programm legt bei handelsüblichen Chipsätzen eine Kopie des BIOS als Datei auf Diskette ab. Die H+BEDV stellt dieses Programme als selbstextrahierendes Diskettenimage zur Verfügung. Der Anwender braucht nur noch eine formatierte 1,44MB-Diskette einzulegen und das Imageprogramm aufzurufen. 

  weitere Virenbeschreibungen
  Virenkunde