Blog 24/7

wykrywanie sygnaturowe i heurystyczne

TAB. 1Hasłopo polsku
Po angielskusignature-based detection vs heuristic detection
Którą formą pisaćpo polsku Polska nazwa przyjęła się w tekstach i w wyszukiwarce — używaj jej samodzielnie.
Inne formywykrywanie sygnatur · sygnatury wirusów · analiza heurystyczna · skanowanie heurystyczne · heurystyka
KategoriaZłośliwe oprogramowanie

Wykrywanie sygnaturowe i heurystyczne to dwa podstawowe podejścia programów antywirusowych i skanerów do rozpoznawania złośliwego oprogramowania (malware). Wykrywanie sygnaturowe porównuje pliki z bazą cech znanych próbek; NIST definiuje sygnaturę jako zestaw cech znanych instancji złośliwego oprogramowania, pozwalający rozpoznać je i niektóre nowe warianty [1]. Sekurak nazywa bazę sygnatur najważniejszą, obok silnika, częścią programu antywirusowego [2]. Metodami heurystycznymi określa się wszystkie inne sposoby wykrywania, oparte na podejrzanych cechach i zachowaniu kodu [2].

Jak działa wykrywanie sygnaturowe

Sekurak wyróżnia kilka rodzajów sygnatur [2]. Najprostsza to skrót pliku, liczony funkcją skrótu (hash). Jest jednoznaczny, ale nawet najdrobniejsza zmiana w kodzie powoduje, że stara sygnatura nie wykryje nowej wersji [2]. Dlatego częściej stosuje się sygnatury oparte na wybranych sekwencjach bajtów, wspólnych dla wielu wariantów; takie podejście jest w praktyce dość skuteczne wobec całych rodzin złośliwego oprogramowania [2].

Skaner działa jak prosta pętla porównań, pokazana na schemacie poniżej.

RYS. 1Skanowanie sygnaturowe pliku

NIST zaleca skanowanie każdego pliku w chwili pobrania, otwarcia lub uruchomienia (on-access) oraz skanowanie ręczne na żądanie (on-demand) [1]. Skuteczność zależy od aktualności bazy: program antywirusowy działa najlepiej, gdy jego sygnatury są w pełni aktualne [1]. Zakażone pliki trafiają do dezynfekcji albo na kwarantannę [1].

Jak działa wykrywanie heurystyczne

Heurystyka ocenia cechy i zachowanie kodu, a nie jego tożsamość. Bitdefender opisuje dwa warianty [3]. Analiza statyczna polega na dekompilacji podejrzanego programu i porównaniu jego kodu z bazą heurystyczną [3]. Analiza dynamiczna uruchamia kod w wyspecjalizowanej maszynie wirtualnej, czyli piaskownicy (sandbox), i obserwuje jego działanie bez ryzyka dla systemu [3]. Sekurak zalicza do heurystyki również monitorowanie wywołań funkcji systemu i analizę zachowania [2]. NIST wśród zalecanych funkcji programu antywirusowego wymienia obserwację bieżącej aktywności hosta pod kątem podejrzanych działań oraz monitorowanie zachowania aplikacji najczęściej używanych do infekcji, takich jak klienty poczty i przeglądarki [1]. To także podejście behawioralne, bo ocenia czynności programu, a nie jego zawartość.

Ceną za wykrywanie nowych zagrożeń są fałszywe wyniki. Jeśli parametry heurystyki są zbyt szerokie, program błędnie oznacza niewinne pliki jako zagrożenia [3]. Ten błąd to fałszywy alarm (false positive); NIST definiuje go jako sytuację, w której narzędzie niepoprawnie klasyfikuje nieszkodliwą treść jako złośliwą [1]. Odwrotny błąd, przeoczenie zagrożenia, to fałszywie ujemny wynik (false negative) [1].

Porównanie

CechaSygnaturoweHeurystyczne
Co porównujeskrót lub fragmenty bajtów znanych próbek [2]cechy i zachowanie kodu [3]
Nowe wariantywykrywa tylko niektóre [1]wykrywa także nieznane [3]
Fałszywe alarmymożliwe, gdy czysty plik zawiera szukane bajty [2]częstsze przy szerokich regułach [3]
Zależnośćaktualna baza sygnatur [1]jakość reguł i środowiska analizy [3]

Obie metody mają granicę wyznaczoną przez teorię. Fred Cohen wykazał w 1984 roku, że rozstrzygnięcie, czy dany program jest wirusem, jest problemem nierozstrzygalnym [4]. Wniosek: program, który precyzyjnie odróżnia każdego wirusa od innego programu na podstawie jego wyglądu, jest niewykonalny [4]. NIST zwraca uwagę na praktyczny skutek: gdy atakujący przygotowuje osobny wariant dla każdej ofiary, zabezpieczenia oparte głównie na sygnaturach nie nadążają [1]. Zaleca obronę warstwową, w której kilka technik wykrywania zwiększa szansę, że któraś rozpozna złośliwe zachowanie [1]. Utrudnieniem są też malware polimorficzny (polymorphic malware) i zaciemnianie kodu, które zmieniają wygląd kodu przy zachowaniu działania.

W WordPressie

Skanery dla WordPressa łączą sygnatury z trzecią metodą: porównaniem plików z wzorcowymi kopiami. Wordfence sprawdza pliki rdzenia, motywów i wtyczek pod kątem złośliwego kodu, złych adresów URL, tylnych furtek, SEO spamu, złośliwych przekierowań i wstrzyknięć kodu [5]. Porównuje też pliki rdzenia, motywów i wtyczek z repozytorium WordPress.org i zgłasza każdą zmianę [5]. Opis wtyczki podaje, że w wersji bezpłatnej nowe sygnatury złośliwego oprogramowania trafiają z 30-dniowym opóźnieniem [5], co dobrze pokazuje zależność metody sygnaturowej od aktualności bazy. Ta sama wtyczka sprawdza adresy URL w plikach, wpisach i komentarzach z listą Safe Browsing Google [5]. Jest to porównanie z bazą znanych złych wzorców, tyle że dla adresów, a nie dla kodu.

Porównanie z wzorcem można wykonać także bez wtyczki. Polecenie WP-CLI pobiera z WordPress.org sumy kontrolne MD5 dla zainstalowanej wersji i porównuje je z plikami na serwerze [6]. Ze względów bezpieczeństwa nie ładuje przy tym WordPressa, a z opcją --include-root ostrzega o obcych plikach w katalogu głównym [6].

# porównanie plików rdzenia z sumami kontrolnymi z WordPress.org
wp core verify-checksums --include-root

Taka kontrola nie wykryje złośliwego kodu w katalogu wp-content ani w bazie danych, dlatego uzupełnia, a nie zastępuje skaner złośliwego oprogramowania (malware scanner). Dokumentacja WordPressa zaleca łączenie skanerów działających w aplikacji z zewnętrznymi: żadne z tych rozwiązań nie jest najlepsze samo, ale razem wyraźnie zwiększają szansę wykrycia [7].

Dobre praktyki

TAB. 2

Przypisy

7
  1. [1] SP 800-83 Rev. 1: Guide to Malware Incident Prevention and Handling for Desktops and Laptops · NIST
  2. [2] W jaki sposób działają programy antywirusowe? · Sekurak
  3. [3] Skanowanie heurystyczne — co to takiego i jak działa · Bitdefender Polska
  4. [4] Computer Viruses — Theory and Experiments (Fred Cohen, 1984) · Fred Cohen & Associates (all.net)
  5. [5] Wordfence Security — Firewall, Malware Scan, and Login Security · WordPress.org
  6. [6] wp core verify-checksums · WordPress.org
  7. [7] FAQ My site was hacked · WordPress.org
TAB. 3

Hasła w tym artykule

14
TAB. 4

Linkują tutaj

14

Wszystkie kategorie → · Hasło w słowniku →

Blog 24/7
05.11CISA i FBI wzywają do zabezpieczenia sterowników chłodzenia po atakach w Europietherecord.media05.11Midnight Blizzard atakowała iPhone'y i Androidy przez zainfekowane strony w Europie i USAsecurityweek.com05.11APT29 kradła dane z iPhone'ów i Androidów przez przejęte i podrobione stronytherecord.media05.11Grupa APT29 przejęła skrypt Plerdy i atakowała niezałatane iPhone'y i Androidythehackernews.com05.11Microsoft wykrył 7,3 mld wiadomości phishingowych w III kwartale 2026microsoft.com05.11DigiCert ujawnia wyciek danych klientów i skanów dokumentów tożsamościbleepingcomputer.com05.11CWPdoor podmienia serwer cwpsrv w Control Web Panel i otwiera tylne wejście do Linuksableepingcomputer.com05.11Brytyjskie NCSC ostrzega, że narzędzia AI zwiększyły liczbę wykrywanych luk zero-daythehackernews.com05.11Skaner RootEvidence sprawdza starą lukę w Cisco IOS i dodaje nagłówki Opt-Outisc.sans.edu05.11Włamanie do portalu grantowego Norad, zagrożone dane 20 614 użytkownikówhelpnetsecurity.com