Mit dem »Virus Construction Set« bann man sich auf dem Atari ST seinen ganz individuellen Virus herstellen. So ganz nebenbei lernt man dabei auch einiges über den Aufbau dieser Erreger.
Virenprogramme selber zu schreiben ist relativ schwierig, da ein Virus mehr als andere Programme betriebssystemnah programmiert werden muß, um seinen speziellen Aufgaben bei der Verbreitung nachkommen zu können. Dies macht den Einsatz von Maschinensprache oft unumgänglich, weil viele Zugriffsoperationen anders überhaupt nicht oder nur umständlich zu bewerkstelligen wären.
Das Virus-Programm, das mit dem »Virus Construction Set« (VCS) einer Firma mit dem abenteuerlichen Namen »Nightmare Software« geschrieben wird, besteht aus zwei Teilen. Der erste Teil (Verbreitungsteil) beginnt unmittelbar nach dem Starten des befallenen Wirtsprogrammes und sucht auf den - vorher vom Benutzer definierten Laufwerken nach Programmen, die für einen Befall in Frage kommen. Anschließend wird die EinsprungAdressen-Tabelle des Opferprogramms analysiert und verändert. Das infizierte Programm verwendet jetzt nicht mehr die ursprünglichen Einsprungadressen für seine Programmteile, sondern maßgeschneiderte Vireneinsprünge. Daraufhin kopiert sich der Virus an das Ende des Opferprogrammes. Diese Veränderungen bewirken beim Starten des Wirtsprogrammes, daß zunächst der Virus am Ende der Programmdatei gestartet wird und erst nach dessen Abarbeitung das gewünschte Programm. Der zweite Teil (Aktionsteil) tritt erst dann in Aktion, wenn der Infektions- und Vervielfältigungsvorgang in zufriedenstellendem Umfang beendet ist. In diesem Teil befindet sich eine vom Anwender ausgesuchte, im Set enthaltene Funktion oder eine selbstgeschriebene, eingebundene Assemblerroutine. Der erste Teil ist somit Träger für die im zweiten Teil enthaltenen Funktionen.
VCS ist GEM-gestützt, alle Funktionen lassen sich über die Menüleiste bequem anklicken. Aktionsteile von selbstgebastelten Viren lassen sich auch testweise aktivieren. Das bedeutet, daß die einzelnen Bausteine des Programmes und gegebenenfalls eigene Assemblerroutinen zu einem lauffähigen Aktionsteil oder einem kompletten Computervirus zusammengebaut werden können. Im Menüpunkt Virusbau lassen sich die wesentlichen Eigenschaften des Virus zusammenstellen. Vorgesehen ist hier unter anderem, die Laufwerke zu bestimmen, auf die sich der Virus kopieren darf - eine wichtige Funktion, da man nur zu leicht selbst ein Opfer selbstgestrickter Viren werden kann. Weiterhin kann man festlegen, welche Art von Opferprogrammen der Virus befallen darf. Dabei kann man wählen zwischen PRG-, TTP- und TOS-Dateien. Auch die Größe der Opfer-Programme kann hier definiert werden. Dadurch arbeitet der Virus unauffällig, da bei einer Infektion das Programm normalerweise etwas größer wird, was bei einer entsprechenden Einschränkung der Infizierung auf ohnehin recht große Opferprogramme nicht mehr so leicht auffällt. Des weiteren kann man die Vermehrungsrate des Virus festlegen und zwischen verschiedenen Effekten wählen, den der Aktionsteil des Virus zur Folge haben soll. Auch vier mehr oder weniger bösartige Standardaktion lassen sich von hier aus in den Viren-Bausatz einbinden:
Daneben läßt sich natürlich je beliebige assemblierte Routine einbinden. Einige Beispiele hierzu werden mitgeliefert: Programme, die Text auf dem Monitor oder Drucker ausgeben, sowie ein Programm, das mit lauten Geräuschen ein Laufwerk Zusammenbruch simuliert (entsetzte Gesichter garantiert).
Schließlich bleibt dem Benutz noch die Wahl unter vier versch denen Auslösern für die oben nannten Effekte. Man kann den Virus erst ab einem bestimmten Datum losschlagen lassen, oder sobald er auf ein bestimmtes Programm stößt. Man kann den Virus aber auch zufallsbedingt arbeiten lassen, wobei sich die Wahrscheinlichkeit dafür beliebig einstellen läßt. Auch kann der Anwender eine eigene Routine für den Auslöser einbinden, wofür im Handbuch wieder einige Beispiele erläutert werden.
Die Arbeit mit dem VCS fällt nicht schwer, bedingt durch den übersichtlichen Aufbau und die bequeme Bedienung läßt sich der Virus relativ einfach zusammenstellen. Es empfielt sich, zunächst eine Sicherheitskopie der Diskette herzustellen und dann ausschließlich mit dieser zu arbeiten. Ansonsten wäre es leicht möglich, daß sich einer der fertigen Viren über die Originaldiskette hermacht und diese zerstört.
Die Wirksamkeit der selbstgebauten Viren ist natürlich bei weitem nicht so groß, wie bei speziell für eine Aufgabe programmierten Viren. Dader Virus nur bei Aufruf des befallenen Programmes aktiv werden kann und sich dann gleich zu kopieren versucht, ist es nur dann effektiv, wenn mehrere Laufwerke oder eine Festplatte zu Verfügung stehen. Da man eigene Assembler-Routinen einbinden kann, sind die möglichen Effekte des Virus nahezu unbegrenzt. So taugt das VCS in erster Linie dazu, anhand der Vorgehensweise eines Virus, die man mit dem VCS ja Schritt für Schritt nachvollzieht, mehr über seinen Computer zu erfahren als in jedem Lehrbuch steht. Mit einem mitgelieferten Beispiel zeigt das VCS zudem, daß sich auch sinnvolle Anwendungen mit dem VCS realisieren lassen. So kann man etwa mit der Paßwortabfrage als Aktionsteil eigene Programme gegen unberechtigten Zugriff schützen, ohne sich jedes einzelne seiner Programme vorknöpfen zu müssen. Diese Arbeit erledigt der entsprechende Virus - und zwar ungeheuer effektiv, wie wir selbst feststellen konnten.
Innerhalb kürzester Zeit war die gesamte Programmsammlung paßwortgeschützt. Eine weitere Idee: Ein Kopierschutz in Virenform ist schwer zu entfernen, da er sich immer wieder an das zu schützende Programm kopiert und - durch die besonderen Fähigkeiten des VCS andere Programme völlig unbehelligt läßt. Um den Anwender nicht ohne Schutz gegen seine Schöpfungen sich selbst zu überlassen, liefern die Programmierer mit dem VCS auch gleich ein Virusfilter-Programm, mit dessen Hilfe sich die konstruierten Viren auf eigenen Disketten ausfindig machen lassen, um sie wieder zu entfernen, falls etwas schiefgegangen ist. (Dieter Kranich/jg)
Name: Virus Construction Set
Lieferumfang: Diskette mit Handbuch
Uns gefällt: einfache Bedienung, eigene Routinen einbinden
Uns gefällt weniger: Infizierte Opferprogramme sind leicht zu erkennen
Wertung: * * *
Die Wertung bedeutet: sechs Punkte = ausgezeichnet, null Punkte (sechs Kreise) = ungenügend