Analiza heurystyczna
Analiza heurystyczna może wykorzystywać wiele różnych technik. Jedna z metod heurystycznych, znana jako statyczna analiza heurystyczna, polega na dekompilacji podejrzanego programu i zbadaniu jego kodu źródłowego. Kod ten jest następnie porównywany z wirusami, które są już znane i znajdują się w heurystycznej bazie danych. Jeśli określony procent kodu źródłowego pasuje do czegokolwiek w heurystycznej bazie danych, kod jest oznaczany jako potencjalne zagrożenie.
Inna metoda znana jest jako heurystyka dynamiczna. Kiedy naukowcy chcą przeanalizować coś podejrzanego bez narażania ludzi na niebezpieczeństwo, umieszczają substancję w kontrolowanym środowisku, takim jak bezpieczne laboratorium, i przeprowadzają testy. Proces ten jest podobny do analizy heurystycznej – ale w świecie wirtualnym.
Odizolowuje podejrzany program lub fragment kodu wewnątrz wyspecjalizowanej maszyny wirtualnej – lub piaskownicy – i daje programowi antywirusowemu szansę przetestowania kodu i symulacji tego, co by się stało, gdyby podejrzany plik został dopuszczony do uruchomienia. Program analizuje każde polecenie w trakcie jego uruchamiania i poszukuje podejrzanych zachowań, takich jak samoreplikacja, nadpisywanie plików i inne działania typowe dla wirusów. Potencjalne problemy są zgłaszane użytkownikowi.
Analiza heurystyczna jest idealna do identyfikowania nowych zagrożeń, ale aby była skuteczna, heurystyka musi być starannie dostrojona, aby zapewnić jak najlepsze wykrywanie nowych zagrożeń, ale bez generowania fałszywych wyników pozytywnych na całkowicie niewinnym kodzie.
Z tego powodu narzędzia heurystyczne są często tylko jedną z broni w zaawansowanym arsenale antywirusowym. Zazwyczaj są one wdrażane wraz z innymi metodami wykrywania wirusów, takimi jak analiza sygnatur i inne technologie proaktywne.