# Tremor (Computervirus)

Tremor ist ein Dateivirus, das laut Signatur im Juni 1992 erstellt wurde. In freiem Umlauf wurde das Virus erstmals 1993 in Deutschland entdeckt.
Bekanntheit erlangte Tremor, als es im Jahr 1994 versehentlich über Channel Videodat verbreitet wurde. Das Virus tarnt sich selbst sehr effektiv und besitzt mehrere Funktionen, um einige der damals geläufigen Antivirenprogramme in ihrer Funktion einzuschränken.
Tremor war das erste bekannte polymorphe Stealth-Virus. Nach Tremor haben Viren wie Uruguay, Natas und Neuroquila ähnliche Funktionen implementiert.

## Aliasse

Der geläufige Name stammt vom Autor selbst. Der Payload zeigt aber manchmal eine Signatur mit dem Namen T.R.E.M.O.R. als Bestandteil einer Textmeldung an. Die Bezeichnung Tremor kommt möglicherweise von einem weiteren Effekt des Payload, der den Bildschirminhalt kurz wackeln lässt; vergleichbar mit dem Zittern bei einem krankhaften Tremor.
Die belgische Industrial-Band Front 242 hat auf dem Innencover ihres Albums Front By Front von 1988 den Satz "moment of the terror is the beginning of Life" abgedruckt. Auf dem Album Tyranny (For You) von 1991 trägt ein Song den Titel Neurobashing. Der Autor von Tremor war vermutlich ein Fan der Band. N8fall und Havoc, zwei weitere Viren, die vom selben Autor stammen, haben ebenfalls Bezüge zu Front 242. Verschiedene Quellen behaupten, dass die Band sich vom Virus inspirieren ließ. Das ist zeitlich aber unmöglich, Tremor erschien erst Jahre nach dem Album.
Hersteller von Antivirensoftware verwenden außerdem die Bezeichnungen Neurobasher.Tremor, Tremor Dropper, Tremor2, Tremor.dr, Tremor, Tremor.4000.A, Virus:DOS/Tremor.4000, TREMOR.1, Parser error, Tremor.A, Virus.DOS.Tremor.a und Tremor.4000.

## Funktion

Tremor ist ein speicherresidenter Infektor von COMMAND.COM und EXE-Dateien. Das Virus wurde häufig als "Antivirenprogramm-Virus", bezeichnet, da Tremor einige Routinen enthält, um die Erkennung durch antivirale Software zu vermeiden. Auffällig sind die komplexen Stealth-Techniken, die das Virus verwendet, zusätzlich verschlüsselt sich der Virencode.

### Infektion

Die Verbreitung erfolgt, nachdem Tremor speicherresident geworden ist, durch die Infektion von ausführbaren Dateien. Das Virus kann verschiedene Verfahren wie das Ausführen oder Kopieren von Programmen nutzen, um sowohl COM- und EXE-Dateien zu infizieren. Tremor überprüft, wie der Name einer Datei beginnt, bevor die Datei infiziert wird. Wenn der Name mit den Zeichenkombinationen CH, ME, MI, F2, F-, SY, SI oder PM beginnt, nimmt das Virus bestimmte Änderungen am Speicher vor, um eine Erkennung zu vermeiden.
Das Datum der Datei wird bei der Infektion geändert, es werden 100 Jahre hinzugezählt. Das ist bei der Anzeige des Directory aber nicht ersichtlich, wenn das Virus im Speicher resident und aktiv ist. Es täuscht dann die alten Werte vor. Auch die Dateigröße zeigt ihren alten Wert an, obwohl sie um 4.000 Bytes zugenommen hat.
Im Systemspeicher setzt der Viruscode sich an das obere Ende des konventionellen Speichers. Ist hoher Speicher oder Expansionsspeicher vorhanden, wird ein Großteil des Codes dorthin ausgelagert.
Wenn ein mit Tremor infiziertes Programm zum ersten Mal ausgeführt wird, entschlüsselt das Virus seinen Code und überprüft das Datum in der Uhr des Computers. Wenn seit dem ursprünglichen Infektionsdatum mehr als drei Monate vergangen sind, wird das Virus aktiviert. Wenn die Zeit noch nicht abgelaufen ist, überprüft Tremor die Versionsnummer des Betriebssystems und ermöglicht, sollte die Version älter als 3.30 sein, die normale Ausführung des Host-Programms.
Wenn die Versionsnummer des Betriebssystems 3.30 oder höher ist, durchsucht das Virus den Speicher nach einem Programm mit der Funktion 30h des Interrupts 01h. Wenn das Virus ein solches Programm erkennt, kann die Ausführung des Host-Programms normal fortgesetzt werden und installiert sich nicht selbst im Speicher. Höchstwahrscheinlich führt Tremor die Überprüfung durch, um zu vermeiden, dass ein Antivirenprogramm den Interrupt 01h erkennt.
Nachdem der Interrupt 01h überprüft wurde, installiert sich das Virus selbst im Systemspeicher. Tremors Art, sich in den Speicher zu laden, war bis dahin einzigartig. Das Virus kopiert sich größtenteils in den erweiterten oder in den hohen RAM, wenn solche Speicherbereiche im Computer verfügbar sind. Wenn nicht, installiert sich das Virus im oberen Teil des konventionellen RAM.
Ist Tremor schließlich speicherresident geworden, infiziert das Virus den durch die Umgebungsvariable COMSPEC angegebenen Befehlsinterpreter. Dadurch lädt sich der Viruscode künftig beim Systemstart vor allen anderen Programmen in den Speicher.
Mit MS-DOS erzeugte Kopien infizierter Dateien tragen keine Infektion, wenn das Virus während des Kopiervorgangs im Speicher aktiv ist. Tremor entfernt seinen Code dann bei jedem Lesevorgang aus der infizierten Quelldatei. Daher ist die einzige wahrscheinliche Situation, in welcher das Virus unter MS-DOS eine Diskette infizieren kann, wenn ein Benutzer ein Programm von einer nicht schreibgeschützten Diskette ausführt. Aus diesem Grund breitete sich Tremor auf dem Weg über Disketten eher langsam von einem Computer zum anderen aus.

### Stealth- und Retro-Techniken

Für Antivirenprogramme war Tremor eine schwere Herausforderung. Das Virus war schwer zu erkennen wenn es sich im Speicher befand, da es komplexe Stealth-Techniken verwendet.
Tremor ist in der Lage, viele der damals zeitgemäßen Antivirenprogramme vorübergehend zu deaktivieren, bzw. unwirksam zu machen. Bei bestimmten Überprüfungsvorgängen blockiert das Virus den tatsächlichen Test und gibt der Scanengine fehlerhafte Daten als Antwort. Während das Virus im Speicher aktiv ist, kann er verhindern, dass mehrere verschiedene Antiviren-Anwendungen sich selbst erkennen. Es überwacht ständig die Funktionsweise des Computers und bricht sie, falls bestimmte Überprüfungen festgestellt werden, entweder ganz ab oder verhindert, dass sie sich selbst erkennen. Wenn Tremor das Vorhandensein von Central Point Anti-Virus oder dessen Variante Microsoft Anti-Virus feststellt, blockiert es die Funktion der speicherresidenten Teile. Die Programme melden dann fälschlich eine erfolgreiche Überprüfung.
Auch in infizierten Dateien versucht Tremor seine Spuren zu verschleiern. In dieser Hinsicht war Tremor für das Jahr 1992 ein bemerkenswertes Virus. Obwohl sich das Erscheinungsbild des Viruscodes durch polymorphe Selbstverschlüsselung bei jeder Infektion ändert, vergrößert sich eine infizierte Datei aufgrund der zusätzlichen Stealth-Techniken scheinbar nicht.
Tremor markiert die infizierten Dateien, indem dem Änderungsdatum der Datei einhundert Jahre hinzugefügt werden. Dieser Zusatz ist nicht ohne weiteres erkennbar, da DOS normalerweise nur die letzten beiden Zahlen des Jahres in einem Datum anzeigt. Wenn das Virus bemerkt, dass ein Programm versucht, die Datei zu lesen, ändert es das Datum wieder auf normal und löscht den eigenen Code aus der Datei, bevor er gelesen werden kann.
Das Tremor-Virus ist ein vollständiges Stealth-Virus, das Programme ohne den Viruscode, in den Speicher einlesen lässt. Infolgedessen entdecken Antivirenprogramme, die die Dateien vor der Überprüfung in den RAM laden, keine Infektion. Dateiprüfsummen können von Tremor verfälscht werden. Tremor überprüft außerdem, ob Überwachungsprogramme im Hintergrund aktiv sind.

### Polymorphe Verschlüsselung

Tremor ist ein sich selbst verschlüsselndes Virus mit effektiven polymorphen Fähigkeiten. Das Virus kann etwa 6 Milliarden unterschiedlich aussehenden Kopien von sich selbst erstellen. Neben der Verwendung der üblichen Zufallszahlen nutzt Tremor die Daten in einem Computer, wenn er seinen Code ändert. Diese Eigenschaft macht das Virus schwer zu erkennen, da selbst der Schlüssel in jedem Fall einen anderen Wert hat. Ohnehin ist ein solcher Schlüssel naturgemäß sehr kurz und bietet Virenscannern eher schlechten Ansatz für eine Virensignatur. Eine so kurze Signatur ist nicht eindeutig und kann bei Verwechslung einen Fehlalarm verursachen.
Da die Erscheinung von Tremor bei jeder Infektion sehr unterschiedlich ist, hatten Antiviren-Experten verhältnismäßig große Schwierigkeiten, ein sicheres Erkennungsmuster des Virus für ihre Scan-Module zu erstellen. Nach einiger Zeit fand man einen Algorithmus, mit dem man auch den verschlüsselten Viruscode sicher identifizieren konnte.

### Payload

Tremor ist ein Retrovirus, das entwickelt wurde, um verschiedene Checker- und Antivirenprogramme anzugreifen.
Das Virus enthält zwei separate Aktivierungsroutinen. Die erste Routine schüttelt das Bild für einen Moment auf dem Bildschirm und blockiert anschließend den Computer. Dies geschieht nur in sehr seltenen, zufälligen Fällen.
Die zweite Aktivierungsroutine verwendet den Interrupt 15h. Der Interrupt 15h wird ziemlich selten verwendet, da die praktisch einzigen Anwendungen, die ihn nutzen, bestimmte DOS-Multiprozessor-Umgebungen wie DesqView sind. Einige Programme verwenden jedoch INT 15h, um den Prozessor in den geschützten Modus zu versetzen. Die Aktivierungsroutine wird ausgeführt, wenn ein anderes Programm versucht, den Interrupt 15h zu verwenden. Danach löscht Tremor den Bildschirm und zeigt den Text:

### Entfernung

Tremor wird seit 1994 nahezu von jedem Virenscanner erkannt und bereinigt. Der Einsatz solcher Programme war allerdings noch nicht etabliert, vor allem im Privatbereich verzichteten viele Anwender auf einen derartigen Schutz. Die Versorgung mit Updates und Virusdfinitionen war ebenfalls noch problematisch, da das Internet noch lange keine Selbstverständlichkeit darstellte.

## Channel Videodat im Jahr 1994

Tremor wurde laut Signatur 1992 programmiert und in unkontrolliertem Umlauf erstmals Ende 1993 in Deutschland entdeckt. Schlagartig bekannt wurde das Virus dann Anfang Mai 1994. Es wurde versehentlich von der deutschen Firma Channel Videodat über einen Dienst des Fernsehkanals ProSieben in ganz Europa verbreitet. Channel Videodat sendete Daten über den Kanal des Fernsehsenders, die von den damals schätzungsweise 60.000 Kunden mit einem speziellen Decoder empfangen werden konnten. Der Decoder übertrug die Daten auf den PC, wo sie genutzt werden konnten. Empfangen werden konnten aber nur die angebotenen Dateien, die für eine bestimmte Zeit in Dauerschleifen gesendet wurden. Im Gegensatz zum Internet war es nicht möglich, einen Download gezielt anzufordern. Der Stream mit der infizierten Datei war etwa eine Woche lang aktiv. Wie viele der Kunden sich dabei mit dem Virus infiziert hatten, konnte nicht genau geklärt werden.
Channel Videodat wurde erst nach einer Woche vom Virusforschungszentrum der Universität Karlsruhe auf die Infektion aufmerksam gemacht. Da die Firma alle gestreamten Daten auf Malware prüfte, wurde der Vorfall bei Channel Videodat zuerst bestritten. Dann stellte man aber fest, dass das verwendete Antivirenprogramm nicht in der Lage war, Tremor zu erkennen. Der Fehler wurde eingeräumt und das Unternehmen sendete mehrmals täglich Warnungen und ein funktionsfähiges Antivirenprogramm an seine Kunden.
Die infizierte Datei war ein Programm zum Entpacken von Archivdateien namens PKUNZIP.EXE und stammte aus einem Software-Shop namens Dataprojects. Der Händler hatte die verseuchte Software auf Diskette an die Betreiber von Videodat geliefert. Aufgrund der geringen Größe wurde das Programm damals häufig zusammen mit dem Archiv zur Verfügung gestellt. Ironischerweise gehörte die infizierte Datei in diesem Fall zu einem zip-komprimierten Antivirenprogramm (Scan 1.04 von der US-Firma McAfee). Das Programm selbst war zwar nicht infiziert, aber auch nicht in der Lage, Tremor zu erkennen.