Kategorie
Leksykon Publicystyka

Słowniczek Zagrożeń Komputerowych dla Mało Zorientowanych (część 1)

Kiedyś było łatwiej. Mieliśmy wirusy komputerowe i w zasadzie nic więcej. Nawet, jeśli mało kto potrafił to pojęcie objaśnić, wszyscy mieli intuicję, że skoro “wirus” to raczej coś niezbyt dobrego no a “komputerowy” to już wiadomo.

Dziś czytamy o zagrożeniach takich, jak spyware, adware, ransomware, rootkit, backdoor czy phishing – nawet osoba znająca język angielski będzie miała duże problemy z rozszyfrowaniem ich znaczenia. Niniejszy Słowniczek objaśnia zwięźle, skąd wzięły się te pojęcia i jak wyglądała ewolucja zagrożeń komputerowych. Gdy je poznasz, łatwiej ci będzie ochronić siebie i swoich bliskich.

To pierwsza część cyklu, w której przeczytamy o wirusach, antywirusach, robakach i podatnościach dnia zerowego.

Skorowidz:

Część 1: wirus, antywirus, robak (worm), 0-day
Część 2: makrowirus, botnet, DDOS, zombie, C&C, DOS

WIRUS (virus), PROGRAM ANTYWIRUSOWY (antivirus software)

Tak więc dawno temu były sobie wirusy komputerowe. Nazwa bardzo trafna, dobrze oddawała istotę zagrożenia – wirus sam z siebie nie jest żywy (nie jest pełnoprawnym programem) i potrzebuje nosiciela (dyskietki lub programu) aby się namnażać i przenosić na kolejne komputery. Pierwsze wirusy pojawiły się w połowie lat 80 ubiegłego wieku, najlepsze warunki do rozmnażania i rozwoju miały na komputerach PC z systemem Microsoft DOS (Windows jeszcze nie istniał). Dlaczego? W tamtych czasach tylko pecety miały dyski twarde, na których wirus mógł przetrwać restart komputera. W przypadku komputerów Amiga i Atari ST, gdzie załadowanie nowego programu z innej dyskietki prawie zawsze poprzedzone było resetem, poziom ryzyka był niższy.

Najpopularniejsze były wirusy “plikowe”, które doklejały swój kod do innych programów. Gdy uruchamiano ów zainfekowany program, jako pierwszy startował wirus – i zazwyczaj pozostawał już przyczajony w pamięci operacyjnej komputera. Jego podstawowym celem było oczywiście doklejanie się do możliwie wielu innych plików wykonywalnych, czasem też manifestował swoją obecność robiąc użytkownikowi mniej lub bardziej złośliwe dowcipy.

Drugi sposób infekcji polegał na wstrzyknięciu kodu wirusa do startowego sektora dysku twardego lub dyskietki. Wirus uruchamiał się wówczas jednocześnie z systemem operacyjnym i podmieniał procedurę obsługi stacji dysków, by od tej chwili zarażać każdą kolejną dyskietkę włożoną do napędu. Dyskietki były w latach ‘80 i ‘90 jedyną metodą dystrybucji gier i programów, więc ryzyko zarażenia było wprost proporcjonalne do liczby osób korzystających z danego komputerem. Dość powiedzieć, że na szkolnych komputerach można było znaleźć kilka wirusów naraz. 

Ochrona przed wirusami była stosunkowo prosta. Wystarczyło każdą przyniesioną do domu dyskietkę przeskanować programem antywirusowym no i uważać na oprogramowanie z nieznanych źródeł (skąd my to znamy?). Antywirusy potrafiły nie tylko rozpoznawać ale i usuwać wykryte zagrożenia, więc rozgorzał wyścig między twórcami wirusów i antywirusów – ci pierwsi doskonalili metody ukrywania infekcji, drudzy – metody jej detekcji.

Warto wspomnieć program antywirusowy MkS_Vir stworzony w roku 1987 przez Marka Sella. Był jednym z najczęściej piraconych programów na ówczesnych pecetach, bo powstawał w Polsce i reagował na zagrożenia występujące na rodzimym podwórku. Oprócz tego zawierał leksykon wirusów z opisami ich zachowania – w niektórych przypadkach dostępna była demonstracja efektów audiowizualnych towarzyszących aktywacji wirusa.

ROBAK (worm)

“Robak” to złośliwy program komputerowy, który infekuje kolejne maszyny poprzez sieć komputerową. Ta kategoria zagrożeń mogła więc pojawić się dopiero wówczas, gdy praca online stała się normą. Z reguły robaki rozpowszechniają się wykorzystując błędy bezpieczeństwa w systemach operacyjnych lub popularnych programach – by zmaksymalizować szanse na infekcję kolejnej maszyny.

Na replikację i uruchomienie na drugim komputerze własnej kopii pozwalają robakowi błędy z kategorii zdalnego wykonania kodu (Remote Code Execution – RCE). Ich wykorzystanie polega na wysłaniu do drugiego komputera takiej sekwencji danych, która spowoduje jego nieprawidłowe zachowanie i w efekcie wykonanie poleceń spreparowanych przez autora robaka. Liczba zainfekowanych maszyn może wówczas rosnąć wykładniczo. Ponieważ błędy RCE są trudne do znalezienia, robaki niekiedy próbują połączyć się z innymi komputerami za pomocą poświadczeń bieżącego użytkownika albo podejmując próby odgadnięcia hasła operatora zdalnego systemu.

Inny model dystrybucji to wykorzystanie ciekawości użytkownika i nakłonienie go do uruchomienia załącznika z poczty elektronicznej. Tak działał w roku dwutysięcznym robak ILOVEYOU, jeden z pierwszych infekujących maszyny z systemem Windows – gdy użytkownik otworzył rzekomy list miłosny, w rzeczywistości uruchamiał robaka, który natychmiast rozsyłał się do wszystkich osób z książki adresowej programu Outlook. Szacuje się, że w krótkim czasie doszło do 50 milionów infekcji czyli ofiarą robaka padło 10% ówczesnych pracujących w sieci pecetów.

Czasem mianem robaka określa się też kod atakujący podatności stron WWW w taki sposób, że złośliwa akcja jest podejmowana w imieniu użytkownika bez jego świadomego działania. Atak tego typu dotknął w 2011 roku Facebooka – odwiedziny użytkownika tego serwisu na specjalnie spreparowanej stronie sprawiały, że złośliwy kod publikował w jego imieniu zaproszenia do odwiedzenia tejże strony w aktualnościach wszystkich osób na liście kontaktów. W krótkim czasie serwis zapchał się z powodu lawinowo rosnącej liczby publikowanych zaproszeń.

Pierwsze ataki robaków komputerowych były punktem zwrotnym dla branży komputerowej. Wcześniej aktualizacje programów antywirusowych pojawiały się raz na kilka tygodni a zasięg i skala popularności każdego wirusa były różne w zależności od kraju i regionu. W przypadku robaków geografia przestała mieć znaczenie – infekcja obejmuje zazwyczaj cały świat jednocześnie. Programy antywirusowe zaś, aby działać skutecznie, potrzebują znacznie częstszych aktualizacji. W dzisiejszych czasach sygnatury nowych wirusów są identyfikowane przez producentów antywirusów automatycznie zaś paczki z tymi sygnaturami są pobierane na komputery użytkowników wiele razy dziennie.

PODATNOŚĆ DNIA ZEROWEGO, zero-day exploit, 0-day

W wielu przypadkach walka z usterkami oprogramowania wygląda następująco:

  1. badacz lub producent identyfikuje usterkę programu lub systemu
  2. producent przygotowuje i wypuszcza poprawkę
  3. atakujący porównują starą i nową wersję programu, poznają podatność starej wersji i przygotowują atak ją wykorzystujący
  4. wszyscy użytkownicy kończą instalować poprawkę

Między punktami 3 a 4 rozciąga się przedział, w którym możliwe jest przeprowadzenie ataku. Często atakującym musi wystarczyć zaledwie kilka dni – w dzisiejszych czasach wiele pakietów oprogramowania zawiera moduł automatycznej aktualizacji, pobierający poprawki bezpieczeństwa bez dodatkowych pytań. A co będzie, jeśli identyfikacja usterki nastąpi dopiero po ataku?

“Podatność dnia zerowego” (0-day exploit) to w slangu osób związanych z bezpieczeństwem podatność, która została wykorzystana zanim dowiedział się o nim producent i badacze bezpieczeństwa. Jednocześnie przeprowadzenie ataku sprawia, że podatność przestaje być tajemnicą. Wiadomo, że służby specjalne wielu krajów kolekcjonują “zero day-e” jako broń ofensywną. W 2010 roku ujawniono istnienie robaka Stuxnet, którym zainfekowano irańskie instalacje atomowe, co w efekcie doprowadziło do zniszczenia około tysiąca wirówek do wzbogacania uranu. W procesie przygotowania robaka (autorstwo przypisuje się Izraelowi i USA) wykorzystano aż cztery podatności kategorii “0-day”.

Pewne pojęcie o wartości błędów tej kategorii daje cennik firmy Zerodium, która zajmuje się skupem i odsprzedażą informacji o podatnościach dnia zerowego. Firma ta jest gotowa zapłacić do miliona dolarów za nowy sposób zdalnego wykonania kodu na systemach Windows i ponad dwa miliony za nowy sposób zdalnego przejęcia kontroli nad telefonami z systemem Android lub iOS. Można podejrzewać, że ich klienci są gotowi zapłacić za tę wiedzę odpowiednio więcej.



O autorze: zawodowy programista od 2003 roku, pasjonat bezpieczeństwa informatycznego. Rozwijał systemy finansowe dla NBP, tworzył i weryfikował zabezpieczenia bankowych aplikacji mobilnych, brał udział w pracach nad grą Angry Birds i wyszukiwarką internetową Microsoft Bing.

2 odpowiedzi na “Słowniczek Zagrożeń Komputerowych dla Mało Zorientowanych (część 1)”

W artykule brak zapowiadanego prostego języka. Babcia i dziadek nadal nie wie co to są te wirusy komputerowe.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *