Klaus-Peter Kossakowski: Computer-Würmer
|
||
Zur Person
|
2.2.2 Der Internet-Wurm
Am zweiten November 1988 wurde ein Wurm-Angriff innerhalb des
Internets gestartet. Der Urheber war Robert Tappan Morris Jr.,
Sohn des bedeutenden Wissenschaftlers des National Computer
Security Centers (NCSC) Robert T. Morris. [Fußnote 1] R.
T. Morris Jr. war Student der Cornell University und hatte
Aufgaben im Rahmen der Rechnerbetreuung übernommen. Seine
detaillierten Kenntnisse über das UNIX-System waren
bekannt; er verfügte über Super-User-Rechte.
Sein Programm [Fußnote 2] infizierte insgesamt etwa 2.000-
6.000 Systeme des Internet. Genauere Daten sind leider nicht
verfügbar, da ein Teil der Anwender und Betreiber ihre
Zusammenarbeit bei der Aufklärung der Schäden
verweigerte. Anhand der verfügbaren Berichte führte C.
Stoll eine statistische Analyse durch und berechnete die Zahl
der befallenen Rechner mit 2.600 (mit einem 1-sigma Fehler von
275) [Stoll 1989, S. 372]. [Fußnote 3] Es gibt auch
über die Höhe des entstandenen Schadens nur
Schätzungen. Die höchste Schätzung in Höhe
von $ 97 Millionen stammt von J. McAfee, sie wurde von anderen
Experten jedoch nicht bestätigt [Ferbrache 1992, S. 212].
Vielmehr wurde McAfee der Vorwurf gemacht, durch eine
überhöhte Schätzung nur auf sich aufmerksam
machen zu wollen.
Verletzlich waren alle Rechner der Firmen DEC und SUN (SUN-3-
Systeme) des Netzwerks, die mit BSD UNIX betrieben wurden. Unter
UNIX System V betriebene Rechner konnten nur infiziert werden,
wenn mit den Programmen SENDMAIL, FINGERD oder REXEC eine
Kompatibilität zu BSD UNIX geschaffen worden war. Für
die Funktion wurden verschiedene Eigenschaften und
Sicherheitslücken auf der Anwendungsebene der TCP/IP-
Protokollfamilie genutzt. Insgesamt wurden vier unterschiedliche
Verfahren für die Ausbreitung eingesetzt:
Eine bestimmten Funktion der Standard-C-Bibliothek, die die
Länge der Parameter nicht überprüft, wurde im
FINGER-Daemon verwendet. Beim Aufruf des Daemon auf einem
Remote-Rechner durch einen aktiven Wurm-Prozeß wurde eine
Zeichenkette als Parameter übergeben, deren Länge den
zur Verfügung stehenden Puffer-Bereich überstieg.
Dadurch wurden Teile des Daemon-Prozesses im Hauptspeicher
überschrieben, darunter auch die Rücksprungadresse der
gerade ausgeführten Funktion. Die neue
Rücksprungadresse zeigte auf einen Teil des
überschriebenen Speichers, in dem jetzt eine Shell mit den
Rechten des Daemon aufgerufen wurde. Mit dieser Shell wurde dann
eine Kopie der für den Start des Wurms auf diesem Rechner
benötigten Dateien übertragen und ausgeführt. Die
Existenz dieser Sicherheitslücke war seit langer Zeit
bekannt, trotzdem wurden die allgemein verfügbaren Fixes
nicht überall eingespielt.
Auch dieser Fehler war bereits seit langer Zeit bekannt; nur ein
Teil der Systeme wies ihn noch auf. Die betroffenen Versionen
dieses Mail-Daemon waren mit der DEBUG-Option kompiliert worden.
Dabei wurde eine durch den Entwickler eingebaute Falltür
aktiviert, die auf dem Remote-System die Interpretation einer
über Electronic Mail empfangenen Nachricht als Befehl
erlaubte. So konnte ein Wurm-Prozeß auf einem Remote-
Rechner eine Shell starten.
Eine wichtige Eigenschaft vieler UNIX-Systeme ist das Konzept
des distributed trust , das mit den sogenannten 'r'-Protokollen
der BSD-Implementation eingeführt wurde. Inzwischen werden
diese Protokolle auch in anderen UNIX-Derivaten eingesetzt. Mit
ihrer Hilfe wird es möglich, auf anderen Rechnern bestimmte
Befehle oder eine Remote-Shell aufzurufen, wenn der lokale
Rechner dort als vertrauenswürdig eingestuft ist. Diese
Einstufung erfolgt durch den Eintrag der Rechnernamen in eine
spezielle Datei. Da in der Regel eine solche Einstufung auf
Gegenseitigkeit beruht, versuchte der Wurm-Prozeß, auf den
in der lokalen Datei angegebenen Rechnern eine Remote-Shell zu
starten.
Durch die Möglichkeit, auf die gespeicherten Benutzer-
Identifikationen und die zugehörigen, verschlüsselten
Paßwörtern zuzugreifen, konnte der Wurm-Prozeß
einen Brute-Force-Angriff auf einen Account durchführen.
Gelang die Bestimmung des verwendeten Paßworts, wurde mit
der Benutzer-Identifikation versucht, auf einem anderen Rechner
des Netzwerks eine Shell zu starten. Dies gelang, wenn der
jeweilige Benutzer auf diesem Rechner das gleiche Paßwort
verwendete.
|
|
Der Zweck des Angriffs war es, zunächst ein minimales
Programm im Quellcode (und damit unabhängig von dem
jeweiligen Prozessor und dessen Maschinensprache) zu
übertragen, zu kompilieren und auszuführen. Die
Aufgabe dieses Programms war es, sich beim Wurm-Prozeß,
der die Ausbreitung initiiert hatte, zu authentisieren, und dann
bis zu neunzehn verschiedene Dateien zu empfangen. Bei dem
Angriff wurden jedoch nur zwei Dateien verwendet, so daß
einige Forscher spekulierten, der Wurm habe sich in einem noch
unfertigen Zustand befunden, als die Ausbreitung begann. Die
übertragenen Objektcode-Dateien waren jeweils für eine
bestimmte Hardware-Betriebssystem-Kombination vorbereitet, die
eine der Dateien für DEC-Systeme und die andere für
SUN-3-Systeme. Es wurde nicht versucht, die jeweils vorhandene
Kombination zu bestimmen, statt dessen wurden die Dateien
nacheinander gebunden und das so entstandene Programm gestartet.
Konnte dieses ausgeführt werden, war damit der Wurm-
Prozeß auf dem Rechner aktiviert.
|
||
Die Existenz aktiver Wurm-Prozesse auf einem Remote-Rechner
sollte vor einer weiteren Ausbreitung bestimmt werden, nur in
einem von 15 Fällen sollte eine Reinfektion stattfinden.
Dadurch sollten Abwehrmaßnahmen, die nur die Existenz
eines Wurm-Prozesses vortäuschten, unterlaufen werden.
Aufgrund eines Programmierfehlers geschah die Reinfektion jedoch
in 14 von 15 Fällen. Dadurch wurden viele Rechner
überlastet und der Wurm wurde wahrscheinlich schneller
entdeckt, als dies anderenfalls möglich gewesen wäre.
Auch noch über ein Jahr nach der Freisetzung wurden
Aktivitäten von Wurm-Prozessen auf dem Internet
festgestellt [Ferbrache 1992, S. 212]. Dies kann auf die
Verfügbarkeit des Quellcodes bzw. der zugehörigen
Dateien zurückgeführt werden. In einigen Fällen
waren die offensichtlichen Programmierfehler korrigiert worden.
Im Frühjahr 1989 wurde der Cornell Report [Eisenberg et al.
1989] veröffentlicht, der die Ergebnisse einer Kommission
beinhaltet, die die Rolle der Cornell University und seiner
Studenten und Mitarbeiter beim Auftreten des Internet-Wurms
untersuchte. Daraus ging hervor, daß das Programm von R.
T. Morris Jr. seit Mitte Oktober 1988 entwickelt und getestet
worden war. Mehrere verschlüsselte Versionen des Quellcodes
waren gefunden und entschlüsselt worden. Die in den
Kommentaren enthaltenen Wörter wie 'stehlen' und
'angreifen' wurden als Indiz für die gezielt destruktive
Absicht der Entwicklung gewertet. Die Beteiligung weiterer
Personen wurde ausgeschlossen. Als Konsequenz wurde R. T. Morris
Jr. zunächst für ein Jahr von der Universität
ausgeschlossen.
Im Herbst 1989 wurde er angeklagt, gegen den 1986 Computer
Fraud and Abuse Act verstoßen zu haben. Bei einer
Verurteilung nach dem Strafgesetz drohten ihm eine
Höchststrafe von fünf Jahren Gefängnis und ein
Bußgeld in Höhe von $ 250.000. Der Antrag der
Verteidigung, den Fall nicht nach dem Strafgesetz zu verhandeln,
wurde abgelehnt. Bei der ab dem 15. Januar 1990 stattfindenden
Verhandlung bestand die Jury ausschließlich aus Personen,
die über kein technisches Wissen über Computersystemen
verfügten. Bereits eine Woche später wurde das
Strafmaß angekündigt, die Urteilsverkündung
erfolgte jedoch erst am 4. Mai des gleichen Jahres. R. T. Morris
Jr. wurde zu drei Jahren Gefängnis auf Bewährung und
einem Bußgeld in Höhe von $ 10.000 verurteilt.
Außerdem mußte er 400 Stunden sozialer Arbeit
leisten und die Gerichtskosten in Höhe von etwa $ 150.000
tragen. Die Berufung [Guidoboni 1991] wurde in New York von
einer Kammer des US Court of Appeals for the 2nd Circuit
abgelehnt und das Urteil bestätigt [Neumann 1991].
[Fußnote 4]
In den Vereinigten Staaten von Amerika wurde diesem Fall sehr
große Aufmerksamkeit geschenkt. Über eine Woche lang
fand sich der Fall im November 1988 auf der Titelseite der New
York Times . In dieser und anderen Zeitungen wurde in der Folge
über die weitere Entwicklung ausführlich berichtet.
[Fußnote 5] Die Journalisten stellten in den ersten Tagen
eine starke Belastung für die Forscher dar, die an der
Untersuchung und am Reverse Engineering des Wurms beteiligt
waren. In der Presse wurde nicht immer korrekt oder sachlich
über den Fall und dessen Auswirkungen berichtet.
Obwohl die Beurteilung der Tat durch die Anwendergemeinde des
Internet unterschiedlich ausfiel, die eine Seite sprach von
naivem Leichtsinn, die andere von einem unbedachten Versuch, auf
die Sicherheitslücken hinzuweisen, bestand Einigkeit in der
Auffassung, daß die Folgen nicht tolerierbar seien und
für die Zukunft weitreichende Schutzmaßnahmen
getroffen werden müßten.
Als unmittelbare Folge wurde im Dezember 1988 ein sogenanntes
Computer Emergency Response Team (CERT) ins Leben gerufen. Heute
kontrolliert das CERT Coordination Center die Tätigkeit
verschiedener CERTs. Es gibt eine Telefon-Hotline und
verschiedene Publikationsorgane, die auf Sicherheitslücken
hinweisen und den Anwendern Hilfestellung geben. Nach dem
Vorbild der CERTs wurden seitdem weltweit ähnliche Gruppen
aufgebaut. Verschiedene Organisationen, so Computer Professionals
for Social Responsibility (CPSR), Internet Activity Board (IAB),
National Science Foundation (NSF) und verschiedene Universitäten
(darunter das MIT und die Cornell University) haben ethische
Grundsätze und Regeln im Zusammenhang mit Computern und
Netzwerken formuliert und veröffentlicht.
|
||
|
||
|
© 1998-2001 by Klaus-Peter Kossakowski, Germany.