Klaus-Peter Kossakowski: Computer-Würmer

 

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.

[Zurück zum Anfang]

 


Literaturangaben:

  1. [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.
  2. [Highland 1987]: Computer Viruses and Sudden Death! / Highland, H. J. - In: Computers & Security. - Vol. 6, Nr. 1, 1987, S. 8-16.
  3. [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.

[Zurück] [Inhaltsverzeichnis] [Weiter]


© 1998-2001 by Klaus-Peter Kossakowski, Germany.