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

Czy można wyeliminować zło konieczne?

Dodany 30 września 2015, 08:35 CEST
Tagi:

Wynik skanowania obiektu (pliku lub zasobu sieciowego) przy użyciu programu bezpieczeństwa internetowego zasadniczo sprowadza się do podjęcia decyzji binarnej: niebezpieczny lub bezpieczny. Silnik antywirusowy wysuwa hipotezę, że obiekt jest szkodliwy, a następnie sprawdza, czy jest ona słuszna czy nie. Ponieważ nie istnieją niestety idealne rozwiązania antywirusowe, zdarzają się błędy. Występują dwa rodzaje błędów: pierwszy polega na zidentyfikowaniu bezpiecznych obiektów jako groźnych, drugi – na uznaniu, że niebezpieczne obiekty nie stanowią zagrożenia. Zgodnie z terminologią pochodzącą ze statystyki matematycznej, błędy pierwszego rodzaju określane są jako fałszywe trafienia lub fałszywe alarmy.       

Twórcy systemów bezpieczeństwa stosują różne podejścia do fałszywych alarmów. Niektórzy uważają, że wyższy priorytet ma zwalczanie infekcji. Stanowisko firmy Kaspersky Lab w tej sprawie jest wyraźne: zapobieganie fałszywym alarmom jest równie ważne jak ochrona przed szkodliwym oprogramowaniem. W dalszej części przyjrzymy się metodom przeciwdziałania fałszywym alarmom na przykładzie naszych rozwiązań. 

Fałszywy alarm

Fałszywy alarm rozwiązania bezpieczeństwa oznacza dla użytkowników, że nie można uzyskać dostępu do zasobu sieciowego lub korzystać z bezpiecznego programu. Niezależnie od tego, jak ważny jest określony plik lub strona internetowa, fałszywe trafienie zawsze stanowi niedogodność, która może doprowadzić do zakłócenia procesów biznesowych lub po prostu przeszkodzić w pracy czy zabawie.

Jeśli program, który niedawno został napisany przez użytkownika, zostanie błędnie zidentyfikowany jako niebezpieczny, jego autor wyśle skargę do producenta rozwiązań antywirusowych, analitycy rozpoznają błąd i poprawią go podczas następnej aktualizacji antywirusowych baz danych. Zwykle trwa to kilka godzin – pod warunkiem, naturalnie, że ten nowy program nie robi nic poza tym, co jest dozwolone dla legalnych aplikacji.

Zupełnie inna sytuacja występuje wtedy, gdy jako szkodliwy zostaje zidentyfikowany komponent systemu operacyjnego. Może to doprowadzić do znacznie poważniejszych konsekwencji, czasami tak poważnych jak awaria systemu. Jeśli ten rodzaj fałszywego alarmu dotknie dużą firmę, spowoduje przestój w jej działaniu, a w efekcie utratę zysków. Dlatego uważamy, że firmy, które tworzą systemy bezpieczeństwa, powinny być bardzo ostrożne, jeśli chodzi o ten rodzaj błędów, i powinny minimalizować ich liczbę. 

Powody występowania fałszywych alarmów

Przede wszystkim, niezwykle ważne jest zidentyfikowanie przyczyn takich błędów, które mogą być różne.

Jedną z możliwych przyczyn fałszywych alarmów jest czynnik ludzki: analityk ds. rozwiązań antywirusowych nie jest odporny na popełnianie błędów. Warto jednak zaznaczyć, że w dzisiejszym świecie takie przypadki są niezwykle rzadkie, ponieważ niemal wszystkie zagrożenia (99%) są obecnie wykrywane automatycznie.

Fałszywe alarmy mogą wystąpić wtedy, gdy twórcy legalnych aplikacji stosują zaciemnienie kodu oraz pakowanie (kompresja plików wykonywalnych). Cyberprzestępcy często wykorzystują te metody w celu utrudnienia analizy szkodliwego oprogramowania, dlatego systemy bezpieczeństwa mogą podejrzewać, że takie aplikacje są szkodliwe.  

Fałszywy alarm może być wynikiem wykorzystania sygnatury generycznej, przy pomocy której wykrywane są podobne szkodliwe obiekty. Od dawna wiemy już, że szkodliwe obiekty to często warianty tego samego kodu. To oznacza, że przy pomocy „inteligentniejszych” metod klasyfikacji można zidentyfikować fragment, który jest wspólny dla wszystkich podobnych szkodliwych próbek, i stworzyć jedną logikę wykrywania (tj. sygnaturę), która zapewni identyfikację wszystkich podobnych obiektów. Takie sygnatury generyczne są tworzone przez różne systemy wykrywania. Im szersze kryteria stosowane przez system w celu zidentyfikowania podobnego fragmentu szkodliwych obiektów, tym większe ryzyko, że sygnatura zostanie wywołana przez podobny, ale nieszkodliwy obiekt.     

Obiekt może zostać również omyłkowo zidentyfikowany jako szkodliwy przez technologie analizujące zachowanie programu (tzw. mechanizmy behawioralne). Na przykład, jeśli nieznana aplikacja zacznie dokonywać podejrzanych zmian w rejestrze systemowym lub wysyłać prywatne dane użytkownika za pośrednictwem sieci, komponent śledzący zdarzenia systemu operacyjnego powinien podnieść alarm. Program, który zachowuje się w ten sposób, może być dość nieszkodliwy, a jedynie rzadko wykorzystywany.

Przeciwdziałanie fałszywym alarmom

Analitycy zdawali sobie sprawę z potencjalnych konsekwencji fałszywych alarmów praktycznie od początku istnienia branży cyberbezpieczeństwa. Jednak zarówno liczba użytkowników jak i liczba zagrożeń internetowych była wtedy tysiąckrotnie mniejsza, a antywirusowe bazy danych publikowano w znacznie dłuższych odstępach czasu. Z tego powodu metody wykorzystywane 18 lat temu w celu sprawdzania antywirusowych baz danych były dość nieskomplikowane: twórcy dysponowali kolekcją krytycznych czystych plików (głównie plików systemowych), a eksperci po prostu skanowali kolekcję przy użyciu nowej bazy danych, zanim opublikowano aktualizację. Jeśli pojawił się fałszywy alarm, odpowiednia sygnatura wykrywania była usuwana, jak tylko otrzymano pierwsze skargi. Czyli zespół analityków poprawiał ręcznie bazy danych, nie dopuszczając do tego, aby zagrożenie dotknęło dużą liczbę użytkowników.      

Z czasem strumień szkodliwego oprogramowania zwiększył się tysiąckrotnie i zarówno szkodliwe programy jak i technologie wykorzystywane do wykrywania szkodliwych obiektów stały się bardziej wyrafinowane. Obecnie Kaspersky Lab wykrywa dziennie 325 000 nowych szkodliwych programów. Zwiększył się również wachlarz metod wykorzystywanych do zwalczania zagrożeń internetowych: o ile w latach dziewięćdziesiątych metody wykrywania oparte na sygnaturach były niemal równoznaczne z zadaniem ochrony komputera, obecnie produkty Kaspersky Lab zawierają technologie, które automatycznie zapobiegają wykorzystaniu luk w zabezpieczeniach, narzędzia kontroli przywilejów aplikacji, komponent śledzący zdarzenia systemu operacyjnego i wiele innych technologii. Ponadto, współczesne bazy legalnego oprogramowania zajmują terabajty miejsca na dysku. 

Jak widać, w takich warunkach nie można już wykorzystywać archaicznych metod przeciwdziałania fałszywym alarmom. Dzisiejsze technologie wykorzystywane w tym celu są o wiele bardziej zróżnicowane i skuteczne. Metody te są wykorzystywane zarówno na etapie wykrywania szkodliwych obiektów jak i testowania i publikowania baz danych. Istnieje również oddzielny zestaw metod, który pomaga zminimalizować ryzyko wystąpienia fałszywych alarmów podczas działania produktu bezpieczeństwa.

Kontrola sygnatur

Wydaje się, że najprostszym sposobem na wyeliminowanie fałszywych alarmów jest publikowanie sygnatur pozbawionych błędów. Dlatego szczególną uwagę zwracamy na etapy tworzenia sygnatur szkodliwych obiektów. Jednak jeśli błąd ujawni się później, można szybko naprawić sytuację, nawet jeśli bazy danych zostały już zainstalowane na maszynie użytkownika. 

Etap wykrywania (tworzenie sygnatur statycznych)

Najpierw, wyspecjalizowany system automatycznej weryfikacji analizuje statyczne sygnatury, które zostały ręcznie dodane do baz danych przez analityków wirusów. Dzieje się tak dlatego, że osoba, która koncentruje się na szczegółowej analizie kodu, może nie dostrzegać pełnego obrazu. Dlatego, gdy ktoś próbuje dodać do bazy danych sygnaturę dla obiektu, który system postrzega jako czysty w oparciu o pewne kryteria, automatyczny system zgłasza analitykowi potencjalny błąd, wraz z wyjaśnieniem, dlaczego uważa, że obiekt jest czysty.  

Następnie, w celu testowania nowych sygnatur pod kątem fałszywych alarmów wykorzystywana jest kolekcja skrótów (unikatowe wyniki transformacji kodu w oparciu o określony algorytm) dla obiektów, o których wiadomo, że są czyste. Sygnatura stworzona przy użyciu fragmentu szkodliwego kodu jest porównywana ze skrótami z kolekcji. Jeśli system wykryje, że nowa sygnatura odpowiada skrótowi legalnego obiektu na podstawie niektórych kryteriów, wybrany zostanie inny fragment kodu w celu stworzenia sygnatury zagrożenia.    

Kaspersky Lab prowadzi również oddzielną bazę danych, która zawiera „osobisty rejestr” każdego szkodliwego obiektu analizowanego kiedykolwiek przy użyciu technologii ochrony. Podczas tworzenia sygnatury wykrywania uwzględnia się historię wykrytego obiektu: jeśli w przeszłości obiekt nie wzbudzał żadnych podejrzeń, przechodzi dodatkową kontrolę. 

Ponadto, do zapobiegania błędom wykorzystywana jest kolekcja plików, które w przeszłości wywołały fałszywe alarmy. Pomaga to zapobiec ponownemu wystąpieniu incydentów, w przypadku gdy obiekt został w niewielkim stopniu zmodyfikowany (np. gdy publikowana jest nowa wersja programu). 

Do bazy sygnatur statycznych co jakiś czas dodawane są sygnatury generyczne: jeśli system automatycznego wykrywania odnotuje wiele podobnych próbek szkodliwego oprogramowania, zostanie utworzona jedna logika wykrywania w celu zwalczania tych szkodników.

Etap testowania i publikacji baz danych

Aby zapobiec aktywacji sygnatur (statycznych lub generycznych) przez „czyste” oprogramowanie, nowo utworzone bazy danych są weryfikowane przy użyciu bazy wiedzy Dynamicznej białej listy. Jest to ogromna, nieustannie rozszerzana kolekcja legalnego oprogramowania, która zawiera również dodatkowe dane dotyczące każdego obiektu (twórca, nazwa produktu, wersja ostatniej aktualizacji itp.). Bardziej szczegółowe informacje odnośnie tego, jak działa Dynamiczna biała lista można znaleźć tutaj.    

Specjalny dział w Kaspersky Lab zajmuje się utrzymywaniem tej bazy i dostarczaniem aktualizacji na czas. Dzięki umowom zawartym z ponad sześciuset firmami zajmującymi się rozwojem oprogramowania, większość popularnych aplikacji jest dodawanych do kolekcji, zanim staną się one komercyjne dostępne dla szerokiego grona użytkowników.

Na oddzielną wzmiankę zasługuje system, który wykonuje skanowanie. Ponieważ baza legalnego oprogramowania jest ogromna, a antywirusowe bazy danych są aktualizowane co godzinę lub nawet częściej, wykorzystanie zwykłego serwera w celu przeprowadzenia skanowania nie wchodzi w grę. Dlatego specjalnie w tym celu został opracowany rozproszony system przetwarzania danych. Wykorzystuje on dziesiątki serwerów i urządzenia do przechowywania danych w celu zrównoważenia obciążenia.

Wszystkie sygnatury, które wzbudziły nawet najmniejsze podejrzenia, są wprowadzane do oddzielnego rejestru, który może nosić nazwę „potencjalnie niebezpieczne werdykty”. Takie sygnatury przechodzą dodatkową weryfikację, często z udziałem analityków szkodliwego oprogramowania.  

Szybka reakcja (zwalczanie fałszywych alarmów na etapie działania)

Gdy bazy antywirusowe przejdą wszelkie niezbędne kontrole, są wysyłane użytkownikom. Rozproszona, oparta na chmurze infrastruktura Kaspersky Security Network otrzymuje dane statystyczne dotyczące wszelkich wykryć na maszynie użytkownika i śledzi, ile razy została aktywowana każda sygnatura.  

Analitycy odpowiedzialni za publikowanie baz sygnatur dokładnie monitorują, w jaki sposób produkty reagują na aktualizacje. Wykrycie anomalii (zagrożenie zostało wykryte w krótkim czasie na zbyt wielu maszynach użytkowników) może oznaczać fałszywy alarm. W takim przypadku, analityk otrzymuje „ostrzeżenie” i zaczyna przeprowadzać dodatkową analizę wykrytego obiektu. 

Jeśli analiza wykaże, że obiekt został przez pomyłkę zidentyfikowany jako szkodliwy, zostanie aktywowana technologia „System zarządzania wpisami”, która może w ciągu kilku sekund cofnąć wpis, również przy użyciu Kaspersky Security Network. Niepoprawna sygnatura zostaje również usunięta z baz danych. Jeśli sygnatura generyczna wykryje omyłkowo „czyste” obiekty wśród zainfekowanych, analitycy zmieniają logikę wykrywania i korygują bazy danych. W każdym razie, błąd zostanie poprawiony przed następną aktualizacją bazy danych.  

Śledzenie błędów technologii proaktywnej

Na etapie rozwoju nie jest łatwo sprawdzić technologie, które wykrywają anormalne zachowanie programu na maszynach użytkowników pod kątem fałszywych alarmów. Przewidzenie wszystkich możliwych działań użytkownika na maszynie oraz wszelkich możliwych wariantów „czystego” oprogramowania, które może być wykorzystane w tym procesie, jest praktycznie niemożliwe. Z tego powodu to głównie technologie oparte na chmurze chronią użytkowników przed fałszywymi alarmami spowodowanymi wykorzystaniem technologii proaktywnych.

Kiedy produkt wykrywa nieznany obiekt – tj. lokalne antywirusowe bazy danych nie zawierają żadnych informacji na jego temat – skrót obiektu jest natychmiast wysyłany do infrastruktury opartej na chmurze, która w ułamku sekundy wysyła odpowiedź na podstawie dostępnych informacji. Jeśli obiekt znajduje się na białej liście zaufanych programów, jest identyfikowany jako bezpieczny.       

Ponadto, technologie oparte na chmurze potrafią zweryfikować sygnaturę cyfrową podejrzanego pliku oraz reputację firmy, która wydała certyfikat sygnatury cyfrowej. Jeśli reputacja jest bez zarzutu, a certyfikat prawdziwy, to również oznacza, że obiekt jest legalny. Warto zauważyć, że reputacja firmy oraz dane dotyczące sygnatur nie są statyczne. Jeśli zostaną zgłoszone incydenty, może to spowodować utratę zaufania, prowadząc do zmiany w reakcji rozwiązania bezpieczeństwa na te same pliki.    

Narzędzia wykrywania proaktywnego wymagają szczególnej uwagi, kiedy udoskonalana jest funkcjonalność produktu. Kiedy nowo udoskonalone technologie zaczynają być wykorzystywane „w praktyce” po raz pierwszy od czasu testów laboratoryjnych, mogą pojawić się nieprzewidziane błędy. To dlatego zamiast aktywowania nowych mechanizmów ochrony we wszystkich produktach jednocześnie stosowane jest podejście etapowe. Najpierw, aktualizacje są dostarczane wąskiej grupie testowej. Jeśli nie spowoduje to fałszywych alarmów, nowe funkcje zostaną udostępnione szerszej rzeszy użytkowników. W efekcie, nawet jeśli nowa technologia będzie zawierała błędy, większość użytkowników nigdy z ich powodu nie ucierpi.             

Zwalczanie fałszywych alarmów podczas skanowania zasobów sieciowych

Warto dodać kilka słów na temat technologii, które zapewniają ochronę przed fałszywymi alarmami podczas skanowania zasobów sieciowych. Kaspersky Security Network potrafi śledzić historię reputacji zasobu. Jeśli szkodliwa zawartość zostanie wykryta na jednej z witryn, wtedy to, czy zostanie ona zablokowana całkowicie czy częściowo, zależy od jej reputacji. Jeśli posiada nienaganną reputację, rozwiązania Kaspersky Lab zablokują jedynie stronę, która stanowi zagrożenie dla użytkowników, a nie całą witrynę.         

Kaspersky Security Network śledzi również historię popularności zasobów internetowych. Jeśli witryna, która jest popularna wśród użytkowników, zostanie zidentyfikowana jako niebezpieczna, automatyczny system ostrzeże analityków, którzy przeprowadzą dodatkową kontrolę. Pomaga to zapobiec błędnemu wykryciu popularnych zasobów jako szkodliwych.

 

Podsumowanie

Fałszywe alarmy aktywowane przez produkty bezpieczeństwa są nieuniknione – nie istnieją rozwiązania idealne. Jednak celem producentów jest zmniejszenie ich liczby do minimum. Jest to zadanie wykonalne.

Eksperci z Kaspersky Lab ściśle monitorują działanie technologii ochrony, aby zapobiec błędom z ich strony. Dla każdego typu obiektu, w którym można potencjalnie wykryć zagrożenie (strony internetowe, pliki, banery, sektory rozruchu, strumienie ruchu itd.), istnieją specjalne mechanizmy zapobiegające fałszywym alarmom oraz oddzielne kolekcje obiektów, o których wiadomo, że są czyste.

Kaspersky Lab posiada wyspecjalizowany zespół odpowiedzialny za usprawnianie obecnych metod zwalczania fałszywych alarmów i rozwój nowych. Zespół ten bada każdy przypadek, analizuje, dlaczego pojawił się fałszywy alarm, i tworzy narzędzia, które pomagają zapobiec podobnym błędom w przyszłości.  

W dużej mierze dzięki wysiłkom tego zespołu w testach produktów firmy Kaspersky Lab przeprowadzonych przez niezależnych badaczy nie zostały zarejestrowane ostatnio żadne fałszywe alarmy.