Home  |  Aktualności  |  e-Komunikacja  |  WWW  |  Bezpieczeństwo  |  Linux  |  Programy  |  GSM/UMTS  |  Rozrywka

Testy antywirusów

Trendy testów i co z tego wynika?

Każdy, kto nawet trochę jest związany z branżą zwalczania szkodliwych programów, z pewnością wie, że testy stanowią gorący temat. Temat ten stał się ostatnio bardzo głośny, zwłaszcza po utworzeniu w ubiegłym roku AMTSO*, organizacji zajmującej się ustanawianiem standardów testów dotyczących zwalczania szkodliwego oprogramowania. Tekst pokazuje jedną z potencjalnych konsekwencji obecnego szumu wokół testów dynamicznych:

zwrócenie uwagi na testy dynamiczne może skłonić twórców szkodliwego oprogramowania do skoncentrowania się na sposobach obejścia możliwości ochrony produktów, a nie jedynie na ich zdolnościach wykrywania.

Skutki testów dynamicznych

W artykule tym wykorzystano wiele przykładów i scenariuszy w celu oceny ryzyka związanego z testami dynamicznymi. Zaproponowano również wiele sposobów, które mogą pomóc testującym zmniejszyć ryzyko. Zanim przejdziemy do oceny ryzyka związanego z testami dynamicznymi, przyjrzymy się innym metodom testowania.

Testy statyczne

Testy statyczne są najbardziej bezpośrednim typem testów: na kolekcji szkodliwego oprogramowania przyprowadza się skanowanie na żądanie. Obecnie, aby uzyskać sensowne wyniki, w testach statycznych należy użyć kolekcji szkodliwego oprogramowania zawierającej tysiące próbek. Kolekcje testowe wykorzystywane przez takie organizacje jak AV-Test czy AV-Comparatives zwykle zwierają setki tysięcy próbek, a w niektórych przypadkach nawet ponad milion. Ponieważ kolekcje testowe są tak ogromne, wyniki zawierają niewiele (jeżeli w ogóle) przydatnych informacji, które mogą pomóc twórcom szkodliwego oprogramowania w usprawnieniu ich tworów.

Kolejną istotną rzeczą w przeprowadzaniu testów statycznych jest sposób podziału kolekcji testowej. Niektóre mniej wiarygodne testy są przeprowadzane na dużym zestawie nieposortowanych próbek szkodliwego oprogramowania - nawet jeśli osoba testująca podaje wyniki dla podtestów wykorzystujących różne zestawy, nadal nie jest to dobra praktyka przeprowadzania testów.

Inne, bardziej wiarygodne testy dokonują właściwego rozróżnienia w publikowanych wynikach testów. Kolekcje testowe dzielone są na podzestawy - takie jak wirusy, robaki i trojany - a wyniki publikowane są dla każdego podzestawu. Niektóre testy idą nawet dalej i próbują rozróżniać na przykład między backdoorami a trojanami szpiegującymi.

W tym wypadku publikowane wyniki testów zawierają dość szczegółowe dane, nie są jednak zbyt przydatne dla twórców szkodliwego oprogramowania. Jedyne ryzyko związane z testami statycznymi dotyczy testów, które sprawdzają skuteczność wykrywania przez produkty polimorficznego/metamorficznego szkodliwego oprogramowania. Takie testy mogą wskazać słabości niektórych produktów.

Jednak polimorficzne/metamorficzne szkodliwe oprogramowanie jest ze swej natury trudniejsze do wykrycia niż statyczne szkodliwe oprogramowanie. Twórca szkodliwego oprogramowania, który musi posiłkować się wynikami testów, aby to stwierdzić, prawdopodobnie nie ma wystarczających umiejętności, aby napisać takiego szkodnika. Ktoś, kto sam nie potrafi napisać polimorficznego szkodliwego oprogramowania, może teraz "zejść do podziemia", gdzie kupi taki kod, albo zamieści ogłoszenie i będzie poszukiwał osoby, która mu go stworzy.

Testy czasu reakcji

Chociaż obecnie rzadko przeprowadza się testy oceniające czas reakcji, warto im się przyjrzeć. Tego typu testy były najpopularniejsze w erze dużych epidemii robaków pocztowych - największymi bohaterami tego okresu są robaki NetSky, Bagle, Mydoom, Sober oraz Sobig.

W porównaniu z testami statycznymi, rozmiar zestawów próbek wykorzystywanych do przeprowadzania testów oceniających czas reakcji jest bardzo niewielki. Jeden rodzaj testów czasu reakcji mierzy ogólną skuteczność producentów rozwiązań antywirusowych na podstawie większego, jednak stosunkowo małego, zestawu testowego1 - test ten nie przedstawia wyników dla poszczególnych próbek. Drugi rodzaj testów mierzy wykrywanie dla poszczególnych próbek2.

Takie szczegółowe wyniki dla poszczególnych próbek mogą być bardzo pomocne dla autorów szkodliwych programów. Można spekulować na temat tego, czy opublikowane wyniki testów czasu reakcji mogły przyczynić się do tego, że niektórzy twórcy szkodliwego oprogramowania zmienili stosowane podejście w celu utrudnienia wykrywania swoich szkodników. Przykładem może być W32/Sober.K3, który dołączał losowe bezużyteczne dane na koniec swojego pliku podczas instalacji, co stanowiło celową próbę spowolnienia wykrywania przez rozwiązanie antywirusowe. Istnieje duże prawdopodobieństwo, że autor wprowadził tę funkcję, ponieważ nie był zadowolony z wyników testów na czas reakcji dotyczących wcześniejszych wariantów robaka Sober.

Obecnie wyniki testów na czas reakcji są publikowane w bardziej ogólnej postaci, z rzadkimi odniesieniami do konkretnych próbek. Dlatego ryzyko, że twórcy szkodliwego oprogramowania uzyskają zbyt wiele informacji, jest bardzo niskie.

Testy retrospektywne

Tego rodzaju testy polegają na testowaniu nieuaktualnionych produktów przy użyciu aktualnych próbek szkodliwego oprogramowania. Oprócz celu (zbadanie możliwości produktu w zakresie wykrywania nieznanych próbek) oraz "wieku" uaktualnień, testy retrospektywne niczym nie różnią się od testów statycznych. Ryzyko związane z takimi testami jest zatem, podobnie jak w przypadku standardowych testów statycznych, bardzo niskie.
 

Testy dynamiczne

W testach dynamicznych próbki szkodliwego oprogramowania są wprowadzane do systemu testowego z zamiarem ich uruchomienia. W tego rodzaju testach można wykorzystać niewielką liczbą próbek, ponieważ proces wykonywania każdej próbki zajmuje dużo czasu. Organizacja AMTSO opublikowała dokument szczegółowo wyjaśniający koncepcję testów dynamicznych.

W idealnych warunkach, próbki są wprowadzane do systemu testowego we "właściwy" sposób - na przykład za pośrednictwem ataku "drive-by download". Nawet po zautomatyzowaniu zadanie to pochłania mnóstwo czasu, a całej sprawy nie ułatwia fakt, że w celu uzyskania rzetelnych wyników testów należy unikać wirtualnych maszyn. Obecnie testy przeprowadzane są przy użyciu dziesiątek próbek. Możemy się spodziewać, że w przyszłości - za sprawą lepszego sprzętu i zoptymalizowanych procesów - próbki wykorzystywane w takich testach będą liczone w setkach. Jednak ryzyko, na jakie narażona jest branża w związku z wprowadzeniem testów dynamicznych jest o wiele większe niż ryzyko związane z innymi popularnymi metodami testowania.

Spora część branży poświęca dużo czasu na edukację użytkowników z zakresu (nowych) technologii proaktywnych. Z kolei AMTSO wiele pracy włożyła w stworzenie dokumentu przedstawiającego najlepsze praktyki dotyczące testów dynamicznych. Wszyscy zgadzają się, że skoncentrowanie się testerów jedynie na współczynnikach wykrywalności jest podejściem przestarzałym i należy uwzględnić również mechanizmy bezpieczeństwa produktów.

Czasy zmieniają się
Jakieś pięć lat temu firma Symantec zaimplementowała w swoich produktach Norton funkcję ochrony o nazwie "anti-worm". Był to system behawioralny wykorzystywany do proaktywnego "łapania" robaków pocztowych. Symantec przewidywał, że nie będzie musiał aktualizować tej technologii częściej niż sześć miesięcy od czasu jej wprowadzenia, aby zapewnić jej skuteczność w zakresie zwalczania ewoluującego szkodliwego oprogramowania. W rzeczywistości nigdy nie zaszła konieczność aktualizacji tej technologii4. Twórcy szkodliwego oprogramowania albo nie wiedzieli nic o tej technologii, albo nie zadali sobie trudu jej obejścia, albo nie byli w stanie.

W maju 2006 roku Kaspersky Lab wprowadził linię produktów w wersji 6, która zawierała mechanizm blokowania zachowań nowej generacji. Sześć miesięcy później konieczne było opublikowanie łaty dla tego mechanizmu, ponieważ nowe warianty rodziny trojanów LdPinch potrafiły obejść tą technologię.

Czym różniły się te dwa mechanizmy blokowania zachowań? "Anti-worm" został wprowadzony w okresie dużych epidemii szkodliwego oprogramowania, w większości inicjowanych przez żądnych sławy autorów. Do 2006 roku większość szkodliwych programów, łącznie z trojanami LdPinch, była tworzona w celu uzyskania korzyści finansowych. Trzeba pamiętać, że Kaspersky Lab jest firmą rosyjską, podobnie jak rosyjskim tworem był LdPinch.

Istnieje również trzecie wyjaśnienie tej różnicy (trzeba jednak pamiętać, że autor tego artykułu z pewnością nie jest ekspertem w dziedzinie marketingu): wydaje się, że Kaspersky Lab włożył więcej wysiłku w marketing swojego mechanizmu blokowania zachowań niż Symantec podczas wprowadzania swojego "anti-worm", przez co twórcy szkodliwego oprogramowania mieli większą świadomość produktu firmy Kaspersky Lab i podjęli wysiłek obejścia go.

Multiskanery


Multiskanery to kolejny interesujący przykład wykorzystywania przez twórców szkodliwego oprogramowania legalnych serwisów w celu uzyskania informacji do własnych celów. Multiskanery online cieszą się obecnie ogromną popularnością, przy czym najpopularniejsze z nich to JottiScan i VirusTotal.

Tego typu portale internetowe oferują usługę, za pomocą której użytkownik może przeskanować plik przy użyciu wielu różnych skanerów, aby sprawdzić, jak wykrywają go różne produkty (a przede wszystkim, czy w ogólne go wykrywają).

Serwisy te cieszą się również popularnością wśród twórców szkodliwego oprogramowania
, którzy wykorzystują je do przetestowania swoich najnowszych tworów, aby przekonać się, czy potrafią uniknąć wykrycia. O ile niektórzy producenci rozwiązań antywirusowych umieszczają na takich stronach najnowsze skanery i proszą osoby utrzymujące takie strony, aby wykorzystywały najbardziej rygorystyczne ustawienia w celu wykrycia możliwie jak największej liczby szkodliwego oprogramowania, istnieją również producenci, którzy nie udostępniają swoich najnowszych skanerów na takich stronach. Mogą również poprosić o użycie ustawień zapewniających ochronę niższą niż maksymalna, tak aby produkt wykrywał mniej szkodliwego oprogramowania niż potrafi w rzeczywistości5 - w ten sposób producenci nie ujawniają prawdziwych możliwości wykrywania swoich produktów.

Reakcja podziemia

Obecnie szkodliwe programy, które obchodzą mechanizmy bezpieczeństwa, nie są rzadkością. Jednak ogromna większość szkodników nadal koncentruje się na obchodzeniu jedynie mechanizmów wykrywania.

Niektóre produkty do zwalczania szkodliwego oprogramowania posiadają niewiele mechanizmów bezpieczeństwa, dlatego obejście zdolności wykrywania nadal oznacza obejście całego produktu. Nie ma zatem nic dziwnego w tym, że pojawiają się próbki szkodliwego oprogramowania, które są zaciemnione w taki sposób, że odwrócenie tego procesu zajmuje mniej więcej dwie minuty na procesorze Core 2 Duo 2 500 MHz. Jednak te same próbki szkodliwego oprogramowania można wykryć proaktywnie przy pomocy technologii blokowania zachowań sprzed dwóch lat6.

Nie ma wątpliwości, że obecny szum wokół technologii ochrony i testów dynamicznych powoduje, że niektórzy autorzy szkodliwego oprogramowania zwracają większą uwagę na tego typu technologię. W obecnym klimacie istnieje duże prawdopodobieństwo, że temat ten wzbudzi zainteresowanie większej liczby autorów szkodliwego oprogramowania.

Istnieje wiele możliwych scenariuszy zdarzeń: po pierwsze, w podziemiu mogą powstać nowe grupy, które skoncentrują się na zapewnianiu nowych sposobów umożliwiających szkodliwym programom obchodzenie technologii ochrony. Po drugie, może wykształcić się nowy rynek ulepszonych multiskanerów, które będą testowały technologie ochrony produktów jak również ich możliwości wykrywania. Duży problem odnośnie obchodzenia przez szkodliwe programy technologii ochrony stanowi kwestia łatania dziur wykorzystywanych przez twórców szkodliwego oprogramowania. O ile producenci mogą dostarczyć nowe uaktualnienie sygnaturowe w ciągu godzin, a nawet minut, załatanie dziur może zająć o wiele więcej czasu - mówimy tutaj o czasie reakcji wynoszącym tydzień (tygodnie), a nie dni, czy godziny.
 
Co mogą zrobić testerzy?

Ujawnianie szczegółowych wyników testów dla poszczególnych próbek jest znacznie bardziej niebezpieczne w przypadku testów dynamicznych niż w przypadku testów czasu reakcji. O ile w drugim przypadku ryzyko związane z ujawnieniem zbyt wielu danych można określić jako niskie lub umiarkowane, w przypadku testów dynamicznych ryzyko jest bardzo wysokie.

Wykorzystanie w teście ograniczonego zestawu próbek oznacza, że testowane próbki muszą być bardzo ważne. Jeżeli testerzy opublikują wyniki dla każdej z takich ważnych próbek, łącznie z danymi pokazującymi, w jaki sposób poszczególne produkty radzą sobie z nimi, dostarczą twórcom szkodliwego oprogramowania niezwykle cennych informacji. Cyberprzestępcy dowiedzą się, które produkty wymagają od nich usprawnienia swoich tworów.

Virus Bulletin nie publikuje jeszcze wyników testów dynamicznych, planuje jednak wykorzystać informacje ze swojej tabeli rozpowszechnienia w celu wybrania próbek do testów. Istnieje niebezpieczeństwo, że testerzy na początku wspomną jedynie nazwy rodzin szkodliwego oprogramowania, na końcu jednak ujawnią również nazwy konkretnych szkodliwych programów7.

AV-Comparatives również nie publikuje jeszcze wyników testów dynamicznych, zamierza jednak opublikować nazwy próbek wykorzystywanych w swoich przyszłych testach dynamicznych.

Jak już podkreślaliśmy, należy unikać takiego podejścia. Organizacja AV-Test, która już teraz przeprowadza testy dynamiczne, stosuje lepsze podejście. Magazyny nie mogą ujawniać nazw szkodliwych programów ani sum kontrolnych plików, które brały udział w teście. Jednak AV-Test udostępni te sumy kontrolne lub próbki producentom rozwiązań antywirusowych, którzy uczestniczyli w teście7.


Podejście to, mimo że oferuje użytkownikom końcowym mniejszą przejrzystość, znacznie bardziej zmniejsza ryzyko, a jednocześnie pozwala producentowi rozwiązań antywirusowych powiadomić testera, jeżeli zauważy, że w zestawie testowym znajdują się nieistotne próbki.

Wnioski
Testy dynamiczne niosą ze sobą kilka nowych wyzwań. Obecnie, w większym stopniu niż kiedykolwiek, testy mogą mieć rzeczywiste konsekwencje dla twórców szkodliwego oprogramowania i ich działań. Producenci rozwiązań bezpieczeństwa powinni uważać, aby prowadząc swoją misję edukacyjną nie zapomnieli o tym, co naprawdę ważne: ochrona użytkowników.

Należy uniknąć sytuacji, w której edukacja przyspieszy ewolucję szkodliwego oprogramowania i stworzy więcej problemów niż rozwiązań. W stworzonym przez AMTSO dokumencie opisującym podstawowe zasady testów pierwsza reguła mówi, że testy nie mogą zagrażać ogółowi.

Zwrócenie uwagi na technologie ochrony oraz testy dynamiczne nieuchronnie prowadzi do wzrostu świadomości wszystkich "rzemiosł", w tym rzemiosła autorów szkodliwego oprogramowania. Zadaniem całej branży, prawdopodobnie reprezentowanej przez AMTSO, będzie zminimalizowanie ryzyka i dopilnowanie, aby testerzy nie ujawniali zbyt wielu szczegółów w publikowanych wynikach testów.
---
Autor: Roel Schouwenberg, Starszy analityk zagrożeń, Kaspersky Lab Americas

(1) Test czasu reakcji przeprowadzony przez AV-Test w 2005 roku
(2) Wyniki testu czasu reakcji przeprowadzonego dla W32/Sober przez AV-Test
(3) Opis W32/Sober.K przygotowany przez F-Secure
(4) Kennedy, M.
(5) Bosveld, J.; Canto, J.
(6) W celu uzyskania dokładnej nazwy próbki należy skontaktować się z autorem artykułu.
(7) Clementi, A.; Hawes, J.; Marx, A.


* AMTSO czyli Anti-Malware Testing Organisation

Producenci oprogramowania zabezpieczającego powołali organizację ds. standardów testowania rozwiązań ochronnych. Porozumienie to ma na celu zagwarantowanie obiektywizmu, wysokiej jakości oraz przydatności aktualnych metodologii testowania oprogramowania chroniącego przed złośliwymi kodami. Celem AMTSO  jest poprawa obiektywizmu, jakości i przydatności technologii testowania oprogramowania antimalware. Członkostwo w AMTSO jest otwarte dla pracowników naukowych, testerów i sprzedawców, którzy stosują się do wytycznych określonych przez AMTSO.