|
Der Internet-WurmMit dem Internet-Wurm ("Morris-Wurm") vorlor das Netz seine Unschuld.Am Nachmittag des 2. Novembers 1988 wurde dieser von seinem Programmierer, Robert Tappan Morris, freigesetzt. Zu dieser Zeit war Morris noch Student an der Universität von Cornell. In der Folge wurden ungefähr 6.000 Computer weltweit lahmgelegt. Entdeckt wurde das Programm nur durch einen Programmierfehler. Irgendwann entdeckte Morris im Berkley UNIX zwei Fehler, die nicht autorisierten Zugriff auf Maschinen im gesamten Internet ermöglichten. Damals umfaßte das Netzschon zirka 60.000 Computer. Wieso Morris den Wurm geschrieben hat, ist nicht klar. Auch wurde nicht untersucht, ob es sich nur einen verunglückten Test oder böseAbsicht handelte. Technisch betrachtet bestand der Internet-Wurm aus zwei Programmen: - Der Bootstrap
Dieses kleine C-Programm wurde auf dem angegriffenen System compiliert und dann ausgeführt. Es stellte eine Verbindung zu dem Rechner her, von dem es kam und ludvon dort das eigentliche Wurm-Programm und startete es. - Der Wurm
Dieser tarnte sich dann als Shell, um nicht erkannt zu werden. Er untersuchtedie Routing-Tabelle des Rechners, um herauszufinden, mit welchen anderen Computern dieser verbunden war, um dorthin das Bootstrap-Programm zu verbreiten.
Um den nicht autorisierten Zugriff zu neuen Computern zu bekommen,
um dort dann das Bootstrap-Programm zu compilieren und zu starten,
hatte der Internet-Wurm vier Methoden:
- fingerd
Eine bestimmten Funktion der Standard-C-Bibliothek, welche 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.
- sendmail
Auch dieser Fehler war bereits 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.
- rsh
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 ist 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.
- Paßwörter knacken
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 es, durch Ausprobieren ein Paßworts herauszubekommen,
wurde mit damit 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. Da sein Vater als
Sicherheitsexperte bei der National Security Agency 10 Jahre
zuvor einen Bericht über genau dieses Thema geschrieben hatte, brauchte
Morris nicht viel Erfahrung in diesem Bereich.
Die Entdeckung des Wurm beruht auf einem kleine Denkfehler von Morris. Der
Wurm hat so gearbeitet, daß er nur Computer angriff, die nicht schon vom
Wurm befallen waren. In einem von 15 Fällen sollte trotzdem ein Wurm
gestartet werden, um sicherzustellen, daß der Wurm nicht stirbt (z. B. bei
Vortäuschung eines Wurmbefalls). Leider wurde in 14 von 15 Fällen der Wurm
repliziert, so daß einige Computer so stark an Leistung verloren, daß
die Administratoren aufmerksam wurden.
Gefaßt wurde Morris durch einen Versprecher einer seiner Freunde während eines
Interviews. Dieser erzählt dem Reporter von der New York Times, daß der
Wurm nur ein Unfall war und es dem Autor leid tut. Dabei rutscht ihm der
Benutzername heraus, so daß es nicht mehr schwer war, den wirklichen Namen
zu ermitteln. Das Gericht verurteilte Morris zu $ 10000 Strafe, 3 Jahren Haft
und 400 Stunden gemeinnützige Arbeit. Zusätzlich entstanden $ 150.000 Gerichtskosten.
Nach der Verurteilung von Morris gab es eine große Kontroverse. Teils wurde
die Meinung vertreten, er sei intelligenter Student, der nur etwas gespielt habe.
Von anderen wurde er für einen Kriminellen gehalten, der ins Gefängnis müsse.
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.
|
|
|