CCC - Das chaos Computer Buch
CCC - Das chaos Computer Buch CCC - Das chaos Computer Buch
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
- Seite 2 und 3: Das Chaos Computer Buch Das Chaos C
- Seite 4 und 5: Das Chaos Computer Buch Das Chaos C
- Seite 6 und 7: Das Chaos Computer Buch Das Chaos C
- Seite 8 und 9: Das Chaos Computer Buch Das Chaos C
- Seite 10 und 11: Das Chaos Computer Buch Das Chaos C
- Seite 12 und 13: Das Chaos Computer Buch Das Chaos C
- Seite 14 und 15: Das Chaos Computer Buch Das Chaos C
- Seite 16 und 17: Das Chaos Computer Buch Das Chaos C
- Seite 18 und 19: Das Chaos Computer Buch Das Chaos C
- Seite 20 und 21: Das Chaos Computer Buch Das Chaos C
- Seite 22 und 23: Das Chaos Computer Buch Das Chaos C
- Seite 24 und 25: Das Chaos Computer Buch Das Chaos C
- Seite 26 und 27: Das Chaos Computer Buch Das Chaos C
- Seite 28 und 29: Das Chaos Computer Buch Das Chaos C
- Seite 30 und 31: Das Chaos Computer Buch Das Chaos C
- Seite 32 und 33: Das Chaos Computer Buch Das Chaos C
- Seite 34 und 35: Das Chaos Computer Buch Das Chaos C
- Seite 36 und 37: Das Chaos Computer Buch Das Chaos C
- Seite 40 und 41: Das Chaos Computer Buch Das Chaos C
- Seite 42 und 43: Das Chaos Computer Buch Das Chaos C
- Seite 44 und 45: Das Chaos Computer Buch Das Chaos C
- Seite 46 und 47: Das Chaos Computer Buch Das Chaos C
- Seite 48 und 49: Das Chaos Computer Buch Das Chaos C
- Seite 50 und 51: Das Chaos Computer Buch Das Chaos C
- Seite 52 und 53: Das Chaos Computer Buch Das Chaos C
- Seite 54 und 55: Das Chaos Computer Buch Das Chaos C
- Seite 56 und 57: Das Chaos Computer Buch Das Chaos C
- Seite 58 und 59: Das Chaos Computer Buch Das Chaos C
- Seite 60 und 61: Das Chaos Computer Buch Das Chaos C
- Seite 62 und 63: Das Chaos Computer Buch Das Chaos C
- Seite 64 und 65: Das Chaos Computer Buch Das Chaos C
- Seite 66 und 67: Das Chaos Computer Buch Das Chaos C
- Seite 68 und 69: Das Chaos Computer Buch Das Chaos C
- Seite 70 und 71: Das Chaos Computer Buch Das Chaos C
- Seite 72 und 73: Das Chaos Computer Buch Das Chaos C
- Seite 74 und 75: Das Chaos Computer Buch Das Chaos C
- Seite 76 und 77: Das Chaos Computer Buch Das Chaos C
- Seite 78 und 79: Das Chaos Computer Buch Das Chaos C
- Seite 80 und 81: Das Chaos Computer Buch Das Chaos C
- Seite 82 und 83: Das Chaos Computer Buch Das Chaos C
- Seite 84 und 85: Das Chaos Computer Buch Das Chaos C
- Seite 86 und 87: Das Chaos Computer Buch Das Chaos C
<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