Antywirusy Marcin Talarczyk 2 czerwca 2013 Marcin Talarczyk Antywirusy 2 czerwca 2013 1 / 36
Antywirus Antywirus 1 Antywirus 2 Metody wykrywania malware 3 Antywirus w chmurze 4 Bibliografia Marcin Talarczyk Antywirusy 2 czerwca 2013 2 / 36
Antywirus Antywirus Antywirus - program komputerowy, którego celem jest wykrywanie, zwalczanie i usuwanie złośliwego oprogramowania. Marcin Talarczyk Antywirusy 2 czerwca 2013 3 / 36
Antywirus Antywirus Programy antywirusowe są wyposażone w dwa niezależnie pracujące moduły: skaner - bada pliki na żądanie lub co jakiś czas; służy do przeszukiwania zawartości dysku monitor - bada pliki ciągle w sposób automatyczny; służy do kontroli bieżących operacji komputera Marcin Talarczyk Antywirusy 2 czerwca 2013 4 / 36
Antywirus Antywirus Programy antywirusowe są wyposażone w dwa niezależnie pracujące moduły: skaner - bada pliki na żądanie lub co jakiś czas; służy do przeszukiwania zawartości dysku monitor - bada pliki ciągle w sposób automatyczny; służy do kontroli bieżących operacji komputera Marcin Talarczyk Antywirusy 2 czerwca 2013 4 / 36
Antywirus Antywirus Obecnie poza skanerem, monitorem i modułem do aktualizacji sygnatur z sieci, pakiet antywirusowy zawiera często także zaporę sieciową, moduły kontroli przesyłek poczty elektronicznej i plików pobieranych z sieci, moduł wykrywania i zapobiegania włamaniom, skaner pamięci i strażnika MBR. Pakiet antywirusowy zawierający powyższe moduły określamy pojęciem - Internet Security Marcin Talarczyk Antywirusy 2 czerwca 2013 5 / 36
Metody wykrywania malware 1 Antywirus 2 Metody wykrywania malware Sygnatura Oszukiwanie heurystyki 3 Antywirus w chmurze 4 Bibliografia Marcin Talarczyk Antywirusy 2 czerwca 2013 6 / 36
Sygnatura Sygnatura Wzorzec (scan-string, pattern) jest ciągiem bajtów wyekstrahowanym z wirusa, który w sposób jednoznaczny go identyfikuje. Mając wzorzec wirusa możemy zastosować jeden z licznych algorytmów dopasowujących, w celu znalezienia go w badanym pliku. Marcin Talarczyk Antywirusy 2 czerwca 2013 7 / 36
Sygnatura Sygnatura Wzorzec musi spełniać kilka wymagań, aby można go było zastosować do identyfikacji zagrożenia: powinien być fragmentem charakterystycznym dla wirusa (nie może występować w czystych plikach), nie może być zbyt krótki (mógłby powodować fałszywe alarmy), nie może być zbyt długi (dopasowanie go byłoby długotrwałe, a zajętość pamięci znaczna przy licznej bazie zagrożeń) Marcin Talarczyk Antywirusy 2 czerwca 2013 8 / 36
Sygnatura Sygnatura Wzorzec musi spełniać kilka wymagań, aby można go było zastosować do identyfikacji zagrożenia: powinien być fragmentem charakterystycznym dla wirusa (nie może występować w czystych plikach), nie może być zbyt krótki (mógłby powodować fałszywe alarmy), nie może być zbyt długi (dopasowanie go byłoby długotrwałe, a zajętość pamięci znaczna przy licznej bazie zagrożeń) Marcin Talarczyk Antywirusy 2 czerwca 2013 8 / 36
Sygnatura Sygnatura Wzorzec musi spełniać kilka wymagań, aby można go było zastosować do identyfikacji zagrożenia: powinien być fragmentem charakterystycznym dla wirusa (nie może występować w czystych plikach), nie może być zbyt krótki (mógłby powodować fałszywe alarmy), nie może być zbyt długi (dopasowanie go byłoby długotrwałe, a zajętość pamięci znaczna przy licznej bazie zagrożeń) Marcin Talarczyk Antywirusy 2 czerwca 2013 8 / 36
Sygnatura Sygnatura Przykład: sygnatura wirusa Troj123x : FF 5e 0c 4d c2 21 1d 18 sygnatura pliku plik123x.gif : 5a 6e FF 5e 0c 4d c2 21 1d 18 d4 2a Jak widzimy część sygnatury gifa odpowiada sygnaturze wirusa, więc nasz program antywirusowy podejmie określone działanie. Marcin Talarczyk Antywirusy 2 czerwca 2013 9 / 36
(gr. heurisko znaleźć) to umiejętność odkrywania nowych faktów i związków pomiędzy faktami poprzez umiejętne postawienie hipotez. Algorytmy heurystyczne na podstawie wiedzy o cechach istniejących niebezpieczeństw są w stanie przeanalizować skanowany obiekt i stwierdzić, czy można go zaklasyfikować jako niebezpieczny. Marcin Talarczyk Antywirusy 2 czerwca 2013 10 / 36
statyczna statyczna opiera się na analizie obiektu w postaci, w jakiej zostanie on przekazany do analizy; na traktowaniu obiektu jako ciągu bajtów. Marcin Talarczyk Antywirusy 2 czerwca 2013 11 / 36
statyczna Aby wykryć wirusa przy użyciu heurystyki statycznej, musimy zgromadzić kolekcję mikrowzorców, których występowanie będzie świadczyło o podejrzanym działaniu. Stworzenie użytecznej bazy mikrowzorców wymaga wiedzy na temat zasady działania wirusów i technik w nich stosowanych. Marcin Talarczyk Antywirusy 2 czerwca 2013 12 / 36
statyczna Mikrowzorcem może być przykładowo pobranie offsetu delta, które można znaleźć w większości wirusów plikowych. Offset delta pobierany jest przez wirusa w celu ustalenia adresu początku samego siebie. Marcin Talarczyk Antywirusy 2 czerwca 2013 13 / 36
statyczna Popularną metodą ustalenia offsetu delta jest sekwencja rozkazów: 1 E800000000 c a l l $+5 2 5D pop ebp 3 ED sub ebp, co przekłada się na mikrowzorzec E8000000005DED. Występowanie tego mikrowzorca może sugerować, że ciąg bajtów jest kodem, który został dopisany do pliku wykonywalnego. Marcin Talarczyk Antywirusy 2 czerwca 2013 14 / 36
statyczna Wykrywanie heurystyczne niebezpiecznego oprogramowania tworzonego w językach wysokiego poziomu jest jednak znacznie bardziej skomplikowane niż wykrycie kodu asemblerowego. W celu zwiększenia jakości klasyfikacji przy użyciu heurystyki statycznej można połączyć mikrowzorce z nietypowym wyglądem pliku spowodowanym modyfikacjami przeprowadzonymi podczas infekcji. Marcin Talarczyk Antywirusy 2 czerwca 2013 15 / 36
statyczna Przykładowo za nietypowe można uznać sytuacje, gdy: punkt wejścia do programu (Entry- Point) wskazuje na ostatnią sekcję, która nie jest sekcją kodu (wirus dopisał się do ostatniej sekcji), entrypoint wskazuje na wnętrze nagłówka pliku PE (małe wirusy platform Win9x umieszczały się w nagłówku pliku), sekcja kodu posiada oprócz atrybutu wykonywalne, także odczyt i zapis (częste w przypadku wirusów polimorficznych), sekcja relokacji lub sekcja zasobów jest większa, niż być powinna. Marcin Talarczyk Antywirusy 2 czerwca 2013 16 / 36
statyczna Przykładowo za nietypowe można uznać sytuacje, gdy: punkt wejścia do programu (Entry- Point) wskazuje na ostatnią sekcję, która nie jest sekcją kodu (wirus dopisał się do ostatniej sekcji), entrypoint wskazuje na wnętrze nagłówka pliku PE (małe wirusy platform Win9x umieszczały się w nagłówku pliku), sekcja kodu posiada oprócz atrybutu wykonywalne, także odczyt i zapis (częste w przypadku wirusów polimorficznych), sekcja relokacji lub sekcja zasobów jest większa, niż być powinna. Marcin Talarczyk Antywirusy 2 czerwca 2013 16 / 36
statyczna Przykładowo za nietypowe można uznać sytuacje, gdy: punkt wejścia do programu (Entry- Point) wskazuje na ostatnią sekcję, która nie jest sekcją kodu (wirus dopisał się do ostatniej sekcji), entrypoint wskazuje na wnętrze nagłówka pliku PE (małe wirusy platform Win9x umieszczały się w nagłówku pliku), sekcja kodu posiada oprócz atrybutu wykonywalne, także odczyt i zapis (częste w przypadku wirusów polimorficznych), sekcja relokacji lub sekcja zasobów jest większa, niż być powinna. Marcin Talarczyk Antywirusy 2 czerwca 2013 16 / 36
statyczna Przykładowo za nietypowe można uznać sytuacje, gdy: punkt wejścia do programu (Entry- Point) wskazuje na ostatnią sekcję, która nie jest sekcją kodu (wirus dopisał się do ostatniej sekcji), entrypoint wskazuje na wnętrze nagłówka pliku PE (małe wirusy platform Win9x umieszczały się w nagłówku pliku), sekcja kodu posiada oprócz atrybutu wykonywalne, także odczyt i zapis (częste w przypadku wirusów polimorficznych), sekcja relokacji lub sekcja zasobów jest większa, niż być powinna. Marcin Talarczyk Antywirusy 2 czerwca 2013 16 / 36
statyczna Zalety: duża szybkość działania tym większa, że analizowane obszary zwykle nie są duże i można w całości wczytać je do pamięci Wady: ograniczone pole analizy umożliwiające wykrycie jedynie tych zagrożeń, które posiadają często występujące cechy, potrafi przeanalizować jedynie kod, który nie jest zaszyfrowany Marcin Talarczyk Antywirusy 2 czerwca 2013 17 / 36
dynamiczna Heurystyką dynamiczną nazywa się analizę przeprowadzaną podczas działania podejrzanego programu, dzięki czemu możliwe jest poznanie zachowania obiektu lub uzyskanie postaci obiektu dającej więcej informacji. Marcin Talarczyk Antywirusy 2 czerwca 2013 18 / 36
dynamiczna Analizę przeprowadza się podczas uruchomienia podejrzanego programu w środowisku bezpiecznym, za pomocą emulatora procesora i systemu operacyjnego. Środowisko takie nazywane jest piaskownicą (ang. sandbox). Marcin Talarczyk Antywirusy 2 czerwca 2013 19 / 36
dynamiczna Emulatory w programach antywirusowych początkowo tworzone były w celu odszyfrowania części zaszyfrowanej wirusów polimorficznych. Wykonywały polimorficzny kod wirusa do czasu, aż zakończył on deszyfrację, co najczęściej wiązało się z wywołaniem funkcji systemowej. Następnie rozszerzono ich funkcjonalność o możliwość analizy behawioralnej, więc wywołanie funkcji systemowej nie kończy działania, ale jest również emulowane zgodnie z zachowaniem rzeczywistego systemu operacyjnego. Marcin Talarczyk Antywirusy 2 czerwca 2013 20 / 36
dynamiczna Podejrzanymi zachowaniami, które może wykryć heurystyka dynamiczna, są np.: liniowa modyfikacja obszaru pamięci, skok w zmodyfikowany obszar (deszyfracja, często stosowana w wirusach polimorficznych), wykonywanie pustych pętli, które nie modyfikują stanu rejestrów procesora ani pamięci (sztuczka utrudniająca analizę programu i spowalniająca emulację), wykonywanie kodu w obszarze stosu. Marcin Talarczyk Antywirusy 2 czerwca 2013 21 / 36
dynamiczna Podejrzanymi zachowaniami, które może wykryć heurystyka dynamiczna, są np.: liniowa modyfikacja obszaru pamięci, skok w zmodyfikowany obszar (deszyfracja, często stosowana w wirusach polimorficznych), wykonywanie pustych pętli, które nie modyfikują stanu rejestrów procesora ani pamięci (sztuczka utrudniająca analizę programu i spowalniająca emulację), wykonywanie kodu w obszarze stosu. Marcin Talarczyk Antywirusy 2 czerwca 2013 21 / 36
dynamiczna Podejrzanymi zachowaniami, które może wykryć heurystyka dynamiczna, są np.: liniowa modyfikacja obszaru pamięci, skok w zmodyfikowany obszar (deszyfracja, często stosowana w wirusach polimorficznych), wykonywanie pustych pętli, które nie modyfikują stanu rejestrów procesora ani pamięci (sztuczka utrudniająca analizę programu i spowalniająca emulację), wykonywanie kodu w obszarze stosu. Marcin Talarczyk Antywirusy 2 czerwca 2013 21 / 36
dynamiczna Podejrzanymi zachowaniami, które może wykryć heurystyka dynamiczna, są np.: liniowa modyfikacja obszaru pamięci, skok w zmodyfikowany obszar (deszyfracja, często stosowana w wirusach polimorficznych), wykonywanie pustych pętli, które nie modyfikują stanu rejestrów procesora ani pamięci (sztuczka utrudniająca analizę programu i spowalniająca emulację), wykonywanie kodu w obszarze stosu. Marcin Talarczyk Antywirusy 2 czerwca 2013 21 / 36
dynamiczna Wady: niewielka szybkość działania samego emulatora, problem stopu, czyli stwierdzenie, kiedy emulacja powinna się zakończyć, niedeterministyczność wykonywania kodu Marcin Talarczyk Antywirusy 2 czerwca 2013 22 / 36
Analiza behawioralna Monitorując wywołania funkcji systemowych jesteśmy w stanie uzyskać dokładne informacje na temat zachowania analizowanego programu. Monitorowanie działającego systemu, mimo jego spowolnienia, zyskuje coraz większą popularność, ponieważ jest w stanie wykryć zagrożenia, którym emulacja nie jest w stanie sprostać. Marcin Talarczyk Antywirusy 2 czerwca 2013 23 / 36
Analiza behawioralna Monitorowanie behawioralne dotyczy typowych działań niebezpiecznych programów, jakimi są: modyfikacja plików wykonywalnych, pobieranie i uruchamianie plików z Internetu, wysyłanie listów za pomocą własnego silnika SMTP, modyfikacja rejestru, modyfikacja plików systemowych, zabijanie procesów (np. programów antywirusowych), modyfikacja innych procesów, szpiegowanie klawiatury, nasłuchiwanie na otwartych portach, praca programu bez widocznego okna. Marcin Talarczyk Antywirusy 2 czerwca 2013 24 / 36
Analiza behawioralna Monitorowanie behawioralne dotyczy typowych działań niebezpiecznych programów, jakimi są: modyfikacja plików wykonywalnych, pobieranie i uruchamianie plików z Internetu, wysyłanie listów za pomocą własnego silnika SMTP, modyfikacja rejestru, modyfikacja plików systemowych, zabijanie procesów (np. programów antywirusowych), modyfikacja innych procesów, szpiegowanie klawiatury, nasłuchiwanie na otwartych portach, praca programu bez widocznego okna. Marcin Talarczyk Antywirusy 2 czerwca 2013 24 / 36
Analiza behawioralna Monitorowanie behawioralne dotyczy typowych działań niebezpiecznych programów, jakimi są: modyfikacja plików wykonywalnych, pobieranie i uruchamianie plików z Internetu, wysyłanie listów za pomocą własnego silnika SMTP, modyfikacja rejestru, modyfikacja plików systemowych, zabijanie procesów (np. programów antywirusowych), modyfikacja innych procesów, szpiegowanie klawiatury, nasłuchiwanie na otwartych portach, praca programu bez widocznego okna. Marcin Talarczyk Antywirusy 2 czerwca 2013 24 / 36
Analiza behawioralna Monitorowanie behawioralne dotyczy typowych działań niebezpiecznych programów, jakimi są: modyfikacja plików wykonywalnych, pobieranie i uruchamianie plików z Internetu, wysyłanie listów za pomocą własnego silnika SMTP, modyfikacja rejestru, modyfikacja plików systemowych, zabijanie procesów (np. programów antywirusowych), modyfikacja innych procesów, szpiegowanie klawiatury, nasłuchiwanie na otwartych portach, praca programu bez widocznego okna. Marcin Talarczyk Antywirusy 2 czerwca 2013 24 / 36
Analiza behawioralna Monitorowanie behawioralne dotyczy typowych działań niebezpiecznych programów, jakimi są: modyfikacja plików wykonywalnych, pobieranie i uruchamianie plików z Internetu, wysyłanie listów za pomocą własnego silnika SMTP, modyfikacja rejestru, modyfikacja plików systemowych, zabijanie procesów (np. programów antywirusowych), modyfikacja innych procesów, szpiegowanie klawiatury, nasłuchiwanie na otwartych portach, praca programu bez widocznego okna. Marcin Talarczyk Antywirusy 2 czerwca 2013 24 / 36
Analiza behawioralna Monitorowanie behawioralne dotyczy typowych działań niebezpiecznych programów, jakimi są: modyfikacja plików wykonywalnych, pobieranie i uruchamianie plików z Internetu, wysyłanie listów za pomocą własnego silnika SMTP, modyfikacja rejestru, modyfikacja plików systemowych, zabijanie procesów (np. programów antywirusowych), modyfikacja innych procesów, szpiegowanie klawiatury, nasłuchiwanie na otwartych portach, praca programu bez widocznego okna. Marcin Talarczyk Antywirusy 2 czerwca 2013 24 / 36
Analiza behawioralna Monitorowanie behawioralne dotyczy typowych działań niebezpiecznych programów, jakimi są: modyfikacja plików wykonywalnych, pobieranie i uruchamianie plików z Internetu, wysyłanie listów za pomocą własnego silnika SMTP, modyfikacja rejestru, modyfikacja plików systemowych, zabijanie procesów (np. programów antywirusowych), modyfikacja innych procesów, szpiegowanie klawiatury, nasłuchiwanie na otwartych portach, praca programu bez widocznego okna. Marcin Talarczyk Antywirusy 2 czerwca 2013 24 / 36
Analiza behawioralna Monitorowanie behawioralne dotyczy typowych działań niebezpiecznych programów, jakimi są: modyfikacja plików wykonywalnych, pobieranie i uruchamianie plików z Internetu, wysyłanie listów za pomocą własnego silnika SMTP, modyfikacja rejestru, modyfikacja plików systemowych, zabijanie procesów (np. programów antywirusowych), modyfikacja innych procesów, szpiegowanie klawiatury, nasłuchiwanie na otwartych portach, praca programu bez widocznego okna. Marcin Talarczyk Antywirusy 2 czerwca 2013 24 / 36
Analiza behawioralna Monitorowanie behawioralne dotyczy typowych działań niebezpiecznych programów, jakimi są: modyfikacja plików wykonywalnych, pobieranie i uruchamianie plików z Internetu, wysyłanie listów za pomocą własnego silnika SMTP, modyfikacja rejestru, modyfikacja plików systemowych, zabijanie procesów (np. programów antywirusowych), modyfikacja innych procesów, szpiegowanie klawiatury, nasłuchiwanie na otwartych portach, praca programu bez widocznego okna. Marcin Talarczyk Antywirusy 2 czerwca 2013 24 / 36
Analiza behawioralna Monitorowanie behawioralne dotyczy typowych działań niebezpiecznych programów, jakimi są: modyfikacja plików wykonywalnych, pobieranie i uruchamianie plików z Internetu, wysyłanie listów za pomocą własnego silnika SMTP, modyfikacja rejestru, modyfikacja plików systemowych, zabijanie procesów (np. programów antywirusowych), modyfikacja innych procesów, szpiegowanie klawiatury, nasłuchiwanie na otwartych portach, praca programu bez widocznego okna. Marcin Talarczyk Antywirusy 2 czerwca 2013 24 / 36
Analiza behawioralna Monitory behawioralne posiadają zwykle rozbudowywaną bazę fałszywych alarmów, gdyż niebezpieczne programy pisane w językach wysokiego poziomu charakteryzują się pod względem zachowania wysokim podobieństwem do plików czystych. Oprócz przeprowadzania skomplikowanej analizy zachowań, blokowane mogą być wszystkie potencjalnie niebezpieczne akcje. Marcin Talarczyk Antywirusy 2 czerwca 2013 25 / 36
Oszukiwanie heurystyki Oszukiwanie heurystyki W sytuacji, gdy autor złośliwego programu napisze go od podstaw, nie wzorując się na istniejących rozwiązaniach, istnieje dość nikła szansa, że algorytm heurystyczny go wykryje. Jeszcze mniejsze jest prawdopodobieństwo wykrycia takiego zagrożenia przy użyciu uogólnionego wzorca. Marcin Talarczyk Antywirusy 2 czerwca 2013 26 / 36
Oszukiwanie heurystyki Oszukiwanie heurystyki Twórca złośliwego oprogramowania może sprawdzić swój program w serwisie internetowym skanującym plik dużą liczbą silników antywirusowych. Marcin Talarczyk Antywirusy 2 czerwca 2013 27 / 36
Oszukiwanie heurystyki Oszukiwanie heurystyki Marcin Talarczyk Antywirusy 2 czerwca 2013 28 / 36
Oszukiwanie heurystyki Oszukiwanie heurystyki Marcin Talarczyk Antywirusy 2 czerwca 2013 29 / 36
Antywirus w chmurze Antywirus w chmurze 1 Antywirus 2 Metody wykrywania malware 3 Antywirus w chmurze TruPrevent Kolektywna Inteligencja 4 Bibliografia Marcin Talarczyk Antywirusy 2 czerwca 2013 30 / 36
Antywirus w chmurze Antywirus w chmurze Marcin Talarczyk Antywirusy 2 czerwca 2013 31 / 36
Antywirus w chmurze TruPrevent Antywirus w chmurze TruPrevent TruPrevent wkorzystuje analizę behawioralną do wykrywania zagrożeń oraz bloker behawioralny. Technologie te działają w chmurze, na serwerach producenta. Marcin Talarczyk Antywirusy 2 czerwca 2013 32 / 36
Antywirus w chmurze Kolektywna Inteligencja Antywirus w chmurze Kolektywna Inteligencja Kolektywna Inteligencja analizuje pliki, które zostały oznaczone jako podejrzane. Każdy nowy proces, pojawiający się w pamięci komputera, jest skanowany w chmurze. Do serwerów Pandy wysyłane są tylko metadane plików a nie całe pliki, dzięki temu według producenta Kolektywna Inteligencja nie spowalnia pracy komputera i nie obciąża zasobów. W przypadku tradycyjnego skanowania na żądanie, gdy zagrożenie zostanie wykryte, program wysyła automatycznie i anonimowo informacje do Kolektywnej Inteligencji w chmurze. Metadane są analizowane, a informacje o zagrożeniu wysyłane do wszystkich innych użytkowników w społeczności. Marcin Talarczyk Antywirusy 2 czerwca 2013 33 / 36
Bibliografia Bibliografia 1 Antywirus 2 Metody wykrywania malware 3 Antywirus w chmurze 4 Bibliografia Marcin Talarczyk Antywirusy 2 czerwca 2013 34 / 36
Bibliografia Bibliografia http://www.eset.com http://www.pandasecurity.com/poland/ http://securitymag.pl/ http://www.wikipedia.org/ Marcin Talarczyk Antywirusy 2 czerwca 2013 35 / 36
Dziękuję za uwagę Marcin Talarczyk Antywirusy 2 czerwca 2013 36 / 36