Maximize
Bookmark

VX Heaven

Library Collection Sources Engines Constructors Simulators Utilities Links Forum

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

Sl0n
2004

[Вернуться к списку] [Комментарии]
"Я хотел бы, чтобы это не было скрыто от вас.
Хотя и в таком случае я бы ничего не выиграл"

Гамлет


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

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

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

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

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

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

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

У меня 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'а эвристика работает "чрезвычайно" хорошо, что даёт множество ложных срабатываний. С этими двумя программами у меня появились две ассоциации - слепой и параноик.

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

[Вернуться к списку] [Комментарии]
By accessing, viewing, downloading or otherwise using this content you agree to be bound by the Terms of Use! vxheaven.org aka vx.netlux.org
deenesitfrplruua