Der Wurm von Morris (Mai 2000) Hi, ich müll euch hier mal mit ein paar Infos über den "Morris Wurm" von 1988 zu, gegen den ILOVEYOU so banal erscheint wie es auch war. Es war einmal, es war der 2.11.1988, da schickte ein Student, der Sohn eines Computer(sicherheits)experten ein Programm auf die Reise, dass sich im Internet (damals 60000 Server) verbreiten sollte / dort leben sollte und ausserdem auf einige grosse Sicherheitslücken aufmerksam machen sollte. Er sagte dem Programm, es solle sich gut verstecken und keinen Ärger machen, aber sich auch nicht unterkriegen lassen. Leider nahm das Programm den letzten Teil zu genau, und bald tummelten sich auf manchen Rechnern so viele Exemplare des Wurms, dass kaum noch Rechenzeit übrig war. Das machte dann doch Ärger. Die Leute merkten nach wenigen Stunden, dass irgendetwas nicht stimmte, aber es dauerte einen halben Tag, auch nur einen teilweisen Schutz aufzubauen. Man versuchte sich gegenseitig per Mail zu warnen, aber da auf manchen Rechnern die ganze Rechenzeit vom Wurm dafür verwendet wurde, Passwörter zu erraten (um sich als Benutzer einloggen und dann per rlogin weiterverbreiten zu können), dauerte es fast 30 Stunden bis sich die Kunde von der Methode, sich sicher vor dem Wurm zu schützen herumgesprochen hatte. Zwar sollte der Wurm testen, ob er sich nicht etwa schon auf einem Computer befand, aber damit der Computer nicht einfach sagen konnte: "Jaja, ich bin schon befallen, geh weiter" sollte der Wurm sich jedes siebte Mal trotzdem an den Ja-Sagern vergreifen. Leider wurde der Test dann hunderte Male ausgeführt, also gab es bald ziemlich viele siebte Würmer auf jedem Rechner. Damit man ihn nicht finden sollte, und um den Schaden zu begrenzen, löschte der Wurm seine Dateien, sobald er gestartet war (also überlebte er einen Neustart nicht). Um jung und frisch zu bleiben, fork()te der Wurm sich ab und zu in sein eigenes Kind, und alle 12 Stunden versuchte er als befallen befundene Rechner sicherheitshalber doch nochmal zu befallen. Vor ps() hatte er Angst, also nannte er sich "sh" oder gar "", was manche Leute wirklich überraschte. Aber wie kam er überhaupt in die ganzen Rechner hinein? Manchmal versuchte er, sich selbst als Mail an ein Programm zu schicken, das ihn ausführen sollte. Das Mailprogramm erlaubte das im Testmodus (debug), und weil viele Leute Schwierigkeiten hatten, das Mailprogramm (sendmail) zu konfigurieren, hatten auch eine Reihe von Rechnern den Testmodus freigegeben. Meistens aber verwendete er einen ganz unfreundlichen Trick mit finger(): Er schickte so eine lange Frage, dass fingerd() ganz vergass, finger() auszuführen, und statt dessen ein Programm ausführte, dass den Wurm ausführte. Das nennt man dann einen Buffer Overflow. Und wenn das alles nichts half, mussten eben Passwörter erraten werden, damit rlogin der Verbreitung nachhelfen konnte. Die Listen aus netstat -r -n und hosts.equiv und .rhosts verholfen dem Wurm zu einer ansehnlichen Liste von neuen Zielen von jedem neuen Wirt aus. Der Wurm war flexibel, er konnte Sun und VAX Rechner angreifen, und nach einer Weile hatte er 5 Prozent der 60000 Rechner des damaligen Internets befallen. Die Leute waren natürlich gar nicht glücklich darüber, und so suchten und fanden sie Morris und verdammten ihn zu 400 Stunden Sozialarbeit, 10000 Dollar Strafe und 3 Jahren anständigen Benehmens auf Bewährung. Und das alles, weil sich die 3000 Zeilen C mit ihren 100 Zeilen Bootlader (die den Rest dann mit Passwortgeschütztem TCP nachholten, damit ihm auch nichts geschehe auf der Reise) im Netz so viel wohler gefühlt hatten als der junge Mann gedacht hatte. Und die Moral? Passt immer gut auf, dass eure Kinder keinen Unfug anstellen, besonders dann, wenn sie Computerprogramme sind. Hauptquelle von dieser Geschichte, die etwa vom 2. bis 4. oder 8. November 1988 oder auch länger wirklich passiert ist: The Internet Worm Program: An Analysis Purdue Technical Report CSD-TR-823 Eugene H. Spafford Department of Computer Sciences Purdue University West Lafayette, IN 47907-2004 spaf@cs.purdue.edu