Карта сайта Хакер в RSS Энциклопедия Хакера PDA версия сайта Почтовые рассылки Хакера    Хакер в Twitter Хакер в ВКонтакте Приложение Хакер для Facebook Хакер на Formspring.me
Журнал Новости Форум Видео Life Xakep Live (блоги)
Bugtrack Статьи Блог Поиск English
Взлом как образ мысли Взлом как образ мысли
Интервью с человеком, который, как оказалось, является не только талантливым пентестером в одной из крупных ИБ-компании, но и хакером-ветераном, который уверенными шагами вышел на свет и прикоснулся к истории российской хак-сцены....
Полный гид по накрутке онлайн-голосований Полный гид по накрутке онлайн-голосований
Конкурсы с голосованием привлекают большое количество посетителей, а трафик, как известно, — это деньги. Особый интерес вызывают конкурсы, где за победу предлагаются лакомые призы....

Сравнительный анализ эвристических анализаторов

Bookmark and Share

Я хотел бы, чтобы это не было скрыто от вас.
Хотя и в таком случае я бы ничего не выиграл.
Гамлет

 

В данном тексте мы попытаемся определиться, насколько можно доверять фразам из рекламных слоганов антивирусных корпораций. Объектом исследования будут эвристические анализаторы двух известнейших антивирусов:

  • AVP
  • Dr.Web

Начнём с того, что мы обобщим всю известную нам информацию об эвристических анализаторах. В рекламах антивирусных программных пакетов обычно сообщается примерно следующее: "наш антивирус ловит не только известные вирусы, заложенные в базу, но и неизвестные вирусы при помощи эвристического анализатора". Это единственная информация, которую фирмы по разработке антивирусного программного обеспечения нам сообщают. Всё остальное охраняется как зеница ока и является ноу-хау каждой фирмы в отдельности.

Как же работает кодоанализатор? Обычно кодоанализатор работает в паре с эмулятором. Как это выглядит в простейшем случае? Скажем, мы имеем полиморфный вирус состоящий из зашифрованного тела и расшифровщика. Кодоэмулятор эмулирует работу данного вируса по одной инструкции, после этого кодоанализатор подсчитывает контрольную сумму и сверяет её с той, которая хранится в базе. Эмуляция будет продолжаться до тех пор, пока необходимая для подсчёта  контрольной суммы часть вируса не будет расшифрована. Если сигнатура совпала - значит вирус идентифицирован, можно начинать лечить.

После краткого обзора пора заняться делом. Я провёл не сложный эксперимент, для кго повторения вам понадобиться:

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

Многие почему-то думают, что за написание вирусов предусмотрено уголовное наказание, но это не так. Да, действительно статья существует, но могут посадить за распространение вирусов, а не их написание. Всё, что находиться на вашем компьютере это ваша частная информация и она охраняется законом. 

После всех подготовок мы ассемблируем и линкуем вирус. После этого мы должны проверить на нём оба наших антивирусных продукта.

У меня AVP даже не пискнул и объявил, что с файлом всё хорошо, можешь запускать его на здоровье. Мной были проведено еще несколько экспериментов по модификации вируса, но эвристик в AVP так и не проснулся. Из этого делаем вывод - эвристики либо нет вообще, либо она в таком зачаточном состоянии, что я даже не знаю что сказать ...

Движемся дальше, что же скажет нам наш dr.Web? А dr.Web сообщает -  "Возможно WIN EXE вирус" . Это меня конечно же не могло не обрадовать и побудило на дальнейшие эксперименты. Я в порыве счастья и эйфории решил проверить свою утилиту для шифрования кодовой секции программ ("Secure Code"). И как вы думаете, что я увидел ??? Всю ту же замечательную надпись - "Возможно WIN EXE вирус". Это уже меня не сильно обрадовало, а кому понравиться, когда его добропорядочную утилиту вирусом обзывают. После 5 - 10 экспериментов с вирусом и моей утилитой я обнаружил, почему утилита и вирус идентифицируются одинаково. Эвристика в dr.Web цеплялась за следующие блоки инструкций:

...........................
cmp word ptr [esi],'ZM' ;
Это EXE файл?
jne UnmapView 
...........................

Как вы можете заметить это проверка на то, является ли файл *.exe - по содержанию. 

cmp word ptr [ebx],'EP' ; Это PE файл ?
jne UnmapView


А это проверка *.exe файла на принадлежность формату - Portable Executable. Так же в вирусе эти инструкции использовались для поиска в памяти kernel32.dll. Но данный эвристический подход оказался уязвим для простейшей модификации данного кода. При замене описанных выше блоков на следующие:

push 'ZM' ;
pop edx ;
cmp word ptr [esi],dx ; Это EXE файл ?


Здесь была сделана простейшая модификация кода (мутация) на синонимичный.

push 'EP' ;
pop eax ;
cmp word ptr [ebx],ax ; Это PE файл ?


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

Начнём с AVP:

(-) Эвристика в зачаточном состоянии
(+) Скорость работы (вполне может вытекать из минуса - недостаточная глубина эмуляции)
(+) Ложные срабатывания (практически нет, как и эвристики)

Перейдём к dr.Web'у:

(-) Скорость работы 
(-) Ложные срабатывания (чаще всего вызваны - эвристическим кодоанализатором)
(+) Эвристика довольно развита 

Исходя из результатов моего исследования можно сделать неутешительные выводы: у AVP эвристика либо плохо работает, либо её нет. А вот у dr.Web'а эвристика работает "чрезвычайно" хорошо, что даёт множество ложных срабатываний. С этими двумя программами у меня появились две ассоциации - слепой и параноик.

В заключение нужно добавить, каждый выбирает тот продукт, который ему больше подходит. Хочется верить, что автор данным текстом развеял ту веру в "святых" разработчиков антивирусных продуктов. Ведь антивирус это такая же программа как и любая другая, и в ней так же присутствуют ошибки. Программ без ошибок не бывает.





СЛЕДУЮЩИЕ СТАТЬИ
Грязная посуда: тестирование web-проектов
Спам-боты: вскрытие и борьба
SSH-туннелинг как замена VPN
Защита Wi-Fi сетей
Анонимность для ленивых
ПРЕДЫДУЩИЕ СТАТЬИ
Защита DNS №2
Защита DNS №1
Infosec 2003
Теория стеганографии
Honeypot: ловушка для хакера №2
Honeypot: ловушка для хакера №1
Управляй безопасно №2
По ту сторону баррикад: как противостоять снифферу
Управляй безопасно №1
Пароли: хранить в сухом месте
ОБСУЖДЕНИЕ СТАТЬИ
Логин:
Пароль:
Если у вас есть форумный логин - вы можете использовать его, иначе анонимный гостевой доступ.

Для оставления комментария вы можете зарегистрироваться по упрощенной процедуре.
Для отправки сообщения введите код, указанный на картинке
Сообщение





Keywords: zPOSTz zDEFENCEz, zNETz, zINFOz z21703z
Для Авторов: edit Lock delete Lock



    Rambler's Top100