Zur Person
Größere Projekte
IT Incident Response
Publikationen
PGP-Schlüssel
Impressum
|
2.1.1 Die Forschungen am XEROX PARC
Die beiden Forscher J. Shoch und J. Hupp führten im XEROX Palo Alto Research
Center (PARC) die ersten wissenschaftlichen Experimente mit Computer-Würmern
durch. Bei der Veröffentlichung ihrer Ergebnisse führten sie in Anlehnung an
John Brunners Roman Der Schockwellenreiter [Brunner 1975; engl. Originalausgabe
u. d. T. The Shockwave Rider] die Bezeichnung worm ein. In Brunners
Science-Fiction-Roman werden Programme mit einer vergleichbaren Funktion als tape worm
bezeichnet. Interessant ist, daß auch weitere Hinweise auf Titel der Science-Fiction-
Literatur in der Arbeit gegeben wurden, diese Titel jedoch nicht den Ausgangspunkt für
die Forschungen darstellten.
Die Experimente wurden durch die Forscher selbst in das Gebiet des distributed
computing eingeordnet. Sie charakterisierten die Wurm-Programme durch folgende
Aussagen:
"[...] a program or a computation that can move from machine to machine, harnessing
resources as needed, and replicating itself when necessary."
"[...], we prefer to characterize these as programs which span machine boundaries or
distributed computations."
[Shoch, Hupp 1982, S. 172; Hervorhebungen des Originals]. Für die Erprobung und den
Test der Wurm-Mechanismen wurden verschiedene Anwendungen entwickelt:
- Zuerst wurde als einfachstes Beispiel ein elementarer Computer-Wurm entwickelt, dessen
einzige Aufgabe in seiner Ausbreitung und Existenz bestand. Am Beispiel dieses Wurms
wurden Grundfunktionen und Mechanismen getestet. Benutzer konnten jederzeit die Kontrolle
über einen Rechner übernehmen, indem sie diesen neu starteten. Um die
Funktionen, die für eine konstante Anzahl aktiver Segmente (das heißt von dem
Wurm-Programm belegten Rechner) sorgten, besser testen zu können, beendeten die
Programme nach dem Ablauf eines zufälligen Zeitintervalls selbsttätig ihre
Ausführung.
- Auf dem elementaren Wurm-Programm aufbauend wurde ein "Billboard"- Computer-
Wurm entwickelt. Dieser hatte die Aufgabe, ganzseitige Graphiken auf dem Bildschirm
anzuzeigen. Mit Hilfe eines Scanners wurde der Cartoon des Tages eingelesen, und
später jedem Benutzer, der an 'seinen' Rechner kam, präsentiert. Die Graphik
konnte zentral von dem File-Server gelesen werden oder wurde bei der Ausbreitung der
Wurm-Programme übertragen.
- Da die beiden bereits vorgestellten Beispiele keine Kommunikation der Wurm-Segmente
untereinander erforderten, um die gestellten Aufgaben auszuführen, wurde ein
Computer-Wurm zur Erinnerung an Termine entwickelt. Über ein separates
Benutzerprogramm konnte ein Termin eingegeben werden, der durch einen mehrere Segmente
umfassenden Wurm verwaltet wurde. Auch beim Ausfall einzelner Segmente funktionierte der
Mechanismus verläßlich, da in jedem Segment alle Termine gespeichert wurden.
War ein Termin erreicht, wurde der Benutzer über einen Telefonanruf daran erinnert.
Für diesen Anruf wurde ein Server verwendet, der Verbindungen zu Terminals
über Telefon aufbaute.
- Bisher wurde in den Anwendungen keine zentrale Kontrolle eingesetzt. Doch auch
für Anwendungen, die eine zentrale Kontrolle benötigen, kann ein Computer-
Wurm eingesetzt werden. Ein Programm ("control node" oder "master") kontrolliert die
Anwendung und die Bereitstellung der Ergebnisse. Beispielsweise wurde ein Computer-Wurm
zur Steuerung einer Animation auf mehreren Maschinen eingesetzt. Der Master, selbst kein
Segment, generierte dazu mehrere unabhängige Würmer, die jeweils für
ihre Segmente verantwortlich waren. Dadurch wurde der Vorgang des Aufbaus schneller und
effizienter durchgeführt und die Verwaltung erleichtert. Die Ergebnisse aller
Berechnungen wurden über das Netzwerk an den Master gesendet.
- Der gleiche Ansatz wurde für die Netzwerkanalyse des durch XEROX
entwickelten Ethernet-Netzwerks eingesetzt. Ein Testprogramm von Hand auf jedem Rechner
eines Netzwerks zu starten, ist eine aufwendige Aufgabe. Durch den Start separater Computer-
Würmer, die mit ihren Segmenten jeweils einen Teil der Rechner belegten, konnten die
Testprogramme geladen werden. Die Kommunikation wurde anschließend über
ein zentrales Überwachungsprogramm abgewickelt. Teilweise wurden bis zu 120
Rechner eingesetzt. Durch den Test der paarweisen Kommunikation konnten so fehlerhafte
Ethernet-Anschlüsse bestimmt werden.
Auf die Absicherung der Systeme wurde besonderes Augenmerk gelegt. Dennoch wird von
einem Vorfall berichtet, bei dem es durch eine 'Mutation', d. h. eine Veränderung eines
Segments aufgrund eines Übertragungsfehlers, während des
Ausbreitungsprozesses zu unvorhergesehenen Aktionen kam. Trotz eingebauter
Kontrollmechanismen konnte der Wurm nur abgebrochen werden, indem das gesamte
Netzwerk neu gestartet wurde [Highland 1987, S. 8].
In einem Vortrag werden ähnliche Experimente aus London vorgestellt [Kindberg et
al. 1987], die das Ziel hatten, ein heterogenes Rechnernetzwerk zu entwickeln, in dem Wurm-
Programme verteilte Aufgaben wahrnahmen. Die Programme waren dabei von einer
bestimmten Umgebung abhängig, die durch ein verteiltes System bereitgestellt wurde.
Auf diese Weise kontrolliert, konnte die Selbstreproduktion gezielt eingesetzt werden.
|
|
Literaturangaben:
- [Shoch, Hupp 1982]: The Worm Programs : early Experience with a Distributed
Computation / Shoch, J. F.; Hupp, J. A. - In: Communications of the ACM. - Vol. 25, Nr. 3,
März 1982, S. 172-180.
- [Highland 1987]: Computer Viruses and Sudden Death! / Highland, H. J. - In:
Computers & Security. - Vol. 6, Nr. 1, 1987, S. 8-16.
- [Kindberg et al. 1987]: Worm Programs / Kindberg, T.; Sahiner, A. V.; Paker, Y. - In:
Distributed Operating Systems - Theory and Practice. - Berlin: Springer, 1987. - S. 355-379.
|