Wirusy komputerowe: Apple vs Microsoft 1:0

"Chciałem zbudować robota, ale nie było dostępnych zestawów i nie miałem odpowiednich umiejętności mechanicznych. W programowaniu odkryłem sposób na naśladowanie rzeczy, które widziałem w filmach."

Rich Skrenta

Niniejszy wpis to kolejna część mojej serii pt. Historie wirusów komputerowych. Część I znajduje się tutaj :)

Zdanie cytowane na wstępie to słowa twórcy wirusa komputerowego Elk Cloner z lutego 1982 roku, który - jak się przyjmuje - jako pierwszy posiadał umiejętność samopowielania się, dzięki której wydostał sie na wolność i spod kontroli jego autora.

Wirus został stworzony przez niego jako dowcip, coś w rodzaju popularnych dzisiaj pranków. W grudniu 1980 roku Rich otrzymał od rodziców pod choinkę komputer Apple II, który szybko zajął jego każdą wolną chwilę. Skrenta opanował programowanie w Basic'u, pisząc tekstową grę przygodową, opowiadającą historię rozbitka, który jako jedyny przeżył katastrofę lotniczą. Następnie nauczył się assemblera. 

Zestaw komputerowy Apple II został opracowany w latach 70-tych przez Steve'a Wozniaka i obejmował m.in. dwie stacje dyskietek. Był pierwszym komputerem mogącym wyświetlić kolorową grafikę.

Dzięki obecności dwóch stacji dyskietek posiadacze Apple II mogli się z łatwością kopiować i wymieniać oprogramowanie i chętnie korzystali z tej możliwości. Skrenta, członek klubu komputerowego w Pittsburgh'u, również uczestniczył w tych wymianach. Lubił przy tym robić swoim kolegom różne dowcipy i często dyskietki, które pożyczał kumplom, zawierały lekko zmienioną zawartość, dzięki której na ekranach wyświetlały się zabawne napisy albo komputer wyłączał się. Następnie postanowił na dyskietce kolegi zawierającej nową grę dodać kod wyświetlający wiadomość na ekranie. 

To wszystko spowodowało, iż przyjaciele przestali pożyczać mu swoje dyskietki z oprogramowaniem. Wówczas Skrenta postanowił obejść problem opracowując sposób na zmienianie zawartości dyskietek "bez dotykania ich".

Opracował działający w tle program, który sprawdzał obecność nowej dyskietki w stacji i po jej odnalezieniu modyfikował pliki znajdujące się na niej. Finalnie powstał program, który potrafił przenosić się z dyskietki na dyskietkę, z systemu na system.

Napisanie Elk Clonera w assemblerze zajęło mu dwa tygodnie. Skrenta w jednym z wywiadów ujawnił, że wykorzystał informacje o punktach wejścia znajdujących się w dokumentacji technicznej Apple II takich jak włączanie stacji dyskietek oraz wykorzystał luki w jednej z aplikacji jądra, Monitorze Systemowym.

Poniżej, dla zainteresowanych, adres pod którym można pobawić się emulatorem komputera Apple II.

Kiknijcie w ten link - Emulator Apple II.

Sposób działania

Elk Cloner wytwarzał w chwili uruchomienia terkoczący dźwięk (w momencie włożenia nośnika do stacji dyskietek), zatem można było usłyszeć, jeśli wkładana do komputera dyskietka była zainfekowana. Nie infekował jednak kolejnych dyskietek, jeśli komputer zostałby w międzyczasie uruchomiony ponownie, ponieważ rezydował w jego pamięci RAM. Biorąc jednak pod uwagę sposób użytkowania komputerów użytkowników, program rozprzestrzeniał się błyskawicznie. Wystarczyło, aby do komputera - po uruchomieniu - została włożona najpierw zakażona dyskietka, a później wolna od wirusów. Po wpisaniu komendy "catalog", aby wyświetlić jej zawartość, wirus kopiował się na czysty nośnik.

Sam wirus nie był nadmiernie uciążliwy. Jego działanie ujawniało się poprzez wyświetlenie na ekranie komputera zaprezentowanego na wstępie tego wpisu tekstu po każdym pięćdziesiątym uruchomieniu zakażonej dyskietki. Z tego powodu Skrenta nie spotkał się z jakimiś dotkliwymi konsekwencjami swojego czynu. Jedną z pierwszych osób, która zidentyfikowała go jako autora tego wirusa, był nauczyciel matematyki w szkole Rich'a, który podejrzewał go o włamanie do jego komputera.

Elk Cloner to pierwszy wirus, który infekował komputery z wykorzystaniem "sektora rozruchowego" nośnika z danymi. Pierwszy, który potrafił się samodzielnie rozprzestrzeniać dzięki temu pomysłowi.


The virus is fairly harmless, had no network connectivity, and problems were solved by a reboot.

Dodać również należy, iż jakiś czas później Rich Skrenta stworzył - również w assemblerze - program służący usuwaniu Elk Cloner'a z zainfekowanych dyskietek. 

Ciekawostki.

Również w dziedzinie wirusów Apple wyprzedził chronologicznie Microsoft, gdyż pierwszy wirus funkcjonujący w systemie MS-DOS jest datowany na rok 1986, a zatem 4 lata później niż Elk Cloner (zatem w meczu Apple - Microsoft mamy tytułowy wynik 1:0).

Pomimo, że Skrenta uważa, iż komputery Mac - działające na jądrze systemu Unix - są bezpieczniejsze od urządzeń PC (opierających się na Windows), to i tak uważa, że zawsze jest słaby punkt do wykorzystania.

Macs have switched to a Unix core but there’s always a way in.

Wiele lat później do Skrenty docierały informacje o informacje o ofiarach wirusa, a w tym o marynarzu służącym w czasie I wojny w Zatoce Perskiej, który używał komputera Apple II i padł ofiarą Elk Clonera

Warto pamiętać, iż we wczesnych latach osiemdziesiątych twarde dyski w komputerach domowych należały do rzadkości i system uruchamiany był z nośników wymiennych. Stąd łatwość rozprzestrzenienia się Elk Clonera

Na tej stronie autor zamieścił wiele użytecznych informacji o wirusie, a w tym jego kod źródłowy oraz obraz dyskietki 5 1/4 cala zainfekowanej wirusem.

Na tym filmie możecie zobaczyć Elk Clonera w działaniu - efekt nie jest zbyt widowiskowy :)

W kolejnym odcinku zajmiemy się pierwszym wirusem napisanym pod system MS-DOS :)