Существующие системы блокирования поведения могут быть разбиты на две категории:
системы блокирования на основе политики и системы блокирования на основе
экспертизы. Системы на основе политики позволяют администратору задать явную
политику блокирования, определяющую, какие запросы дозволены, а какие должны
быть заблокированы. Каждый раз, когда программа делает запрос операционной
системе, защитная система прерывает его, консультируется со своей базой данных
политики и либо позволяет продолжить запрос, либо полностью его прерывает.
Защитные политики и системы на основе экспертизы
Существующие системы блокирования поведения могут быть разбиты на две категории:
системы блокирования на основе политики и системы блокирования на основе
экспертизы. Системы на основе политики позволяют администратору задать явную
политику блокирования, определяющую, какие запросы дозволены, а какие должны
быть заблокированы. Каждый раз, когда программа делает запрос операционной
системе, защитная система прерывает его, консультируется со своей базой данных
политики и либо позволяет продолжить запрос, либо полностью его прерывает.
Например, такая система блокирования поведения для апплетов Java может
контролировать следующие параметры:
Описание запроса Блокировать запрос?
- Позволять апплетам открывать файлы: Да
- Позволять апплетам удалять файлы: Да
- Позволять апплетам инициализировать сетевые подключения: Да
- Позволять апплетам обращаться к файлам в системном каталоге: Нет
К такой простой системе часто обращаются системные администраторы, потому что
приведенная логика прозрачна и проста. Однако эта система склонна к ложным
тревогам и имеет огромное отрицательное влияние на производительность всех
приложений, потому что с одинаковым рвением блокирует действия и законных
программ, и вредных включений. Такая система абсолютно не предпринимает попыток
выяснить, является ли поведение программы злонамеренными или нет. Всем
сисадминам знакомы жалобы сотрудников на то, что многие антивирусные программы,
использующие этот метод (не будем показывать на них пальцем), просто не дают
нормально работать. К тому же, как показывает практика, не все системные
администраторы правильно понимают значения определенной политики блокирования
типа "блокирования всех программ от доступа к системным файлам". Ведь известно,
что большому числу законных программ необходима такая операция, и ее
блокирование приведет к проблемам с нормальной работой всех этих программ, в то
время как улучшение защиты от вирусов и червей неочевидно.
В отличие от систем на основе защитной политики, системы на основе экспертизы
используют менее простой и наглядный механизм. В этих системах эксперты
проанализировали существующие классы злонамеренных кодов и разработали для них
системы блокирования поведения, распознающие и блокирующие опасные действия. Так,
в некоторых случаях потенциально опасное поведение допускается, а в других это
же действие блокируется. Например, такая система блокировки может знать, что по
статистике 80 % злонамеренных кодов сначала пытаются изменить область запуска
системного реестра перед попыткой получения доступа к системным файлам. Так что,
подобная система может блокировать поведение программы, пытающейся получить
доступ к системным файлам, если до этого она изменяла соответствующую область
регистра. Такая система с меньшей вероятностью будет блокировать законные
запросы и генерировать сигналы ложной тревоги, но при этом блокирует довольно
высокий процент угроз. Таким образом, если системы на основе политики предлагают
опцию "блокирование доступа к системным файлам", то системы на основе экспертизы
позволяют ввести уточнение - "блокирование именно вирусо-подобного поведения".
Понятно, что системный администратор должен быть уверенным в качестве подобной
системы, прежде чем начать ее использовать.
Цели блокирования
При формировании блокирующей системе на основе экспертизы, создатели должны
рассмотреть различные правила блокирования для каждого типа злонамеренного кода.
Этот раздел даст понимание некоторых операций, которые требуется блокировать,
чтобы сорвать выполнение злонамеренного кода.
Блокирование вирусов-паразитов.
Вирусы-паразиты - саморазмножающиеся программы, встраивающие себя в другие
программы. Когда запускается инфицированная программа, вирус получает контроль
над системой и вставляет свою логику в другие выполняемые файлы. Система
блокирования поведения может защитить от этого типа угрозы, контролируя
модификации одного выполняемого файла другим, что является характерными для
данного типа вирусной инфекции. Такие модификации включают изменения в
заголовках файлов и модификации разделов кода. В данном случае возможно
применение целого спектра защитных методов: блокирование всех запросов программ
на изменение других программ, блокирование модификации некоторых полей заголовка,
которые позволяют инфицирование и т.д.
Блокирование червей и смешанных угроз
Черви распространяются по сетям через электронную почту, доступные для
совместного доступа диски и эксплоиты. Для блокирования этих типов угроз
разработано множество подходов: блокирование подозрительное использование почты
для пересылки выполняемых кодов, предотвращение запуска по сети неизвестных
программ, блокирование программ, пытающихся использовать сетевые диски для
копирования выполняемых программ на другие компьютеры и т.д.
Блокирование троянов
Трояны, возможно, наиболее тяжело успешно блокировать без ложных тревог, так как
эти угрозы не имеют определенного легко характеризуемого поведения, как вирусы
или черви. В данном случае система блокирования поведения должна проверять целый
ряд возможно подозрительного поведения, включая модификацию системных файлов или
реестра, аномальных попыток обращения к документам или другим данным. Система
должна постоянно быть насторожена необычными действиями, к примеру «почему эта
симпатичная графическая программа вдруг стала обращаться к моим электронным
таблицам?»), блокировать попытки программ к неизвестным/неразрешенным сетевым
подключениям, и т.д. Проблема состоит в том, что множество законных программ
делают все выше описанные действий, и зачастую невозможно провести различие
между поведением безобидных и вредных программ.
Блокирование поведения: основные проблемы
Системы блокирования поведения имеют громадные возможности в роли
дополнительного уровня защиты от самых последних и неизвестных угроз. Фактически,
есть уже некоторое количество компаний (в том числе и в России), предлагающих
эти решения. Но до сих пор массового распространения такие программы не получили,
а существующие системы блокирования поведения производят впечатление несколько
недоработанных и неудобных в работе продуктов. Почему же эти программы имеют
довольно ограниченный успех?
Существует четыре основных причины:
- Ложные тревоги. Системы блокирования поведения, как и системы IDS, имеет
ужасную репутацию из-за обилия сигналов ложной тревоги. Это основная проблема
таких систем, и сейчас существует не так много желающих устанавливать их на
рабочих станциях, и, тем более, на серверах из-за потенциальных последствий.
Ложные тревоги также стоят огромных денег в терминах потраченных человеко-часов,
и не всегда этот ущерб оказывается меньшим, чем тот, который может потерять
организация из-за вирусов или других опасностей Интернет.
- Головные боли системных администраторов. Текущие системы блокирования
поведения, как правило, не имеют уровня управляемости, требуемой предприятием.
Они трудны для развертывания, требуют тщательного и длительного ручного
конфигурирования, а их системы управления (если существуют) пока что не в
состоянии корректно управлять такой системой. Наконец, некоторые такие системы
требуют, чтобы пользователи изменили привычный стиль работы - трудная
перспектива - чтобы обеспечить защиту (например, предлагается размещать все
критически важные файлы в одном каталоге и система будет заботится
преимущественно о безопасности именно этого каталога).
- Системы блокирования поведения должны интегрировать с операционной системой и
прерывать системные вызовы, чтобы обеспечивать нормальный уровень защиты. Но
такая интеграция дорого обходится из-за уменьшения производительности. К тому же,
если на компьютере уже существует другая защита в реальном масштабе времени, то
добавление второго драйвера может означать проблемы не только с
производительностью, но и с конфликтами таких систем.
- Некоторые производители предлагают решения, которые блокируют
малораспространенные угрозы, но не в состоянии блокировать реально существующие
проблемы. Так, ряд компаний ориентирует системы блокирования поведения на
проблемы ActiveX и Java. Здесь можно привести слова эксперта компьютерной
безопасности компании Symantec: «Я работаю в этой области уже 11 лет, но за все
это время могу сосчитать все реальные угрозы из-за Wild Java и ActiveX по
пальцам одной руки. Они все известны и неплохо блокируются другими средствами. Я
полагаю, что основная проблема продаж систем блокирования поведения заключается
в том, что заказчики поняли, что они преимущественно ориентированы на какие-то
призрачные угрозы, и пока что плохо спасают от реальных вирусов, червей и
троянов. Поэтому то они и предпочитают вкладывать свои деньги в другие защиты».
После этих слов данному пункту даже нечего добавить.
Будущее систем блокирования поведения.
За следующие несколько лет в этой области компьютерной защиты ожидается
небывалое оживление. Это связано с тем, что ряд крупных корпораций вложили в
такие разработки значительные средства, да и более мелкие компании, обнаружив
такое поведение признанных компьютерных лидеров, тоже повернулись лицом к этой
практически незаполненной нише рынка.
Все еще остается несколько существенных проблем, которые должны быть преодолены
для коммерческого успеха таких программ. Как и с системами обнаружения вторжения
(очень близкими по своей природе к системам блокирования поведения), ложные
тревоги – основная проблема. Это – основная проблема компьютерной науки, для
которой не существует пока никакого однозначного решения. В ее преодоление DARPA
(Управление Перспективных Исследований Министерства Обороны США), ряд
университетов и несколько частных компаний вложили за последние годы огромные
средства, но не добились пока практически никаких коммерчески жизнеспособных
результатов. Наверное, в конечном счете заказчики научатся мириться с каким-то
небольшим числом сигналов ложных тревог, которые не удастся окончательно
устранить, в обмен на качественную защиту против самых коварных и разрушительных
саморазмножающихся вирусов и других угроз.
Действительно ли системы блокирования поведения получат широкое распространение
или нет – покажут ближайшие два-три года, но пока что очевидно одно:
существующие на сегодняшний день антивирусные решения не обеспечивают
действенную защиту, для которой они, собственно, и были созданы. И для того,
чтобы выжить на компьютерном рынке, они должны постоянно развиваться и
совершенствоваться, как это делают сами вирусы.