Jak testować antywirusa

Test powinien oddawać rzeczywiste rozłożenie złośliwego kodu, niekoniecznie zbieżne z podziałem taksonomicznym wirusów. Jednocześnie próbki powinny być świeże, zgodne z tym, co w danej chwili jest zagrożeniem. Optymalna liczebność takiego zbioru próbek powinna oscylować w okolicach kilku do kilkunastu tysięcy, by móc zebrać około ćwierć miliona wyników. Zbiór taki należy ciągle wzbogacać o nowe zasoby, co najmniej kilkaset dziennie.

Jak przeprowadzić test

Środowisko badawcze powinno wykorzystywać najpopularniejszy system operacyjny w stanie pełnej aktualności, zatem wybór pada na Microsoft Windows XP z dodatkiem Service Pack 3. Nowoczesny program chroniący stację roboczą może skorzystać z usługi cloud computing, zatem środowisko testowe powinno posiadać dostęp do właściwego serwisu przez Internet, przy użyciu standardowej klasy łącza. Ważny jest także tryb pracy antywirusa.

Jak podaje raport NSS Labs, statyczne testy lub wykorzystanie skanowania na żądanie, nie zawsze dają porównywalne wyniki. Najlepiej połączyć test wykorzystujący reputację przy pobieraniu pliku oraz analizę kodu przy próbie jego wykonywania. Najlepsze efekty osiągnie się wtedy, gdy środowisko testowe będzie możliwie najlepiej oddawało działania typowego użytkownika. Przy tym do testów najlepiej wykorzystywać aktualnie działające złośliwe oprogramowanie, nie starsze niż kilkanaście godzin. W raporcie NSS Labs deklarowany czas od pobrania do analizy jest jeszcze krótszy, nie przekracza kilku godzin.

Ocena skuteczności

Ochrona przed złośliwym oprogramowaniem obejmuje trzy najważniejsze etapy - badanie hiperłącza, które może doprowadzić do pobrania malware'u, analizę reputacji pliku (ten etap to warstwa ekspozycji, gdzie analizowane jest źródło) oraz działania odbywające się przy jego uruchomieniu (jest to warstwa infekcji, w której analizowana jest zawartość). Dla każdego z tych etapów należy przewidzieć osobne sposoby określenia skuteczności. Przy tym należy uwzględnić także to, że oprogramowanie antywirusowe działa tym lepiej, im jest bardziej proaktywne, czyli wtedy, gdy zadziała jeszcze przed infekcją. Idealna ochrona powinna uniemożliwić nawet pobranie danego pliku. Blokowanie pobierania złośliwego oprogramowania ma wiele zalet, z których warto podkreślić brak informacji zwrotnej dla cyberprzestępców oraz zmniejszenie ilości pobieranych danych. Gdyby jednak łącze przeszło proces kontroli reputacji, można sprawdzić plik podczas jego pobierania lub po jego zakończeniu. Gdyby nawet ten etap nie przyniósł rozstrzygnięcia, ostatnią linią obrony jest analiza kodu podczas jego wykonywania. Na tym etapie można wykorzystać skomplikowane metody, takie jak izolacja kodu (sandboxing), metody heurystyczne oraz analizę behawioralną. Rzetelne wyniki testów powinny uwzględniać każdy z tych etapów z osobna.

Nawet najlepiej przeprowadzony test nie będzie porównywalny, jeśli nie będzie wielokrotnie powtarzany przez określony czas, co najmniej kilku dni. Fluktuacje wyników poszczególnych pakietów ochronnych będą zupełnie naturalne.


TOP 200