The digital heritage of the Morris Worm
Karol Król
2 listopada 1988 roku robak komputerowy „Morris” (tak został później nazwany) jako pierwszy rozprzestrzenił się „na wolności”. Replikował się wykładniczo, co spowodowało awarię około 10% ówczesnego internetu. Jego twórca, Robert T. Morris Jr., absolwent Uniwersytetu Cornell, stwierdził, że miał to być jedynie niewinny eksperyment.
Robak Morrisa zainfekował około 6000 maszyn, powodując szkody szacowane przez niektórych na wiele milionów dolarów. Wydarzenia te były bezprecedensowe i doprowadziły do utworzenia Computer Emergency Response Team (CERT) [Chen i Robert 2004].
Czym jest robak komputerowy?
Robak komputerowy to samoreplikujący się program komputerowy, często utożsamiany z wirusem komputerowym. Stanowi rodzaj złośliwego oprogramowania, które powiela się i rozprzestrzenia za pośrednictwem sieci. W przeciwieństwie do wirusów, robaki nie wymagają do tego aktywności użytkownika. Ponadto są autonomiczne, tzn. do rozprzestrzeniania się nie potrzebują żadnego specjalnego pliku lub kodu [Li i in. 2008]. Robaki komputerowe korzystają z sieci, aby wysyłać swoje kopie do innych węzłów, tj. innych komputerów w sieci, i mogą to robić bez udziału użytkownika [Rajesh i in. 2015]. Według innej definicji robak to złośliwy kod (samodzielny lub infekujący pliki), który rozprzestrzenia się w sieci z pomocą człowieka lub bez niej [Kienzle i Elder 2003]. Pierwsze robaki – Creeper i Reaper – pojawiły się w 1970 roku w sieci ARPANET. Przyjmuje się, że Creeper (pełzacz) to najstarszy w historii robak komputerowy. Z kolei Reaper (żniwiarz) został stworzony zaraz po nim. Jego zadaniem było usuwanie Creepera [Rajesh i in. 2015].
Buffer overflow
Robak komputerowy może spowodować drastyczne spowolnienie komputera. Buffer overflow polega na dostarczeniu danemu programowi większej liczby danych, niż to przewidział jego twórca. Nadmiarowe dane przekraczają obszar pamięci, który został przeznaczony dla danych, przez co wkraczają w obszar pamięci, który był przeznaczony na instrukcje programu [Peikari i Chuvakin 2004].
Aktywność robaka po jego uwolnieniu można podzielić na kilka etapów: wyszukanie celu, przeniesienie robaka, aktywacja robaka, a następnie infekcja (target finding, worm transferring, worm activation, and infection). W fazach wyszukiwania i przenoszenia robak jest aktywny w sieci, dzięki czemu tzw. systemy wykrywania włamań (NIDS) mogą go zidentyfikować i zneutralizować. Aktywności robaka w dwóch ostatnich fazach są ograniczone do lokalnych maszyn i są trudniejsze do wykrycia [Li i in. 2008].
Famous Computer Worms
Termin „robak” (worm) został ukuty w 1979 roku przez pionierów przetwarzania rozproszonego z Xerox Palo Alto Research Center, tj. w miejscu gdzie ustanowiono pierwsze połączenie Ethernet. Nazwa pochodzi od autonomicznych programów usuwających dane zwanych „tasiemcami” (tapeworms), opisanych w powieści science fiction pt. The Shockwave Rider, autorstwa Johna Brunnera (Harper & Row, 1975). Od tamtego czasu wiele robaków komputerowych powodowało spustoszenie w Internecie [Li i in. 2008]. Odnotowano „liczne epidemie” (large-scale zero-day worm outbreaks), przykładowo: Morris Worm (1988), Code Red (2001), Slammer (2003) czy też Witty (2004) [Tidy i in. 2014].
Morris Worm
Był rok 1988. George H.W. Bush kandydował na prezydenta, a Wojownicze Żółwie Ninja podbijały popkulturę. Internet „w zarodku” był zupełnie inny niż obecnie. Komputery osobiste wciąż były luksusem, przede wszystkim z uwagi na wysoką cenę. Cyberprzestępczość, jeśli w ogóle istniała, dotykała jedynie użytkowników największych sieci biznesowych. Nikt nie zawracał sobie głowy „nieistotnymi” (ówcześnie) komputerami osobistymi [Capitol 2020]. Internet stanowił w tamtych czasach tylko około 100 000 systemów – głównie podstarzałych komputerów mainframe. Robak Morris skutecznie zainfekował i zablokował co dziesiąty z nich [Christy 2017].
2 listopada 1988 roku robak Morris rozpoczął proces samoreplikacji. Jego autorem był Robert Tappan Morris Jr., student Cornell University. Robak wykorzystał lukę w systemie Unix, która pozwoliła mu dostać się na wiele ówczesnych komputerów. Wczesnym rankiem, 3 listopada, komputery oparte na Uniksie spowolniły do niewielkiego odsetka swoich możliwości, a poczta e-mail „ugrzęzła w błocie” [Orman 2003]. Aktywność robaka przerosła oczekiwania Morrisa. Program rozprzestrzeniał się za pośrednictwem ARAPNET i NASA Science Internet. Z dnia na dzień systemy komputerowe na sześciu uniwersytetach, NASA’s Jet Propulsion Laboratory, Lawrence Livermore National Laboratories oraz w innych obiektach wojskowych i badawczych zatrzymały się [Wilde 2019].
Robak powielał się wykładniczo zawieszając komputer po komputerze. Szacuje się, że wyrządził szkody o wartości od 100 tys. do 10 mln. dolarów [Capitol 2020]. Problem nie leżał w tym, że robak infekował komputery. To ujawniłoby jedynie luki bezpieczeństwa. Problem polegał na tym, że robak wielokrotnie infekował te same maszyny, dopóki nie zostały one całkowicie unieruchomione przez mnogość procesów, które namnażał [Wilde 2019].
Robak Morris był pierwszym tego rodzaju złośliwym oprogramowaniem. Przed jego „inwazją” żaden atak nie dotknął tak wielu użytkowników naraz. Oprócz komputerów prywatnych robak zainfekował systemy komputerowe w obiektach rządowych, szpitalach i bazach wojskowych. Chociaż wyrządzone szkody były przedstawiane jako konsekwencja „wypadku” czy też eksperymentu, Morris został pierwszą osobą, która została skazana na podstawie Computer Fraud and Abuse Act (1986). Cała historia ma jednak pozytywne zakończenie, bowiem Morris został profesorem MIT.
Robak Melissa
Robak Melissa pojawił się po raz pierwszy 26 marca 1999 roku i atakował użytkowników programów Microsoft Word i Outlook. Jego twórca, David L. Smith, nazwał robaka imieniem „egzotycznej tancerki” i rozpowszechnił go w grupie dyskusyjnej Usenet jako plik programu Word zawierający listę haseł do pornograficznych stron internetowych. Gdy użytkownik pobrał i otworzył zainfekowany plik, robak wysyłał swoje kopie na pierwsze 50 adresów mailowych z książki adresowej programu Outlook. Chociaż robak miał być żartem – złośliwy kod powodował prezentację cytatów z serialu telewizyjnego The Simpsons, w pierwszy weekend zainfekował około 100 000 komputerów, przeciążając serwery e-mail na całym świecie [Li i in. 2008].
Cyfrowe dziedzictwo robaka Morris
Ataki „przepełnienia bufora” nie są niczym nowym. Podatność na przepełnienie bufora jest najczęściej wykorzystywaną luką w systemach bezpieczeństwa. Samo zagrożenie dla bezpieczeństwa systemów komputerowych spowodowane przepełnieniem bufora znane jest od lat 60. XX wieku [Peikari i Chuvakin 2004].
Morris zapoczątkował narodziny współczesnego przemysłu bezpieczeństwa komputerowego, a robak komputerowy jego autorstwa jest uważany za pierwszy złośliwy program, który rozprzestrzeniał się samoczynnie w sieci internet. Robak Morrisa jako pierwszy zwrócił uwagę mediów masowych, a jego aktywność zapoczątkowała dyskusję nad bezpieczeństwem w sieci. Wydarzenie to zmieniło nastawienie niektórych użytkowników internetu, którzy byli przekonani, że sieć jest całkowicie bezpiecznym i przyjaznym miejscem [Orman 2003].
Zdarzenie z robakiem Morrisa spopularyzowało słowa „wirus” i „robak” w odniesieniu do komputerów. W tamtym czasie wiele osób nie miało pojęcia, czym był internet. W latach 80. XX wieku był on domeną uniwersytetów. Badacze z MIT – Mark Eichin i Jon Rochlis powiedzieli w jednym z wywiadów, że media były rozczarowane tym, że robak „nie zrobił nic, nawet wizualnie”, i że nie „sygnalizował początku III Wojny Światowej”. Informatyk Eugene Spafford przytoczył wypowiedź jednego z reporterów, który z pełną powagą zapytał, czy ludzie mogą zarazić się wirusem komputerowym [Wilde 2019].
Sprawa sądowa i fiasko odwołania od wyroku ustanowiły ważny precedens prawny: haker tzw. „białego kapelusza” nie musi wyrządzić szkody, aby zostać skazanym za przestępstwo. Wystarczy sama chęć uzyskania nieautoryzowanego dostępu do systemu – nawet jeśli nic nie zrobi z tym dostępem [Wilde 2019].
Przed atakiem robaka Morrisa z internetu korzystała stosunkowo mała społeczność akademicka. Nikt specjalnie nie interesował się bezpieczeństwem w sieci. Po tym, jak robak został powstrzymany, Defense Advanced Research Projects Agency (Agencja Zaawansowanych Projektów Badawczych w Obszarze Obronności), powołała Computer Emergency Response Team (CERT), której zadaniem jest nadzorowanie internetu i podejmowanie działań w sytuacjach zagrożenia.
Źródła
- Capitol (2020). Cyber Security Impact: The 30th Anniversary of the Morris Worm. Capitol Technology University, available at: https://www.captechu.edu/blog/cyber-security-impact-30th-anniversary-of-morris-worm
- Chen, T. M., Robert, J. M. (2004). Worm epidemics in high-speed networks. Computer, 37(6), 48-53.
- Christy, J. (2017). The 29th Anniversary of the Morris Worm. Cymmetria.
- Kienzle, D. M., Elder, M. C. (2003). Recent worms: a survey and trends. In Proceedings of the 2003 ACM workshop on Rapid malcode (pp. 1-10).
- Li, P., Salour, M., Su, X. (2008). A survey of internet worm detection and containment. IEEE Communications Surveys & Tutorials, 10(1), 20-35.
- Orman, H. (2003). The Morris worm: A fifteen-year perspective. IEEE Security & Privacy, 1(5), 35-43.
- Peikari, C., Chuvakin, A. (2004).Strażnik bezpieczeństwa danych. Gliwice: Wyd. Helion.
- Rajesh, B., Reddy, Y. J., Reddy, B. D. K. (2015). A survey paper on malicous computer worms. International Journal of Advanced Research in Computer Science and Technology, 3(2), 161-167.
- Tidy, L., Shahzad, K., Ahmad, M. A., Woodhead, S. (2014). An assessment of the contemporary threat posed by network worm malware. In The Ninth Internation Conference on Systems and Networks Communications (ICSNC 2014).
- Wilde, T. (2019). Remembering the Morris Worm, the first internet felony. PC Gamer, available at: https://www.pcgamer.com/remembering-the-morris-worm-the-first-internet-felony/