Morris (Computerwurm)

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen
Morris Worm
Name Morris Worm
Aliase Great Worm, Internet Worm
Bekannt seit 1988
Herkunft USA
Typ Netzwerkwurm
Autoren Robert Morris
Dateigröße ca. 3.200 Programmzeilen[1]
Verbreitung Exploits, Brute-Force
System DEC- und SUN-Systeme mit
BSD UNIX (SunOS, Ultrix etc.)
Programmiersprache C
Info War ursprünglich zum zählen von
Rechnern im Netzwerk gedacht

Der Computerwurm Morris wurde am 2. November 1988 ins damals noch junge Internet freigesetzt. Er wurde von dem damals dreiundzwanzigjährigen amerikanischen Informatiker Robert T. Morris programmiert.[2]


Funktion[Bearbeiten | Quelltext bearbeiten]

Verbreitung[Bearbeiten | Quelltext bearbeiten]

Die Existenz aktiver Wurm-Prozesse auf einem Remote-Rechner sollte vor einer weiteren Ausbreitung bestimmt werden, und 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. 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.[3]

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:[3]

  • FINGERD

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-Prozess 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.[3]

  • SENDMAIL

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-Prozess auf einem Remote- Rechner eine Shell starten.[3]

  • 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 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-Prozess, auf den in der lokalen Datei angegebenen Rechnern eine Remote-Shell zu starten.[3]

  • Passwörter

Durch die Möglichkeit, auf die gespeicherten Benutzer- Identifikationen und die zugehörigen, verschlüsselten Passwörtern zuzugreifen, konnte der Wurm-Prozess einen Brute-Force-Angriff auf einen Account durchführen. Gelang die Bestimmung des verwendeten Passworts, 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 Passwort verwendete.[3]

Exploits[Bearbeiten | Quelltext bearbeiten]

Die Verwendung eines weiteren Fehlers, der im File Transfer Protocol (FTP) von R. T. Morris Jr. entdeckt wurde, war ebenfalls vorgesehen. Eine Meldung über den Fehler wurde in den Netzen am 2. November 1988 von K. Bostic zusammen mit einem Fix veröffentlicht [Hafner, Markoff 1991, S. 301]. Die Frage, ob diese Veröffentlichung zu einer Kurzschlussreaktion bei R. T. Morris Jr. führte, kann wohl nicht mehr geklärt werden.[3]

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-Prozess, 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 dass 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, stattdessen wurden die Dateien nacheinander gebunden und das so entstandene Programm gestartet. Konnte dieses ausgeführt werden, war damit der Wurm-Prozess auf dem Rechner aktiviert.[3]

Ein Teil des Wurm-Prozesses war für Camouflage-Techniken ausgelegt. Der Name des aktiven Prozesses wurde in sh umbenannt, die Dateien gelöscht und bei Erreichung einer bestimmten Prozessorzeit die Kontrolle an einen Tochterprozess weitergegeben. Damit sollten auffällige Kennzeichen vermieden werden. Die im Code enthaltenen Zeichenketten und das Verzeichnis der Passwörter waren primitiv verschlüsselt.[3]

Die Auswirkungen[Bearbeiten | Quelltext bearbeiten]

Robert Morris war Student an der Cornell University, als er mit dem Wurm-Programm experimentierte. Das Programm war ursprünglich für die Zählung von Computern ausgelegt. Wegen eines Fehlers im Code funktionierte das aber nicht wie vorgesehen. Zudem vermehrte der Wurm sich aufgrund eines weiteren Bugs unerwartet schnell.

Nachdem R. Morris (laut eigenen Beteuerungen versehentlich) das Internet damit infiziert hatte, verbreitete sich der Wurm so rasant, so dass er bis zu zehn Prozent des damaligen Internetverkehrs verursachte.

Über sein weiteres Verhalten gibt es widersprüchliche Aussagen. Angeblich versuchte er umgehend, den Schaden zu begrenzen und informierte verschiedene Administratoren und Nertzwerkexperten und sprach sein weiteres Vorgehen mit seinem Vater ab. Mehreren Quellen nach leugnete er nie, für den Wurm verantwortlich zu sein.

Die juristischen Folgen[Bearbeiten | Quelltext bearbeiten]

Eine Diskette mit Sourcecode von Morris, ausgestellt im Computer History Museum.

Im Frühjahr 1989 wurde der Cornell Report 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, dass 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 steal und attack wurden als Indizien 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.[3]

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 US-Dollar. 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 musste er 400 Stunden sozialer Arbeit leisten und die Gerichtskosten in Höhe von etwa $ 150.000 tragen. Die Berufung wurde in New York von einer Kammer des US Court of Appeals for the 2nd Circuit abgelehnt und das Urteil bestätigt.[3][2]

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. 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.[3]

Obwohl die Beurteilung der Tat durch die User 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, dass die Folgen nicht tolerierbar seien. Für die Zukunft sollten weitreichende Schutzmaßnahmen getroffen werden.[3]

Literatur[Bearbeiten | Quelltext bearbeiten]

Einzelnachweise[Bearbeiten | Quelltext bearbeiten]

  1. Internet Worm
  2. a b http://www.rbs2.com/morris.htm U.S. v. Robert Tappan Morris (Urteilsspruch von 1990)
  3. a b c d e f g h i j k l m http://www.kossakowski.de/kap222.htm Ausführliche Studie über die Geschichte des Morris-Wurms
  • 3. ↑ verwendet folgende Literaturquellen:
    • An Epidemiology of Viruses & Network Worms von C. Stoll
    • A Pathology of Computer Viruses von D. Ferbrache
    • Cyberpunk : Outlaws and Hackers on the Computer Frontier von K. Hafner, J. Markoff
    • The Cornell Commission : On Morris and the Worm von T. Eisenberg, D Gries, J. Hartmanis, D. Holcomb, M. S. Lynn, T. Santoro
    • United States of America v. Robert Tappan Morris : Brief for Appellant von T.A. Guidoboni
    • Internet Worm appeal fails von P.G. Neumann
    • Computer Security : Virus Highlights Need for Improved Internet Management
    • Computers Under Attack Hrsg. von P. J. Denning
    • The Helminthiasis of the Internet von J. Reynolds
    • The Internet Worm Program : An Analysis von E.H. Spafford
    • With Microscope and Tweezers : An Analysis of the Internet Virus of November 1988 von M.W. Eichin, J.A. Rochlis
    • Password Cracking : A Game of Wits von D. Seeley
    • How Secure are Computers in the U.S.A.? von C. Stoll
    • On the Front Lines in Battling Electronic Invader von L.M. Fisher
    • Intruders Into Computer Systems Still Hard to Prosecute von J. Gerth
    • U.S. Officials Weigh Plea Bargain in Case Of Computer Virus
    • Computer Chaos Called Mistake, Not Felony

Weblinks[Bearbeiten | Quelltext bearbeiten]