Jak cyberprzestępcy wykorzystują luki w oprogramowaniu?

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...

Jak cyberprzestępcy wykorzystują luki w oprogramowaniu?
Źródło zdjęć: © Jupiterimages

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

Twój komputer jest zagrożony

Istnieje wiele sposobów dostarczania exploitów na komputery użytkowników. Najpowszechniejszą metodą jest infekowanie legalnych zasobów. Szkodliwi użytkownicy najczęściej wykorzystują do tego celu downloadery skryptów Gumblar oraz Pegel. Szkodliwy skrypt zawierający liczne exploity jest pobierany na komputer użytkownika, gdy ten odwiedza zainfekowaną nim stronę.

W takich przypadkach cyberprzestępcy zwykle wykorzystują tak zwany pakiet exploitów, który zasadniczo stanowi zestaw narzędzi wykorzystujących luki w zabezpieczeniach różnych przeglądarek i aplikacji. Plan cyberprzestępców jest prosty: na atakowanym komputerze znajduje się wiele różnych programów, dlatego stosowanie zestawu różnych exploitów zwiększa szansę powodzenia. Na przykład, jeżeli na komputerze ofiary znajdują się załatane wersje Chrome’a i Adobe Readera, ale silnik Java firmy Sun posiada lukę, wtedy jeden z exploitów wykorzystujących luki w zabezpieczeniach Javy zawartych w pakiecie pobierze szkodliwe oprogramowanie na komputer ofiary.

Tego rodzaju atak jest określany jako “Drive-by Download”. Jest on szczególnie groźny, ponieważ użytkownik jest całkowicie nieświadomy tego, co się dzieje. To nie przypadek, że ostatnio wiele zagrożeń internetowych jest rozprzestrzenianych za pośrednictwem ataków drive-by download, łącznie z niebezpiecznymi i złożonymi zagrożeniami, takimi jak Zbot/ZeuS, TDSS, Sinowal oraz Virut.ce.

Poniższy schemat pokazuje, w jaki sposób komputer użytkownika może zostać zainfekowany przez Zbota/ZeuSa.

Obraz
© W jaki sposób komputer jest infekowany przez Zbota/ZeuSa przy użyciu exploitów (fot. Kaspersky Lab)

Pierwszym krokiem w procesie jest przekierowanie użytkownika na stronę internetową zainfekowaną programem Trojan-Downloader.JS.Pegel. Następnie, Pegel przekierowuje użytkownika na stronę internetową zawierającą pakiet exploitów. W dalszej kolejności następują próby bezpośredniego pobrania i zainstalowania bota. Ostatnim krokiem jest przyłączenie zainfekowanego komputera do centrum kontroli botnetu (sieci zainfekowanych komputerów) i włączenie go do botnetu.

Do rozprzestrzeniania exploitów powszechnie wykorzystuje się również socjotechnikę. Użytkownik otrzymuje na przykład odsyłacz do nowej wiadomości, rzekomo z Facebooka, lub e-mail podszywający się pod wiadomość z banku zachęcającą do odwiedzenia określonej strony w celu odblokowania konta. Odsyłacz skieruje użytkownika do fałszywej wiadomości, poprzez którą może on nieświadomie pobrać na swój komputer exploita.

Jeżeli komputer jest już zainfekowany trojanem downloaderem, taki program może pobrać i zainstalować dowolną liczbę zagrożeń, łącznie z takimi, które wykorzystują luki w zabezpieczeniach.

Jednak exploity najskuteczniej rozprzestrzeniane są z zainfekowanego komputera do lokalnej sieci. W takim przypadku generowane jest zapytanie sieciowe, które następnie wysyłane jest do wszystkich komputerów w systemie. W rezultacie mogą zostać wykorzystane dowolne luki istniejące w systemie. W ten sposób rozprzestrzeniane są najgroźniejsze robaki, takie jak Kido i Lovesan. Za pomocą tej metody w bardzo krótkim czasie można zainfekować całą sieć lokalną. Infekcja zostanie zatrzymana dopiero po załataniu luki.

Oni tego dokonali

W ostatnim czasie najistotniejsze wydarzenia związane z bezpieczeństwem informatycznym miały zazwyczaj związek z wykorzystaniem przez cyberprzestępców różnych luk w zabezpieczeniach.

Nie będzie przesadą, jeśli powiemy, że pojawienie się robaka sieciowego Kido/Conficker było najważniejszym wydarzeniem w branży IT minionej dekady. Tym, co wyróżnia to zagrożenie, jest łatwość, z jaką szkodnik rozprzestrzenia się, a mianowicie poprzez wykorzystanie luki MS08-06. w systemie Windows Server. Trzeba jedynie wysłać specjalny pakiet sieciowy do atakowanego komputera i jeśli system operacyjny nie jest załatany, szkodliwy kod zostanie uruchomiony.

Kolejnym istotnym incydentem w ostatnim czasie był atak ukierunkowany na firmy Microsoft i Google, którego celem była kradzież poufnych danych tych firm. Atak został przeprowadzony przy użyciu szkodliwego skryptu Aurora i wykorzystywał lukę CVE-2010-024. w Eksploratorze Windows.

Innym, stosunkowo nowym zagrożeniem jest robak Stuxnet. Szkodnik ten wykorzystuje lukę CVE-2010-256. w obsłudze plików LNK. W celu rozprzestrzeniania tego programu generowany jest specjalny skrót LNK, który następnie trafia na atakowane komputery. Szkodliwy program uruchamia się, gdy użytkownik otwiera pakiet sieciowy zawierający skrót. Skróty mogą być również rozprzestrzeniane za pośrednictwem poczty elektronicznej. Gdy klient pocztowy spróbuje wyświetlić ikonę, komputer rozpoczyna pobieranie szkodliwego programu. Obecnie pojawia się coraz więcej zagrożeń, które wykorzystują luki w obsłudze plików LNK. Przykładem są wykryte niedawno droppery Sality.ag, które są rozprzestrzeniane za pomocą spreparowanych skrótów.

Obraz
© Statystyki dotyczące wykrytych exploitów wykorzystujących lukę CVE-2010-2568. Kliknij, aby powiększyć (fot. Kaspersky Lab)

Sądząc po liczbie wykrytych exploitów wykorzystujących lukę CVE-2010-2568. która nie zmniejszyła się pomimo opublikowania przez Microsoft oficjalnej łaty 2 sierpnia 2010 r. (MS10 - 046), można wnioskować, że luka ta wciąż jest popularna wśród cyberprzestępców. Co ciekawe, wykorzystanie tej luki zmniejsza się każdej niedzieli, co prawdopodobnie wynika z tego, że rzadziej korzystamy z komputerów w weekendy.

Łaty na programy

Niezałatane luki w powszechnie wykorzystywanym oprogramowaniu mogą mieć niepożądane konsekwencje. Dlatego producenci oprogramowania publikują łaty - niewielkie programy usuwające luki.

Automatyczne aktualizacje programów instalowane na komputerach użytkowników mają kluczowe znaczenie i znacząco wpływają na bezpieczeństwo systemu operacyjnego jako całości. Produkty Microsoftu są wykorzystywane na przeważającej większości komputerów na całym świecie, a firma ta jest liderem pod względem publikacji łat. Począwszy od Windows 9. użytkownicy tego systemu operacyjnego mogą korzystać z darmowej usługi Windows Update. Oprócz uaktualnionych sterowników i dodatkowych komponentów dla systemu Windows usługa ta dostarcza łaty na dziurawe aplikacje i zachęca użytkowników do ich zainstalowania na swoich komputerach. Z czasem usługa ta ewoluowała do bardziej globalnej usługi Microsoft Update. Usługa ta - również darmowa - skanuje system użytkownika w poszukiwaniu niezbędnych aktualizacji dla produktów firmy Microsoft, takich jak SQL Server, Visual Studio, MS Office itp.

Wcześniej cyberprzestępcy wykorzystywali tylko luki w systemach operacyjnych firmy Microsoft. Jednak w ciągu ostatnich kilku lat wśród ich celów znalazły się również produkty firmy Adobe, takie jak Flash Player oraz Adobe Reader. Początkowo Adobe publikował łaty niechętnie i opieszale. Jednak z czasem stało się jasne, że firma zaniedbuje potrzeby użytkowników. W rezultacie opublikowano nowy produkt o nazwie Adobe Updater, który miał spełniać funkcję podobną do Windows Update: automatyczne pobieranie i instalowanie łat na programy zainstalowane na komputerach użytkowników. Obecnie z aktualizacjami zmaga się firma Sun, której silnik Java również posiada luki wykorzystywane przez exploity.

Producenci rozwiązań antywirusowych również nie próżnują. Regularnie udostępniają aktualizacje dla potencjalnie niebezpiecznych exploitów, jak tylko zostaną wykryte. W ten sposób powstrzymują działania szkodliwych użytkowników do czasu opublikowania przez producenta oficjalnej łaty. Współpraca pomiędzy firmą Microsoft, Adobe oraz firmami antywirusowymi zmniejsza do minimum czas reakcji na zagrożenia i pozwala zapewnić użytkownikom lepszą ochronę.

Lepiej późno niż wcale

Obecnie większość ataków internetowych opiera się na wykorzystaniu exploitów, które pomagają cyberprzestępcom pobrać wybrany szkodliwy program na komputer użytkownika bez jego wiedzy i zgody. Co więcej, wiele luk pozwala cyberprzestępcom uzyskać pełny dostęp do systemu użytkownika. Jak można się chronić przed takimi atakami?

Pierwszym i najważniejszym krokiem jest jak najszybsze pobieranie i instalowanie wszystkich aktualizacji dostępnych dla posiadanego oprogramowania. Niestety, według danych Kaspersky Lab, wielu użytkowników nie aktualizuje regularnie oprogramowania posiadanego na swoim komputerze - wykrywamy liczne luki na komputerach użytkowników naszych programów. Co więcej, łaty dla najbardziej rozpowszechnionych luk często zostały opublikowane wiele miesięcy - a nawet lat - temu.

W trzecim kwartale 201. roku Kaspersky Lab zidentyfikował niemal 31,5 miliona niezałatanych luk w zabezpieczeniach aplikacji i plikach na komputerach użytkowników. Pod koniec kwartału wśród 10 największych zagrożeń znalazły się luki, które zostały wykryte w 2009, 2008... a nawet w 2007 roku!

Wielu użytkowników myśli, że cyberprzestępcy wykorzystują tylko nowe luki w zabezpieczeniach. Jednak wśród luk, które występują w naszym rankingu najbardziej rozpowszechnionych szkodliwych programów, regularnie widzimy szkodniki, które wykorzystują starsze luki. Na przykład w sierpniu 201. roku twórcy wirusów często wykorzystywali takie "leciwe" exploity jak CVE-2009-3867, CVE-2010-0806 oraz CVE-2010-0094.

Aktualizacje trzeba regularnie monitorować. Jeżeli jest taka konieczność, należy je zainstalować ręcznie. Użytkownicy powinni zawsze włączać na swoich komputerach takie usługi jak Microsoft Update oraz Adobe Updater. Oprócz aktualizacji dla produktów firmy Microsoft i Adobe użytkownicy nie powinni również ignorować aktualizacji dla innych programów, takich jak popularny odtwarzacz muzyki Winamp.

Nie zapominajmy o podstawowych zasadach bezpieczeństwa komputerowego: nie wolno otwierać nieznanych wiadomości e-mail, które pojawiają się w skrzynce pocztowej, ani klikać nieznanych odsyłaczy. Większość przeglądarek, takich jak Google Chrome, Mozilla Firefox oraz Internet Explorer, posiada specjalne filtry, które blokują phishing oraz inne szkodliwe strony internetowe. Należy zatem korzystać z przeglądarki internetowej, która ma wbudowane takie filtry.

Na koniec, bardzo ważne jest wyposażenie komputera we wszechstronne rozwiązanie antywirusowe oraz instalowanie najnowszych aktualizacji w celu zwalczania exploitów wykorzystujących niezałatane luki w zabezpieczeniach.

Źródło: Kaspersky Lab

Wybrane dla Ciebie
Komentarze (0)