Показать меню

Эвристическое сканирование

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

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

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

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

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

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

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

  • Чрезмерная подозрительность эвристического анализатора может вызывать ложные срабатывания при наличии в программе фрагментов кода, выполняющего действия и/или последовательности, в том числе и свойственные некоторым вирусам. В частности, распаковщик в файлах, запакованных PE-упаковщиком (Win)Upack вызывает ложные срабатывания целого ряда антивирусных средств, не признающих такой проблемы.
  • Наличие простых методик обмана эвристического анализатора. Как правило, прежде чем распространять вредоносную программу (вирус), её разработчики исследуют существующие распространенные антивирусные продукты, различными методами избегая её детектирование при эвристическом сканировании. К примеру, видоизменяя код, используя элементы, выполнение которых не поддерживается эмулятором кода данных антивирусов, используя шифрование части кода и др.
  • Несмотря на заявления и рекламные проспекты разработчиков антивирусных средств относительно совершенствования эвристических механизмов, эффективность эвристического сканирования далека от ожидаемой.
  • Даже при успешном определении, лечение неизвестного вируса практически всегда является невозможным. Как исключение, некоторыми продуктами возможно лечение однотипных и ряда полиморфных, шифрующихся вирусов, не имеющих постоянного вирусного тела, но использующих единую методику внедрения. В таком случае, для лечения десятков и сотен вирусов может существовать одна запись в вирусной базе.
Еще по этой теме:
Безопасное программирование
08:10, 14 декабрь
Безопасное программирование
Безопасное программирование — методика разработки программного обеспечения, предотвращающая случайное внедрение уязвимостей и обеспечивающая устойчивость к воздействию вредоносных программ и
System Ninja
05:20, 13 декабрь
System Ninja
System Ninja — бесплатная программа, предназначенная для очистки нежелательного мусора на компьютере под управлением операционной системы Microsoft Windows. Для запуска программы требуется
Реинжиниринг программного обеспечения
03:14, 03 декабрь
Реинжиниринг программного обеспечения
Реинжиниринг программного обеспечения — процесс создания новой функциональности или устранения ошибок, путём революционного изменения, но используя уже имеющееся в эксплуатации программное
Рентгено-седиментационный метод гранулометрического анализа (часть 2)
14:50, 13 март
Рентгено-седиментационный метод гранулометрического анализа (часть 2)
Для записи на диаграмме необходимо установить исходные координаты: нуль плотности дисперсии по исходной дисперсионной жидкости, 100% плотности дисперсии при ее равномерном перемешивании, стартовый
Ситовой анализ в стоячей воде (мокрое просеивание) (часть 2)
14:49, 13 март
Ситовой анализ в стоячей воде (мокрое просеивание) (часть 2)
Содержание фракций рассчитывают на воздушно-сухую или абсолютно сухую навеску. Последнее предпочтительнее. В первом случае чашки или стаканчики с фракциями после подсушивания на бане или плитке
Методы построения педотрансферных функций
14:34, 13 март
Методы построения педотрансферных функций
Статистический регрессионный анализ был традиционным инструментом развития ПТФ в течение многих десятилетий. Преимущество регрессионной техники - возможность получить строгие статистические оценки
Комментарии:
Добавить комментарий
Ваше Имя:
Ваш E-Mail: