CIS 7: HIPS. Общие параметры проактивной защиты

Принцип работы HIPS (Host-based Intrusion Prevention System): детальное описание. Общие параметры HIPS и Autosandbox в Comodo Internet Security 7

Содержание

HIPS
- Запуск дочерних процессов при использовании HIPS
- Порядок ограничения доступа к ресурсам
- Особенности применения правил HIPS к приложениям
- Защита процессов
Политика «Установка или обновление»
- Автоматическое назначение политики «Установка или обновление»
- Назначение политики «Установка или обновление» через оповещения автопесочницы
- Назначение политики «Установка или обновление» через оповещения и правила HIPS
Общие параметры проактивной защиты
- Анализ командной строки
- Другие параметры проактивной защиты
- Новая функция в CIS 7: защита данных
- Новый компонент в CIS 7: Viruscope

HIPS

Когда компонент HIPS включен, активность программ ограничивается в соответствии с правилами. Имеющиеся изначально правила устанавливают разрешения для некоторых системных программ, а в остальных случаях предписывают спрашивать пользователя. Пользователь может добавлять свои правила через интерфейс вкладки «Правила HIPS», либо они будут создаваться посредством его ответов на оповещения, либо создаваться автоматически при включенном «Режиме обучения». Можно отключить оповещения, предписав всегда разрешать или всегда запрещать активность в отсутствие правила.

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

Однако режим «Чистый ПК» достаточно проблемный, и я не рекомендую его использовать. В частности, если в режиме «Чистый ПК» поместить новую неизвестную программу в какой-либо каталог и изменить его имя, то программа будет считаться «старой», т.е. получит разрешения. Этот баг был замечен в версиях CIS 6 и CIS 7 (но в CIS 5.10 не проявился). Тем не менее можно реализовать корректно работающий аналог режима «Чистый ПК» в «Безопасном режиме» путем добавления всех исполняемых файлов в доверенные способом, предложенным в статье о рейтинге файлов.

Как уже говорилось в статье об установке комплекса, для наиболее полной HIPS-защиты необходимо изначально выбрать конфигурацию «Proactive Security» и уже от нее вести дальнейшую настройку.

Запуск дочерних процессов при использовании HIPS

Чтобы разрешить в HIPS запуск одной программы посредством другой потребуется прописывать разрешение именно в правилах родительской программы.

Так, предположим, что при «Безопасном режиме» HIPS программа parent.exe запущена и пытается запустить программу child.exe. В отсутствие дополнительных правил запуск произойдет, только если обе программы являются «доверенными». Если же программа child.exe не «доверенная», а в правилах HIPS для программы parent.exe (или содержащей ее группы) отсутствует разрешение на запуск программы child.exe (или содержащей ее группы), то вне зависимости от правил HIPS для самой программы child.exe и вне зависимости от рейтинга программы parent.exe запуск будет блокирован (возникнет оповещение, причем относительно именно программы parent.exe).

Таким образом, чтобы в «Безопасном режиме» разрешить выполнение программы, не являющейся «доверенной», мало задать разрешающие правила для нее самой: требуется разрешение на ее запуск родительской программе, как вариант — группе «Все приложения».

Если же требуется пресечь запуск программы, то, получив оповещение относительно родительского приложения, следует выбрать «Блокировать» > «Только заблокировать». Внимание: пункт «Заблокировать и завершить выполнение» в этом оповещении означает завершение работы родительского приложения.

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

Порядок ограничения доступа к ресурсам

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

Защита всех файлов на диске

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

Порядок ограничения доступа в HIPS

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

  1. Если ресурс не принадлежит к «защищенным», доступ к нему разрешается.
  2. В случае «защищенного» ресурса список HIPS-правил просматривается сверху вниз, пока не найдется данная программа или содержащая ее группа программ. Если не найдется, переходим к п. 7.
  3. Если в правиле для данной программы ресурс принадлежит к «разрешенным» (в окне исключений), то доступ разрешается.
  4. Если же «защищенный» ресурс принадлежит для данной программы к «заблокированным» (в окне исключений), но не принадлежит к «разрешенным», то доступ блокируется.
  5. В оставшихся случаях (когда ресурс «защищенный», но не «разрешенный» и не «заблокированный») учитывается действие, указанное в правиле программы: доступ блокируется, если указана блокировка, или разрешается, если указано разрешение.
  6. Если в правиле программы указано действие «спросить», то поиск правил продолжится (сверху вниз), так как данная программа может оказаться членом нескольких групп, и каждая группа может иметь свои правила. Иначе говоря, переходим к п. 2.
  7. Если так и не найдется разрешающего или запрещающего правила, то выбор действия будет зависеть от режима работы HIPS и рейтинга программы. При «Безопасном» режиме и «доверенной» программе, а также при режиме «Чистый ПК» и «доверенной» или «старой» программе ей будет дано разрешение.
  8. При «Параноидальном» режиме и любой программе, при «Безопасном» режиме и «неопознанной» программе, а также при режиме «Чистый ПК» и «новой» «неопознанной» программе пользователю будет задан вопрос, если включены оповещения, или же выполнится действие по умолчанию, если выключены.

Как видим, в HIPS действие «Спросить» выражает отсутствие правила (в отличие от фаервола, где оно предписывает показать оповещение). Также оговорим особый случай: если программа находится под действием политики «Установка или обновление» (о ней рассказано ниже), то в отсутствие разрешающего или запрещающего правила будет дано разрешение, т.е. проигнорируются пункты 7 и 8.

Особенности применения правил HIPS к приложениям

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

Следует сказать об одной особенности задания защищенных ключей реестра: раздел HKEY_CURRENT_USER следует записывать как «HKU*». Например, чтобы защитить все содержимое подраздела «HKEY_CURRENT_USER\SOFTWARE\Classes», следует добавить в список защищенных ключей строку «HKU*\SOFTWARE\Classes\*», а не «HKCU\SOFTWARE\Classes\*».

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

В связи с тем, что правила HIPS основаны на путях, представляет опасность опция «Создавать правила для безопасных приложений». Например, если она включена, и Проводник запустит «доверенную» (имеющую подпись) программу «C:\myDownloads\setup.exe», то при «Безопасном режиме» HIPS автоматически создадутся правила; а в другой раз на месте «setup.exe» окажется нечто иное. Поэтому рекомендую отключать эту опцию.

Защита процессов

В окне с правилами HIPS для какого-либо приложения можно ограничить не только собственную активность этого приложения, но и влияние на его работу других программ. Для этого вкладке «Настройка защиты» выбираем, какие действия с данным приложением будут блокироваться, а в окне исключений (кнопка «Изменить») — каким программам они будут разрешены. Оповещения здесь не предусмотрены — только разрешение или запрет, вне зависимости от рейтинга. Запрещенное таким образом действие будет блокироваться, независимо от правил и рейтинга других программ.

Защита процесса в HIPS

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

Отметим, что сама по себе защита от прерывания работы приложений не охватывает всех способов выгрузить процесс. Так, многие приложения (но не процессы CIS) можно завершить посредством оконных сообщений (например, программой System Explorer) или посредством доступа к памяти. Чтобы защитить приложение от таких способов завершения, понадобится отметить в его правилах на вкладке «Настройка защиты» не только пункт «Прерывание работы приложений», но и пункты «Оконные сообщения» и «Межпроцессный доступ к памяти».

Метод прерывания процессов, применяемый программой Process Hacker, позволяет выгрузить даже CIS. Чтобы полностью запретить применение этого метода, понадобится изменить правило HIPS для группы «Все приложения»: пункт «Защищенные COM-интерфейсы» > «Изменить» > вкладка «Заблокированные» > добавить «LocalSecurityAuthority.Restore». Однако не рекомендуется вносить данный запрет, так как он создаст проблемы при обновлении Windows.

Политика «Установка или обновление»

При определенных условиях к приложениям применяется политика «Установка или обновление». Под действием этой политики приложение получит следующие привилегии:

  1. его активность будет ограничена только правилами HIPS, явно заданными для него или содержащей его группы; в отсутствие запрещающего правила будет дано разрешение (как с опцией «Не показывать оповещения: Разрешать запросы»);
  2. программы, которые это приложение будет запускать (любые, не только созданные им), будут работать без ограничений автопесочницы;
  3. также программам, которые оно будет запускать и ожидать их завершения, будет временно назначена политика «Установка или обновление»;
  4. исполняемые файлы, которые создаст это приложение, автоматически занесутся в список доверенных (кроме скриптов и файлов размером больше 40 МБ).

Обратим внимание, что, согласно пункту c, наследование политики «Установка или обновление» не обязано выполняться, если данное приложение запускает дочерний процесс в момент своего завершения. В этом случае может произойти «обрыв наследования привилегий»: к такому процессу не применится автопесочница, но ограничения HIPS будут наложены в обычном режиме. А дальнейшие дочерние процессы могут попасть и под действие автопесочницы.

Чтобы работало автоматическое занесение файлов в «доверенные», должна быть включена опция «Доверять приложениям, установленным с помощью доверенных инсталляторов» в настройке рейтинга файлов (Thanks to XenoZ). Она включена по умолчанию, и далее считаем ее включенной.

Автоматическое назначение политики «Установка или обновление»

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

  • либо HIPS включен в «Безопасном режиме» или в режиме «Чистый ПК»;
  • либо включена автопесочница, в любом режиме;
  • либо включены оба компонента, в любом режиме.

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

С другой стороны, политика «Установка или обновление» не будет автоматически назначена программе со статусом «доверенного инсталлятора» при следующих условиях:

  • когда ограничения HIPS не зависят от рейтинга данной программы, т.е.
    • либо HIPS отключен;
    • либо HIPS включен с опцией «Не показывать оповещения: Разрешать запросы»;
    • либо HIPS включен в «Параноидальном режиме»;
    • либо данная программа имеет правила HIPS, причем исключительно разрешающие или блокирующие (без действия «Спросить»);
  • и при этом ограничения автопесочницы не зависят от рейтинга данной программы, т.е.
    • либо автопесочница отключена;
    • либо данная программа занесена в исключения автопесочницы.

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

Назначение политики «Установка или обновление» через оповещения автопесочницы

Рассмотрим следующую ситуацию:

  • автопесочница включена в любом режиме, кроме блокировки;
  • включен режим обнаружения инсталляторов;
  • производится попытка запустить некое приложение, не являющееся «доверенным»;
  • это приложение имеет статус «инсталлятора».

В этом случае возникнет оповещение с выбором действий:

  • применить к приложению ограничения песочницы;
  • временно запустить без ограничений;
  • заблокировать;
  • сделать «доверенным» (поставить галку) и запустить без ограничений.
Обнаружение неопознанного инсталлятора

Если сделать данное приложение «доверенным», то к нему в полной мере применится политика «Установка или обновление».

Если же выбрать временный запуск без ограничений, то применится «усеченный» вариант этой политики: без автоматического занесения в «доверенные». Т.е. выполнятся пункты a, b, c, но не d.

Назначение политики «Установка или обновление» через оповещения и правила HIPS

Политика «Установка или обновление» может быть назначена приложению явным образом через HIPS. Сразу отметим, что это невозможно, когда данное приложение ограничено автопесочницей. Поэтому далее считаем, что она не оказывает на него влияние (автопесочница отключена, или приложение является «доверенным», или занесено в исключения и т.д.).

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

Выбор политики через оповещение HIPS

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

Через окно настройки CIS можно заранее назначить приложению политику «Установка или обновление» в списке правил HIPS. Очевидно, в этом случае политика применится без оповещений и в полной мере.

Список правил HIPS

В версии CIS 6.3 имел место баг: политика «Установка или обновление» не применялась, когда она была назначена в правилах HIPS (применялась только по оповещению). В версии CIS 7 баг устранен.

Общие параметры проактивной защиты

Рассмотрим опции, которые влияют на работу проактивной защиты в целом: и HIPS, и автопесочницы.

Анализ командной строки

Некоторые виды скриптов могут рассматриваться CIS как самостоятельные приложения, несмотря на то, что они выполняются посредством специальных программ. Так, активность bat-скриптов, хотя их выполнением и занимается системная программа cmd.exe, может быть ограничена: HIPS будет запрашивать разрешения на их активность, как если бы они являлись исполняемыми файлами, а автопесочница будет изолировать работу скриптов, не являющихся «доверенными». Аналогично для файлов типа *.js, *.vbs, *.wsf, *.hta, *.chm. Для этого на вкладке «Защита+» > «Поведенческий анализ» должна быть включена опция «Выполнять эвристический анализ командной строки».

Анализ командной строки

Кроме применения скриптов, есть путь выполнения стороннего кода посредством системной программы rundll32.exe, которой в параметрах командной строки передается имя dll-файла (расширение может отличаться от «.dll»). В частности, некоторые вирусы активизируются таким образом с помощью ярлыков.

В версии CIS 7 для защиты от такого типа угроз достаточно автопесочницы или «Безопасного режима» HIPS при включенном «эвристическом анализе командной строки»: активность неопознанных библиотечных файлов будет ограничиваться или блокироваться. Однако версии CIS 5.10, CIS 6.3 к этим угрозам уязвимы: при них вредоносный код выполнится с правами программы rundll32.exe.

Другие параметры проактивной защиты

Опция рядом с «эвристическим анализом командной строки» включает обнаружение внедрения shell-кода. Обычно рекомендуется добавлять здесь в исключения каталог программы VMware Player/Workstation, программу Alcohol.

Исключения защиты от shell-кода

Режим «усиленной защиты», включаемый на вкладке параметров HIPS, предназначен для предотвращения обхода проактивной защиты в 64-битных системах.

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

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

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

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

Параметры раздела «Защита+» > «HIPS» > «Защищенные объекты» имеют значение не только для HIPS, но и для автопесочницы, если она включена в каком-либо из режимов ограничения доступа к ресурсам. Вкладка «Папки с защищенными данными» играет роль также для режима полной виртуализации.

Новая функция в CIS 7: защита данных

В версии CIS 7 появилась возможность защищать данные не только от изменений, но и, в какой-то мере, от чтения определенными приложениями. Для этого служит вкладка «Папки с защищенными данными» в разделе «Защита+» > «HIPS» > «Защищенные объекты». Добавленные в нее папки будет запрещено открывать приложениям, которые ограничены песочницей или имеют в правилах HIPS запрет на прямой доступ к диску. Отметим, что отсутствует возможность варьировать доступ: конкретному приложению можно запретить или разрешить открытие только сразу всех защищенные папок.

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

Новый компонент в CIS 7: Viruscope

В версии CIS 7 появился компонент Viruscope, предназначенный для динамического обнаружения подозрительной активности процессов. Он должен выявлять опасное поведение «неопознанных» приложений и выдавать оповещение с предложением завершить работу такого приложения и откатить изменения, произведенные данным приложением и его дочерними процессами (даже если они принадлежат «доверенным» программам). Также можно вручную выбрать процесс в менеджере задач KillSwitch и завершить его с откатом произведенных изменений. Еще одна функция Viruscope — отчет об активности приложений. Окно с этим отчетом можно получить через контекстное меню окна активных процессов, а также через кнопку на различных оповещениях.

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

Главная проблема Viruscope — когда этот компонент включен, возможны непредсказуемые сбои в работе безопасных приложений. Эти сбои происходят в отсутствие каких-либо уведомлений и записей в журналах CIS, поэтому бывает достаточно трудно определить источник неполадок. Например, ранее наблюдалось множество проблем с браузером Firefox. Поэтому настоятельно рекомендую отключать Viruscope.

Комментарии и отзывы

Нашли ошибку?

Новое на сайте