CCC - Das chaos Computer Buch

CCC - Das chaos Computer Buch CCC - Das chaos Computer Buch

03.11.2014 Aufrufe

Das Chaos Computer Buch Das Chaos Computer Buch tungsdesign des Raumschiffs Star Trek 1 beobachtet werden oder Beifallsbekundungen zur Logik des spitzohrigen Vulkaniers Mr. Spock aus der Fernsehserie Raumschiff Enterprise. Die sogenannten Wurm-Programme, Vorläufer der Computerviren, sind technisch eine Weiterentwicklung der Mehrplatzspiele. «Worms» werden an bestimmte Trägerprogramme, meist Textverarbeitung oder Tabellenkalkulation, angebunden und verbreiten sich in jeder Art von Speicher. Sie können nach und nach die Speicherplätze (Adressen) ändern und so auch Dateie n zerstören. Wurm-Programme können sich aber nur im Bereich des Trägerprogramms bewegen, andere Programme werden davon nicht betroffen. Die Idee der Würmer kommt vermutlich aus dem Science-fiction- Roman «Der Schockwellenreiter», dem Kultbuch der ersten Hackergeneration. Es könnte lange gestritten werden, ob die 1979 erschienene Erzählung von john Brunner von den ersten Wurmüberlegungen angeregt wurde oder ob die Programmierer gezielt versucht haben, die Schockwellenreiter-Idee in die Praxis umzusetzen. Der Disput ist überflüssig, der geistige Humus, die Vorstellungswelten sind identisch. Es war auch die Phantasiewelt des Fred Cohen. In einer ökologisch zerstörten und kulturell bizarren Welt funktioniert nur eines relativ zuverlässig: Das weltweit verbindende Datennetz und damit eine zwielichtige, aber universelle Oberwachung. Die Menschen existieren als Computercodes, haben eine elektronische Identität. Hier setzt der Held, der Schockwellenreiter, an. Er ist selbstverständlich ein virtuoser Computerzauberer, ständig auf der Flucht vor den Ordnungskräften oder anderen Gegnern. Er ist ein Außenseiter, natürlich unkonventionell, unbändig kreativ, trick- und listenreich. Seine Erfindung ist ein Softwarewurm, den er in das Computernetz schickt. Das Programm führt gezielt Aufträge aus und meldet Vollzug. So kann der Held seine Identität wechseln wie seine Hemden, was er natürlich auch ständig macht, und die Programme seiner dunklen Gegner mattsetzen. Bei Cohen, «Computer Viruses» von August 1984, heißt es: «The Xerox worm program (Shoch 82) has demonstrated the ability to pro services. In a later variation,, the game of (core wars) (Dewdney 84) was invented to allow two programs to do battle with one another. Other variations an this theme have been reported by many unpublished authors, mostly in the context of night time games played between programmers. The term virus also has been used in conjunction with an augmentation to APL in which the author places an generic call at the beginning of each function wh1ich in turn invokes a preprocessor to augment the default APL interpreter (Gunn 74). » Nachdem also die Wurmprogramme in Science-fiction-Atmosphäre als kurzweilige Nachtspiele von unbekannten Hackern entwickelt worden waren, erkannten auch einige Wissenschaftler den Reiz derartiger Programme. Die Würmer wurden erst einmal unter dem Begriff Trojanische Pferde gesammelt. Gemeint war, daß die Programme eine versteckte Funktion ausüben. Während zum Beispiel mit einem Textverarbeitungsprogramm gearbeitet wird, läuft im Hintergrund heimlich eine ganz andere Funktion ab, etwa das Protokollieren der Arbeitszeiten. Interessanter waren hingegen jene Wurmteile, die später als Viren definiert wurden. Nach Cohen besteht ein Computervirus aus zwei Hauptteilen, einem Infektionsteil und einem Aufgabenteil: ??Self reproduction, Fortpflanzung oder Infektion Das Programm ist in der Lage Kopien von sich selbst herzustellen und diese Kopien in andere Programme einzupflanzen. ??Functionality, Aufgabe oder Manipulationsfunktion. Das Programm ist in der Lage, eine genau definierte Aufgabe auszuführen Universell, geltend für die meisten höheren Programmiersprachen, ist der Programmaufbau eines derartigen Virus relativ einfach. Dabei haben die verwendeten Zeichen folgende Bedeutungen: ::= Definition, : Bezeichnung der Anweisung ? Negation, {} Sequenzklammern für Anweisungen := Anweisung, ; Abgrenzung der Anweisungen Seite 74 Seite 75

Das Chaos Computer Buch Das Chaos Computer Buch Programm V:: = {TAG; subroutine INFECT ::= {loop : file:= get-any executable-file EXEC; if first-line-of-file = tag then goto loop; copy Virus-V into exec-file; } subroutine FUNCTION ::= {execute a certain function } Main Program::= continue:} {INFECT; FUNCTION; goto continue; } Dieser Programmaufbau entspricht einem einfachen Virus. Später wurden deutlich anspruchsvollere entwickelt. Wird das Programm mit dem Virus aus dem Speicher aufgerufen, startet zunächst das Unterprogramm INFECT und sucht in anderen Ausführungsprogrammen (EXEC-fites) die Startzeile. Befindet sich hier schon ein Virus, sucht es so lange weiter, bis ein nicht infizierter EXEC-file gefunden ist oder alle Files als befallen erkannt wurden. In ein nicht infiziertes Programm kopiert sich der Virus. Im nächsten Schritt wird das Unterprogramm FUNCTION abgearbeitet, also die eigentliche Aufgabe ausgeführt, zum Beispiel werden gespeicherte Daten gelöscht. Erst im dritten Schritt startet das anfangs aufgerufene Programm. Es sind jetzt mindestens zwei Programme befallen, und so pflanzt sich der Virus unaufhaltsam fort. Den einfachen Computervirus präsentierte Fred Cohen auf seinem wöchentlichen Seminar für Computersicherheit an der University of Southern California am 10: November 1983. Eine Woche später wurde auf einer VAX 11 / 750 unter dem Betriebssystem UNIX ein Virus fertig ausgearbeitet. Das dauerte ganze acht Stunden. Er wurde an ein Trägerprogramm, den (VD), angehängt. VD ermöglicht einen grafischen Überblick über das UNIX-Betriebssystem, ist also eine Art Wegweiser für Neulinge und andere Informationsbedürftige. VD war damals brandneu, kaum jemand kannte es, viele würden es auch aus reiner Neugier aufrufen und so die Infektion in Gang setzen. Da dieses Experiment im normalen Hochschulbetrieb laufen sollte, wurde eine Genehmigung beantragt. Es mussten diverse Sicherheitsvorkehrungen entwickelt werden. So wurde zum Beispiel jede Infektion manuell bestätigt, bevor das Programm weiterlaufen konnte. Eine richtige Aufgabe hatte der Virus nicht zu erledigen, er musste lediglich seine Verbreitung sichtbar machen. Überdies wurden Dokumentationsmechanismen eingebaut, um Aussagen über die Verbreitungsgeschwindigkeit zu treffen und um die Viren wieder aus dem System entfernen zu können. Das Ergebnis von fünf Testreihen: Der Angreifer, dem alle Systemprivilegien zur Verfügung standen, benötigte zwischen S und 3o Minuten, um den fertigen Virus im System (VD) zu installieren. Das Programm VD brauchte beim Aufruf lediglich eine halbe Sekunde zusätzlicher Zeit, um die Virusaufgabe abzuwickeln. Selbst den Kennern von VD fiel die Verzögerung nicht auf. Der Virus funktionierte, ohne die Trägerprogramme zu zerstören. Als der Universitätsverwaltung diese Ergebnisse zu Ohren kamen, stoppte sie die geplanten Folgeexperimente, die den Angriff auf die Zugangs- und Sicherheitsmechanismen des Systems zum erklärten Ziel hatten. Erst im Juli 1984 wurden weitere Versuche genehmigt, auf einem Univac-Rechner Typ z 108 mit einem Bell-La-Padula- Betriebssystem. Nach 18 Stunden Programmierung war der UnivacVirus fertig. Das Trägerprogramm verlangsamte sich beim Start um 20 Sekunden - eine Infektion dauerte also 20 Sekunden. Bei eleganterem Aufbau wäre diese Zeit unter eine Sekunde zu drücken gewesen, so Cohen. Im August 1984 folgten weitere Tests mit einem IBM Rechner, Typ VM 370. Zusammenfassend stellte Cohen fest, daß es auch einem relativ ungeübten Systemprogrammierer gelingen kann, einen Virus für ein Seite 76 Seite 77

<strong>Das</strong> Chaos <strong>Computer</strong> <strong>Buch</strong><br />

<strong>Das</strong> Chaos <strong>Computer</strong> <strong>Buch</strong><br />

tungsdesign des Raumschiffs Star Trek 1 beobachtet werden oder Beifallsbekundungen<br />

zur Logik des spitzohrigen Vulkaniers Mr. Spock<br />

aus der Fernsehserie Raumschiff Enterprise.<br />

Die sogenannten Wurm-Programme, Vorläufer der <strong>Computer</strong>viren,<br />

sind technisch eine Weiterentwicklung der Mehrplatzspiele. «Worms»<br />

werden an bestimmte Trägerprogramme, meist Textverarbeitung oder<br />

Tabellenkalkulation, angebunden und verbreiten sich in jeder Art von<br />

Speicher. Sie können nach und nach die Speicherplätze (Adressen)<br />

ändern und so auch Dateie n zerstören.<br />

Wurm-Programme können sich aber nur im Bereich des Trägerprogramms<br />

bewegen, andere Programme werden davon nicht betroffen.<br />

Die Idee der Würmer kommt vermutlich aus dem Science-fiction-<br />

Roman «Der Schockwellenreiter», dem Kultbuch der ersten Hackergeneration.<br />

Es könnte lange gestritten werden, ob die 1979 erschienene<br />

Erzählung von john Brunner von den ersten Wurmüberlegungen angeregt<br />

wurde oder ob die Programmierer gezielt versucht haben, die<br />

Schockwellenreiter-Idee in die Praxis umzusetzen. Der Disput ist<br />

überflüssig, der geistige Humus, die Vorstellungswelten sind identisch.<br />

Es war auch die Phantasiewelt des Fred Cohen.<br />

In einer ökologisch zerstörten und kulturell bizarren Welt funktioniert<br />

nur eines relativ zuverlässig: <strong>Das</strong> weltweit verbindende Datennetz<br />

und damit eine zwielichtige, aber universelle Oberwachung. Die<br />

Menschen existieren als <strong>Computer</strong>codes, haben eine elektronische<br />

Identität. Hier setzt der Held, der Schockwellenreiter, an. Er ist<br />

selbstverständlich ein virtuoser <strong>Computer</strong>zauberer, ständig auf der<br />

Flucht vor den Ordnungskräften oder anderen Gegnern. Er ist ein<br />

Außenseiter, natürlich unkonventionell, unbändig kreativ, trick- und<br />

listenreich. Seine Erfindung ist ein Softwarewurm, den er in das<br />

<strong>Computer</strong>netz schickt. <strong>Das</strong> Programm führt gezielt Aufträge aus und<br />

meldet Vollzug. So kann der Held seine Identität wechseln wie seine<br />

Hemden, was er natürlich auch ständig macht, und die Programme<br />

seiner dunklen Gegner mattsetzen.<br />

Bei Cohen, «<strong>Computer</strong> Viruses» von August 1984, heißt es: «The<br />

Xerox worm program (Shoch 82) has demonstrated the ability to pro<br />

services. In a later variation,, the game of (core wars) (Dewdney 84)<br />

was invented to allow two programs to do battle with one another.<br />

Other variations an this theme have been reported by many unpublished<br />

authors, mostly in the context of night time games played<br />

between programmers. The term virus also has been used in conjunction<br />

with an augmentation to APL in which the author places an generic<br />

call at the beginning of each function wh1ich in turn invokes a preprocessor<br />

to augment the default APL interpreter (Gunn 74). »<br />

Nachdem also die Wurmprogramme in Science-fiction-Atmosphäre<br />

als kurzweilige Nachtspiele von unbekannten Hackern entwickelt<br />

worden waren, erkannten auch einige Wissenschaftler den Reiz<br />

derartiger Programme. Die Würmer wurden erst einmal unter dem<br />

Begriff Trojanische Pferde gesammelt. Gemeint war, daß die<br />

Programme eine versteckte Funktion ausüben. Während zum Beispiel<br />

mit einem Textverarbeitungsprogramm gearbeitet wird, läuft im<br />

Hintergrund heimlich eine ganz andere Funktion ab, etwa das Protokollieren<br />

der Arbeitszeiten.<br />

Interessanter waren hingegen jene Wurmteile, die später als Viren<br />

definiert wurden. Nach Cohen besteht ein <strong>Computer</strong>virus aus zwei<br />

Hauptteilen, einem Infektionsteil und einem Aufgabenteil:<br />

??Self reproduction, Fortpflanzung oder Infektion<br />

<strong>Das</strong> Programm ist in der Lage Kopien von sich selbst herzustellen<br />

und diese Kopien in andere Programme einzupflanzen.<br />

??Functionality, Aufgabe oder Manipulationsfunktion.<br />

<strong>Das</strong> Programm ist in der Lage, eine genau definierte Aufgabe<br />

auszuführen<br />

Universell, geltend für die meisten höheren Programmiersprachen,<br />

ist der Programmaufbau eines derartigen Virus relativ einfach. Dabei<br />

haben die verwendeten Zeichen folgende Bedeutungen:<br />

::= Definition, : Bezeichnung der Anweisung<br />

? Negation, {} Sequenzklammern für Anweisungen<br />

:= Anweisung, ; Abgrenzung der Anweisungen<br />

Seite 74<br />

Seite 75

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!