# Rushhour (Computervirus)

Rushhour ist ein Computervirus, das Programmdateien infiziert. Es war nicht zur unkontrollierten Verbreitung, sondern als Demonstration gedacht. Rushhour sollte die Möglichkeiten eines viralen Codes praktisch darstellen. Der Name des Virus wurde meist in Versalien gesetzt RUSHHOUR, oder manchmal mit Leerzeichen RUSH HOUR geschrieben.
Bernd Fix, ein Experte für IT-Sicherheit und Mitglied im Chaos Computer Club, entwickelte das Schadprogramm im Jahr 1986. Seine Absicht war es, das Thema Computerviren und die daraus resultierenden Gefahren in der Öffentlichkeit bekannt zu machen. Daher veröffentlichte er das Konzept und den Code des Virus in Ausgabe 17 der Zeitschrift Die Datenschleuder, die bis heute unregelmäßig vom Chaos Computer Club herausgegeben wird.
Malware spielte in dieser Zeit praktisch noch keine Rolle, Computerviren waren vielen Anwendern kein Begriff oder wurden als urbaner Mythos angesehen. Das änderte sich in den nächsten Jahren zumindest in Fachkreisen langsam. In Folge der Michelangelo-Hysterie von 1992 wurde das Thema schließlich endgültig weltweit auch dem Mainstream bekannt.

## Konzept

Rushhour war dazu gedacht, der Öffentlichkeit die in den nächsten Jahren unweigerlich bevorstehenden Probleme mit Malware zu verdeutlichen. Da das Virus somit gezielt zur Veröffentlichung entwickelt wurde, dokumentierte der Urheber Bernd Fix auch die Entstehung.
Er hatte sich im Vorfeld folgende Anforderungen gestellt, die sein Virusprogramm erfüllen sollte:
* Der infektiöse Code sollte so unauffällig wie möglich arbeiten, d. h. keine Disketten- oder Plattenzugriffe erzeugen, die aufmerksamen Anwendern verdächtig vorkommen könnten.
* Weitere Programme, Treiber und Hintergrunddienste sollten auf dem infizierten Rechner uneingeschränkt und ungestört weiter laufen.
* Das Virus sollte sich kontrolliert vervielfältigen, indem es nur bestimmte Dateien befällt. Dadurch wurde die Effizienz der Verbreitung auf andere Rechner nicht beeinträchtigt, aber die Anzahl der infizierten Dateien auf dem jeweiligen System deutlich reduziert. Anfangs hatte Fix eigentlich geplant, ein Virus zu schreiben, das sich in jedes lauffähige MS-DOS-Programm (COM und EXE) einbinden kann. Diesen Plan verwarf er aber, da COM und EXE in ihrer Dateistruktur komplett unterschiedlich aufgebaut sind. Das Virus müsste daher zwischen beiden Arten unterscheiden können und sich dann auch selbst der jeweiligen Struktur anpassen. Die Programmlänge des Viruscodes wäre durch eine derartige Routine deutlich länger geworden. Zudem wäre eine Infektion aller Programmdateien durch den deutlich höheren Verbrauch von Speicherkapazität auf den damals zeitgemäßen Datenträgern eventuell auffällig gewesen. Bernd Fix fand eine Lösung, die RAM und Speicherplatz auf dem Datenträger im Endeffekt nicht reduzierte.
* Der Payload des Virus, und damit die Aktivität, mit der sich die Virusinfektion dem Anwender zu erkennen gibt, sollte zeitverzögert einsetzen. Dadurch war nicht nur eine effektivere Verbreitung möglich. Auch die Herkunft des Virus, bzw. der Verursacher und die Quelle der Infektion, wurde besser verschleiert.
Bernd Fix hatte auch die Absicht, ein Resultat zu erzielen, das für die erste vollständige Veröffentlichung eines Viruscodes möglichst gut geeignet war. Sein Ziel war ein voll funktionsfähiges aber unschädliches Virus, das keine größere Verbreitung finden sollte. Einerseits sollte der Code alle definitionsgemäßen Eigenschaften eines Computervirus besitzen, dabei aber nicht destruktiv wirken. Außerdem sollte der Code sich möglichst unauffällig verhalten, um zu verdeutlichen, das man mit einfachsten Mitteln eine heimliche Infektion ohne Wissen des Anwenders erzielen kann. Um Mehrfachinfektion zu vermeiden, hatte Fix zudem eine simple Sicherheitssperre in die Infektionsroutine eingebaut. Die einzige für eine Infektion geeignete Datei auf dem System musste die Uhrzeit 09:00:03 im Directory eingetragen haben, was bei einer Standardinstallation von MS-DOS der Fall war. Man konnte seinen PC aber problemlos gegen eine Infektion mit Rushhour „impfen“, da sich die Zeitangabe manuell ändern ließ.
Für die Erstinfektion assemblierte Bernd Fix den erstellten Quellcode. Anschließend fügte er ihn mit einem Hex-Editor gemeinsam mit dem IBM-Tastaturtreiber in eine selbsterstellte Datei namens KEYBGR.COM ein. Der Dateiname steht für Keyboard German. Da er dabei versehentlich den Anfang des Viruscodes überschrieb, waren noch kleinere Korrekturen nötig. Nach kurzer Zeit war das Virus voll funktionsfähig.

## Funktion

Rushhour ist auf allen IBM-kompatiblen PC mit deutschem MS-DOS-Tastaturtreiber lauffähig. Zu anderen MS-DOS-Rechnern, wie z. B. Olivetti, ist das Virus meist nicht kompatibel, da der Tastaturtreiber als Wirtsdatei nicht ausgenutzt werden kann.
In der von Bernd Fix veröffentlichten Urversion von Rushhour ist ein Text im Viruscode enthalten:
Anm.: Die Falschschreibungen von „das/dass“ und „Author/Autor“ sind dem Originalcode entnommen. Das grammatikalische Maskulinum für den Begriff „Virus“ ist außerhalb der Fachsprache üblich.
Später wurde auch eine englische und eine niederländische Version mit gleicher Semantik bekannt:

### Infektionsroutine

Das Virus verwendet ausschließlich die Datei KEYBGR.COM zur Infektion. Die meisten IBM-kompatiblen Rechner arbeiteten im Jahr 1986 mit MS-DOS 2.11.
Da die Treiberdatei nicht nur für IBM-PC, sondern auch für andere MS-DOS-kompatible Rechner vorgesehen war, hatte sie eine Größe von 6549 Bytes. Beispielsweise besaß der Olivetti M24 eine vergleichsweise komplexere Tastatur und wurde ebenfalls von der Treiberdatei unterstützt. Ein reiner IBM-Treiber hätte nur 1543 Bytes Systemspeicher belegt, ein Unterschied, der für Anwender eines damals zeitgemäßen Rechners durchaus relevant sein konnte. Bei einer MS-DOS-Standardinstallation wurde der Treiber zudem in den konventionellen Speicher geladen, der möglichst für Anwendungen freigehalten werden sollte. Daher verwendeten User mit entsprechender Sachkenntnis lieber den hohen Speicherbereich für Treiber. Auf die Funktion von Rushhour wirkte sich das nicht aus.
Wenn das Virus im Speicher resident ist, sucht es bei jedem vom Benutzer erzeugten Disketten- oder Festplattenzugriff im aktuellen Directory nach dem Tastaturtreiber. Als Markierung, ob die Datei bereits infiziert ist, dient dabei die Zeit der letzten Änderung der Datei. Die Originaldatei hat eine gespeicherte Zeit von 9:00:03 Uhr. Der DOS-Befehl DIR zeigt allerdings nur 9:00 Uhr an. Bei einer bereits infizierten Datei wird die Zeitangabe auf 9:00:00 Uhr gesetzt. Somit ist für den viralen Code eine Unterscheidung allein aus dem Directory-Eintrag ohne einen langwierigen, bzw. auffälligen Zugriff möglich. Der Anwender bemerkt den Unterschied beim Aufruf des Directory nicht.
Das Rushhour-Virus schaffte sich in der Datei Platz, indem es alle unbenötigten Treiberinformationen entfernte. Inklusive des 457 Bytes langen Viruscodes hatte die Datei nun eine Größe von 2000 Bytes. Da der geladene Treiber trotz des angehängten Viruscodes in diesem Fall auch weniger Systemspeicher verbrauchen würde, hätte sich eine derartige Infektion im Endeffekt positiv für den Anwender ausgewirkt. Das wäre aber möglicherweise aufgefallen. Daher war es sinnvoll, das Virus noch um weitere 4549 Bytes zu erweitern. So war die reguläre Dateigröße wieder hergestellt und das Virus war besser getarnt. Bernd Fix verwendete dafür eine Textnachricht, in der er vor der potentiellen Gefahr durch schädliche Computerviren warnte. Rushhour verhielt sich abgesehen vom Payload zwar möglichst unauffällig, verwendete aber keine richtigen Stealth-Techniken.
Einfacher als die vergleichsweise umständliche Infektion, wäre ein komplettes Überschreiben der Datei mit einer neuen Version gewesen. Dann wäre Rushhour aber kein Virus, sondern ein Computerwurm. Da es bei Bernd Fix’ Projekt grundsätzlich darum ging, viralen Code zu präsentieren, kam diese simplere Möglichkeit der Ausbreitung nicht in Frage.

### Payload

Sobald das Virus mindestens 15 Minuten aktiv ist, erzeugt jeder Tastendruck und jede Bildschirmausgabe eines Zeichens ein kurzes Rauschen im PC-Lautsprecher. Bernd Fix bezeichnete das Geräusch als „Pchchch!“.
Prinzipiell widersprach der Payload dem restlichen Konzept des Virus, sich möglichst unauffällig zu verhalten. Bernd Fix wollte jedoch auch verdeutlichen, dass ein derartiges Programm alternativ auch schädliches Verhalten zeigen könnte.