Historia pewnego szkodnika

Nie tylko najstarsi użytkownicy komputerów pamiętają czasy, gdy media donosiły o nadchodzącej Apokalipsie, której sprawcami miały być... wirusy. Miały one kasować dyski twarde setek tysięcy komputerów, a eksperci prześcigali się w przewidywaniu katastrof, jakie podobny atak może spowodować. Przewidywania były, jak to zwykle w takich przypadkach bywa, przesadzone. Faktem jednak jest, że mieliśmy wówczas do czynienia z wielkimi epidemiami lub ich zapowiedziami. Od kilku lat właściwie o niczym takim nie słychać. Spokój jest jednak złudny. W XXI wieku wcale nie poradziliśmy sobie ze szkodliwym kodem. Jego autorzy zmienili jedynie sposób działania - przez co są jeszcze bardziej groźni. Warto przypomnieć, jak to wszystko się zaczęło...

Na początku była... ćma

W roku 1945 pani kontradmirał Grace Murray Hopper wyciągnęła spośród kabli ćmę, która spowodowała awarię jednego z komputerów należących do Marynarki Wojennej USA. Powiedziała o niej nie "moth" czy "insect", a "bug". Tego terminu używano od XIX wieku na określenie problemów z urządzeniami elektrycznymi. Do opisania całego procesu naprawy komputera pani Hopper użyła słowa "debugging". Komputerowe zło, zaklęte w słowie, które powołało je do życia, zaczęło istnieć. Długo jednak się nie ujawniało.

Spór o to, kiedy narodził się pierwszy komputerowy wirus wciąż pozostaje nierozstrzygnięty. Nastąpiło to pomiędzy chwilą, w której Charles Babbage (angielski inżynier, matematyk i filozof, żyjący w latach 1791-1871) wpadł na pomysł zbudowania programowalnej maszyny, a latami 70. ubiegłego wieku, gdy wykryto pierwsze wirusy. Od ćmy kontradmirał Hopper, do pierwszego niechcianego (bo jeszcze niezbyt szkodliwego) kodu, droga nie była jednak daleka.

John von Neumann

John von Neumann

Podobno pierwszym człowiekiem, który pomyślał o czymś, co mogłoby być komputerowym wirusem, był węgierski naukowiec, John von Neumann. W 1949 roku wysunął on teorię istnienia samopowielającego się programu komputerowego, który mógłby być przechowywany w pamięci maszyny.

Skoro mamy już coś (ćmę), co psuje komputer i teorię Neumanna, że mogłoby to być programem, który sam się powiela, brakuje nam jedynie środka transportu. Tutaj nieoceniona okazała się pomoc korporacji AT&T, która w 1960 roku zaprezentowała Dataphone - pierwszy komercyjnie dostępny modem. Nieco później grupa programistów dokonała kolejnego kroku w kierunku rozpoczęcia epoki szkodliwego kodu. W roku 1963 stworzono kod ASCII, prosty język komputerowy, który umożliwiał wymianę danych pomiędzy maszynami różnych producentów.

Lata przed

Niegdyś wirusy komputerowe powstawały z głupoty lub złośliwości. Ich twórcy chcieli udowodnić coś sobie lub innym, zyskać rozgłos, komuś dokuczyć lub coś zniszczyć. Od ładnych paru lat celem autorów szkodliwego kodu jest zarobienie pieniędzy, a ściślej - ukradzenie ich swojej ofierze.

Nie jest to idea nowa, gdyż już pierwsi "cyberprzestępcy" zajmowali się kradzieżą. Na początku kradzieżą impulsów telefonicznych. Stały się one taką plagą, że w 1964 roku AT&T powołało specjalną grupę śledczą, która miała za zadanie chwytanie tzw. phreakerów, czyli osób, które oszukiwały instalacje telefoniczne i dzwoniły za darmo lub znacznie taniej, niż wynosiły ustalone stawki. W 1975 roku szef tejże grupy przyznał, że, by złapać phreakerów, monitorowała ona 33 miliony rozmów międzymiastowych. Phreakerzy udowodnili, że nowoczesną technologię można wykorzystać niezgodnie z intencjami jej posiadacza i odnosić z tego tytułu korzyści materialne. Do ukończenia układanki brakowało jeszcze kilku elementów, ale wkrótce pojawiły się i one.

Szkodliwy kod wkracza na scenę

Tymi elementami był UNIX, pierwszy wielozadaniowy system operacyjny, który narodził się w 1969 roku oraz ARPANET. Advanced Research Projects Agency (ARPA, obecnie DARPA) stworzyła swoją sieć również w roku 1969. Gdy pięć lat później zadebiutował Telenet, czyli komercyjna wersja ARPANET-u, wszystko było gotowe do debiutu. Hakerski narybek (wśród którego znajdował się sławny później Kevin Mitnick) dzielnie dął w gwizdki wyjęte z pudełek po płatkach owocowych i, wzorem phreakerów, oszukiwał centrale telefoniczne, a operatorzy ARPANETU w tym samym czasie odkrywali Creepera.

Pracował on na systemie operacyjnym Tenex i był w stanie samodzielnie rozprzestrzeniać się i replikować. W zainfekowanym systemie wyświetlał się komunikat: "I'm the Creeper: Catch me if you can". Wkrótce po nim w ARPANECIE znaleziono kolejny niechciany kod - Reapera. Również i on potrafił się rozprzestrzeniać, a gdy w zainfekowanej przez siebie maszynie znalazł Creepera, kasował go. Do dzisiaj nie jest jasne, skąd wziął się Reaper. Jedna teoria mówi, że stworzyli go administratorzy ARPANET-u, chcąc wyeliminować Creepera. Druga - iż był on dziełem autora Creepera, którzy próbowali naprawić swój błąd i zniszczyć poprzedniego szkodnika.

Rok po starciu Creepera z Reaperem zadebiutował Rabbit. Nazwano go tak, gdyż jedynie replikował się i rozprzestrzeniał. Miano "Królika" zyskał w uznaniu dla prędkości namnażania. Rabbit mógł jednak narobić szkód. Jego liczne kopie zużywały zasoby maszyny i spowalniały jej działanie. Na szczęście po osiągnięciu pewnego poziomu infekcji, wirus ulegał awarii.

Rok 1974 jest ważny jeszcze z jednego względu. Wówczas, o czym była już mowa, ARPANET został skomercjalizowany, a jego klon - Telenet - stał się pierwszą komercyjną siecią. Szkodliwy kod mógł ruszyć na podbój świata.

Miłe złego początki

Dalsza historia wirusów jest równie tajemnicza. "Pervading Animal" była grą. Albo i nie. Program napisany w 1975 roku na komputer Univac 1108 miał proste zasady: gracz wybierał sobie jakieś zwierzę, a program, zadając mu pytania i analizując odpowiedzi, miał za zadanie zgadnąć, o jakie zwierzę chodzi. Program był wyposażony w funkcję aktualizacji. Gdy nie odpowiedział prawidłowo, wgrywana była kolejna wersja, która zadawała nowe pytania. Problem w tym, że nie tylko zastępowała ona wersję dotychczasową, ale kopiowała się do innych katalogów. Po pewnym czasie w każdym katalogu znajdowała się kopia "Pervading Animal". Program zapychał tak cenne wówczas nośniki danych.

Obecnie trudno powiedzieć, czy był to szkodliwy kod, czy też jego twórcy popełnili jakiś błąd. W owych czasach granica pomiędzy błędem programistycznym, a szkodnikiem była bardzo cienka. Programiści pracujący na Univacu próbowali powtórzyć schemat z Creepera-Repera. Stworzyli nową wersję gry, która miała wyszukiwać i niszczyć starą. Jednak problem w pełni rozwiązano dopiero wówczas, gdy powstała nowa wersja systemu operacyjnego. "Pervading Animal" nie mógł już się powielać.


Zobacz również