Эвристический анализ

Эвристический анализ


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

Содержание

Технология эвристического анализа

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

В ряде случаев, эвристические методы оказываются чрезвычайно успешными, к примеру, в случае очень коротких программных частей в загрузочном секторе: если, программа производит запись в сектор 1, дорожку 0, сторону 0, то это приводит к изменению раздела накопителя. Но кроме вспомогательной программы FDISK эта команда больше нигде не используется, и потому в случае ее неожиданного появления речь идет о загрузочном вирусе.

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

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

Недостатки эвристического сканирования

  • Чрезмерная подозрительность эвристического анализатора может вызывать ложные срабатывания при наличии в программе фрагментов кода, выполняющего действия и/или последовательности, в том числе и свойственные некоторым вирусам. В частности, распаковщик в файлах, запакованных PE-упаковщиком (Win)Upack вызывает ложные срабатывания целого ряда антивирусных средств, де-факто не признающих такой проблемы. Другой проблемой анализаторов является ошибочное срабатывание при проверке совершенно безобидного кода.

К примеру, скомпилированный с помощью Delphi 7 или Delphi 2007 код:


program XDC;
 
{$APPTYPE CONSOLE}
 
uses
  SysUtils;
 
begin
 
if (paramstr(3)='d') then begin
FileSetReadOnly(paramstr(2),false);
DeleteFile(paramstr(2));
end;
 
end.


Вызывает ложные срабатывания у антивирусов типа Panda (независимо от версии компилятора), Webwasher GateWay (при компиляции Delphi 2007[1]), F-Secure (при компиляции Delphi 7[2]). Как видно из примера, программа абсолютно безопасна и совершенно отсутствуют какие-либо признаки вредоносного кода и вирусного функционала (весь функционал примера: если в качестве третьего параметра указан ключ «d», программа удаляет файл, указанный во втором параметре).


  • Наличие простых методик обмана эвристического анализатора. Как правило, прежде чем распространять вредоносную программу (вирус), ее разработчики исследуют существующие распространенные антивирусные продукты, различными методами избегая ее детектирование при эвристическом сканировании. К примеру, видоизменяя код, используя элементы, выполнение которых не поддерживается эмулятором кода данных антивирусов, используя шифрование части кода и др.

Несмотря на заявления и рекламные проспекты разработчиков антивирусных средств относительно совершенствования эвристических механизмов, эффективность эвристического сканирования на данный момент далека от ожидаемой. Независимые тесты компонентов эвристического анализа показывают, что уровень обнаружения новых вредоносных программ составляет не более чем 40-50% от их числа.[3](англ.)

  • Даже при успешном определении, лечение неизвестного вируса практически всегда является невозможным. Как исключение, некоторыми продуктами возможно лечение однотипных и ряда полиморфных, шифрующихся вирусов, не имеющих постоянного вирусного тела, но использующих единую методику внедрения. В таком случае, для лечения десятков и сотен вирусов может существовать одна запись в вирусной базе, как это реализовано, к примеру, в антивирусе И. Данилова.

См. также


Ссылки

  1. Ложное срабатывание при компиляции Delphi 2007
  2. Ложное срабатывание при компиляции Delphi 7
  3. Статья из английской Wiki


Внешние ссылки


Wikimedia Foundation. 2010.

Игры ⚽ Нужен реферат?

Полезное


Смотреть что такое "Эвристический анализ" в других словарях:

  • Эвристический алгоритм — (эвристика)  алгоритм решения задачи, не имеющий строгого обоснования, но, тем не менее, дающий приемлемое решение задачи в большинстве практически значимых случаев. Содержание 1 Определение 2 Применение …   Википедия

  • Полиморфизм компьютерных вирусов — У этого термина существуют и другие значения, см. Полиморфизм. Полиморфизм компьютерного вируса (греч. πολυ   много + греч. μορφή  форма, внешний вид)  специальная техника, используемая авторами вредоносного программного… …   Википедия

  • Эвристическое сканирование — Стиль этой статьи неэнциклопедичен или нарушает нормы русского языка. Статью следует исправить согласно стилистическим правилам Википедии …   Википедия

  • Проактивная защита — Проактивные технологии – совокупность технологий и методов, используемых в антивирусном программном обеспечении, основной целью которых, в отличие от реактивных (сигнатурных) технологий, является предотвращение заражения системы пользователя, а… …   Википедия

  • Блочное перераспределение — Эта статья или раздел  грубый перевод статьи на другом языке (см. Проверка переводов). Он мог быть сгенерирован программой переводчиком или сделан человеком со слабыми познаниями в языке оригинала. Вы можете помочь …   Википедия

  • Comodo AV Scanner — Разработчик ОС Windows XP/Vista Лицензия Сайт …   Википедия

  • Avast! — Скриншот программы Тип …   Википедия

  • OllyDbg — OllyDbg …   Википедия

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

  • Comodo Antivirus — Comodo AntiVirus …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»