– słynny haker. Robert Tappan Morris miał 23 lata. Uczęszczał na studia doktoranckie na wydziale informatyki Uniwersytetu Cornell. Spokojny, sympatyczny młody człowiek ze stopniem magistra Uniwersytetu Harvard nigdy nie miał nic wspólnego z przestępstwami czy z hakingiem. Miał jednak słabość – lubił wykrywać błędy w systemach operacyjnych.
W jesieni 1988 roku Morris zaczął prace nad programem, mającym na celu ukazanie wykrytych błędów w zabezpieczeniach systemu 4 BSD Unix. Program, po wpuszczeniu do sieci miał ukazać możliwość uzyskania dostępu do dowolnego innego komputera i np. zainfekowania go wirusem. „Czerw” (ang. worm), jak nazwano póśniej program Morrisa, miał mniej niż 100 linii kodu. A jednak Robert, pisząc ten program, popełnił drobny błąd, który kosztował go bardzo wiele. Czerw po uruchomieniu zajmował bardzo mało czasu procesora. Miał on pozostać w ukryciu, być niezauważalny nawet dla administratora i nie powodować żadnych problemów. Morrisowi chodziło jedynie o udowodnienie, że może on się przenosić z komputera na komputer. Rozmnażanie czerwia możliwe było poprzez skorzystanie z błędów w kilku elementach systemu Unix oraz poprzez odkrywanie łatwych do odgadnięcia haseł użytkowników.
Morris przewidział, że nieskończone rozmnażanie się czerwia spowoduje zablokowanie komputerów. Dlatego też czerw „pytał się”, czy infekowany serwer zawiera już kopię programu, czy nie. To jednak mogłoby ułatwić administratorom pozbycie się programu, więc Robert zdecydował się, że mimo odpowiedzi „tak” w jednym na siedem przypadków czerw i tak uruchamiał się na komputerze jako nowy proces. Miało to ograniczyć prędkość rozmnożenia się programu i uniknąć blokady systemu. Obliczenia Morrisa okazały się jednak błędne.
Niecierpliwy Robert zdecydował się wprowadzić program do Internetu 2 listopada 1988 roku, ok. 20:00, mimo, iż wymagał on jeszcze paru poprawek. Aby ukryć fakt, że program jest jego autorstwa, uruchomił go z jednego z serwerów na uniwersytecie Harvard, do którego miał jeszcze dostęp. Czerw rozmnażał się powoli, ale sukcesywnie. Już w kilkanaście minut po jego uruchomieniu wiele komputerów zaczęło dotkliwie odczuwać jego obecność. Dnia 3 listopada o godzinie 00:34 obecność wirusopodobnego programu odkrył Andy Sudduth z Harvardu. W ok. 2 godziny od uruchomienia programu do większości maszyn nie mogli się dostać nawet administratorzy. Nie pomagało ich ponowne uruchamianie – czerw znów infekował system i powodował jego zawieszenie. Kiedy Morris zorientował się, co się dzieje, z pomocą kolegi przygotował rozwiązanie problemu i rozesłał anonimowo po sieci. Niestety – było już za póśno. Czerw uniemożliwił w większości przypadków odebranie i przeczytanie listu.
Nad zwalczeniem złośliwego programu pracowali specjaliści z tysięcy placówek w całym USA. Już w 12 godzin od infekcji informatycy z Uniwersytetu Kalifornijskiego w Berkley i z Massachussetts Institute of Technology odkryli metodę likwidacji czerwia. Ze względu na odłączenie wielu komputerów od sieci dopiero 10-tego listopada udało się całkowicie przywrócić normalną pracę Internetu. Zainfekowanych zostało ponad 6000 komputerów klasy Sun 3 i VAX – straty w każdej lokalizacji sięgały nierzadko 50 tys. USD, łączne oceniono na 10 tys. do 10 mln. USD.
Robert przyznał się do popełnionego błędu. Skazano go na 3 lata obserwacji sądowej, 400 godzin prac społecznych i grzywnę w łącznej wysokości 10 tys. USD. Obecnie Robert pracuje jako informatyk, ale nie zajmuje się kwestią bezpieczeństwa systemów. Wpadka kosztowała go zbyt wiele.
Algorytm działania czerwia:
1) utworzenie listy wszystkich „sąsiednich komputerów” z pomocą mechanizmu „trusted hosts” w Unixie
2) próba znalezienia haseł dostępu użytkowników sąsiednich komputerów poprzez: permutacje nazwy użytkownika, porównanie z listą 432 haseł dostarczonych przez Morrisa i sprawdzenie w słowniku typowych haseł
3) próba zainfekowania komputera poprzez: skorzystanie ze znalezionego w kroku 2 hasła, błędu w protokole finger, lub też „tylnego wejścia” pozostawionego w programie sendmail w trybie debug
4) sprawdzenie, czy sąsiednie komputery są już zainfekowane – w jednym na siedem przypadków jeśli odpowiedś była pozytywna – ponowne zainfekowanie maszyny
5) przesłanie krótkiego kodu startowego do zainfekowanego komputera oraz jego automatyczna kompilacja i uruchomienie
6) po 120 sekundach – pobranie z komputera śródłowego pełnego kodu czerwia i jego automatyczna kompilacja a następnie uruchomienie – powrót do kroku 1