1260 (Computervirus)
# 1260 (Computervirus)

1260, V2P1 oder Chameleon ist der Name eines dateinfizierenden Computervirus, das im Jahr 1989 entwickelt wurde. Es handelte sich dabei um das erste bekannte Virus mit polymorpher Verschlüsselung. Der Programmcode der Datei nimmt bei einer Infektion jedes Mal eine völlig andere, individuelle Form an und ist somit nicht mehr durch einfache Wiedererkennung zu ermitteln. Der Computerviren-Forscher Fred Cohen hatte bereits einige Jahre zuvor Theorien über mutierenden viralen Code aufgestellt.

Das Virus war nicht dazu gedacht sich unkontrolliert zu verbreiten. Der Informatiker Mark Washburn wollte damit die Möglichkeit einer derartig verschlüsselten Schadsoftware demonstrierten. Im Januar 1990 wurde die fertige Version von 1260 in den USA vor Vertretern der Fachpresse und mehreren Herstellern von Antivirensoftware präsentiert. Washburn wollte damit vor den technischen Schwierigkeiten warnen, die bei der Bekämpfung von Malware unweigerlich bevorstanden.

## Aliasse

Das Virus ist vor allem unter dem Namen 1260 bekannt, da der Code genau 1.260 Bytes lang ist.

Unter Anwendern und bei den Herstellern von Antivirensoftware waren außerdem noch die Bezeichnungen Chameleon, Stealth, Camouflage und Variable in Gebrauch.

Der Projektname für das Virusprogramm lautete V2P1. Mark Washburn entwickelte noch weitere Varianten, die die Familie der V2Px-Viren bildeten. In den USA wurden diese Viren auch als Chameleon family bezeichnet. Virenscanner hatten später meist nur ein Erkennungsschema für alle bekannten Derivate oder fassen sie sogar mit anderen Varianten des Virus Vienna zu einer Gruppe zusammen.

Zu Verwechslungen kann es mit einem polymorphen Makrovirus für Microsoft Word-Dokumente kommen, der ebenfalls Chameleon genannt wird.

## Varianten und Derivate

Das 1260-Virus wird oft selbst nur als Variante eines anderen Virus angesehen, es wird häufig zur Vienna-Familie gezählt. 1260 basiert ursprünglich auf Viennas Quellcode, wurde aber in relevanten Aspekten geändert und mit Verschlüsselungstechniken erweitert. Daher bilden 1260 und seine Nachfolger auch eine eigene Unterfamilie. Zu den bekanntesten und verbreitetsten Vertretern gehören:

* Chameleon.Casper ist 1.200 Bytes groß und wurde im August 1990 erstmals entdeckt. Es existiert auch eine nur 1.190 Bytes große Variante. Der Viruscode enthält den Text:

    Der Text ist nicht ohne weiteres erkennbar, da auch dieses Virus den Dateiinhalt verschlüsselt. Wird eine infizierte Datei am 1. April ausgeführt, überschreibt das Virus die erste Spur der aktuellen Festplatte, sodass ein Zugriff auf die Daten nicht mehr ohne weiteres möglich ist. Der Schaden kann aber behoben werden.
* Chameleon.Adolph ist zwischen 2.109 und 2.445 Bytes groß. Die Adolph-Variante wurde erstmals im Mai 1991 entdeckt.
* V2P2 wurde von Mark Washburn als Nachfolger entwickelt. Als einziger signifikanter Unterschied ist die Länge des viralen Codes hier variabel.
* V2P6 ist ein weiterer Virus von Washburn. Diese Version verwendet eine deutlich komplexere, selbstmodifizierende Verschlüsselungsmethode. Das britische Fachmagazin Virus Bulletin widmete Washburn in der Ausgabe vom April 1991 einen mehrseitigen Artikel zu seiner Forschungsarbeit. Die Länge beträgt 1.808 Bytes. Ein bekannter Subtyp dieses Virus ist nur 1.993 Bytes lang.

Zahlreiche weitere Varianten von 1260 unterscheiden sich lediglich durch die Dateigröße.

## Funktion

Mark Washburn hatte nicht das Ziel, von Grund auf ein völlig neuartiges Virus zu entwickeln. Für seine Machbarkeitsstudie war es ausreichend, einen bereits bekannten viralen Code mit polymorphen Fähigkeiten auszustatten. Er wählte für diesen Zweck das bereits seit 1987 bekannte Vienna-Virus aus. Das Novum an 1260 war lediglich die variable Art der Verschlüsselung. Dafür verwendete Washburn die bereits bekannte 39 Byte lange Programmfunktion des ersten selbstkodierenden (aber nicht polymorphen) Cascade-Virus aus dem Jahr 1987 als Grundlage. Zwischen den Decodierungsbefehlen wurde dann noch eine variable Anzahl von ein oder zwei Byte langen Befehlen hinzugefügt. Die zusätzlichen Anweisungen hatten keinen direkten Einfluss auf die Funktion des Virus. Washburn platzierte sie, um zu verhindern, dass Virenscanner die Decodierungsbefehle als einfaches Identifikationsmerkmal verwenden können.

Dass die Wahl auf Vienna fiel, war nicht weiter verwunderlich, denn Ralf Burger hatte den disassemblierten Quellcode des Schadprogrammes in seinen Büchern Computer Viruses: A High-Tech Disease und Das große Computer-Viren-Buch veröffentlicht und ausführlich kommentiert. Washburn arbeitete seit einiger Zeit mit Burger zusammen an der Virenforschung. Der Code von Vienna war verfügbar und für das Experiment gut geeignet.

Das Virus funktioniert nur mit MS-DOS oder älteren Windows-Betriebssystemen.

### Infektion

Genau wie das ursprüngliche Vienna-Virus infiziert 1260 ausschließlich COM-Dateien und ist nicht speicherresident. Die Infektionsroutine wird durch das Ausführen einer bereits befallenen Datei getriggert, das Virus ist also ein sogenannter direct action infector. Dabei verwendet 1260 die Interrupts INT 1 und INT 3 für seine Infektionsroutine. Der virale Code verbreitet sich dann auf alle noch nicht infizierten COM-Dateien im selben Verzeichnis und dessen Unterverzeichnissen. 1260 ist ein sogenannter Appender-Virus, der sich an das Ende der infizierten Datei schreibt. Der angehängte Viruscode vergrößert die Wirtsdatei um 1.260 Bytes. Die ersten 3 Bytes eines infizierten Programmes werden mit einem Link auf den viralen Code überschrieben.

1260 infiziert auch die COMMAND.COM, die von anderen Dateiviren meist gemieden wird, um Systemfehler zu vermeiden. Infiziert werden außerdem nur Dateien mit einer Größe von mindestens 10 und maximal 63.488 Bytes. Die Dateiattribute sowie das Datum und die Uhrzeit der Erstellung der Datei werden vor der Infektion gespeichert, anschließend werden die Werte wiederhergestellt. Die Änderung der Datei ist im Directory für den Anwender somit nicht ersichtlich.

Wie bei Vienna wird bei der Infektion der Zeitstempel der betroffenen Datei verändert. Die Sekundenangabe im Zeitstempel der Datei wird auf den theoretisch unmöglichen Wert 62 geändert. Das hat praktisch keinen spürbaren Effekt, kann dem Anwender aber als Indiz für eine Infektion dienen. In der Praxis verhindert es Mehrfach-Infektionen, da der Viruscode den Zeitstempel abfragt und sich nicht erneut in eine bereits modifizierte Datei schreibt. Durch manuelles Setzen des Zeitstempels kann man Dateien gegen eine Infektion durch Vienna oder 1260 präventiv „impfen“.

Wird eine infizierte Datei auf einer schreibgeschützten Diskette oder einer CD-ROM ausgeführt, kann sich der Viruscode nicht in andere, potentiell vorhandene Wirtsdateien speichern. Der virale Code hat auch keine Möglichkeiten, um einen Software-Schreibschutz zu umgehen.

### Payload

Da es keine Berichte über einen schädlichen Payload von 1260 gibt, wurde die Schadroutine, die ursprünglich in Vienna enthalten war, vermutlich entfernt. Das Vienna-Virus zerstörte bei der Aktivierung in einem von acht Fällen absichtlich eine COM-Datei, anstatt sie zu infizieren.

### Polymorphe Verschlüsselung

Direkt nach der Infektion wird der Dateiinhalt samt dem viralen Code verschlüsselt. Der eigentliche Virencode wird einmal über den gesamten Code verschlüsselt, außerdem werden verschiedene einzelne Bytes durch den Virus hindurch verschlüsselt. Diese Bytes werden vor der Ausführung entschlüsselt, wobei ihre INT 3 (Breakpoint)-Routine zum Entschlüsseln und ihre INT 1 (Trace)-Routine zum Verschlüsseln verwendet wird.

Dabei wird bei jedem Vorgang eine Kombination aus zwei individuell erstellten Schlüsseln verwendet. Die Schlüssel selbst wurden ebenfalls in der Datei gespeichert, aber boten keinen brauchbaren Ansatz für eine Virensignatur, insbesondere da es sich um sehr kurze Zeichenfolgen handelte. Eine so kurze Signatur wäre nicht eindeutig und hätte ständig Fehlalarme produziert. Als weitere Schutzmaßnahme änderte Washburn das individuelle Aussehen des Schlüssels, indem er leere Stellen mit Datenmüll auffüllte. Dieses Junk-Filling ist auch der Grund, warum der virale Code trotz individueller Verschlüsselung am Ende immer eine statische Größe von 1.260 Bytes aufweist. Da die Dateigröße immer denselben Wert annimmt, ist dementsprechend die Entschlüsselungsroutine jeweils angepasst und hat somit immer ein unterschiedliches Aussehen. Zusätzlich werden die Befehlsgruppen innerhalb des Entschlüsselungsalgorithmus in zufälliger Reihenfolge chiffriert, sodass sich auch der Aufbau der Schlüssel bei jeder Replikation ändert. Die statischen Virensignaturen der damaligen Virenscannern waren damit faktisch nutzlos geworden.

## Folgen

Computerviren waren im Jahr 1990 kein absolutes Neuland mehr, vor allem auf den Systemen Atari ST, Commodore Amiga und auf MS-DOS-PCs waren sie den meisten Anwendern in dieser Zeit bereits ein Begriff. Gegen vereinzelte Schädlinge gab es in Fachzeitschriften gelegentlich Listings zum abtippen, meist wurden derartige Programme als Virus-Killer bezeichnet. Kommerzielle Antivirensoftware war noch selten. Zu den wenigen Anbietern gehörten die Firmen F-Secure und McAfee.

Polymorphe Viren wurden in den folgenden Jahren eine Herausforderung für die Hersteller von Antivirensoftware. Checksummen und Signaturen waren gegen die neue Bedrohung scheinbar machtlos. Eine Mutations Engine des Hackers Dark Avenger aus Bulgarien machte es ab 1992 sogar möglich, dass auch veraltete Viren oder schädliche Codes von Anfängern stark polymorph waren. Der Brite Chris Pile entwickelte 1993 eine noch effektivere Verschlüsselung für seine Viren Pathogen und Queeg.

Als Lösung erwiesen sich vor allem Algorithmen, die sich in den verschlüsselten Codes finden ließen. Im Jahr 1992 entwickelte Eugene Kaspersky dann eine effektivere Methode zur Erkennung von polymorphen Viren. Er schrieb einen Prozessor-Emulator, der die bereits bekannten Verschlüsselungstechniken wieder dechiffrieren konnte. Die Technologie wurde ein integraler Bestandteil der meisten Antivirenprogramme.

## Sonstiges

* Das Virus Eddie-2 aus Bulgarien und das Virus Zero Bug ändern den Zeitstempel ebenfalls auf den Wert 62. Die Viren haben ansonsten keine Gemeinsamkeiten mit Vienna, impfen die Dateien aber praktisch gegen eine Infektion. Vermutlich wollte der oder die Autoren verhindern, dass Vienna die Verbreitung ihrer eigenen Viren behindert. Dieser Schutz ist auch gegen 1260 wirksam.
