Wieści z linii frontu

Prędkość infekcji oraz różnorodność złośliwego oprogramowania stawia bardzo wysoką poprzeczkę dla technologii ochrony. Wiadomo na pewno, że przy typowych konfiguracjach czas od zgłoszenia do aktualizacji typowego programu antywirusowego jest zbyt długi.

Prędkość infekcji oraz różnorodność złośliwego oprogramowania stawia bardzo wysoką poprzeczkę dla technologii ochrony. Wiadomo na pewno, że przy typowych konfiguracjach czas od zgłoszenia do aktualizacji typowego programu antywirusowego jest zbyt długi.

Na początku wirusy były roznoszone głównie przez nośniki danych - dyskietki, płyty. Gdy poczta elektroniczna stawała się powszechniejsza, twórcy zaczęli skutecznie wykorzystywać ludzką naiwność, a także błędy programów pocztowych (np. Outlook Express). Następnym krokiem było wykorzystanie luk już nie w programie pocztowym, ale w samym systemie operacyjnym. Powstały wirusy, które zaczęły roznosić się poprzez bezpośrednie połączenie sieciowe TCP/IP.

Bardzo dużo komputerów jest obecnie dostępnych bezpośrednio w Internecie i ten fakt wykorzystują twórcy robaków. Infekcja poprzez nośnik danych trwa zazwyczaj dość długo, zaś przy bezpośrednim połączeniu TCP/IP z wrażliwym na atak komputerem zdalnym jest niemal błyskawiczna. Obecnie każdy liczący się producent urządzeń typu UTM (Unified Threat Management) wyposaża je w sensor ataków złośliwego oprogramowania i można powiedzieć, że jest to niezwykle istotne uzupełnienie skanerów antywirusowych na stacjach roboczych ze względu na prędkość rozprzestrzeniania się zagrożenia i zbyt długi czas aktualizacji programu antywirusowego.

Wykryć nieznane

Stąd też pojawiły się takie pomysły, jak technologia Proactive Worm Containment (PWC), opracowana na Uniwersytecie Pensylwania. W odróżnieniu od klasycznych modułów antywirusowych system ten nie posiada w ogóle sygnatur kierowanych przeciwko konkretnym złośliwym programom. Zamiast rejestrować dane poszukując bajtów wskazujących na infekcję, analizowane są pakiety pobierane i wysyłane przez komputer. Ponieważ zachowanie pracowników korzystających z komputerów jest przewidywalne, mają swoje stałe nawyki, zatem dane wysyłane i pobierane przez prawidłowo skonfigurowany i wykorzystywany przez nich komputer także będą miały pewne cechy wspólne.

Nowe oprogramowanie szuka pakietów, które mają cechy znacząco odbiegające od tego, co jest normą. Może to być liczba nawiązywanych połączeń, port docelowy, charakterystyczne sekwencje połączeń itd. Dzięki temu większość robaków sieciowych, nakierowanych na szybkie infekcje, zostanie wykryta i zablokowana w czasie nie dłuższym niż kilka milisekund. Dotyczy to także nieznanych programowi tzw. szybkich infektorów, bowiem system nie bada szczegółowo zawartości pakietów, szukając elementów zgodnych ze wzorcami, ale analizuje statystycznie połączenia. Typowy komputer biurowy wysyła średnio kilkadziesiąt pakietów na sekundę przy pracy biurowej niewymagającej bezpośredniego połączenia, zaś ok. 1000 przy przeglądaniu Internetu, 2000 przy pracy online. Dla porównania, dość popularny robak SQL Slammer atakujący serwery Microsoft SQL wysyła co sekundę ok. 4000 pakietów.

Najwyższe wartości parametrów ruchu dotyczą transferu danych do i z konkretnych serwerów wewnątrz sieci lokalnej lub przy połączeniach z konkretnymi, stałymi w czasie adresami IP. Złośliwe oprogramowanie nie będzie cały czas atakowało serwera, z którym stacja robocza się łączy, tylko będzie wysyłać pakiety pod inne adresy. Jak widać jest to dość istotna różnica, zatem dobrze dopracowane oprogramowanie antywirusowe podniesie alarm bardzo szybko.

Inteligentne narzędzia wyposażone w dobry sensor IDS zadziałają tak samo. Są czasami przypadki, gdy sensory wywołują fałszywe alarmy, a wówczas następuje blokowanie stacji roboczej albo inne podobne działania. Typowy system wymaga wtedy decyzji człowieka. Nowością jest mechanizm, który sprawia, że Proactive Worm Containment może - na podstawie dokładnej analizy - odwołać wszczęty wcześniej alarm. Praktyka pokazuje, że system oparty na tych założeniach uczy się bardzo szybko. Twórcy PWC są w trakcie uzyskiwania na niego patentu.

Wirus zmienny jest

Pierwsze wirusy miały jedną wspólną cechę - praktycznie stały kod danego wirusa pomiędzy kolejnymi infekcjami. Do takich ataków wystarczyło zbudowanie prostego programu, który analizując obiekty wychwytywał charakterystyczne fragmenty kodu. Takie wirusy są w obiegu do dziś, a umieszczenie stosownych filtrów na serwerach poczty i zaporach sieciowych bardzo skutecznie odcina infekcję tą drogą. Kolejnym etapem było pojawienie się wirusów, które zawierały szyfrowane fragmenty kodu. Aby maksymalnie opóźnić i utrudnić aktualizację oprogramowania antywirusowego, twórcy zaczęli umieszczać w nim "śmieci" - bloki zawierające pseudolosową zawartość albo niewinny kod, który nigdy nie będzie wykonywany, a ma za zadanie zmylenie programu antywirusowego.

Niektóre z tych złośliwych programów są bardzo zaawansowane. Przykładowo twórca trojana nazwanego Swizzor (będącego pochodną trojana o nazwie Lod) wyposażył swój program w narzędzie pakujące kod. Co minutę kod podlegał przepakowaniu z nowym kluczem, zaś co godzinę był rekompilowany, aby możliwie skutecznie unikać wykrycia przez program antywirusowy. Ta cecha była jednocześnie jego piętą Achillesa, bowiem dobrze dopracowany system analizatora behawioralnego niektórych programów antywirusowych wykrywał zapisy do programów wykonywalnych, co zazwyczaj nie ma miejsca w stabilnym systemie. Dlatego wiele programów antywirusowych miało na początku problemy ze sklasyfikowaniem kodu, ale mimo to prawidłowo podnosiły alarm o prawdopodobnym zarażeniu systemu.

Obecnie są już wirusy, które potrafią nie tylko szyfrować swój kod, ale także losowo wybierać plik, w którym rezydują. Co ważniejsze, wiele z nich zawiera mechanizmy samokontroli, które po wykryciu usunięcia pliku lub zatrzymania procesu wylosują nowe parametry i uruchomią go ponownie. Niektóre z tych elementów jednego robaka instalują się jako wtyczka do powłoki systemu, inne do rejestrowego autostartu, inne zaś sprawiają, aby powłoka uruchomiła wirusa przy otwarciu konkretnego okna. Za każdym restartem zmienia się nazwa tych plików, zaś wirus dba o aktualność wszystkich wpisów, uzupełniając je w miarę potrzeby.

Jednym z przykładów zastosowania podobnej techniki jest WinTools, który instaluje się jako pasek narzędzi do Internet Explorera, a jednocześnie instaluje trzy dodatkowe elementy złośliwego kodu z opcją samokontroli i samoczynnej naprawy. Usunięcie jednego z elementów skutkuje ponownym zainstalowaniem brakującej części WinTools. Nie jest to jedyny wirus i trojan, który stosuje rozproszenie kodu na kilka współdziałających elementów. Są już programy potrafiące oszukać mechanizm UAC (User Account Control) stanowiący jedno z ogniw zabezpieczenia nowego systemu Microsoftu - Windows Vista - właśnie dzięki rozproszeniu zadań na kilka procesów. Modyfikacje wykonane w systemie przez obce oprogramowanie są bardzo poważne. Wyczyszczenie tak zarażonego systemu Windows jest trudne, wymaga dużej wiedzy, dobrych narzędzi, a w praktyce kończy się reinstalacją systemu albo odtworzeniem całości środowiska z kopii bezpieczeństwa.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200