100 Мифы и заблуждения информационной безопасности Лукацкий

Вид материалаДокументы

Содержание


Миф №18 "Антивирусы умеют обнаруживать неизвестные вирусы"17.02.2009 17:27
Подобный материал:
1   ...   12   13   14   15   16   17   18   19   ...   69

Миф №18 "Антивирусы умеют обнаруживать неизвестные вирусы"17.02.2009 17:27


С известными вирусами средства борьбы с ними справляются достаточно неплохо. Но как бороться с еще неизвестными вредоносными программами? И возможно ли это? Если посмотреть на результаты некоторых антивирусных тестов, то вы можете увидеть, что некоторые из защитных программ имеют логотип «100%-е обнаружение неизвестных вирусов», а в своих материалах постоянно упоминают, что они усеют бороться с неизвестными угрозами. Например, на сайте ссылка скрыта есть такие фрагменты: «Антивирусы McAfee обеспечивают высочайший уровень защиты, неоднократно подтвержденный сертификатом VirusBulletin 100% Detection», «Обнаруживаются и удаляются все типы вирусов и троянских программ», «Эвристический анализатор ViruLogic обнаруживает неизвестные вирусы». Правда ли это?

Увы. Тут в полной мере действуют законы маркетинга, которые заставляют обволакивают пользователя множеством красивых и броских фраз, в смысл которых мало кто вдумывается и никаких исследований не проводит. Если посмотреть в описания антивирусных программ, почитать лекции и книги на данную тему, то под обнаружением неизвестных вирусов понимают детектирование действий характерных для вирусов. Но что значит характерных? Массовое удаление файлов? Рассылка писем по адресной книги? Сканирование расшаренных ресурсов? Как может антивирусная программа принять решение о том, легитимное ли это действие пользователя или несанкционированное действие вируса? Точнее как можно в такой ситуации говорить о 100%-но правильном решении? Даже такой гуру в области антивирусных исследований, как Евгений Касперский в своей книге, выложенной на сайте ссылка скрыта утверждает, что «Во многих сканерах используются также алгоритмы "эвристического сканирования", т.е. анализ последовательности команд в проверяемом объекте, набор некоторой статистики и принятие решения ("возможно заражен" или "не заражен") для каждого проверяемого объекта. Поскольку эвристическое сканирование является во многом вероятностным методом поиска вирусов, то на него распространяются многие законы теории вероятностей. Например, чем выше процент обнаруживаемых вирусов, тем больше количество ложных срабатываний».

Если отбросить рекламу и внимательно почитать то, что пишут в глубинах своих сайтов производители средств защиты, то становится понятным, что обнаружение неизвестных вирусов в массе своей это миф. Например, на сайте одной компании есть такой фрагмент: «Антивирусные компании практически мгновенно выпустили вакцины, однако сразу возникла проблема: червь начал мутировать. Модифицировать его код очень легко, поскольку червь написан на скрипт-языке Visual Basic Script, то есть распространяется в исходных текстах. И изменить его код, добавить или убрать функции может любой, кто мало-мальски разбирается в этом языке». Если бы антивирус мог обнаруживать неизвестные вирусы, то простейшая модификация исходного кода не должна помешать обнаруживать все его клоны. На многих сайтах в описаниях вирусов можно встретить такое описание: «Защита от данной вредоносной программы уже добавлена в базу данных». Т.е. сигнатура для данного вируса добавляется только после его появления. Нужно ли было это делать, если антивирус мог заранее обнаруживать неизвестные атаки?

В одной из ссылка скрыта сотрудников ВМиК МГУ и Института системного программирования РАН были опубликованы результаты исследований многих современных антивирусов (без имен). В ней сказано: «К сожалению, конкуренция между антивирусными компаниями привела к тому, что развитие антивирусного программирования идёт в сторону увеличения количества обнаруживаемых вирусов, а не в сторону улучшения их детектирования». И это действительно так - на сайтах производителей почти никогда не встречаются описания используемых ими математических алгоритмов и моделей. Сложно сказать, почему так. Причин может быть несколько:
  • Таких моделей просто нет в природе (но это не совсем правда).
  • Такие модели не реализованы в антивирусных продуктах
  • Реализованные модели опираются на базовые знания институтского курса высшей математики и не обладают высокой эффективностью.
  • Антивирусные производители не считают нужным открывать свои ноу-хау.


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

Разумеется, сегодня есть методы, позволяющие бороться с описанной напастью. Например, метод проверки эквивалентности программ, который в определенных ситуациях может использоваться для поиска полиморфных и метаморфных вирусов. «При разработке перспективных методов обнаружения полиморфных и метаморфных вирусов целесообразно воспользоваться следующим фактом: как бы ни изменялась структура программы-вируса в результате обфускации, ее функциональность остается неизменной. Именно функциональные характеристики вируса являются его подлинной «подписью», неизменно сохраняющейся при репликации. Таким образом, задача обнаружения вируса может быть представлена как задача поиска фрагмента кода P, функционально эквивалентного заданному (эталонному) фрагменту P» (фрагмент из вышеупомянутой статьи ученых МГУ и ИПС РАН). Но они пока мало востребованы в антивирусной индустрии.

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