Morris (Computerwurm)
Der Computerwurm Morris wurde am 2. November 1988 ins damals noch junge Internet freigesetzt. Er wurde von dem zu dieser Zeit dreiundzwanzigjährigen amerikanischen Informatiker Robert T. Morris programmiert.[2] Aufgrund eines Programmierfehlers verbreitete sich die Malware rasant und verursachte im Lauf der nächsten Monate hohe Schäden durch Systemüberlastungen und -ausfälle.
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] |
Speicherresident | ja |
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 |
Funktion
Vervielfältigung
Der Wurm ist in zwei Programme unterteilt, ein sogenanntes grappling hook (auch Bootstrap oder Vector genannt). Der Grappling Hook bestand aus 99 Zeilen C-Code. Das Ziel dieses Programmes ist es lediglich auf den zu infizierenden Rechner zu gelangen und von dort den Wurm hochzuladen. Dies tut es, indem es vom schon infizierten Rechner den Wurm anfragt (request), der bereits infizierte Rechner schickt den Wurm dann auf den zu infizierenden Rechner. Dieser Wurm bildet das Main Programm namens l1.c . Dieses Main Programm versucht dann die Zielsysteme mit den nachher genannten Verbreitungs Methoden zu infizieren.[3]
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 im 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.[4]
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:[4]
- 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.[4]
- 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.[4]
- 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.[4]
- 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.[4]
Exploits
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.[4]
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.[4]
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.[4]
Die Auswirkungen
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 Netzwerkexperten 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
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.[4]
Im Herbst 1989 wurde er angeklagt, gegen den 1986 erlassenen 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.[2][4][5] Während des Berufungsverfahrens schätze das U.S. Court of Appeals die Kosten zum Entfernen des Viruses auf $200 - 53,000 per Installation.
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.[4]
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.[4]
Literatur
- Katie Hafner und John Markoff: Cyberpunk. Die Welt der Hacker. Econ Verlag, Düsseldorf 1993, ISBN 3-612-26035-9.
Einzelnachweise
- informatik.uni-hamburg.de Internet Worm
- rbs2.com U.S. v. Robert Tappan Morris (Urteilsspruch von 1990)
- Abraham Silberschatz; Peter B.Galvin; Greg Gagne: Operating System Concepts. Hrsg.: Wiley. 8. Auflage. John Wiley & Sons. inc, Yale University, ISBN 978-0-470-23399-3, S. 634.
- kossakowski.de Ausführliche Studie über die Geschichte des Morris-Wurms
- web.archive.org: neohumanism.org Morris Worm
- 3. ↑ beruft sich auf 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
- Homes.Cerias.Purdue.edu: Analyse des Wurmes (englisch, PDF, 196 KiB)
- Heise.de: Vertreibung aus dem Paradies von Detlef Borchers, c't Ausgabe 11/2013
- Heise.de: Vor 20 Jahren - Erster Internetwurm verzählt sich von Christiane Rütten, 2. November 2008
- Kaspersky.de: Der Morris-Wurm - Die erste Epidemie im Internet von Michael Roesner, 16. Juni 2015
- Kaspersky.de: Der Morris-wurm wird 25 von Serge Malenkovich, 4. November 2013
- blog.to.com: History of Hacks - Morris Wurm von Tina Grüner, 12. September 2017