Idealne źródło próbek to takie, które oferuje najbardziej rozpowszechnione, świeże oraz różnorodne próbki, które są niezależnie od dostawcy oprogramowania antywirusowego. W tym przypadku „świeżość” pobranych próbek jest bardzo ważna, gdyż wpływa na faktyczną ochronę przed zagrożeniami, które można spotkać na co dzień w Internecie.

Próbki wykorzystywane w testach „Advanced In-The-Wild Malware Test” pochodzą z ataków na naszą sieć honeypotów. Są to pułapki, których zadaniem jest udawanie podatnego na ataki celu i przechwytywanie złośliwego oprogramowania. Wykorzystujemy honeypoty niskointeraktywne (Dionaea, SHIVA, HoneyDB) i wysokointeraktywne. Wszystkie z nich emulują usługi, takie jak: SSH, HTTP, HTTPS, SMB, FTP, TFTP, rzeczywiste systemy Windows i serwery poczty. Bardzo dużo ciekawych informacji na temat honeypotów znajduje się na stronie CERT Polska. Bardzo dużo ciekawych informacji na temat honeypotów znajduje się na stronie CERT Polska.

Honeypoty zebrane próbki wirusów
Zebrane złośliwe oprogramowanie na jednym z honeypotów.

Zanim każda próbka trafi do maszyn z zainstalowanymi produktami zabezpieczającymi, powinna zostać dokładnie przeanalizowana. Musimy mieć pewność, że tylko „100-procentowe” szkodliwe próbki będą dopuszczone do testów. Poniżej podajemy przykłady złośliwych wskaźników wprowadzanych do systemu przez szkodliwe oprogramowanie:

Próba wyłączenia UAC:

HKLM\SOFTWARE\Microsoft\Security Center\UacDisableNotify

Dodanie do autostartu:

Software\Microsoft\Windows\CurrentVersion\Run

Podmiana tapety:

Control Panel\Desktop\Wallpaper

Sprawdzenie wersji biosu:

Hardware\description\system\bios

Ominięcie UAC:

Classes\exefile\shell\runas\command\isolatedCommand

Uruchomienie z kosza:

C:\$Recycle.Bin

Usunięcie logów:

C:\$GetCurrent\Logs

Sytuacja, kiedy wirus nie będzie działał w systemie, ponieważ został zaprogramowany dla innego regionu geograficznego, nigdy się nie zdarzy w naszych testach. Czytelnicy oraz producenci mają pewność, że malware, które zostało zakwalifikowane do testów, będzie w stanie poważnie zainfekować system operacyjny, niezależnie od tego, 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 np. malware 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. Z tego powodu dołożyliśmy wszelkich starań, aby nasze testy były maksymalnie zbliżone do rzeczywistości, a próbki, które są „niepewne”, aby nie były dołączane do testowej bazy wirusów.

Po przeanalizowaniu każdej potencjalnie złośliwej próbki 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. Część informacji z analizy każdej próbki publikujemy na stronie CheckLab w przystępnej formie dla użytkowników oraz producentów. Szczegółowe dane są przekazywane producentom.