Stan zagrożeń w internecie znajduje się obecnie na poziomie standardowym. Nie występują duże epidemie a eksperci z Kaspersky Lab nie zanotowali żadnych poważnych incydentów związanych z bezpieczeństwem. Poziom zagrożenia: 1

Jak testowane są produkty bezpieczeństwa - część 1

Tagi:

Zapotrzebowanie na testy pojawiło się niemal jednocześnie z rozwojem pierwszych programów antywirusowych – między połową a końcem lat 90. Popyt stworzył podaż: laboratoria testowe prowadzone przez magazyny komputerowe zaczęły mierzyć skuteczność rozwiązań bezpieczeństwa przy użyciu własnych metodologii, a następnie powstała cała branża wyspecjalizowanych firm stosujących bardziej wszechstronne podejście do metod testowania. 

Pierwsze prymitywne testy skanujące ogromne kolekcje szkodliwych i rzekomo szkodliwych plików zebrane z wszelkich możliwych źródeł spotykały się ze słuszną krytyką przede wszystkim ze strony producentów. Testy te dawały niekonsekwentne i niewiarygodne wyniki, dlatego niewiele osób miało do nich zaufanie.  

Od tego czasu minęło ponad 20 lat. W międzyczasie rozwiązania bezpieczeństwa podlegały ciągłej ewolucji i stawały się bardziej efektywne dzięki nowym technologiom. Jednocześnie rozwijały się zagrożenia. Z kolei laboratoria nieustannie doskonaliły swoje metody testowania, opracowując najbardziej niezawodne i precyzyjne procedury oceny działania rozwiązań bezpieczeństwa w różnych środowiskach. Proces ten nie jest ani tani ani łatwy, dlatego obecne realia są takie, że jakość testów zależy od kondycji finansowej laboratorium oraz doświadczenia i wiedzy zgromadzonej przez testujących.    

label_auto.png

Jeśli chodzi o koszty testów, podstawowe pytanie brzmi: kto na tym skorzysta? W tym przypadku mamy do czynienia z rzadką sytuacją, gdy wysokiej jakości praca przynosi korzyści wszystkim: zarówno producentom jak i klientom. Nie da się zaprzeczyć, że niezależne testy to jedyny sposób pozwalający ocenić skuteczność rozwiązania bezpieczeństwa oraz porównać go z produktami konkurencji. Inne metody po prostu nie istnieją. W przypadku potencjalnego klienta, testy odgrywają istotną rolę w rozpoznaniu, jaki rodzaj produktu najlepiej spełnia jego potrzeby. Jeśli chodzi o producentów, testy pozwalają im dotrzymać kroku innym podmiotom w branży, ponieważ gdyby nie one, mogliby nie zauważyć, kiedy ich produkt nie dorównuje konkurencji lub prace zmierzają w niewłaściwym kierunku. Praktyka ta jest stosowana również w innych branżach, np. w motoryzacji, gdzie większość producentów powołuje się na niezależne testy bezpieczeństwa EURO NCAP.      

Jednak świat się zmienia i pojawiają się nowe rozwiązania dla starych problemów. Branża cyberbezpieczeństwa z radością wita produkty oparte na współczesnych podejściach, takich jak samouczenie się maszyn. Potencjalne możliwości są imponujące, chociaż wiele lat może upłynąć, zanim będą skutecznie wykorzystywane. Naturalnie w swoich materiałach marketingowych producenci tzw. „programów antywirusowych nowej generacji” chętnie mówią o niezwykłych możliwościach swoich produktów, ale nie powinniśmy wierzyć we wszystkie ich zapewnienia – lepiej nadal porównywać rozwiązania w oparciu o wyniki testów.       

Podstawowe metodologie testowania

Już na początku istnienia branży testerzy zadali sobie pytanie „Jak testować?”. I robią to do dziś. Metodologie testowania ewoluują wraz z rozwojem cyberzagrożeń i rozwiązań bezpieczeństwa. Wszystko zaczęło się od najprostszej metody – skanowania na żądanie (on-demand scan, ODS). 

Skanowanie na żądanie (ODS). Laboratorium testowe gromadzi wszystkie rodzaje szkodliwych programów (głównie pliki zainfekowane szkodliwym oprogramowaniem – obecnie są to najczęściej trojany), dodaje je do folderu na dysku twardym i uruchamia dany produkt bezpieczeństwa w celu sprawdzenia go przy użyciu całej kolekcji. Im więcej produkt wykryje, tym lepszy. Niekiedy podczas testów pliki są kopiowane z jednego folderu do drugiego, co bardziej przypomina scenariusz z realnego życia.   

Kiedyś metoda ta była wystarczająca, obecnie jednak przeważająca większość zaawansowanych technologii bezpieczeństwa nie sprawdza się w przypadku tego rodzaju testów, co oznacza, że nie pozwalają one ocenić, jak skutecznie rozwiązanie przeciwdziała najnowszym zagrożeniom. Mimo to, skanowanie na żądanie nadal jest stosowane, często w połączeniu z bardziej zaawansowanymi metodami.

Test „on-execute” (podczas wykonania). To kolejny etap rozwoju metod testowania. Kolekcja próbek jest kopiowana i uruchamiana na maszynie, na której działa oprogramowanie bezpieczeństwa, a następnie odnotowuje się reakcję ochrony. Kiedyś metodę tę uważano za niezwykle zaawansowaną technikę, jednak praktyka wkrótce obnażyła jej niedociągnięcia. Współczesny cyberatak jest przeprowadzany w kilku etapach. Szkodliwy plik to zaledwie jeden z elementów, a jego celem nie jest autonomiczne działanie. Na przykład, próbka może czekać na parametry wiersza poleceń, wymagać określonego środowiska (np. określonej przeglądarki) lub może być modułem w postaci biblioteki DLL, który zamiast uruchamiać się samodzielnie łączy się z głównym trojanem.     

Test w warunkach realnego świata (Real-world test, RW). Jest to najbardziej skomplikowana metoda testowania, za to najbardziej zbliżona do rzeczywistych warunków, imitując pełny cykl infekcji systemu. Testerzy otwierają szkodliwy plik, który został dostarczony za pośrednictwem poczty elektronicznej, w niezainfekowanym systemie z zainstalowanym badanym rozwiązaniem bezpieczeństwa lub za pośrednictwem przeglądarki, klikając szkodliwy odsyłacz, aby sprawdzić, czy działa cały łańcuch infekcji czy też testowane rozwiązanie zdołało powstrzymać proces na jakimś etapie.    

Tego rodzaju testy ujawniają różne problemy, których może doświadczyć oprogramowanie bezpieczeństwa, działając w realnym świecie i mając do czynienia z rzeczywistymi zagrożeniami.

Jednak ta metoda testów wymaga poważnego przygotowania. Po pierwsze, przeprowadzenie testów na pełną skalę obejmujących setkę lub więcej próbek wymaga dużej liczby maszyn lub pochłania mnóstwo czasu – coś, na co może pozwolić sobie niewiele laboratoriów. Po drugie, wiele spośród dzisiejszych trojanów może rozpoznać, że zostało uruchomionych w środowisku wirtualnym (często wykorzystywanym w testach dla obniżenia kosztów). Taki trojan nie będzie działał w tym środowisku, udaremniając wysiłki badaczy, którzy próbują przeprowadzić analizę. Dlatego, aby uzyskać najbardziej wiarygodne wyniki, laboratorium testowe musi wykorzystywać fizyczne komputery, ponownie uruchamiając system po aktywacji każdej próbki szkodliwego oprogramowania. Oczywiście w dalszym ciągu można także wykorzystywać maszyny wirtualne, jednak wymaga to ostrożniejszego dobierania próbek do testów.    

Kolejnym trudnym zadaniem jest generowanie obszernych baz danych zawierających szkodliwe odsyłacze. Wiele z nich jest wykorzystywanych tylko jeden raz lub działa z pewnymi ograniczeniami (np. tylko w określonych regionach). Jakość testu RW w dużej mierze zależy od tego, jak dobrze laboratorium radzi sobie z wykrywaniem takich odsyłaczy i czy przetwarza je poprawnie. Naturalnie, nie ma sensu sytuacja, gdy jeden produkt działa w momencie otwierania odsyłacza, podczas gdy inne nie mogą być testowane, ponieważ odsyłacz w międzyczasie „przestał działać”. Aby możliwe było uzyskanie dokładnych wyników, potrzebna jest duża liczba takich odsyłaczy, jednak dostarczenie ich może być trudne.    

Test proaktywny. Technika ta polega na testowaniu rozwiązania bezpieczeństwa przy pomocy nieznanych mu próbek. W tym celu eksperci instalują testowany produkt i nie aktualizują go przez określony czas, który może trwać od kilku dni do kilku tygodni. Następnie wykorzystuje się kolekcję szkodliwych programów, które pojawiły się po ostatniej aktualizacji, w celu przeprowadzenia testów ODS oraz OAS. Niektórzy testerzy przeprowadzają także testy on-execute. Niektóre organizacje testowe pakują lub zaciemniają znane zagrożenia w celu sprawdzenia możliwości rozwiązania bezpieczeństwa w zakresie identyfikowania szkodliwego zachowania. Laboratoria wyłączają również dostęp do technologii chmury. W efekcie niektóre technologie bezpieczeństwa mogą nie działać, co oznacza, że produkty nie są testowane w jednakowych warunkach i może podważyć istotność testu.          

Usuwanie lub naprawa (test w zakresie całkowitego usuwania szkodliwego oprogramowania). Za pomocą takiego testu sprawdza się możliwości rozwiązania bezpieczeństwa w zakresie leczenia systemu, tj. usuwania zmian pozwalających szkodnikom uruchamiać się automatycznie po starcie systemu, usuwania terminarza zadań oraz innych śladów aktywności szkodliwego oprogramowania. Jest to ważny test, ponieważ niewłaściwe leczenie może powodować problemy podczas uruchamiania lub korzystania z systemu lub – co gorsze – przywrócenie szkodliwego oprogramowania w systemie. Podczas testów „czysty” system zostaje zainfekowany szkodliwym oprogramowaniem z kolekcji szkodliwych próbek. Następnie ponownie uruchamia się komputer i instaluje rozwiązanie bezpieczeństwa z najnowszymi aktualizacjami. Większość testerów przeprowadza ten test w celu sprawdzenia jakości leczenia oferowanego przez rozwiązanie; może on mieć postać osobnego testu lub wchodzić w skład testu RW.      

Test wydajności. W teście tym ocenia się, jak skutecznie rozwiązanie bezpieczeństwa wykorzystuje zasoby systemowe. W tym celu mierzy się szybkość różnych operacji przy zainstalowanym i uruchomionym rozwiązaniu bezpieczeństwa. Operacje te obejmują: rozruch systemu, kopiowanie plików, archiwizowanie i rozpakowywanie jak również uruchamianie aplikacji. Wykorzystuje się również pakiety testowe symulujące realistyczne scenariusze pracy użytkownika.  

Test w zakresie fałszywych trafień. Test ten jest niezbędny do określenia wiarygodności oceny końcowej. Naturalnie, program antywirusowy, który uzna wszystkie programy jako szkodliwe, uzyska 100% wynik w kategorii ochrony, jednak będzie bezużyteczny dla użytkownika. Dlatego należy sprawdzić, jak produkty reagują na nieszkodliwe aplikacje. W tym celu stworzona zostaje oddzielna kolekcja popularnych plików instalacyjnych oprogramowania, a następnie przetestowana przy użyciu różnych scenariuszy.    

Informacje zwrotne. Nie jest to wprawdzie metodologia testowa, ale najważniejszy etap każdego testu, bez którego nie da się zweryfikować wyników. Po przeprowadzeniu wszystkich testów laboratorium wysyła uzyskane przez produkt wyniki wstępne do właściwego producenta, aby mógł sprawdzić i odtworzyć wyniki oraz zidentyfikować wszelkie błędy. Jest to bardzo ważne, ponieważ laboratorium testowe po prostu nie posiada zasobów, aby sprawdzić nawet co setny przypadek, a nigdy nie można wykluczyć błędów. Błędy te niekoniecznie wynikają z metodologii. Na przykład, podczas testu RW aplikacja może przeniknąć do maszyny, ale nie wykona żadnych szkodliwych działań, ponieważ została stworzona dla innego regionu lub nie jest „pierwotnie” szkodliwa, a jedynie wykorzystywana do celów reklamowych. Jednak program został zainstalowany, a rozwiązanie bezpieczeństwa nie zablokowało go, uzyskując w efekcie gorszy wynik w teście.    

Z drugiej strony, rozwiązanie bezpieczeństwa ma za zadanie blokować szkodliwe działania. A przecież nie wykonano żadnych szkodliwych działań, a program antywirusowy działał zgodnie z założeniami producenta. Takie przypadki można rozstrzygnąć jedynie analizując kod próbki oraz jej zachowanie; w większości sytuacji organizacja testowa nie posiada odpowiednich do tego zasobów i niezbędna jest pomoc producenta.

Testy specjalistyczne

Na kolejnym poziomie znajdują się metodologie stosowane w szczegółowych testach dotyczących konkretnych rodzajów zagrożeń lub określonych technologii bezpieczeństwa. Wielu klientów chce np. wiedzieć, które rozwiązanie jest najskuteczniejsze w przypadku zagrożeń szyfrujących (ransomware) lub który produkt oferuje najlepszą ochronę dla bankowości online. Ogólna ocena rozwiązania bezpieczeństwa mówi niewiele: pokazuje tylko, że jeden produkt nie jest „gorszy od innych”. To jednak nie wystarczy, dlatego wiele laboratoriów testowych przeprowadza testy specjalistyczne.         

Exploity. Przeciwdziałanie exploitom, czyli szkodliwym narzędziom wykorzystującym luki w systemie i oprogramowaniu, jest trudniejsze niż wykrywanie próbek szkodliwego oprogramowania i nie wszystkie rozwiązania bezpieczeństwa dobrze sobie z tym radzą. Aby ocenić technologie zapobiegania exploitom, laboratoria stosują testy RW: testerzy gromadzą odsyłacze prowadzące do pakietów exploitów, otwierają je na niezainfekowanej maszynie, rejestrują ruch i odtwarzają to dla wszystkich testowanych rozwiązań antywirusowych. Aby eksperyment był możliwie najbardziej wiarygodny, niektóre laboratoria, oprócz rzeczywistych pakietów exploitów, tworzą własne exploity przy użyciu struktur takich jak Metasploit. Pozwala to sprawdzić reakcję rozwiązania bezpieczeństwa na wykorzystywanie luk w zabezpieczeniach oprogramowania przy użyciu nieznanego kodu.    

Zagrożenia finansowe. Bankowość internetowa i bankowe systemy klienckie stanowią bardzo popularne wektory ataków wśród cyberprzestępców, ponieważ oferują bezpośrednie korzyści finansowe. Cyberprzestępcy wykorzystują wiele specyficznych technologii, takich jak np. podmiana zawartości strony internetowej czy zdalne zarządzanie systemem, dlatego należy sprawdzić, jak dobrze rozwiązanie bezpieczeństwa jest w stanie poradzić sobie z nimi. Ponadto, wielu producentów oferuje wyspecjalizowane technologie zabezpieczające przed zagrożeniami finansowymi (np. Bezpieczne pieniądze firmy Kaspersky Lab); skuteczność tych technologii również jest sprawdzana przy użyciu takich testów.

Specjalne platformy. Ogromna większość testów jest przeprowadzana na najpopularniejszej platformie – aktualnej wersji systemu Microsoft Windows dla komputerów stacjonarnych. Niekiedy jednak użytkowników interesuje skuteczność rozwiązania bezpieczeństwa na innych platformach: Android, Linux, macOS, serwerach Windows, mobilnym systemie operacyjnym, a nawet starszych wersjach systemu Windows (np. Windows XP nadal jest wykorzystywany w większości bankomatów i nic nie wskazuje na to, że w najbliższym czasie banki uaktualnią go do nowszej wersji). Takie testy zwykle przeprowadza się z wykorzystaniem najprostszych metod ze względu na niewielkie zapotrzebowanie.

Rodzaje testów

Poza metodologią testy różnią się rodzajem. Rozwiązanie bezpieczeństwa może zostać przetestowane niezależnie od konkurencji (certyfikacja) lub razem z rozwiązaniami konkurencyjnymi (test porównawczy). Certyfikat określa jedynie, czy rozwiązanie skutecznie zwalcza aktualne zagrożenia. Testy porównawcze pochłaniają więcej zasobów laboratorium, ale dostarczają więcej informacji zarówno producentowi jak i potencjalnemu klientowi.  

Testy różnią się również pod względem ich częstotliwości i metod stosowanych do określania wyników. Większość organizacji testowych przeprowadza regularne testy, które są wykonywane w odstępie od jednego miesiąca do pół roku. Wyniki każdego testu są obliczane niezależnie: to samo rozwiązanie może zostać wysoko ocenione w jednym teście, w kolejnym natomiast może uzyskać słaby wynik lub na odwrót. Oprócz funkcji samego produktu zależy to również od kolekcji wykorzystywanych w testach lub zmian w metodologii.  

W przypadku testów ciągłych, rozwiązania bezpieczeństwa są testowane w regularnych odstępach czasu, ale oceny są przyznawane zbiorczo, np. co sześć miesięcy po comiesięcznym teście lub zarówno zbiorczo jak i dla każdego testu. Spośród wielu przeprowadzanych testów najistotniejsze dla klienta i producenta są testy ciągłe. Tylko wyniki „długofalowego sprawdzianu” pozwalają określić rezultaty uzyskane przez różne wersje produktów przy użyciu różnych kolekcji i uzyskać najbardziej wiarygodną ocenę produktu.   

Tylko wyniki testów ciągłych pozwalają ocenić skuteczność zarówno wcześniejszych jak i aktualnych wersji produktu i przewidzieć, jak prawdopodobnie będzie zachowywał się w najbliższej przyszłości. Wysokie wyniki w corocznych lub bardziej długofalowych testach sugerują, że producent nieustannie pracuje nad produktem. Nie chodzi tylko o otrzymywanie aktualizacji baz danych; twórcy bacznie obserwują krajobraz zagrożeń i reagują na zmiany.       

Gracze rynkowi

Na rynku testów rozwiązań bezpieczeństwa działa wiele firm. Jest to bez wątpienia korzystne dla branży, ponieważ każda z nich przeprowadza testy na własnych kolekcjach, a oceny różnych laboratoriów pozwalają określić ogólną jakość rozwiązania bezpieczeństwa. Należy jednak zauważyć, że nie wszystkie organizacje testowe stosują wystarczająco rozwinięte metodologie. Poniżej prezentujemy najbardziej znane laboratoria testowe.  

AV Comparatives. Specjalizuje się w rozwiązaniach bezpieczeństwa dla sektora B2B i wykonuje szereg testów, łącznie z testami RW, na własnej zamkniętej kolekcji. Testy te są przeprowadzane co miesiąc przez okres 10 miesięcy, a najlepszym producentom przyznaje się tytuł Product of the Year lub Top Rated. Raz w roku analitycy laboratorium testują rozwiązania przeznaczone dla systemu Android i macOS, stosując metody ODS, OAS oraz On-Execute.       

AV-TEST. Założona 20 lat temu, niemiecka firma stanowi obecnie największego gracza na rynku. Przeprowadza comiesięczne testy porównawcze RW, dostarczając ich wyniki co dwa miesiące. Laboratorium stosuje metodologię ODS + ODS + OES (tj. próbka jest skanowana, uruchamiana, a następnie ponownie skanowana). Laboratorium to przeprowadza testy wydajności. Testuje również rozwiązania dla systemu Android, a dwa razy w roku – dla macOS przy użyciu metody ODS.    

MRG Effitas. Firma z siedzibą w Wielkiej Brytanii, która przeprowadza testy od 2009 r. Specjalizuje się w szczegółowych testach technologii i przeprowadza kwartalne testy porównawcze RW (tzw. „360 Assessment”). MRG Effitas testuje również jakość ochrony przed zagrożeniami finansowymi (test bankowości online) przeprowadzając niekiedy testy w dziedzinie zapobiegania exploitom. Wykonuje ponadto różne testy na żądanie.

SE Labs. Laboratorium to zostało założone przez byłego pracownika Dennis Technology Labs - Simona Edwardsa. Zastąpiło DTL na rynku i wykorzystuje ten sam zestaw testów. Przeprowadza kwartalne testy RW, łącznie z testami w zakresie zapobiegania exploitom, przy użyciu własnych ataków opracowanych na podstawie modeli.    

Virus Bulletin. Oferuje bardzo proste testy certyfikacji w oparciu o metody ODS przy użyciu statycznej kolekcji Wildlist dostępnej do pobrania dla producentów. Przeprowadza również testy heurystyczne rozwiązań antywirusowych, których bazy danych nie są aktualizowane przez kilka tygodni przed testami.

ICSA Labs. Ta amerykańska firma jest oddziałem Verizon. Przeprowadza jedynie testy certyfikacji i dodatkowo testy rozwiązań zapobiegających atakom APT.  

NSS Labs. Kolejna amerykańska firma, która koncentruje się na segmencie korporacyjnym. Jej wyniki nie są publikowane, ale dostarczane na podstawie płatnej subskrypcji. Arsenał tego laboratorium obejmuje testy RW, testy w zakresie zapobiegania exploitom oraz ochronę przed długotrwałymi atakami ukierunkowanymi.

Magazyny i serwisy online również przeprowadzają własne niezależne testy antywirusowe. Jednak stosowane przez nie podejście nie jest szczególnie przejrzyste: nie udostępniają publicznie swoich kolekcji próbek szkodliwego oprogramowania, ani nie dostarczają informacji zwrotnych producentowi. Oczywiście można trafić na wyjątki – niektóre serwisy online zajmujące się testowaniem rozwiązań bezpieczeństwa podchodzą do sprawy bardzo profesjonalnie. Przykładem może być polski AVLab.pl.

Oprócz wspomnianych wyżej graczy rynkowych istnieje mnóstwo graczy lokalnych przeprowadzających nieregularne lub specyficzne testy na prośbę producentów. Podczas oceny ich wyników należy zachować ostrożność, ponieważ ich metodologia często nie jest przejrzysta, a wybór uczestników testów z pewnością nie jest pełny. Należy zauważyć, że wysokiej jakości metodologii nie da się opracować z dnia na dzień; jest to złożony i kosztowny proces, który wymaga wieloletniej pracy, w której wykorzystywane są znaczne zasoby i wiedza ekspercka. Jedynie takie testy dają obiektywny obraz rynku produktów bezpieczeństwa.   

Jak wygrywać w testach

Żeby „wygrać” w testach, nie wystarczy tylko wprowadzać nowe technologie; uzyskiwanie pierwszych miejsc to zawsze efekt mozolnego i konsekwentnego poprawiania błędów. W im większej liczbie renomowanych testów uczestniczy produkt, tym dokładniejsze informacje uzyskują jego twórcy, które wskazują im, w jakich obszarach powinni szukać wad swoich rozwiązań.          

Zwycięstwo w prostym teście przeprowadzonym przez firmę, która nie posiada dobrze rozwiniętej metodologii, może być wykorzystane do celów marketingowych: można umieścić odpowiedni „znaczek” na pudełku produktu i rozesłać komunikat prasowy, ale eksperci wiedzą, że przede wszystkim należy patrzeć na wyniki renomowanych testów. Najważniejszym czynnikiem w takich testach jest jasna, szczegółowo opracowana metodologia, dopasowana do współczesnego krajobrazu zagrożeń.   

Nawet pierwsze miejsce w teście, w którym nie sprawdza się ani wydajności produktu ani współczynnika fałszywych trafień, nic nie mówi na temat możliwości produktu w zakresie zwalczania współczesnych zagrożeń bez wywierania negatywnego wpływu na użytkownika. Łatwo zapewnić 100% ochronę, znacznie trudniej osiągnąć to w sposób, który nie koliduje z pracą użytkownika. Jeśli producent nie uczestniczy w bardziej zaawansowanych testach, wyraźnie świadczy to o tym, że ma poważne problemy z wydajnością lub skutecznością swojego produktu.