Сравнителен анализ на евристични анализатори

сравнителен

евристични

Xakep # 239. Отворете и разгледайте

евристични

Xakep # 238. Забравен Android

анализ

Xakep # 237. Darknet 2018

сравнителен

евристични

Xakep # 235. Прераждане на експлоатационни китове

Иска ми се да не беше скрито от теб.
Въпреки че в този случай нямаше да спечеля нищо.
Хамлет

Как работи анализаторът на код? Обикновено анализаторът на код е сдвоен с
съперник. Как изглежда в най-простия случай? Да кажем, че имаме полиморфни
вирус, състоящ се от кодирано тяло и декриптор. Kodemulator емулира
работата на този вирус по една инструкция в даден момент, след това анализатора на кода
изчислява контролната сума и я проверява със съхранената в базата данни.
Емулацията ще продължи, докато се изисква броенето
частта от контролната сума на вируса няма да бъде декриптирана. Ако подписът съвпада
- означава, че вирусът е идентифициран, можете да започнете да лекувате.

След бърз преглед е време да се захванете с бизнеса. Направих прост експеримент за
кои повторения ще ви трябват:

  • TASM 5.0
  • Тривиален вирус. На вируса се налага условие: той не трябва да присъства в базите данни, нито
    dr.Web'a, нито AVP. Можете да намерите вирус за експеримента на
    необятността на Интернет (например vx.netlux.org). Или го напишете сами ...
  • dr.Web и AVP

След всички приготовления ние събираме и свързваме вируса. След това трябва
проверете и двата ни антивирусни продукта върху него.

Моят AVP дори не скърца и обяви, че всичко е наред с файла, можете да стартирате
здравето му. Проведох още няколко експеримента, за да модифицирам
вирус, но евристиката в AVP така и не се събуди. От това заключаваме
- или няма никаква евристика, или е в такава
държава, която дори не знам какво да кажа ...

Продължавайки напред, какво ще ни каже нашата dr.Web? И докладите на dr.Web -
„Възможно WIN EXE вирус“. Това, разбира се, не можеше да не ме зарадва и
предизвика по-нататъшни експерименти. В пристъп на щастие и еуфория реших
проверете вашата помощна програма за криптиране на кодовия раздел на програмите
("Код за сигурност"). И какво мислите, че видях. Все същият прекрасен надпис -
„Възможно е WIN EXE вирус.“ Това не ме зарадва много, но кой ще зарадва,
когато неговата уважаема полезност се нарича вирус.
След 5-10 експеримента с вируса и моята помощна програма открих защо
полезността и вирусът се идентифицират идентично. Евристиката в dr.Web се ​​придържаше
следните блокове с инструкции:

………………………
cmp дума ptr [esi], 'ZM'; Това е EXE файл?
jne UnmapView
………………………

Както можете да видите, това е проверка дали файлът е * .exe - by
съдържание.

cmp дума ptr [ebx], 'EP'; Това е PE файл ?
jne UnmapView

И това е проверка на файла .exe за принадлежност към преносимия формат
Изпълним. Също така в вируса тези инструкции
са били използвани за намиране на kernel32.dll в паметта. Но този евристичен подход се оказа уязвим за най-простата модификация
от този код. Когато замествате описаните по-горе блокове със следното:

натиснете ‘ZM’;
поп edx;
cmp дума ptr [esi], dx; Това е EXE файл ?

Тук е направена най-простата модификация на кода
(мутация) към синоним.

натиснете ‘EP’;
поп екс;
cmp дума ptr [ebx], брадва; Това е PE файл ?

Подобна техника беше приложена в този случай.
След тези модификации подозренията бяха премахнати както от помощната програма, така и от вируса.
В края на този текст могат да се направят изводи, сега ние записваме всички плюсове и минуси
и на двата антивирусни продукта:

(-) Евристика в зародиш
(+) Скорост на работа (може да последва от минуса - недостатъчна дълбочина на емулация)
(+) Фалшиви положителни резултати (практически няма, както и евристика)

Нека да преминем към dr.Web:

(-) Работна скорост
(-) Фалшиви положителни резултати (най-често причинени от евристичен анализатор на код)
(+) Евристиката е доста напреднала

Въз основа на резултатите от моето изследване могат да се направят разочароващи заключения:
за AVP евристиката или не работи добре, или не. Но евристиката на д-р Уеб
работи "изключително" добре, като дава много фалшиви положителни резултати.
С тези две програми имам две асоциации - слепи и параноични.