Проактивность как средство борьбы с вирусами

Источник: infosecurity

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

  Характерной чертой сегодняшнего дня является не только огромный ущерб, наносимый вирусными атаками, но и непрекращающийся рост числа самих вредоносных кодов. Отметим, что в 2005 году рост популяции компьютерных вредителей приобрел просто взрывной характер. Например, по данным "Лаборатории Касперского", количество ежемесячно детектируемых вирусов выросло на конец 2005 года в среднем до 6368 экземпляров, а по итогам года рост составил 117%, в то время как в прошлом году рост составил только 93%.

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

Введение в проактивные технологии

  В современных антивирусных продуктах используются два основных подхода к обнаружению вредителей. Это сигнатурный и проактивный / эвристический. Первый метод достаточно прост: проверяемые на компьютере пользователя объекты сравниваются с шаблонами (сигнатурами) известных вирусов. Эта технология предполагает непрерывное отслеживание новых экземпляров вредителей, их описание и включение в базу сигнатур. Таким образом, у антивирусной компании должна эффективно работать служба обнаружения и анализа вредоносных кодов (то есть, антивирусная лаборатория). Главные критерии эффективности сигнатурного метода - это скорость реакции на новые угрозы, частота обновлений, максимальное число обнаруженных угроз.

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

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

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

  Существует несколько подходов к проактивной защите. Рассмотрим два самых популярных: эвристические анализаторы и поведенческие блокираторы.

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

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

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

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

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

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

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

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

Поведенческие блокираторы

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

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

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

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

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

  В отличие от эвристиков, которые присутствуют практически во всех современных антивирусных программах, поведенческие блокираторы на данный момент реализованы далеко не везде. В качестве примера эффективного поведенческого блокиратора нового поколения можно привести модуль проактивной защиты (Proactive Defence Module), реализованный в продуктах "Лаборатории Касперского".

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

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

Проактивная защита и бреши в программном обеспечении

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

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

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

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

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

Проактивные и сигнатурные методы

  Несмотря на имеющиеся недостатки, проактивные методы действительно позволяют обнаруживать некоторые новые угрозы еще до выхода соответствующих сигнатур. Рассмотрим, например, реакцию антивирусов на червя Email-Worm.Win32.Nyxem.e (далее просто Nyxem).

  Червь Nyxem (известный также как Blackmal, BlackWorm, MyWife, Kama Sutra, Grew и CME-24) попадает на компьютер при открытии вложения к письму, где помещены ссылки на сайты порнографической и эротической направленности, а также через файлы, расположенные в открытом сетевом доступе. В течение считанного времени вирус стирает информацию на жестком диске, поражая файлы в 11 различных форматах (включая Microsoft Word, Excel, PowerPoint, Access, Adobe Acrobat). При этом вся полезная информация замещается бессмысленным набором символов. Еще одной характерной особенностью Nyxem является его активизация третьего числа каждого месяца.

  Исследовательская группа из Магдебургского университета (AV-Test.org) провела независимую оценку скорости реакции антивирусных разработчиков на появление Nyxem. Выяснилось, что несколько антивирусных продуктов оказались способны обнаружить червя с помощью проактивных технологий, то есть еще до выпуска сигнатур. Среди этих продуктов Panda Software - TruPrevent Personal, Internet Security Systems - Proventia-VPS, Kaspersky Internet Security 2006 (Beta 2).

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

  Одним из немногих признанных независимых исследователей, целенаправленно изучающих проактивные методы антивирусов на обширных коллекциях вирусов, является Андреас Клименти (www.av-comparatives.org). Чтобы проверить, способен ли антивирус выявить еще не существующие угрозы, можно провести тестирование на недавно появившихся вирусах. Например, тех, которые появились в течение последних шести месяцев. Естественно, при таких испытаниях антивирус снабжается базой сигнатур как раз полугодовой давности. Таким образом, защитной программе приходится противостоять угрозам, о существовании которых она не знает. Ресурс Андреаса Клименти публикует результаты именно таких тестов.

  По результатам теста, проведенного в 2005 году наиболее эффективными признаны эвристики Eset, Антивируса Касперского и Bitdefender:

  Данный тест проводился на коллекции из 8259 вирусов. Легко видеть, что самый высокий уровень проактивного обнаружения, продемонстрированный в тесте, составляет около 70%. Это означает, что было пропущено 2 475 вирусов. Согласитесь, это весьма значительная цифра.

  В другом тесте на эффективность эвристиков, проведенном экспертами из Магдебургского университета AV-test.org в марте 2006 года по заказу журнала PCWORLD, лидеры теста показали уровень эвристического детектирования не выше 60%. Тестирование проводилось на антивирусах с сигнатурами месячной и двухмесячной давности:

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

  Результаты теста AV-Comparatives.org и AV-Test.org наглядно демонстрируют, что проактивные методы сами по себе не могут обеспечить необходимый уровень детектирования. Это, кстати, прекрасно понимают антивирусные поставщики, которые, несмотря на громкие заявления о проактивных технологиях, продолжают параллельно использовать классические сигнатурные методы детектирования. Отметим, что разработчикам чисто проактивных решений (Finjan, StarForce Safe'n'Sec) приходится приобретать у сторонних поставщиков лицензии на использование в своих продуктах "классических" сигнатурных технологий.

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

Итоги

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

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

  Для оптимальной антивирусной защиты необходимо сочетание проактивных и сигнатурных подходов. Максимального уровня обнаружения угроз можно достигнуть только комбинируя эти методы. На рисунке выше приведены результаты тестов Андреаса Клименти (www.av-comparatives.org) на общий (сигнатурный + эвристический) уровень обнаружения вредоносных программ. Казалось бы разрыв между лидерами теста небольшой. Но не надо забывать, что тестирование проводилось на коллекции более чем из 240 тысяч вирусов и отрыв даже в 1% означает пропуск около 2400 вирусов.

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

Олег Гудилин 


Страница сайта http://test.interface.ru
Оригинал находится по адресу http://test.interface.ru/home.asp?artId=10477