[Chaos CD]
[HaBi 2]    Funktion und Aufbau des Virus "RUSHHOUR"
[Gescannte Version] [ -- ] [ ++ ] [Suchen]  

 

Funktion und Aufbau des Virus "RUSHHOUR"

(Läuft auf allen IBM-kompatiblen Rechnern, nicht jedoch auf allen MS-DOS Rechnern wie Olivetti usw.) Viel über allgemeine Computerviren will ich hier nicht reden, sondern nur den Aufbau und die Funktion meines Virus erklären. Folgende Forderungen an das VirusProgramm hatte ich mir gestellt:
  1. Es sollte so unauffällig wie möglich arbeiten, d.h. kein Disketten- oder Plattenzugriff, der dem aufmerksamen (!!) Benutzer unlogisch vorkommt.
  2. Absolut alle bisher auf dem Rechner lauffähigen Programme sollten weiterhin völlig normal rechnen.
  3. Der Virus sollte sich kontrolliert vervielfältigen, d.h. er sollte sich nicht an jedes Programm hängen, damit seine Existenz nicht durch eine immer mehr belegte Platte/Diskette auffällt.
  4. Die Aktivität des Virus sollte zeitverzögert einsetzen, um die Herkunft des Virus (also: welches Programm hat den Virus eingeschleust) zu verschleiern.
Am Anfang hatte ich mir überlegt, einen Virus zu schreiben, der sich in jedes lauffähige Programm (.COM oder EXE) einbinden kann. Das ließ ich dann aber aus folgenden Gründen sein:
  1. .COM und .EXE-Files sind unterschiedlich in ihrer Dateistruktur. Das V-Programm muß zwischen den Arten unterscheiden können und sich selbst der Struktur anpassen. Das kostet unter Umständen sehr viel Speicherplatz für den Virus.
  2. Eine Infektion von so vielen Dateien ist durch den vermehrten Platzbedarf auf dem Speichermedium auffällig.
Ich entschloß mich daher, den folgenden Weg zu gehen:

Der Virus setzt sich nur in einem bestimmten Programm fest, das vom Computer unbedingt benötigt wird, also im Betriebssystem oder in einem Teil davon. Ich wählte den Tastaturtreiber KEYBGR.COM für diesen Zweck. Der Grund dafür war einfach, daß die meisten IBM-kompatiblen Rechner nicht mit PCDOS 2.0, sondern mit dem (fast!) identischen MSDOS 2.11 arbeiten. Dieses MS-DOS, bzw. dessen Tastatur-Treiber, war für den Olivetti M24 vorgesehen, der im Vergleich zum IBM eine komplexere Tastatur besitzt. Läuft der Tastaturtreiber auf einem IBM, so ist das Vergeudung, der eigentlich benötigte Tastaturtreiber umfaßt nur 1543 Bytes, während der benutzte 6549 Bytes lang ist. Ich hängte also an den IBMTreiber einfach mein Virus-Programm und der Treiber war schon etwa 2000 Bytes lang - dann wurde er noch auf die "benötigten", d.h. unauffälligen 6549 Bytes erweitert (hier könnte z.B. ein 4500 Zeichen langer Text über die Gefährlichkeit der Computerviren abgelegt werden) - und fertig ist der Virus.

Der Virus sucht, wenn er im System ist, bei jedem vom Benutzer erzeugten Platten/Diskettenzugriff im aktuellen Directory nach dem Tastaturtreiber. Die Unterscheidung infiziert/sauber wird nach der Zeit der letzten Änderung des Files KEYBGR.COM getroffen. Das MS- DOS File hat eine gespeicherte Zeit

von 9:00:03 (angezeigt im DIR wird 9:00 ) während das infizierte die Dateizeit von 9:00:00 hat. Somit ist eine Unterscheidung allein aus dem Directory-Eintrag ohne langwierigen weiteren Diskettenzugriff möglich.

Alles weiteren wichtigen Informationen geben die Kommentare im Quellcode.

Ergänzungen der Redaktion zum Virusprogramm:

Der Virus muß nun noch assembliert, gelinkt und dann in ein COM- File gewandelt werden. Mittels eines geeigneten Monitors werden nacheinander der Virus und der Tastaturtreiber geladen und mit 6549 Bytes als KEYOGR.COM zurückgeschrieben. Gegebenenfalls muß der durch den Treiber überschriebene Virusanfang restauriert werden, bevor das infizierte File auf Disk geschrieben wird. Das sollte für einen geübten Assemblerprogrammierer kein Problem sein. Der vorliegende Virus zeichnet sich übrigens durch einige Besonderheiten aus, die ihn als besonders geeignet für die erste vollständige Veröffentlichung eines virussourcecodes erscheinen lassen: Er hat alle Eigenschaften eines Virus, ohne zerstörend zu wirken, wenngleich auch unbedarfte Anwender, die den Virus einfangen, an Hardwaredefekte denken mögen. Der Virus arbeitet im Verborgenen und wird nur dann aktiv, wenn ohnehin durch den Anwender auf Diskette/Platte zugegriffen wird, er fällt also nicht so leicht auf. Drittens kann man den Virus kontrollieren, weil er ja nur das Programm KEYBGR-COM befällt, und das auch nur, wenn dieses Programm mit der Uhrzeit 09.00.03 im Directory steht. Dieser Umstand führte in der Redaktion zu argen Schwierigkeiten, denn für den als Versuchskaninchen ausgesuchten Rechner gab es zunächst kein KEYBGR.COM, welches den Ansprüchen des Virus genügt. Kurzum, es ist ein Virus, der voll funktionsfähig ist, aber wohl kaum größere Verbreitung finden dürfte.

Die Virusaktivität besteht darin, daß bei jedem Tastendruck und Bildschirmausgabe eines Zeichens ein kurzes Rauschen ("Pchchch!") zu hören ist und der Benutzer an einen Hardwarefehler denken könnte.

 

  [Chaos CD]
[HaBi 2]    Funktion und Aufbau des Virus "RUSHHOUR"
[Gescannte Version] [ -- ] [ ++ ] [Suchen]