Jak cyberprzestępcy wykorzystują luki w oprogramowaniu?

Jak cyberprzestępcy wykorzystują luki w oprogramowaniu?

Jak cyberprzestępcy wykorzystują luki w oprogramowaniu?
Źródło zdjęć: © Jupiterimages
26.11.2010 13:17, aktualizacja: 26.11.2010 14:11

System bezpieczeństwa był dość szczelny, ale włamywacz dokładnie wiedział, gdzie znajduje się słaby punkt. Przeszedł specjalne szkolenie, na którym nauczono go, jak prześlizgnąć się niepostrzeżenie przez takie luki i przeniknąć do sieci. Włamywacz tworzy lukę, która pozwala przedostać się do systemu innym - szpiegom, złodziejom czy tajnym agentom, którzy sprawiają, że system działa tak, jak chcą ich szefowie. Tak długo, jak luka pozostaje otwarta...

To wcale nie jest scena z gry komputerowej, taki scenariusz rozgrywa się z udziałem exploitów - programów, które wykorzystują luki w zabezpieczeniach oprogramowania i ukradkowo przenikają do atakowanych komputerów.

Obraz
© (fot. Jupiterimages)

Luki w zabezpieczeniach i exploity

Luka w zabezpieczeniu to błąd w kodzie oprogramowania, który szkodliwi użytkownicy mogą w pewnych warunkach wykorzystać do własnych celów. Exploit to program, który wykorzystuje do własnych, szkodliwych celów lukę w oprogramowaniu na lokalnym lub zdalnym komputerze.

Głównym celem exploitów jest zainfekowanie komputera przy użyciu określonego szkodliwego programu. W większości przypadków exploit ma niewielkie rozmiary, dlatego pełni funkcję downloadera - aplikacji pobierającej inne programy. Z reguły wszystkie szkodliwe działania odbywają się w tle i pozostają niezauważone przez użytkownika. Czasami w wyniku działania szkodnika przestaje działać przeglądarka internetowa, jednak przeciętny użytkownik prawdopodobnie nie zauważy niczego podejrzanego.

Luki w zabezpieczeniach można znaleźć w każdym typie oprogramowania, popularne programy nie są tu wyjątkiem. Wydaje się, że niektórzy producenci nie przejmują się błędami w kodzie swoich programów. Luki znajdują się w programach wykorzystywanych do przetwarzania różnych formatów plików, jak również w wirtualnych maszynach, które uruchamiają skrypty. Pozwala to szkodliwym użytkownikom dodawać exploity do plików w różnych formatach, takich jak JPEG, TIFF, BMP, GIF, ANI oraz LNK, z pomocą różnych protokołów. Czasami sam plik jest exploitem, tak jak w przypadku plików napisanych w JavaScript, które atakują luki w zabezpieczeniach Internet Explorera.

W przeważającej większości przypadków exploity zawierają tak zwany “shell code”, który wygląda jak sekwencja bajtów i stanowi grupę instrukcji maszynowych, które mogą być wykonywane przez procesor. Kod zwykle jest pobierany na komputer użytkownika, a następnie zostaje uruchomiony pełny szkodliwy program. Jednak istnieją również luki, które nie wymagają wykonania shell code. Na przykład exploit, który wykorzystuje lukę CVE-2010-188. w systemie help desk i centrum pomocy technicznej Microsoftu wykonuje kod HTML, zawierający znacznik