Der folgende Vortrag wurde anläßlich des VHM/VIRUS.GER-Treffens am 31.08.1996 gehalten.
von Stefan Meisel
Unter der Überschrift "nützlicher Virus" - mit
Fragezeichen - möchte ich einen Bootvirus vorstellen, der in USA seit 1993
ziemlich bekannt ist, an Universitäten kursiert und dort beinahe sowas wie
einen Kultstatus hat. Ich bin der Meinung, daß man auch dieses Programm
kennen sollte, wenn man sich mit Viren beschäftigt. Das Beispiel zeigt nämlich,
daß Virustechnologie für die Verfolgung bestimmter Ziele auch als nützlich
empfunden werden kann. Meine Informationen stammen im wesentlichen aus dem
Internet, aus dem Buch "The Giant Black Book of Computer Viruses" von
Mark Ludwig sowie aus der, dem Virus beigefügten Dokumentation (24 Seiten).
Auch im Viruslexikon von AVP (AVPVE) ist der Virus kurz erwähnt. Ich habe
ein funktionierendes Sample aufgetrieben, bei Interesse können wir uns den
Virus auch noch gemeinsam ansehen.
Sein Name ist "KOH". Zunächst
abgeleitet aus den Initialen des ursprünglichen Autors (oder der
Autorengemeinschaft) "The King Of Hearts" bekam er aufgrund der Namensähnlichkeit
mit der chemischen Formel für Kalilauge den Aliasnamen "Potassium
Hydroxide". Der Vergleich mit einer zersetzenden Substanz war hier sicher
nicht ganz unbeabsichtigt.
Steckbrief KOH
Virusname: KOH, Potassium Hydroxide
Herkunft: USA / Mexiko, 1993
Autor: The King Of Hearts
Letzte Version: 1.03
Virustyp: Resident, Stealth, Bootvirus
Größe: Festplatte:
10 Sektoren, Memory: 9776 Byte
Infiziert: HDD Partition, FDD Bootsektoren
Symptome: TOM um 10K reduziert
HDD und FDD mit Paßwort verschlüsselt
(IDEA-Encryption)
Reinigung: nur mit Paßwort, durch Hotkey Ctrl-Alt-H
(FDISK /MBR führt zu Datenverlust!)
Warum ein Virus? Wie
jeder andere Computervirus auch, ist KOH in erster Linie nicht weiteres als ein
Computerprogramm. In diesem Fall ist es ein Programmsystem mit der Aufgabe,
Computerdaten zu verschlüsseln und die Zugangsberechtigung zu
kontrollieren. Das Besondere daran ist, daß hier die Verschlüsselung
ausgerechnet zur Datensicherheit dienen sollte und deshalb mit einer wirklich
ernsthaften Kryptographie gearbeitet wurde. Der Algorithmus unterliegt den
amerikanischen Technologie-Exportbeschränkungen. Es gibt ja nun schon eine
ganze Reihe von Software- und Firmware-Lösungen für das Problem "Zugangskontrolle"
am PC.
Warum hat der Autor von KOH dann für diesen Zweck einen
Bootsektorvirus gebaut?
1. Der Autor wollte, daß das Programm
uneingeschränkt Freeware ist und hohe Verbreitung findet. Dies ist bei
Virenprogrammen naturgemäß der Fall.
2. Um vollständige
Kontrolle über eine Festplatte, einschließlich aller
Systembereiche und Treiber, zu erlangen, ist der Master Boot Record ein
idealer Platz für das Programm. Der MBR wird noch vor dem
Betriebssystem geladen.
3. Die Verschlüsselung sollte einfach
handzuhaben und für den Anwender völlig transparent sein. Hierbei
wird die typische Vireneigenschaft ausgenutzt, sich selbst zu replizieren.
Der Anwender muß sich nicht um die Verschlüsselung von Disketten
kümmern, dies geschieht automatisch. Auch das Programm für die
Entschlüsselung, der Virus nämlich, wird automatisch mit auf die
Diskette kopiert.
Am Rande sei hier bemerkt, daß die Idee, Virentechnologie für
die Lösung von Standard-Softwareaufgaben einzusetzen, nichts Außergewöhnliches
oder Neues ist. Der Cruncher-Virus von Masud Khafir aus der TridenT-Gruppe zum
Beispiel komprimiert jedes aktuell ausgeführte Programm (in der Variante
.4000 auch EXE-Dateien) mit der Diet-Methode, wenn er resident im Speicher ist.
Auf diese Weise soll automatisch Festplattenplatz gespart werden. Es wurden auch
Viren zur Virenbekämpfung entworfen, zum Beispiel die AVV-Familie (AVV.1667
und AVV.2300), hier als nichtresidente Direktinfektoren für COM-Dateien,
die den Arbeitsspeicher nach bekannten Virensignaturen durchsuchen und
entsprechende Warnungen ausgeben.
Installation von KOH
Um seine Eigenschaft als nützlicher
Virus herauszustellen, führt KOH mit dem Anwender einen Dialog, bevor er
eine Festplatte infiziert und verschluesselt. Ausgangspunkt ist entweder ein
Generation-1 Sample (das Programm KOH.COM) oder eine mit KOH infizierte, verschlüsselte
Diskette, von der gebootet werden muß. Das ist aber im Grunde nur der
zweite Schritt vor dem ersten. Der Installations- (oder Infektions-)Vorgang läuft
folgendermaßen ab: Der Anwender erstellt eine bootfähige Diskette
(mit format a: /s) Die Diskette wird mit dem Kommando koh a: kohifiziert. Zunächst
wird ein Passwort bzw. ein pass phrase (ähnlich PGP, max 128 Char) für
die Diskette abgefragt, dann die Diskette verschluesselt. Zuletzt wird die
Diskette infiziert. KOH sitzt nun auf der Diskette. Der Virus ist zu diesem
Zeitpunkt noch nicht im Speicher, die Diskette also nicht mehr lesbar. Um die
Diskette lesen zu können, muß nun von dieser Diskette gebooted (!)
werden. Der Anwender bootet von Diskette. KOH wird in den Speicher geladen und
fragt, ob er sich jetzt gleich über die Harddisk hermachen soll (Migrate to
hard drive?). Wird die Frage verneint, fragt KOH nach dem Diskettenpasswort.
Sobald es eingegeben wurde, wird von Diskette gebootet. Dies führt natürlich
zu nichts außer einer Fehlermeldung, wenn das keine Bootdiskette ist. Aber
falls von dieser Diskette tatsächlich gebootet werden kann, dann ist die
Diskette wieder lesbar. Ab sofort wird jede Diskette, auf die in diesem System
ein Lesezugriff erfolgt, von KOH infiziert und verschlüsselt, ohne Rückfrage.
(Dieses Verhalten ist allerdings durch einen Hotkey ausschaltbar.) Der Autor von
KOH rät dringend zur Datensicherung, bevor die Frage nach "Migrate to
hard drive" mit "Y" beantwortet wird. Der Anwender antwortet mit "Y".
KOH installiert sich im MBR und fragt nach dem Diskettenpaßwort, um von
der Diskette das System zu laden. Die Paßwortabfrage kann jetzt ignoriert
werden, denn an diesem Punkt soll der Anwender von Festplatte booten. Immerhin -
noch ist die Festplatte nicht verschlüsselt. Dies ist gewissermaßen
der "Point of no return". An dieser Stelle unterbricht "King of
Hearts" seine Installationsanweisung, um den Anwender aufzufordern, nochmal
zu prüfen, ob der Festplattenzugriff überhaupt noch funktioniert. Der
Grund: Die Festplatte ist zwar noch nicht verschlüsselt, aber der
Int-13h-Handler bereits installiert. Falls nicht - und es gibt durchaus
Situationen, in denen dann nichts mehr geht - ist dies die letzte Chance, den
Virus ohne Schaden zu entfernen. Nach dem Booten von Festplatte folgen dann
nacheinander Abfragen, ob mit der Verschlüsselung begonnen werden soll und
welche Paßworte für Festplatte und Disketten gelten sollen. Hierbei
wird auch ein Random Key erzeugt, den der Benutzer durch die Zeitdauer von
Tastatureingaben initialisieren muß. Wenn alles geklappt hat, ist der
Rechner mit einer ziemlich handfesten Encryption Logik verschlüsselt.
Hotkeys
Sobald der Virus aktiv ist, läßt er sich mit
folgenden Hotkeys steuern:
Ctrl-Alt-K: Change Pass Phrase
Ctrl-Alt-O:
Floppy Disk Migration Toggle
Ctrl-Alt-H: Uninstall IDEA-Encryption
Werfen wir noch einen Blick auf das Verschlüsselungsverfahren.
KOH verwendet den International Data Encryption Algorithm. Hierbei wird ein
16-Byte Schlüssel für einen 16 Byte großen Datenblock verwendet.
Im Virus sind drei 16-Byte-Schlüssel hinterlegt, HD_KEY, HD_HPP und FD_HPP.
Außerdem kann die Engine noch mit einem 8-Byte Vektor (IW) angesteuert
werden. Wenn sich dieser Vektor ändert, ändert sich auch der Output
der Engine. Die Verschlüsselung wird über den Interrupt 13h auf
Sektorebene angewandt und erfaßt das gesamte Filesystem des Datenträgers.
KOH setzt den Vektor IW ein, um die Verschlüsselung von Sektor zu Sektor zu
wechseln. Nachdem ein Sektor 512 Byte groß ist, wird die Engine für
jeden Sektor 32 mal aufgerufen. Natürlich führt diese aufwendige
Verschlüsselung auf einer großen Festplatte zu erheblichen
Performanceproblemen. Eine Änderung des Paßworts der Festplatte würde
bedeuten, daß die gesamte HD mit dem alten Key entschlüsselt und mit
dem neuen wieder verschlüsselt werden müsste. Dieser Vorgang würde
mehrere Stunden dauern. KOH geht deshalb hier einen anderen Weg. Für die HD
werden zwei Schlüssel benutzt, HD_KEY und HD_HPP. HD_HPP ist ein fester
Schlüssel, der durch die Random-Eingaben des Benutzers erzeugt wurde.
Dieser Schlüssel wird zusammen mit FD_HPP in einem gesonderten Sektor
gehalten. Dieser Sektor ist wiederum mit HD_KEY verschlüsselt. Bei einer Paßwortänderung
wird nur der Schlüssel HD_KEY neu generiert und die beiden anderen Schlüssel
damit neu verschlüsselt.
King of Hearts schreibt sinngemäß über IDEA: Dieser
Algorithmus wurde in den 80er Jahren in Europa entworfen und war als Alternative
zum Verfahren DES (Data Encryption Standard) gedacht. Obwohl sich DES als recht
guter Algorithmus erwiesen hat, der dem Privatmann gute Dienste leistet, haftet
ihm doch der Makel an, daß er von der US-Regierung bzw. der National
Security Agency entwickelt worden ist. Der Verdacht, daß die NSA
irgendeine Hintertür kennt, und weiß, wie man DES knacken kann, war
bis heute nie ganz auszuräumen.
Probleme
Auf den Anwender einer derart radikalen Software
lauern natürlich etliche
Gefahren. Wenn während einer der Initialisierungsphasen der Strom
ausfällt, ist der Festplatteninhalt unrettbar durch den Fleischwolf
gedreht. Das Encryption-Verfahren kostet viel Rechnerleistung. King of Hearts
empfiehlt den Einsatz eines schnellen Rechners und eines Plattencache-Programms,
was die Anwendung natürlich auch nicht sicherer macht. Das Programm KOH
steht und fällt mit der Funktionsfähigkeit seines Int-13h-Handlers.
Bereits ein SCSI-Treiber in der config.sys, der den Platteninterrupt vollständig
übernimmt, kann den Rechner unbrauchbar machen. Das gilt natürlich
auch für virtuelle Devicetreiber (VxDs) unter Windows, die BIOS-Zugriffe
vollständig emulieren. Unter Win3.11 soll KOH einsetzbar sein, falls man
den 32Bit-Plattenzugriff abschaltet. Im Falle einer Zirkularinfektion mit einem
anderen Bootvirus wird es erhebliche Probleme geben. Auch der Tastaturtreiber,
der die Hotkeys abfängt, ist eine Fehlerquelle. Hier besteht die Möglichkeit,
daß es mit anderen Programmen Konflikte gibt. Die Portierung der Daten von
einer Datendiskette (also ohne System) auf einen anderen Rechner ist nur durch
Infektion des anderen Rechners möglich. (Immerhin muß ja gebootet
werden, und wenn die Frage nach der Festplatteninfektion verneint wird, bleibt
nur noch das Booten von Diskette, was ohne System nicht geht.)
Ein Hintergedanke... Wenn man die genannten Probleme betrachtet, die übrigens
typisch für Bootviren sind, muß man sich fragen: Woher kommt dann der
seltsame Kultstatus, der z.B. Mark Ludwig veranlaßt, für diesen Virus
massiv zu werben und ihm immerhin 52 Buchseiten zu widmen? Dazu muß man
eine Eigenart der amerikanische Mentalität verstehen, die darin besteht,
ziemlich hysterisch zu reagieren, wenn bestimmte persönliche Freiheiten von
Einschränkung bedroht sind. Gemeint ist hier speziell die Freiheit zur persönlichen
Datenverschlüsselung. Es gibt, nicht nur in USA, eine weltweite Bestrebung
aller Regierungen, Verschlüsselungsverfahren grundsätzlich zu
verbieten. Schließlich muß es den Behörden für die
Verbrechensbekämpfung möglich sein, jeden Datenverkehr abzuhören
und zu überprüfen. Dabei gibt es einen Trend, Verschlüsselung nur
noch zuzulassen, wenn eine zuverlässige Hintertür für die
Sicherheitsorgane eingebaut ist. Wer etwas zu verbergen hat, macht sich verdächtig.
Vielleicht ist dies der vierte, und letzte Grund, warum das Verschlüsselungsprogramm
KOH als Virus konzipiert wurde. In der heutigen Praxis wird das KOH-Programm als
Sourcecode verbreitet, von jedem Anwender selbst kompiliert und ganz bewußt
eingesetzt. Dies könnte sich aber ändern. Mit ein paar Handgriffen wäre
der KOH-Virus so umgebaut, daß er die Rückfragen an den Anwender
unterläßt. Bei einer Infektion würde der Virus ersteinmal alles
verschlüsseln und ganz zuletzt nach einem User-Paßwort fragen. Tatsächlich
ist das Software-Konzept bereits jetzt schon genau auf diese Möglichkeit
vorbereitet. Aus dem bewußten Einsatz einer Verschlüsselung wird der
unbewußte Einsatz. Rein rechtlich gesehen, wird aus dem Täter ein
Opfer. Was kann der Anwender denn dafür, daß ihm dieser abscheuliche
Virus die ganzen Daten verschlüsselt hat? Wie soll er denn den Virus ohne
Datenverlust wieder loswerden? Woher der Virus kommt? Ja, woher kommen denn die
ganzen Viren? KOH-Ein nützlicher Virus?
© 1996 Stefan Meisel, VHM - Alle Rechte vorbehalten!
Dieser Vortrag darf ohne vorherige ausdrückliche Genehmigung durch den Verfasser Stefan Meisel weder in seiner Gesamtheit noch in Teilen weiterverbreitet, abgedruckt oder kommerziell genutzt werden!
HTML-© by Rainer Link - VHM, 03.10.1996. Alle Rechte vorbehalten.