Malware 2.0

Powstała nowa koncepcja systemu ochrony przed złośliwym oprogramowaniem, która do przetwarzania i analizy danych wykorzystuje sieć serwerów internetowych, a nie tylko lokalny komputer.

Powstała nowa koncepcja systemu ochrony przed złośliwym oprogramowaniem, która do przetwarzania i analizy danych wykorzystuje sieć serwerów internetowych, a nie tylko lokalny komputer.

Jak twierdzą przedstawiciele , tego typu rozwiązanie umożliwia istotne zmniejszenie wykorzystania lokalnych zasobów komputera przez programy antywirusowe oraz zwiększenie szybkości ich reakcji na zagrożenia pojawiające się na stronach WWW lub w dostarczanych listach poczty elektronicznej. Przez całe lata twórcy oprogramowania typu malware wykorzystywali ten sam mechanizm - w atakowanym komputerze uruchamiano złośliwe oprogramowanie. Ponieważ jego kod był względnie stabilny i dobrze określony, twórcy opracowali systemy wykorzystujące sygnatury, które wspomagane przez mechanizmy automatycznej aktualizacji przez Internet stosowane są do dziś.

Kolejne techniki, które mają zmniejszyć zagrożenie wywoływane przez nowe, nieznane kody lub programy szybko zmieniające swoją strukturę to analiza heurystyczna, która wspiera ostatnią linię obrony oraz analiza behawioralna badająca zachowanie kodu już podczas jego pracy. Ale to wciąż nie wystarcza, bo obserwowana ostatnio rewolucja w sposobie konstruowania, dystrybucji oraz pracy złośliwego oprogramowania jest na tyle poważna, że zasłużyła na nazwę Malware 2.0.

Elastyczny malware

Mechanizmy działania współczesnego złośliwego oprogramowania są coraz bardziej skomplikowane i wieloetapowe. Przykładowo atak zaczyna się od uruchomienia na stacji roboczej niewielkiego programu, który nie zawiera żadnych niepożądanych mechanizmów. Bywa on wysyłany pocztą elektroniczną lub instalowany podczas przeglądania stron WWW. Ponieważ program nie wykonuje żadnych podejrzanych akcji, nie modyfikuje systemu, nie próbuje dokonać jakichkolwiek zmian w uprawnieniach, większość modułów HIPS nie podnosi alarmu przy próbie jego uruchomienia. Często też kod tego programu jest poddawany częstej rekompilacji na serwerze, skąd jest dystrybuowany. Przestępcom chodzi o to, aby co pewien czas - np. co godzinę - powstawała nowa, automatycznie tworzona wersja, której binaria różnią się od poprzedniej.

Dla skanerów bazujących na sumach kontrolnych lub fragmentach kodu, tego typu program jest prawie nieuchwytny. Jego zadaniem jest pobieranie z różnych serwerów odpowiednich fragmentów kodu i łączenie ich w nowy program wykonywalny, który może zostać uruchomiony w komputerze. Proces składania nie zawsze jest prosty, niektórzy twórcy stosują bardzo skomplikowane techniki deszyfrowania fragmentów i łączenia w trudno przewidywalny sposób. Nowy program może już posiadać opcje typowe dla malware, takie jak mechanizmy roznoszenia spamu lub łączenia się z komputerami zarządzającymi siecią botnet, ale wcale nie musi.

Niektórzy twórcy malware idą krok dalej i zakładają, że dopiero ten program pobierze z Internetu właściwe składniki złośliwego oprogramowania i zainstaluje je w zarażonej stacji roboczej. Ponadto niektóre produkty podziemnych laboratoriów nie rozpoczynają swojego procederu natychmiast po instalacji i potrafią oszukać zaporę sieciową Windows. Bywa, że sam proces uruchomienia nie odbywa się w typowy sposób, ale za pomocą wstrzyknięcia kodu, by uniknąć alarmu zapór sieciowych. Warto zauważyć, że sposób dystrybucji złośliwego oprogramowania opierający się na składaniu z części rozproszonych po różnych serwisach oraz duża ingerencja w Windows dają mu niespotykaną dotąd elastyczność oraz odporność na wykrycie.

Cudzymi rękami

Cyberprzestępcy stosują wiele sztuczek, aby oszukać użytkowników i zainstalować pierwszy składnik łańcucha złośliwego oprogramowania. Przykładowo, po włamaniu na jakąś popularną stronę WWW do oryginalnego kodu HTML strony dodawany jest odpowiedni składnik, powodujący wyświetlenie zawartości z innego serwera. Umieszczenie kodu wewnątrz odpowiednio sformatowanych znaczników <IFRAME> sprawia, że ramka jest niewidoczna i przekierowuje przeglądarkę użytkownika w celu pobrania malware. Niektóre takie włamania dokonywane są masowo, w sposób automatyczny.

Składniki malware są dystrybuowane z różnych domen, ale najczęściej stosowane są domeny.info, gdyż są tanie i łatwe w rejestracji. Gdy przeglądarka użytkownika wyświetli spreparowaną stronę pobraną z obcego serwera, zazwyczaj informuje o konieczności uruchomienia jakiegoś składnika. Często jest to informacja o "nowej wersji wtyczki Flash, wymaganej do prawidłowego wyświetlenia strony". Wiele z takich stron można wykryć za pomocą sieciowego crawlera, który okresowo przegląda strony, pozostałe zgłoszenia pochodzą z raportów oprogramowania antywirusowego, a także od użytkowników. Administratorzy zarażonych stron wykazują różne podejście do informacji o włamaniu - niektórzy szybko usuwają kod i poprawiają zabezpieczenia, inni nie reagują w ogóle.

Bezpieczeństwo a prywatność

Jednym z najpoważniejszych zarzutów wobec wszystkich technologii korzystających z usług dostawców oprogramowania jest problem prywatności użytkownika. Przesyłanie wszystkich linków jest niedopuszczalne i powodowałoby znaczące opóźnienia, zaś przesyłanie wszystkich skanowanych plików nie wchodzi w rachubę. Rozwiązanie polegające na odpytywaniu o skróty kryptograficzne łącz i plików jest znacznie lepsze, gdyż nie ma możliwości odtworzenia łącza czy pliku tylko na podstawie skrótu, o ile skrót ten nie jest znany. Jedynym momentem, w którym kompletne adresy są wysyłane do serwerów ochrony jest reakcja na atak lub podejrzane zachowanie pobranego programu. Minusem jest fakt, że baza danych może zawierać informacje o popularnych plikach, a dzięki analizie odpytań producent oprogramowania może się dowiedzieć, które z popularnych plików znajdują się na stacji roboczej i kiedy zostały pobrane.

Szybka ochrona

Aby móc wykryć tak zmiennego przeciwnika, niezbędna jest całkowita zmiana podejścia i skoncentrowanie się na jedynym słabym punkcie - adresom, skąd są pobierane składniki malware. Adresy te z reguły są statyczne i zawierają rzadko zmieniającą się zawartość, bo zmiany zarówno adresów, jak i składników, sprawiałyby zbyt dużo kłopotów podziemnym inżynierom.

Widać więc, że dobrym orężem byłby mechanizm, który do wykrycia malware wykorzystuje informacje o wywoływanych połączeniach internetowych i bada adresy URL, które aplikacja otwiera. Taką koncepcję rozwija właśnie Trend Micro. Najtrudniejsze jest klasyfikowanie adresów oraz wykonanie i utrzymanie sprawnego mechanizmu analizy, który jednocześnie nie naruszałby prywatności użytkownika. Dlatego też mechanizm opracowywany przez Trend Micro wykorzystuje skróty kryptograficzne, które umożliwiają jednoznaczną identyfikację adresu URL, ale nie ujawnia ich dopóki nie jest to niezbędne.

Realizacja takiego systemu to zadanie bardzo skomplikowane, bo - jak mówi Raimund Genes, CTO firmy Trend Micro - serwery realizujące tego typu usługi sieciowe określane jako Smart Protection Network analizują ponad 50 mln adresów dziennie i przetwarzają w tym czasie 1,2 TB danych.

Usługi z chmury

Ostatnio dostawcy programów antywirusowych coraz częściej decydują się na przeniesienie części zadań ze stacji roboczej do serwisu. Ta dość kontrowersyjna decyzja jest podyktowana względami praktycznymi. W tradycyjnym modelu, gdzie cały proces detekcji złośliwego oprogramowania odbywa się na stacji roboczej, program antywirusowy musi posiadać dużą bazę sygnatur i zaawansowany motor wyposażony w sztuczną inteligencję. Powoduje to znaczne obciążanie maszyny, niekiedy tak dokuczliwe, że użytkownicy rezygnują z programu antywirusowego. Dodatkowo każda baza na stacji roboczej wymaga regularnej aktualizacji. Samo dostarczenie sygnatur na czas do wszystkich maszyn nie jest prostym zadaniem, a bazy te będą coraz większe.

Zamiast więc przechowywać sygnatury programu antywirusowego na stacji roboczej, można przenieść proces decyzyjny do serwerów usługi, przesyłając doń wyłącznie skrót kryptograficzny analizowanego pliku. Proces przesyłania może być skutecznie szyfrowany i odbywać się za pomocą odpytań podobnych do DNS. Sprawdzenie reputacji plików i linków za pomocą serwisu sieciowego wymaga mniej nakładów po stronie klienta, a dostawca oprogramowania antywirusowego może skorzystać z efektu skali. Koncentracja wielu danych w jedną bazę reputacji linków i plików daje szansę wykrycia ataków wykorzystujących pobieranie rozproszonych składników. Sam proces jest na tyle szybki, że pozwala na opanowanie zagrożenia jeszcze na etapie jego rozwoju. Według Evy Chen, CEO firmy Trend Micro, podejście wykorzystujące przetwarzanie danych w chmurze, jest przyszłością oprogramowania chroniącego systemy operacyjne przed złośliwym kodem.

Strategia przeniesienia części zadań ze stacji roboczej do serwisu sieciowego odciąża stację roboczą, ale ma też dwie wady. Po pierwsze wymaga połączenia z Internetem, po drugie czas skanowania wielu plików jest dłuższy niż przy pracy zwykłego oprogramowania, ze względu na konieczność przesłania skrótów kryptograficznych. W praktyce, związane z tym opóźnienie jest widoczne tylko przy wolnych łączach, takich jak GPRS.

Koncepcja SmartProtection Network

  • Gdy przeglądarka wywołuje podejrzane łącze internetowe, oprogramowanie antywirusowe odpytuje serwis antywirusowy.
  • Serwis analizuje wywoływaną zawartość witryny. Jeśli pliki udostępniane w tym serwisie rzeczywiście zawierają malware, wszystkie linki związane z akcjami podejrzanego programu trafią na czarną listę.
  • Do serwerów "obrony" trafiają informacje na temat pierwszego ogniwa malware.
  • Następne wywołania tych samych składników, nawet jeśli będą wykonywane przez nieznany program (na przykład mutację istniejącego kodu) spowodują reakcję serwerów ochrony i automatyczne wykrycie nowego miejsca rozsiewania malware.
  • Nawet jeśli twórcy złośliwego oprogramowania przygotują nowy program instalujący znane już składniki, pierwsze odwołanie w celu ich pobrania spowoduje oznaczenie "instalatora" jako jednego z ogniw malware.