nukemiak napisał(a):[Aby zobaczyć linki, zarejestruj się tutaj]
to jest właśnie heurystyka, a że behavioralna, zwał jak zwał
Mam teraz chwilę na sprostowanie tematu. Skrótowo, ale zawsze. Jak przeczytałeś w załączonym materiale, heurystyka w wykrywaniu złośliwego oprogramowania dzieli się na
statycznąi
dynamiczną . Statyczna również opiera się o
sygnatury- dyskryminatory - cechy świadczące o tym, że plik może zawierać złośliwy kod.
Cytat: Dyskryminatory [...]mogą być związane np. z nietypowym wyglądem pliku wykonywalnego
Z kolei heurystyka dynamiczna pozwala na uruchomienie programu w emulowanym środowisku, tak aby zaszyfrowane (wykorzystanie kompresorów i protektorów) części kodu osiągnęły "gołą" postać. Jakub Dębski napisał też, że analiza behawioralna (dalej zwana AB) jest również zaliczana do heurystyki dynamicznej (dalej zwana HD), więc skąd różnorodność nazw?
Tym, co różni AB od HD jest środowisko uruchomienia. Podczas gdy dynamiczna analiza zachowania programu następuje w środowisku emulowanym, analiza behawioralna
częściejjest przeprowadzana na systemie "macierzystym".
Sam proces emulacji nie należy do najszybszych, ale problem wydajnościowy pojawia się razem z pytaniem "kiedy należy zakończyć pracę emulatora?" Im dłużej procesy są emulowane, tym bardziej spada wydajność działania. Różnica jednak jest najbardziej widoczna od strony technicznej, a nie odczuwalnej przez użytkownika. Największym ograniczeniem dla emulatora jest niedeterministyczność malware. Złośliwy kod może uruchamiać się raz na parę uruchomień, lub w zależności czy system operacyjny spełnia jakieś założone przez programistę wymagania. Emulator nie jest w stanie przeanalizować wszystkich możliwości wykonywania programu, ale idzie jak z procy więc nie spowalnia działania systemu (po prostu sam nie jest szybki), tak jak monitorowanie SO podczas właściwego działania. Nieemulowana AB po prostu nie jest ograniczona środowiskiem i może zwiększyć wykrywalność malware. Oczywiście warto dodać, że AB również może być przeprowadzona w środowisku emulowanym, ale
nie dotyczy ona tak analizy kodu, a bada zachowanie obiektów i ich powiązań z systemem operacyjnym.
Cytat:
Najczęściej 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.
Ściślej opisane jest to w całym artykule, a zarazem źródle części tego posta:
[Aby zobaczyć linki, zarejestruj się tutaj]
Tak więc jeszcze raz:
nukemiak napisał(a):to jest właśnie heurystyka, a że behavioralna, zwał jak zwał
Nie jest to prawdą od strony formalnej.
W artykule
[Aby zobaczyć linki, zarejestruj się tutaj]
, autor pisze:
Cytat: Active Heuristics
Active heuristics are referred to by a variety of names by different vendors. Some call the technique “sandboxing”, others call it “virtualization” or “emulation.” In all cases the idea is to create a safe virtual environment, run the code to be inspected and watch the behaviors in order to assess risk.
Nie widzę nigdzie odwołania do monitorowania systemu podczas jego działania.
Źródła w linkach.
Temat można wydzielić i otworzyć pole dyskusyjne