Sygnaturki bez pośpiechu

Pojawianie się szybkich wirusów prowadzi do wzrostu znaczenia heurystyki i monitorów systemowych w ochronie sieci przed nowymi zagrożeniami. Rola sygnatur coraz bardziej sprowadzać się będzie do blokowania wirusów od dawna znanych.

Pojawianie się szybkich wirusów prowadzi do wzrostu znaczenia heurystyki i monitorów systemowych w ochronie sieci przed nowymi zagrożeniami. Rola sygnatur coraz bardziej sprowadzać się będzie do blokowania wirusów od dawna znanych.

Zagrożenie oprogramowania wirusami o coraz bardziej wymyślnej konstrukcji ciągle rośnie. Twórcy wirusów nie przebierają w środkach - nie tylko poszukują, znajdują i wykorzystują luki w zabezpieczeniach, ale także naiwność i niewiedzę użytkowników systemów komputerowych. Już nie tylko użytkownicy systemów Windows mają powody do obaw - w zasadzie nie ma systemu, który nie wymagałby dodatkowego oprogramowania skanującego protokoły sieciowe przesyłanych w nich treści pod kątem zagrożeń.

Do walki z wirusami i innym niepożądanym oprogramowaniem powstało wiele narzędzi, które - przy regularnej aktualizacji - potrafią zapobiegać większości znanych zagrożeń. Ów niepozorny warunek jest w praktyce poważnym problemem. Bywa, że aktualizacje nie zostaną pobrane, przyjdą za późno lub nie zadziałają (czytaj: nie wykryją złośliwego oprogramowania). Taka sytuacja musi być rozważona jako scenariusz realistyczny - każdy administrator wie z doświadczenia, że oprogramowanie to nie magiczna różdżka, ale wytwór omylnego człowieka. Poza tym życie jest pełne przypadków i zbiegów okoliczności.

Wadliwa architektura

Konstrukcja korporacyjnych programów antywirusowych zakłada istnienie lokalnego repozytorium, pobierającego sygnatury z serwera producenta za pomocą zaplanowanych zadań systemowych, bądź specjalizowanych narzędzi dostarczanych razem z programem antywirusowym. Domyślna konfiguracja wielu z tych rozwiązań zakłada utworzenie jednego zadania aktualizacyjnego ustawionego na godziny nocne. Tymczasem, ze względu na różnice czasu, aktualizacje domyślne dla wielu programów pobierane są w okolicy godziny 14.00-16.00 naszego czasu.

Takie podejście tworzy złudne poczucie bezpieczeństwa - w dobie wirusów błyskawicznych repozytorium sygnatur powinno być aktualizowane co godzinę, a prawidłowość procesu pobierania aktualizacji powinna być stale monitorowana. Co gorsza, w niektórych przypadkach nie ma możliwości zaplanowania częstości aktualizacji, bo program antywirusowy sam pobiera aktualizacje w określonych odstępach czasu. Najczęściej raz na dobę. Zapobiegliwi administratorzy stosują oczywiście sprytne sztuczki, by sprawdzać dostępność aktualizacji częściej, co kilka godzin.

Problematyczne jest nie tylko

pobieranie sygnatur od producenta, ale także ich dystrybucja w sieci wewnętrznej organizacji. Sam proces dystrybucji aktualizacji na stacje robocze trwa kilka minut, ale jeśli proces synchronizacji samego repozytorium odbywa się raz na dobę, trudno mówić o bezpieczeństwie. Aktualne sygnatury spełniają swoją rolę na stacjach roboczych, a nie w repozytorium.

W przypadku awarii systemu pobierania aktualizacji, proces dystrybucji nie dokona się i w efekcie wszystkie komputery w firmie mogą być zagrożone. Między innymi dlatego w pewnych szczególnych przypadkach wersje jednostanowiskowe mogą być bezpieczniejsze niż centralnie zarządzane wersje korporacyjne. Jeśli wersja jednostanowiskowa zdąży pobrać sygnatury, jest bezpieczniejsza niż niezaktualizowana wersja korporacyjna.

Bez sygnatur też się da

Czy brak aktualnych sygnatur skazuje nas na informatyczną klęskę żywiołową? Nie. Producenci oprogramowania od dawna analizują metody działania wirusów komputerowych i na ich podstawie są w stanie przewidzieć, czy za sekwencją zdarzeń kryje się złośliwy kod, czy nie. Nowoczesne programy wykorzystujące mechanizmy heurystyczne potrafią zablokować wirusa nawet wtedy, gdy nie mają w bazie precyzyjnego opisu jego struktury bitowej i sposobu działania.

Zaawansowane metody heurystyczne stosowane w niektórych produktach nieraz wykazały swoją skuteczność w skanowaniu nieznanych wirusów. Potwierdził to dość ciekawy test przeprowadzony w Institute of Technical and Business Information Systems na magdeburskim uniwersytecie Otto-von-Guericke (http://www.av-test.org ).

Test miał na celu sprawdzenie, jak aktualne muszą być bazy sygnatur poszczególnych programów, by wykryły nowego wirusa. Procedurze testowej poddano 25 najpopularniejszych programów antywirusowych w najważniejszych ich odmianach (razem 36 produktów). Próby obejmowały zarażenie komputera wyposażonego w program z bazą sygnatur z dnia ukazania się konkretnej odmiany wirusa. Pod uwagę brany był także czas od publikacji wirusa do publikacji szczepionki dla niego przez producenta programu.

Wirusami, które posłużyły jako materiał doświadczalny, były popularne ostatnio Bozari (trzy odmiany), Drudgebot, IRCBot!War oraz dwie odmiany Zotob - wykorzystujące dość ważny błąd systemu Windows MS-05-039, dotyczący mechanizmu Plug-and-Play. Spośród wszystkich testowanych produktów aż jedenaście wykryło przynajmniej jednego wirusa, którego wówczas program nie potrafił rozpoznać na podstawie sygnatur. Programy BitDefender oraz Fortinet wykryły wszystkie (6) badane wirusy, Nod32 wykrył 5 z 6, eSafe, F-Prot, QuickHeal oraz Panda wykryły 3 z 6. Rozwiązania McAfee i Norman wykryły po dwa wirusy z zestawu, zaś darmowy ClamAV - jeden.

Wyniki testu pokazują, że praca projektantów programów antywirusowych w ostatnich latach nie poszła na marne. Są jednak zastanawiające. Przy innych wirusach wyniki byłyby zapewne nieco odmienne.

Krzyczeć, byle nie za często

Warto zauważyć, że eSafe, Fortinet oraz QuickHeal wywołują sporo fałszywych alarmów przy skanowaniu wykonywalnych plików skompresowanych. Pozostałe programy mają bardziej wyważony stosunek czułości algorytmu do podatności na fałszywe alarmy. Według mnie najmniej fałszywych alarmów wszczyna Panda, niemniej ten program ma mniejszą skuteczność wobec niepożądanych programów niebędących de facto wirusami (np. programy szpiegujące). W zestawieniu nie ma polskiego produktu - programu mks_vir, a szkoda, bo program ten też posiada moduł heurystyczny, który w przeszłości sprawdził się bardzo dobrze.

Równie ciekawym testem jest data szczepionek przeznaczonych dla pozostałych programów. Moje doświadczenia z kilkoma badanymi programami wydają się potwierdzać wyniki tego testu - we wszystkich badanych w teście przypadkach popularne oprogramowanie firmy Symantec ma około doby opóźnienia w stosunku do liderów. Być może ostatnio producent poprawił skuteczność dystrybucji aktualizacji, niemniej po dość poważnej wpadce z kilkoma dokuczliwymi wirusami jego postrzeganie przez klientów raczej się zmieniło.

Przed uruchomieniem pliku wykonywalnego programy antywirusowe zazwyczaj go skanują. Ze względu na obecność poleceń typowych dla wirusów (m.in. szyfrowanie własnej zawartości, potem przekazanie sterowania do odszyfrowanego modułu, potem dokonywanie zmian w konkretnych obiektach systemu operacyjnego, potem dostęp do sieci bezpośrednio lub za pomocą komponentów systemowych) zaawansowane algorytmy mają tu prawo i obowiązek wszcząć alarm. To jeden z ważniejszych kierunków rozwoju programów antywirusowych, bowiem szybkość ekspansji wirusów w Internecie nie daje szansy na efektywne przygotowanie szczepionek i sygnatur.

Przy powszechności niezaktulizowanych systemów na komputerach podłączonych do Internetu łączami szerokopasmowymi, programy antywirusowe muszą ewoluować, by zapewnić choćby elementarne bezpieczeństwo. Pierwsze programy ochronne mogły z powodzeniem pracować, szukając wystąpienia konkretnych fragmentów kodu wirusa w systemie plików. Od kilku już lat w sieci pojawiają się wirusy, które opierają się programom skanującym jedynie binaria w poszukiwaniu charakterystycznej sekwencji bitów. W ich przypadku heurystyka jest jedyną skuteczną ochroną.

Ochrona po fakcie

Szczególnym skanerem plików jest ujęte w teście Av-Test rozwiązanie Proventia-VPS. Program ten jest jedynie detektorem - wynikiem skanowania jest decyzja programu klasyfikująca plik. Działanie musi być podjęte przez samego użytkownika. Bardzo dobra skuteczność mechanizmów zawartych w Proventii została całkowicie potwierdzona we wspomnianym teście - skaner wykrył wszystkie sześć wirusów, klasyfikując je prawidłowo jako malware. Program ten czasami wszczyna fałszywe alarmy, niemniej jego czułość jest szczególnie przydatna dla doświadczonych użytkowników.

Równie ciekawym podejściem jest analiza działania podejrzanego programu w systemie operacyjnym. Wiele narzędzi wykrywających złośliwy kod działa na zasadzie obserwacji jego działania. Takie monitory systemu wykrywają np. zmiany w rejestrze, umożliwiające podejrzanemu programowi automatyczne uruchomienie. Takim monitorem jest np. moduł TeaTimer bardzo dobrego programu Spybot S&D, przeznaczonego głównie do walki z oprogramowaniem szpiegowskim. W pewnych szczególnych przypadkach TeaTimer wraz z dobrą zaporą sieciową stanowią skuteczny duet istotnie wspomagający program antywirusowy.

Bardzo dobrym przedstawicielem tej grupy programów jest niekonwencjonalne narzędzie Panda TruPrevent. Monitor systemu wbudowany w ten program od dawna wykazywał skuteczność wobec wirusów, których sygnatury nie były znane. Wadą analizatorów behawioralnych jest fakt, że podejrzany program musi być uruchomiony zanim program podejmie decyzję. Zatem alarmy podnoszone przez moduł TruPrevent są ostatnią deską ratunku - podejrzane oprogramowanie już działa, luka w zabezpieczeniach została wykorzystana, albo użytkownik nieświadomie uruchomił malware. Liczba fałszywych alarmów, które podnosi TruPrevent, nie jest duża - producent bardzo ostrożnie podszedł do czułości zastosowanych algorytmów.

Praca została wykonana

Bardzo ważną przyczyną infekcji wirusami komputerowymi jest powszechność stosowanego oprogramowania - dotyczy to w szczególności systemów Windows i działających w ich środowisku rozwiązań Microsoft. Systemy wywodzące się z Unixa mają mniej problemów, ale z pewnością stan ten nie będzie trwać wiecznie, jeśli upowszechnią się biurkowe wersje Linuxa skonfigurowanego równie lekkomyślnie co dawne wersje Windows oraz Mac OS X. Na szczęście metodyki wypracowane na potrzeby Windows będzie można zastosować również w nich.

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

TOP 200