Эвристический поиск вирусов. Эвристический анализ

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

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

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

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

В ряде случаев, эвристические методы оказываются чрезвычайно успешными, к примеру, в случае очень коротких программных частей в загрузочном секторе: если, программа производит запись в сектор 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 ), F-Secure (при компиляции Delphi 7 ). Как видно из примера, программа абсолютно безопасна и совершенно отсутствуют какие-либо признаки вредоносного кода и вирусного функционала (весь функционал примера: если в качестве третьего параметра указан ключ «d», программа удаляет файл, указанный во втором параметре).

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

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

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

См. также

Ссылки

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

Wikimedia Foundation . 2010 .

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

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

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

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

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

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

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

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

    OllyDbg … Википедия

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

Что такое эвристический анализатор?

  1. Эвристический метод, в отличие от сигнатурного метода, нацелен на обнаружение не сигнатур вредоносного кода, а типичных последовательностей операций, позволяющих сделать вывод о природе файла с достаточной долей вероятности. Преимуществом эвристического анализа является то, что для его работы не требуется наличие предварительно составленных баз. За счет этого новые угрозы распознаются до того, как их активность становится известна вирусным аналитикам.
  2. просьба если узнаешь напиши мне
  3. Эвристическое сканирование метод работы антивирусной программы, основанный на сигнатурах и эвристике, призван улучшить способность сканеров применять сигнатуры и распознавать модифицированные версии вирусов в тех случаях, когда сигнатура совпадает с телом неизвестной программы не на 100 %, но в подозрительной программе налицо более общие признаки вируса. Данная технология, однако, применяется в современных программах очень осторожно, так как может повысить количество ложных срабатываний.
  4. Эвристический анализатор (эвристик) это антивирусный модуль, который анализирует код исполняемого файла и определяет, инфицирован ли проверяемый объект.
    Во время эвристического анализа не используются стандартные сигнатуры. Напротив, эвристик принимает решение на основе заранее в него заложенных, иногда не совсем четких правил.

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

    Однако, несмотря на все недостатки, эвристические методы по-прежнему используются в антивирусных продуктах. Дело в том, что комбинация различных подходов позволяет повысить итоговую эффективность сканера. Сегодня эвристиками снабжены продукты всех основных игроков на рынке: Symantec, Лаборатории Касперского, Panda, Trend Micro и McAfee.
    В процессе эвристического анализа проверяется структура файла, его соответствие вирусным шаблонам. Наиболее популярной эвристической технологией является проверка содержимого файла на предмет наличия модификаций уже известных сигнатур вирусов и их комбинаций. Это помогает определять гибриды и новые версии ранее известных вирусов без дополнительного обновления антивирусной базы.
    Эвристический анализ применяется для обнаружения неизвестных вирусов, и, как следствие, не предполагает лечения.
    Данная технология не способна на 100% определить вирус перед ней или нет, и как любой вероятностный алгоритм грешит ложными срабатываниями.

    Любые вопросы - будут решены мной, обращайтесь, поможем, чем сможем

  5. Эвристический анализатор суммитует тенденции программного кода по обращениям к системным прерываниям, экстраполируя уровень возможной вредоносности. Тем самым осуществляется сбалансированная защита операционной системы.
    Ну все вроде объяснил, понятно?;))
  6. это типа искусственного интелекта. в реале эта технология недоступна, какие-то приблежения к ней имеются, как будто антивирус сам анализирует прогу и решает вирус она или нет

Антивирусная программа производит поиск вирусов и вредоносных объектов на основании сравнения исследуемой программы со своей базой данных с описаниями вирусов. При обнаружении соответствия антивирус может производить лечение найденного вируса, причем правила и методики лечения обычно хранятся в той же базе данных.

Однако эта база данных становится уязвимым местом антивируса - он может обнаруживать только вирусы, описанные в его базе данных. Частично устранить эту проблему позволяет эвристический анализатор - специальная подсистема антивируса, которая пытается обнаружить новые разновидности вирусов, не описанные в базе данных. Кроме вирусов эвристический анализатор AVZ пытается обнаружить шпионское ПО, Hijacker и троянские программы.

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

Для поиска шпионского ПО, RootKit и Hijacker наиболее эффективен эвристический анализ не отдельно взятых файлов на диске, а всей системы в целом. При этом анализируется совокупность данных в реестре, файлов на диске, процессов и библиотек в памяти, прослушиваемых TCP и UDP портов, активных сервисов и загруженных драйверов.

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

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

Эвристический анализатор имеет несколько ступеней чувствительности и два особых режима:

блокировка работы эвристического анализатора. При этом анализатор полностью выключается из работы. В AVZ кроме регулировки уровня чувствительности эвристического анализатора есть возможность включать и выключать эвристический анализ системы;

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

Основные сообщения эвристического анализатора AVZ приведены в следующем списке:

"Имя файла >>> подозрение на имя_вируса (краткие данные об объекте) " Подобное сообщение выдается при обнаружении объекта, который по мнению AVZ похож на известный вредоносный объект. Данные в скобках позволяют разработчику найти в базе антивируса запись, которая привела к выдаче данного сообщения;

"Имя файла >>> PE файл с нестандартным расширением " - это означает, что обнаружен программный файл, но вместо типичного расширения EXE, DLL, SYS он имеет другое, нестандартное расширение. Это не опасно, но многие вирусы маскируют свои PE файлы, давая им расширения PIF, COM. Данное сообщение выводится в любом уровне эвристики для PE файлов с расширением PIF, COM , для остальных - только при максимальном уровне эвристики;

"Имя файла >>> В имени файла больше 5 пробелов " - множество пробелов в имени файла - это редкость, однако многие вирусы применяют пробелы для маскировки реального расширения, создавая файлы с именами типа "photo.jpeg .exe";

"Имя файла >>> Обнаружена маскировка расширения " - аналогично предыдущему сообщению, но выдается при обнаружении более 15 пробелов в имени;

"Имя файла >>> файл не имеет видимого имени " - выдается для файлов, не имеющих имени (т.е. имя файла имеет вид ".exe" или ".pif");

"Процесс Имя файла может работать с сетью " - выводится для процессов, которые используют библиотеки типа wininet.dll, rasapi32.dll, ws2_32.dll - т.е. системные библиотеки, содержащие функции для работы с сетью или управления процессом набора номера и установления соединения. Данная проверка производится только при максимальном уровне эвристики. Факт использования сетевых библиотек естественно не является признаком вредоносности программы, но обратить внимание на непонятные процессы в этом списке стоит;

После сообщения может выводиться цифра, которая представляет собой степень опасности в процентах. На файлы, для которых выдана степень опасности более 30, следует обратить особое внимание.

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

Для них не характерно использование строгих фактов или предпосылок.

Приведенное выше звучит достаточно туманно и, наверное, непонятно. Поэтому постараемся понять, что такое эвристический анализ на конкретных примерах. Итак.

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

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

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

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

Сканирование

Способы защиты от вирусов

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

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

Конечно, программам-сканерам не обязательно хранить в себе сигнатуры всех известных вирусов. Они могут, например, хранить только контрольные суммы сигнатур.

Антивирусные программы-сканеры, которые могут удалить обнаруженные вирусы, обычно называются полифагами. Самой известной программой-сканером является Aidstest Дмитрия Лозинского. Aidstest выполняет поиск вирусов по их сигнатурам. Поэтому он обнаруживает только простейшие полиморфные вирусы.

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

Антивирусные программы-сканеры могут обнаружить только уже известные вирусы, которые были предварительно изучены и для которых была определена сигнатура. Таким образом, использование программ-сканеров не защищает ваш компьютер от проникновения новых вирусов.

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

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

Антивирусные программы, реализующие метод эвристического анализа, проверяют программы и загрузочные секторы дисков и дискет, пытаясь обнаружить в них код, характерный для вирусов. Так например, эвристический анализатор может обнаружить, что в проверяемой программе присутствует код, устанавливающий резидентный модуль в памяти.

Антивирусная программа Doctor Web, входящая в состав комплекта AO “ДиалогНаука”, имеет мощный эвристический анализатор, позволяющий обнаружить большое количество новых вирусов.

Если эвристический анализатор сообщает, что файл или загрузочный сектор возможно заражен вирусом, вы должны отнестись к этому с большим вниманием. Желательно исследовать такие файлы с помощью самых последних версий антивирусных программ или направить их для детального изучения в АО “ДиалогНаука”.

В комплект IBM AntiVirus входит специальный модуль, ориентированный на обнаружение вирусов в загрузочных секторах. Этот модуль использует запатентованную технологию (patent-pending neural network technology from IBM) эвристического анализа и позволяет определить, заражен ли загрузочный сектор вирусом.