Der folgende Vortrag wurde anläßlich des VHM/VIRUS.GER-Treffens am 31.08.1996 gehalten.


KOH - Ein nützlicher Virus?

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!


Konferenz-Übersicht

VHM-Startseite




HTML-© by Rainer Link - VHM, 03.10.1996. Alle Rechte vorbehalten.