Разработка модели эвристического анализатора вредоносных программ. Что такое эвристический анализатор? Вирусы в файлах архивов

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Поиск вирусов, похожих на известные

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

Преимущества: возможность обнаружить новые вирусы еще до того, как для них будут выделены сигнатуры.

Недостаток:

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

Поиск вирусов, выполняющих подозрительные действия

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

Например:

  • · удаление файла;
  • · запись в файл;
  • · запись в определенные области системного реестра;
  • · открытиепортанапрослушивание;
  • · перехват данных вводимых с клавиатуры;
  • · рассылкаписем;

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

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

Недостатки:

  • · ложные срабатывания;
  • · невозможность лечения;
  • · не высокая эффективность.

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

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

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

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

В ряде случаев, эвристические методы оказываются чрезвычайно успешными, к примеру, в случае очень коротких программных частей в загрузочном секторе: если, программа производит запись в сектор 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 … Википедия

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

Эта статья о том, антивирусном программном обеспечении. Для применения эвристики в оценке юзабилити см эвристической оценки .

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

Эвристический анализ является на основе экспертного анализа, который определяет восприимчивость системы к особой угрозе / риска с использованием различных правил принятия решений или методов взвешивания. Анализ Многокритериальный (MCA), является одним из средств взвешивания. Этот метод отличается от статистического анализа, который опирается на имеющихся данных / статистике.

операция

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

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

эффективность

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

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

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

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

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

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

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

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

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

Какая Эвристический анализ работа?

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

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

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

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

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

Антивирусная защита.

Основным средством борьбы с вирусами были и остаются антивирусные программы. Можно использовать антивирусные программы (антивирусы), не имея представления о том, как они устроены. Однако без понимания принципов устройства антивирусов, знания типов вирусов, а также способов их распространения, нельзя организовать надежную защиту компьютера. Как результат, компьютер может быть заражен, даже если на нем установлены антивирусы.

Сегодня используется несколько основополагающих методик обнаружения и защиты от вирусов:

· сканирование;

· эвристический анализ;

· использование антивирусных мониторов;

· обнаружение изменений;

· использование антивирусов, встроенных в BIOS компьютера.

Кроме того, практически все антивирусные программы обеспечивают автоматическое восстановление зараженных программ и загрузочных секторов. Конечно, если это возможно.

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

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

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

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

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

Практически все современные антивирусные программы реализуют собственные методы эвристического анализа. На рис. 1 мы показали одну из таких программ - сканер McAffee VirusScan, запущенный вручную для антивирусной проверки диска.

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

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

Понравилось? Лайкни нас на Facebook