HIPS-системы

Олег Зайцев

Введение

Принципы работы HIPS-систем

Идеологии построения HIPS-системы

Process Guard

DefenseWall HIPS

Safe’n’Sec 2.0

Выводы

Введение

Как показывает практика, антивирусные продукты не могут обеспечить абсолютно надежную защиту компьютера. Это в первую очередь связано с тем, что применяемый в антивирусах принцип поиска по сигнатурам не позволяет обнаруживать новые разновидности вредоносных программ до их изучения аналитиками и внесения в базы антивируса. Отчасти данная проблема компенсируется наличием в составе антивирусов средств эвристического анализа, однако подобные средства также не дают гарантии надежного обнаружения новых вредоносных программ. Поэтому с целью комплексной и всесторонней защиты компьютера необходимо применять Firewall для контроля работы приложений с Интернетом и сетью, а также HIPS-системы для контроля за самими приложениями. Аббревиатура HIPS расшифровывается как Host Intrusion Prevention Systems — система отражения локальных угроз. Задачей HIPS-систем является контроль за работой приложений и блокировка потенциально опасных операций по заданным критериям.

Принципы работы HIPS-систем

Устройство всех существующих HIPS-систем идентично и сводится к схеме, приведенной на рис. 1.

 

Рис. 1

HIPS в первую очередь состоит из перехватчика API-функций. Перехват может производиться в режиме UserMode или KernelMode, причем практика показывает, что для полноценного контроля за работой приложений требуется перехват как минимум 10-15 различных функций, в частности:

  • функций работы с файлами и папками;
  • функции для работы с реестром;
  • системных функций, применяемых вредоносными программами. К ним относится, например, функция создания удаленных потоков или записи в память других процессов; функции, применяемые для запуска и остановки процессов, для манипулирования потоками и т.п.

Перехват обычно осуществляется по типовым методикам, применяемым антивирусными мониторами, антикейлоггерами, брандмауэрами и Rootkit-средствами. Поэтому при выборе HIPS-системы необходимо учитывать несколько факторов:

  • следует узнать, будет ли HIPS-система совместима с применяемым антивирусным монитором, брандмауэром или иным ПО, перехватывающим API-функции для своей работы. Получить список перехваченных функций можно при помощи антируткита. Например, AVZ в протоколе формирует отчет с указанием перехваченных функций и методики их перехвата;
  • злейшим врагом HIPS-системы является антируткит, обладающий функциями активного противодействия перехватам. Восстанавливая перехваченные функции, антируткит нейтрализует все защитные механизмы HIPS-системы и может полностью парализовать ее работу. Поэтому перед применением антируткита в режиме нейтрализации перехватов требуется обязательно закрыть все приложения, а после нейтрализации перехватов и выполнения нужных проверок следует в обязательном порядке перезагрузить компьютер;
  • перехваты могут осуществляться в режиме ядра и в пользовательском режиме. Проверить это легко при помощи антируткита AVZ. Следует учитывать, что HIPS-системы, перехватывающие UserMode-функции, крайне ненадежны, так как для их обхода достаточно программы на языке C объемом в несколько листов исходного текста.

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

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

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

Идеологии построения HIPS-системы

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

  • HIPS-системы, в которых решение применяется самой системой. В этом случае разработчик сам создает правила и алгоритмы принятия решения, которые недоступны для модификации со стороны пользователя. Далее все приложения разделяются на доверенные и недоверенные, причем это деление производится с участием пользователя. На работу доверенных процессов HIPS не оказывает никакого влияния, а потенциально опасные действия недоверенных приложений автоматически пресекаются. Подобные системы еще называют sandbox HIPS (от англ. Sand-Box — песочница), подразумевая, что недоверенные процессы работают в рамках некоторой виртуальной «песочницы»;
  • HIPS-системы, работающие на основе правил пользователя. Системы данного типа принято считать классическими, и по сути они являются своеобразными брандмауэрами для приложений. При работе с такой системой пользователь производит ее обучение, создавая систему правил. Естественно, что некоторый набор правил может быть предустановлен разработчиком или генерироваться автоматически в процессе инсталляции.

У каждого из этих идеологических подходов есть свои достоинства и недостатки.

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

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

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

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

Process Guard

Данная система является одной из старейших HIPS-программ, сайт разработчика — http://www.diamondcs.com.au/, размер дистрибутива — около 2 Мбайт. Основным назначением Process Guard является защита процессов от остановки и модификации, блокировка доступа к физической памяти, а также предотвращение несанкционированной установки драйверов и служб (рис. 2).

 

Рис. 2

Process Guard выпускается в двух вариантах — в виде базовой бесплатной версии и платной версии с расширенными функциями. Бесплатная версия, в сущности, только защищает процессы от остановки или модификации. Стоимость полной версии — 29 долл.

Для слежения за активностью приложений Process Guard устанавливает драйвер procguard.sys и перехватывает 20 KernelMode-функций на уровне KiST. При блокировке действий некоторого приложения Process Guard уведомляет об этом пользователя, выводя всплывающее сообщение рядом со своей иконкой в системной области (рис. 3). Это сообщение содержит минимум информации, однако оно дублируется в протоколе со всеми техническими подробностями.

 

Рис. 3

DefenseWall HIPS

Программа DefenseWall HIPS разработана компанией SoftSphere Technologies (http://www.softsphere.com/), размер ее дистрибутива составляет около 1 Мбайт, стоимость одной копии — 29 долл.

DefenseWall относится к категории Sandbox HIPS, принимающих решение на основе заложенных разработчиком правил. Основная особенность DefenseWall состоит в том, что она разработана в расчете на неподготовленного пользователя, поэтому интерфейс программы и ее настройки максимально упрощены (рис. 4).

 

Рис. 4

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

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

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

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

Safe’n’Sec 2.0

Данный продукт разработан отечественной компанией StarForce (http://www.star-force.ru/), и его можно отнести к категории HIPS, работающих по правилам пользователя (рис. 5). Объем дистрибутива базовой разновидности Safe’n’Sec составляет 4,7 Мбайт. В настоящий момент доступно три версии продукта: базовая, в комплекте с антивирусом и в комплекте с антишпионом. Стоимость базовой версии составляет 25 долл.

 

Рис. 5

Перед началом работы пользователь должен выбрать политику защиты — предусмотрены «жесткая», «строгая» и «доверительная» политики (рис. 6). В соответствии с выбранной политикой Safe’n’Sec анализирует работу приложений и при обнаружении подозрительной активности уведомляет об этом пользователя и предлагает принять решение — допустима эта активность или нет.

 

Рис. 6

Окно с предупреждением Safe’n’Sec содержит достаточно подробное разъяснение сущности предупреждения и опасности действия, по поводу которого от пользователя требуется принятие решения (рис. 7). Решение может быть либо принято на сеанс (например, для процесса инсталлятора на время его работы), либо оформлено в виде правила. Для некоторых типовых программ (например, браузера) имеются готовые наборы правил, которые могут быть отредактированы. Правила строятся при помощи специального построителя правил.

 

Рис. 7

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

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

Выводы

В данной статье были рассмотрены как HIPS-системы, демонстрирующие перспективные подходы к защите компьютера, так и автономные продукты, которые могут применяться совместно с имеющимися антивирусами и Firewall. Следует отметить, что разработчики антивирусных продуктов понимают преимущества HIPS, и в составе многих антивирусов уже появились достаточно мощные поведенческие блокираторы. Достоинства интеграции антивируса и IPS-системы очевидны: сигнатурный анализатор упрощает принятие решения, а анализ поведения приложений позволяет строить сложные и эффективные эвристические алгоритмы. В качестве примеров можно привести разработанную специалистами «Лаборатории Касперского» технологию Proactive Defense Module, технологию Panda TruPrevent (применяется в линейке антивирусных продуктов Panda Antivirus) и аналогичные решения, используемые в других антивирусах.

 

В начало В начало

КомпьютерПресс 6'2006