W ubiegły weekend minęło równo 25 lat od publikacji pierwszego szkodliwego programu, który rozpowszechnił się tak szeroko, że został zauważony przez mass media. Napisany przez studenta z Uniwersytetu w Cornell robak Morris, bo o nim mowa, zainfekował 10 proc. komputerów podłączonych do internetu, czyli około 6 000 z 60 000. Dzisiaj ta liczba nie robi dużego wrażenia, ale pamiętajmy, że było to 25 lat temu, a sam Morris łączył w sobie wiele technik: DoS, exploity, technologie ukrywania się, siłowe łamanie haseł i inne mechanizmy, które są z powodzeniem wykorzystywane przez cyberprzestępców po dziś dzień. Ponadto, historia Morrisa kończy się pierwszym wyrokiem wydanym w Stanach Zjednoczonych na mocy ustawy o przestępstwach i nadużyciach komputerowych z 1986 r.
Właściciel zdjęcia: Intel Free Press
Dyskietka z kodem źródłowym robaka Morris znajduje się obecnie w Muzeum Nauki w Bostonie
Dzięki YouTube’owi możemy obejrzeć materiał o Morrisie, który został wyemitowany w 1988 roku…
… a teraz opowiemy tę historię, ale z punktu widzenia bezpieczeństwa.
Pewnego dnia Robert Tappan Morris, student Uniwersytetu w Cornell, postanowił „zmierzyć rozmiar internetu”. W tym celu stworzył skomplikowany program, który potrafił powielać się w sieci i bronić się przed próbami wyłączenia go przez inne aplikacje oraz użytkownika. Łatwo zauważyć, że funkcjonalność taka odpowiada definicji robaka komputerowego. Morris nie powstał po to, by wyrządzić jakiekolwiek szkody, jednak błąd w kodzie sprawił, że robak wielokrotnie infekował każdy komputer, co prowadziło do nadmiernego obciążenia maszyn. Brzmi jak atak DoS, prawda?
Do rozprzestrzeniania się w internecie Morris używał tej samej technologii, którą stosują jego współczesne odpowiedniki – wykorzystywał luki, a dokładniej trzy luki. Błędy w aplikacjach Finger oraz Sendmail w popularnych systemach uniksowych pozwalały szkodnikowi na zdalne uruchomienie kodu. Jeżeli technika ta nie powiodła się, robak próbował skorzystać z rsh – powłoki używanej do zdalnej administracji. Aby móc skorzystać z rhs, konieczne jest podanie hasła, więc Morris łamał je metodą siłową. Autor osiągnął niezwykle wysoką skuteczność korzystając ze słownika składającego się z zaledwie 400 słów. Nawet dzisiaj wielu użytkowników nie zdaje sobie sprawy z tego, jak ważne są silne hasła, a 25 lat temu administratorzy także nie przykładali do tego wielkiej wagi.
Po pomyślnym wniknięciu do systemu robak zmieniał nazwę swojego procesu, usuwał pliki tymczasowe i wykonywał kilka innych działań, które miały na celu uniknięcie wykrycia go (m. im. szkodnik stosował szyfrowanie swoich danych w pamięci). Jednym z pierwszych działań Morrisa było sprawdzenie, czy komputer jest już zainfekowany. Gdy wykryta została druga kopia, szkodnik „rzucał kostką”, by wybrać, która z nich ma pozostać w systemie, a która miała ulec samozniszczeniu. Jedna na siedem kopii Morrisa rezygnowała z rzucania kostką i działała dalej, niezależnie od innych obecnych wersji. Nie wiadomo, czy był to błąd w kodzie, czy próba zwiększenia szans na przeżycie robaka w systemie, jednak właśnie takie działanie prowadziło do „zatkania” zainfekowanej maszyny, co przypomina atak DoS – na wielu komputerach jednocześnie działy dziesiątki kopii Morrisa.
Mimo że w tamtych czasach nikt nie spodziewał się takiego zagrożenia – ani pod względem technicznym ani koncepcyjnym – specjaliści zareagowali bardzo szybko. Na MIT oraz Uniwersytecie w Kalifornii utworzono dwie niezależne grupy, które w ciągu dwóch dni załatały luki wykorzystywane przez Morrisa i rozbroiły robaka. I to był zasadniczo koniec Morrisa. Eksperci, którzy próbowali wyliczyć straty wygenerowane przez tego robaka, nie byli w stanie podać konkretnej kwoty, jednak szacuje się, że jest to między 100 tysięcy a 10 milionów dolarów.
Co ciekawe, autor Morrisa mógł pozostać anonimowy. Osobą która to zmieniła, był jego ojciec, Robert Morris – współtwórca Uniksa oraz czołowy naukowiec z centrum bezpieczeństwa komputerowego NSA, który przekonał młodego programistę do przyznania się do winy. Sąd wziął to pod uwagę i autor robaka usłyszał stosunkowo łagodny wyrok – 3 lata w zawieszeniu, 10 000 dolarów grzywny oraz 400 godzin prac społecznych. Morris wyciągnął wnioski z tej lekcji i stał się szanowanym członkiem społeczności komputerowej. Do jego osiągnięć należy stworzenie jednej z pierwszych platform e-handlu – Viaweb (która później została kupiona przez Yahoo i nazwana Yahoo Store), udział w tworzeniu nowych języków programowania oraz uzyskanie tytułu profesora na MIT.