Общие сведения
Когда компонент HIPS включен, активность программ ограничивается в соответствии с правилами. Ситуации, для которых правило не задано, разрешаются в зависимости от режима HIPS, рейтинга программ и других условий.
Обычно Безопасный режим разрешает доверенным программам любую активность, не запрещенную правилами, кроме запуска неопознанных файлов. Запуск неопознанных программ, а также любое действие этих программ пресекается оповещениями.
Параноидальный режим пресекает оповещениями любую активность любых программ, не предусмотренную правилами.
В Режиме обучения при любой не предусмотренной правилами активности любых программ будут автоматически создаваться новые разрешающие правила.
Правила представлены на вкладке HIPS → Правила HIPS в виде списка приложений и назначенных им наборов правил .
В качестве приложений могут выступать точные пути к файлам, шаблоны путей с символами * и? , а также группы файлов. В путях и их шаблонах можно использовать . Группы файлов - это наборы путей или шаблонов, они настраиваются на вкладке Рейтинг файлов → Группы файлов . Подчеркну, что приложения в правилах HIPS идентифицируются только по их путям, а не по хешам и т.п.
Набор правил, назначенный приложению, состоит из двух вкладок: «Права доступа» и «Настройка защиты». На первой задаются права самого приложения, на второй - наоборот, его защита от других программ. Приложение может иметь либо собственный набор правил , либо какой-нибудь из заранее сформированных наборов: они настраиваются на вкладке HIPS → Наборы правил .
Предустановленный набор правил «Системное приложение Windows» разрешает любую активность, набор «Разрешенное приложение» - любую, но не регламентирует запуск дочерних процессов; набор «Изолированное приложение» жестко запрещает любую активность; набор «Ограниченное приложение» запрещает почти все, кроме оконных сообщений и доступа к монитору, и не регламентирует запуск дочерних процессов. Можно не только создавать свои наборы, но и менять предустановленные.
Начиная с версии CIS 10.0.1.6223 набор правил HIPS «Изолированное приложение» переименован в «Приложение, запущенное в Контейнере». На мой взгляд, это ошибочный перевод названия «Contained Application», так как в действительности правила HIPS не имеют никакого отношения к Контейнеру (виртуальной среде). Во избежание путаницы рекомендую переименовать этот набор обратно в «Изолированное приложение», и в статье он будет называться именно так.
Особый случай - набор правил «Установка или обновление», он наделяет приложения . Программы с такими привилегиями свободно выполняют любые действия (кроме явно запрещенных правилами), в т.ч. запускают любые программы, а их дочерние процессы также получают привилегии установщика. Исполняемые файлы, созданные такими программами, автоматически становятся доверенными.
Разные исходные конфигурации COMODO Internet Security различаются и первоначальным набором правил, и контролируемым спектром деятельности программ. Для наиболее полной HIPS-защиты необходимо изначально выбрать конфигурацию Proactive Security и уже от нее вести дальнейшую настройку.
При ограничении доступа программ к различным ресурсам HIPS опирается на данные раздела HIPS → Защищенные объекты . Например, файл или каталог может быть защищен от модификации, только если его полное имя подходит под какой-либо из шаблонов на вкладке «Защищенные файлы». Так, если требуется запретить какой-либо программе изменение файлов на диске D: (независимо от их типа), необходимо сначала занести этот диск в список защищенных.
Затем при создании конкретных правил можно будет варьировать ограничения доступа к тем или иным защищенным объектам, нажав «Изменить» в столбце «Исключения».
Наиболее целесообразно использовать HIPS в Безопасном режиме , отключив опцию Создавать правила для безопасных приложений , или в Параноидальном . Тогда порядок определения доступа программы к ресурсу будет таков:
Как видим, в HIPS действие «Спросить» выражает отсутствие правила (в отличие от фаервола, где оно предписывает показать оповещение).
Итак, наивысший приоритет имеет вкладка «Разрешенные» самого верхнего правила, подходящего для данной программы; затем - вкладка «Заблокированные»; затем - указанное в этом правиле действие, если оно однозначно; затем - вкладка «Разрешенные» следующего правила и т.д. В отсутствие однозначного правила доступ разрешается, если (i) действуют привилегии установщика, или (ii) программа является «доверенной», а режим HIPS - «Безопасным», или (iii) отмечена опция «Не показывать оповещения: Разрешать запросы». Когда не выполняется ни одно из этих условий - доступ блокируется, если отмечена опция «Не показывать оповещения: Блокировать запросы», или выдается оповещение, если эта опция отключена.
Особый случай: если программа выполняется в виртуальной среде и/или с ограничениями Auto-Containment, то в отсутствие правила ей будет дано разрешение (подобно опции «Не показывать оповещения: Разрешать запросы»). Кроме того, в виртуальной среде вообще отсутствует защита файлов и реестра, даже при явно заданных запретах.
Управление правами программ через оповещения
При ответах на оповещения HIPS приложениям назначаются правила: временно или постоянно, в зависимости от опции «Запомнить мой выбор».
Важный момент: правила назначаются приложению, которое указано в левой части оповещения. Например, если спрашивается о запуске неизвестной программы проводником, то правила будут назначены именно проводнику. Типичные ошибки новичков: выбрать в таком оповещении вариант «Заблокировать и завершить выполнение» (убив тем самым процесс проводника), или вариант «Изолированное приложение» (жестко ограничив права проводника), или вариант «Установка или обновление» (тем самым лишившись почти всей защиты). Обычно самый разумный выбор в оповещении о запуске программы - «Разрешить» или «Только заблокировать».
Варианты «Разрешить» или «Только заблокировать» в различных оповещениях HIPS означают разрешение или запрет только в отношении определеного ресурса. Например, если разрешить приложению создать файл C:\test\A.exe , то попытка создать файл C:\test\B.exe снова приведет к оповещению. Чтобы разрешить приложению создавать любые файлы в каталоге C:\test , придется редактировать правило через окно настройки CIS. К сожалению, в оповещениях не предусмотрены разрешения для каталогов, шаблонов, групп и т.п. Однако через оповещение можно применить к приложению какой-либо набор правил, заранее созданный на вкладке HIPS → Наборы правил .
Если при ответе на оповещение включить в нем опцию «Запомнить мой выбор», то изменится набор правил, назначенный указанному приложению; если же для этого приложения нет правила HIPS - оно будет создано вверху списка. При выборе варианта Разрешить или Только заблокировать к правилам добавится разрешение или запрет в точности для определенного ресурса (файла, COM-интерфейса и т.д.). При выборе какого-либо набора правил новые правила не добавятся к старым, а полностью заменят их, т.е. перестанут действовать правила, назначенные данному приложению ранее.
Если отключить в оповещении опцию «Запомнить мой выбор», то назначенные приложению разрешения, запреты или наборы правил прекратят действие с завершением работы данного приложения или даже раньше, и никаких изменений в конфигурации CIS не произойдет. Чтобы понять логику работы этих временных правил, удобно представить, что при каждом ответе на оповещение (без запоминания) создается воображаемая запись в списке правил HIPS. Все «воображаемые» записи располагаются в списке правил ниже «настоящих» записей, но новые «воображаемые» - выше других «воображаемых». Это значит, что одному и тому же приложению можно несколько раз назначать через оповещения различные наборы правил (без запоминания), и все эти наборы правил будут действовать. При этом наивысший приоритет будут иметь «настоящие» правила, затем - самое свежее из «воображаемых», затем - более раннее и т.д. Но как только будет создано какое-либо «настоящее» правило (с запоминанием) - все «воображаемые» правила для всех приложений уничтожатся.
Например, получив оповещение о какой-либо программе, назначим ей набор правил «Изолированное приложение», без запоминания. По умолчанию группе «Все приложения» разрешено изменять временные файлы, поэтому данная программа все еще сможет это делать, несмотря на то, что набор «Изолированное приложение» это запрещает. Если же назначить этот набор правил с запоминанием - изменение временных файлов будет запрещено, так как создастся новое правило HIPS вверху списка.
Замечены некоторые исключения из описанного порядка работы при отключенной опции «Запомнить мой выбор». Во-первых, не создаются «воображаемые» разрешения на запуск приложений (т.е. при повторном запуске того же приложения снова возникнет оповещение). Во-вторых, если какой-либо программе разрешить через оповещение «изменение пользовательского интерфейса другого приложения», то она временно сможет отправлять оконные сообщения любым приложениям, а не только указанному.
Контроль запуска программ
Возможность запуска какой-либо программы задается в HIPS правилом для запускающей программы, а не для запускаемой. При «Параноидальном режиме» запуск програм молча разрешается только при наличии явного разрешения в правилах. При «Безопасном режиме» в отсутствие правила запуск разрешается, если и запускающая, и запускаемая программа являются доверенными. Исключения - выполнение программ с привилегиями установщика, а также под действием виртуализации и/или ограничений Auto-Containment.
Так, предположим, что при «Безопасном режиме» HIPS программа parent.exe запущена и пытается запустить программу child.exe . В отсутствие дополнительных правил запуск произойдет молча, только если обе программы являются доверенными. Если же программа child.exe неопознанная, а в правилах HIPS для программы parent.exe (или содержащей ее группы) отсутствует разрешение на запуск программы child.exe (или содержащей ее группы), то вне зависимости от правил HIPS для самой программы child.exe и вне зависимости от рейтинга программы parent.exe перед запуском возникнет оповещение (причем относительно именно программы parent.exe).
Таким образом, чтобы разрешить выполнение неопознанной программы, мало задать разрешающие правила для нее самой - требуется разрешение на ее запуск родительскому процессу, как вариант - группе «Все приложения».
Если же требуется пресечь запуск программы, то, получив оповещение относительно родительского процесса, обычно следует отключить опцию о запоминании и выбрать Блокировать → Только заблокировать . Внимание! Пункт «Заблокировать и завершить выполнение» в оповещении о запуске программы означает завершение работы родительского процесса .
Возможность запуска какой-либо программы определяют правила не только HIPS, но и Auto-Containment. Запуск будет заблокирован, если того требует хотя бы один из этих компонентов. Если же запуск программы разрешен в правилах HIPS, а правила Auto-Containment предписывают изолировать данную программу - она будет запускаться изолированно.
Важно знать, что, в отличие от Auto-Containment, в HIPS дочерний процесс не наследует ограничения родительского: если разрешить сомнительной программе запустить безопасную, то от имени безопасной программы может быть нанесен ущерб.
Автоматическое создание правил HIPS в «Режиме обучения» и в «Безопасном режиме»
В определенных режимах создание правил HIPS происходит автоматически:
- если включен «Режим обучения» и опция «Не показывать оповещения» отключена или установлена в режим «Блокировать запросы», то будут создаваться правила, разрешающие каждое замеченное действие любых приложений;
- если включен «Безопасный режим», включена опция «Создавать правила для безопасных приложений», а опция «Не показывать оповещения» отключена или установлена в режим «Блокировать запросы», то будут создаваться правила, разрешающие каждое замеченное действие доверенных приложений.
В большинстве случаев данные режимы не несут пользы и применяются только для тестирования или подготовки к переключению в «Параноидальный режим».
Правила для программы (любой при «Режиме обучения» или доверенной при «Безопасном режиме») создаются следующим образом:
Вид нового правила будет зависеть от запрашиваемого действия:
- Когда одна программа запускает другую, для первой создается правило, разрешающее запускать конкретно определенную программу.
- Когда программа изменяет файл или ключ реестра, входящий в список на вкладке HIPS → Защищенные объекты
, вид правила будет зависеть от того, как записан шаблон этого ресурса.
- Если в конце шаблона стоит знак | , то создастся правило, разрешающее изменение конкретно того объекта, к которому обратилась программа. Например, программа создает на рабочем столе файл text.txt . Он соответствует шаблону?:\Users\*\Desktop\*| . Значит, будет создано правило, разрешающее изменение файла C:\Users\Name\Desktop\text.txt .
- Если в конце шаблона отсутствует знак | , то создастся правило, разрешающее изменение любого объекта по данному шаблону. Например, программа создает файл D:\prog.exe . В списке защищенных объектов этот файл соответствует шаблону *.exe . Значит, создастся правило, разрешающее данной программе изменение любых exe-файлов.
- При обращении программы к какому-либо из следующих ресурсов автоматически создаются правила, разрешающие ей доступ одновременно к ним всем:
- Защищенные COM-интерфейсы ,
- Хуки Windows и хуки приложений ,
- Межпроцессный доступ к памяти ,
- Прерывание работы приложений ,
- DNS-запросы ,
- Диск (прямой доступ),
- Клавиатура ,
- Монитор .
Защита процессов
В окне с правилами HIPS для какого-либо приложения можно ограничить не только собственную активность этого приложения, но и влияние на его работу других программ. Для этого вкладке Настройка защиты указывается, какие действия с данным приложением будут блокироваться, а в окне исключений (кнопка Изменить ) - каким программам они будут разрешены. Оповещения здесь не предусмотрены - только разрешение или запрет, вне зависимости от рейтинга. Запрещенное таким образом действие будет блокироваться, независимо от правил и рейтинга других программ.
В частности, с помощью этой функции осуществляется самозащита CIS от выгрузки его процессов и доступа к памяти. Поэтому, даже когда HIPS не нужен, желательно включить его хотя бы с опцией «Не показывать оповещения: Разрешать запросы» (в «Безопасном» или «Параноидальном» режиме).
Побочным эффектом самозащиты CIS является огромное количество записей в журнале «События Защиты+» при использовании некоторых программ, например, ProcessExplorer. Можно избавиться от необязательных блокировок, разрешив отдельным приложениям доступ к памяти группы «COMODO Internet Security».
Отмечу, что сама по себе защита от прерывания работы приложений не охватывает всех способов выгрузить процесс. Так, многие приложения можно завершить посредством оконных сообщений или посредством доступа к памяти. Чтобы защитить приложение от таких способов завершения, понадобится отметить в его правилах на вкладке «Настройка защиты» не только пункт «Прерывание работы приложений», но и другие.
Привилегии установщика
Смысл привилегий установщика
При определенных условиях приложение получает привилегии установщика, которые заключаются в следующем:
- HIPS разрешает такому приложению все, что не запрещено ему в правилах явным образом, т.е. работает подобно режиму «Не показывать оповещения: Разрешать запросы»;
- Auto-Containment не изолирует программы, запускаемые этим приложением;
- пока это приложение работает, его дочерние процессы (а также их дочерние процессы и т.д.) выполняются с привилегиями установщика;
- исполняемые файлы, которые создает это приложение (или дочерние процессы, унаследовавшие его привилегии), автоматически становятся доверенными.
Автоматическое занесение файлов в доверенные происходит только при включенной опции «Доверять приложениям, установленным с помощью доверенных установщиков» на вкладке . Также в некоторых особых случаях привилегии установщика даются приложениям в «усеченном» виде: без , либо когда пользователь отвечает разрешением в (если программа неопознанная и имеет признак установщика), либо когда программе назначено соответствующее , либо когда это правило применено к ней , либо когда программа наследует эти привилегии от родительского процесса.
Автоматическое наделение приложения привилегиями установщика
Приложение автоматически получает привилегии установщика, если оно является доверенным и имеет признак установщика. Увидеть, имеет ли приложение признак установщика, можно в списке акивных процессов.
В каких свойствах приложения заключается признак установщика, говорилось : судя по экспериментам, установщиками считаются программы, у которых в имени файла либо в File Version Info (в поле FileDescription , ProductName , InternalName или OriginalFilename) содержится слово install , setup или update ; также установщиками считаются msi-файлы.
В старых версиях CIS признаки установщика были другими, в частности, установщиками считались программы, запрашивающие при запуске права администратора, программы, чей размер превышает 40 МБ, и др. Из-за этого многие прикладные программы ошибочно наделялись привилегиями установщика (в частности, PortableApps-сборки), что создавало очевидную опасность. В версии CIS 10 эта угроза значительно ниже.
Назначение привилегий установщика через оповещения Auto-Containment
В стандартной конфигурации «Proactive Security» при запуске неопознанной программы, имеющей признак установщика, появляется оповещение, предлагающее выбор из четырех вариантов: «Блокировать», «Изолированный запуск», «Запуск без ограничений» при отключенной опции «Доверять этому приложению» и «Запуск без ограничений» при включенной опции «Доверять этому приложению».
Вариант «Блокировать» означает запрет запуска. Вариант «Изолированный запуск» означает, что программа будет запущена изолированно в соответствии с правилами Auto-Containment.
Если включить опцию «Доверять этому приложению» и выбрать пункт «Запуск без ограничений», то программа станет доверенной и запустится с привилегиями установщика. Вместе с тем создастся правило Auto-Containment, исключающее дочерние процессы этой программы из изоляции. Обычно это правило не имеет смысла, и я рекомендую его удалить.
Если же выбрать пункт «Запуск без ограничений» при отключенной опции «Доверять этому приложению», то программа временно запустится с «усеченными» привилегиями установщика, без доверия к создаваемым файлам. Т.е. выполнятся пункты , и , но не .
Вообще говоря, такое оповещение возникает, если выполняются следующие условия:
- компонент Auto-Containment включен,
- на вкладке Containment → Настройка Containment включена опция «Обнаруживать программы, требующие повышенных привилегий»,
- там же отключена опция «Не показывать оповещения при запросах повышенных привилегий»,
- запускаемая программа должна, согласно правилам Auto-Containment, запускаться виртуально и/или с ограничениями,
- запускаемая программа имеет признак установщика или запрашивает при запуске права администратора.
Как видим, для показа оповещения запускаемая программа не обязательно должна быть неопознанной - требуется лишь, чтобы правила Auto-Containment предписывали ее изолировать. Кроме того, программа может запрашивать при запуске права администратора, но не быть установщиком.
Если включить опцию «Не показывать оповещения при запросах повышенных привилегий», то в меню этой опции можно будет выбрать автоматическую изоляцию (рекомендуется) или блокировку неопознанных установщиков без оповещений. Также там представлены варианты «Запускать без ограничений» и «Запускать без ограничений и доверять» - разумеется, выбирать их весьма опасно.
Назначение привилегий установщика через оповещения и правила HIPS
Привилегии установщика могут быть назначены программе явным образом через HIPS: им соответствует правило «Установка или обновление».
Когда возникает оповещение HIPS относительно активности какого-либо приложения, можно в окне этого оповещения выбрать Обработать как → Установка или обновление , с запоминанием или без.
Если отметить опцию о запоминании и выбрать вариант «Установка или обновление», то создастся соответствующее правило HIPS и приложение получит привилегии установщика. Если же выбрать этот вариант без опции о запоминании, то правило не создастся, а приложение получит «усеченный» вариант привилегий установщика, без доверия создаваемым файлам ( временному запуску неопознанного установщика без ограничений Auto-Containment).
Через окно настройки CIS можно заранее назначить приложению правило HIPS «Установка или обновление». Очевидно, в этом случае приложение получит привилегии установщика без оповещений и в полной мере.
Доверие файлам, созданным с привилегиями установщика
Как уже сказано, исполняемые файлы, создаваемые доверенными установщиками, автоматически становятся доверенными, если включена опция «Доверять приложениям, установленным с помощью доверенных установщиков» на вкладке Рейтинг файлов → Настройка рейтинга файлов . Также говорилось, что информация о создании файлов доверенными установщиками заносится в базу данных, даже если эта опция отключена.
Судя по экспериментам, при отключенной опции ДПУПДУ в базу CIS заносится информация о создании файлов именно непосредственно доверенными установщиками, а не любыми программами, имеющими привилегии установщика. Т.е. если файл создан дочерним процессом доверенного установщика или программой, получившей привилегии установщика на основании правил HIPS, то не считается, что этот файл создан доверенным установщиком. Но если опция ДПУПДУ включена, то файлы, созданные любыми программами, так или иначе получившими привилегии установщика, отмечаются в базе как созданные довереннымми установщиками.
Определяя, создан ли файл под действием привилегий установщика, CIS различает создание и копирование файла. Так, если программа, имеющая привилегии установщика, выполнит обычное копирование файла, то файл от этого еще не станет доверенным. Но если под действием привилегий установщика произойдет, например, извлечение файла из архива - CIS будет доверять этому файлу и всем идентичным ему (при включенной опции ДПУПДУ).
В некоторой мере привилегиии установщика работают в виртуальной среде: если доверенный установщик выполняется виртуально, но создает файлы в реальной среде (в области общего доступа), то эти файлы отмечаются в базе как созданные доверенным установщиком. Аналогичная ситуация возникает при работе в реальной среде с ограничениями Auto-Containment. На мой взгляд, это недоработка, причем потенциально опасная.
Хотя опция ДПУПДУ повышает удобство использования CIS, есть определенный смысл в ее отключении. В частности, когда эта опция включена, CIS может доверять потенциально нежелательным программам, которые устанавливаются вместе с безопасными приложениями.
Бывает, что установщик какого-либо приложения, даже если является доверенным, в процессе работы создает и запускает неопознанные программы. Обычно CIS не препятствует их работе, поскольку они наследуют привилегиии установщика. Однако, как сказано выше, унаследованные привилегии действуют не постоянно (что оправдано соображениями безопасности), и иногда в процессе установки может сработать проактивная защита. Если это проявится лишь оповещением HIPS, то для продолжения установки достаточно ответить на него. Но если HIPS настроен на блокировку без оповещений или если используется Auto-Containment, то возникает риск некорректной установки приложения. Этот риск особенно высок, если отключена опция «Доверять приложениям, установленным с помощью доверенных установщиков» или «Обнаруживать программы, требующие повышенных привилегий».
Чтобы установка приложений проходила без помех со стороны CIS, предлагаю запускать установщики через специальный пункт контекстного меню. Для этого будет использоваться простейшая программа, которая запускает файл, указанный в ее аргументах командной строки. Понадобится скачать архив с программой (пароль cis), поместить программу в любое удобное место, добавить ее в доверенные и запустить - будет предложено добавить в контекстное меню проводника новый пункт (его удаление выполняется повторным запуском). Программа написана на AutoIt3, в папке source прилагается исходный код и конвертер: в случае сомнений вы можете сгенерировать аналогичную программу, проверив ее код и подпись конвертера.
Затем понадобится назначить этой программе правило HIPS «Установка и обновление», а также правило Auto-Containment:
- выбрать действие «Игнорировать»,
- в критериях указать расположение программы,
- оставить отключенной опцию «Не применять выбранное действие к дочерним процессам».
Теперь, чтобы установка какого-либо безопасного приложения прошла беспрепятственно, будет достаточно вызвать на установщике, удерживая нажатой клавишу Shift , контекстное меню и выбрать пункт «COMODO: запустить как установщик». В результате, даже когда сама программа-установщик завершит работу, ее дочерние процессы продолжат выполняться с привилегиями установщика. Эти привилегии снимутся после закрытия специального окна с текстом «Нажмите Ok по завершении установки». Но даже тогда эти процессы останутся исключенными из контроля Auto-Containment.
Принцип работы HIPS (Host-based Intrusion Prevention System): детальное описание. Общие параметры HIPS и Auto-Sandbox в Comodo Internet Security 8. Viruscope
HIPS
Режимы HIPS
Когда компонент HIPS включен, активность программ ограничивается в соответствии с правилами. Имеющиеся изначально правила устанавливают разрешения для некоторых системных программ, а в остальных случаях предписывают спрашивать пользователя. Пользователь может добавлять свои правила через интерфейс вкладки «Правила HIPS», либо они будут создаваться посредством его ответов на оповещения, либо создаваться автоматически при включенном «Режиме обучения». Можно отключить оповещения, предписав всегда разрешать или всегда запрещать активность в отсутствие правила.
Показ оповещений о программе зависит от ее и режима HIPS. В «Безопасном режиме» оповещения будут выдаваться только относительно неопознанных программ, доверенным же будет молча даваться разрешение (при отсутствии запрещающего правила) на любое действие, кроме запуска какого-либо неопознанного приложения. В «Параноидальном режиме» оповещения возникнут для всех программ, независимо от репутации.
В режиме «Чистый ПК» оповещения возникают только для новых неопознанных программ, т.е. которых прежде не было на диске, а «старые» воспринимаются подобно доверенным в «Безопасном режиме». Режим «Чистый ПК» работает следующим образом: с момента включения этого режима отслеживается создание новых программ, т.е. исполняемых файлов. Если новая программа меньше 40 МБ и не имеет репутации «доверенной», то она заносится в как «неопознанная». Лишь программы из списка «неопознанных» будут ограничены в правах. Остальные же программы, меньшие 40 МБ, будут восприниматься аналогично доверенным: таковыми их воспримет и HIPS, и Auto-Sandbox, и фаервол.
Режим «Чистый ПК» весьма проблемный, и я не рекомендую его использовать. В частности, если при этом режиме поместить новую неизвестную программу в какой-либо каталог и изменить его имя, то программа будет считаться «старой», т.е. получит разрешения. Тем не менее можно реализовать корректно работающий аналог режима «Чистый ПК» в «Безопасном режиме» путем добавления всех исполняемых файлов в доверенные способом, предложенным в .
Порядок работы «Безопасного режима» с включенной опцией «Создавать правила для безопасных приложений», а также «Режима обучения» . Работа в режиме «Чистый ПК» подобна «Безопасному», но отличается тем, что неопознанные файлы, находившиеся на диске до включения этого режима, будут обрабатываться аналогично доверенным («доверять» им будет не только HIPS, но и Auto-Sandbox, и фаервол).
Оговорю особый случай: если программа выполняется в виртуальной среде и/или с ограничениями Auto-Sandbox, то в отсутствие разрешающего или запрещающего правила будет дано разрешение (подобно опции «Не показывать оповещения: Разрешать запросы»). В виртуальной среде защиты файлов и реестра вообще не будет, даже при явно заданных запретах. Но, конечно, на данную программу и ее дочерние процессы наложатся виртуальной среды и/или Auto-Sandbox.
Управление правами программ через оповещения
Если в оповещении HIPS выбрать «Разрешить» или «Только заблокировать», то это разрешение или запрет будет действовать только в отношении определеного ресурса. Например, если разрешить приложению создать файл C:\test\A.exe , то попытка создать файл C:\test\B.exe снова приведет к оповещению. Чтобы разрешить приложению создавать любые файлы в каталоге C:\test , придется редактировать правило через окно настройки CIS. К сожалению, в оповещениях не предусмотрены разрешения для каталогов, шаблонов, групп и т.п.
Замечено одно исключение: если какой-либо программе разрешить через оповещение «изменение пользовательского интерфейса другого приложения», то создатся правило, разрешающее этой программе отправлять оконные сообщения любым приложениям, а не только указанному.
Однако через оповещение можно применить к приложению заранее созданную политику. Эти политики создаются на вкладке «HIPS» > «Наборы правил». Предустановленная политика «Системное приложение Windows» разрешает любую активность, политика «Разрешенное приложение» — любую, но не регламентирует запуск дочерних процессов; политика «Изолированное приложение» жестко запрещает любую активность; политика «Ограниченное приложение» запрещает почти все, кроме оконных сообщений и монитора, и не регламентирует запуск дочерних процессов. Можно не только создавать свои политики, но и менять предустановленные.
Разрешения, запреты и политики, назначенные какому-либо приложению через оповещения, действуют по-разному, в зависимости от того, включена ли в оповещении опция «Запомнить мой выбор». Если включить эту опцию и выбрать вариант «Разрешить» или «Только заблокировать», то изменится назначенный данному приложению набор правил: к нему добавится разрешение или запрет в точности для определенного ресурса (файла, интерфейса и т.д.). Если же включить опцию «Запомнить мой выбор» и выбрать какой-либо набор правил — новые правила не добавятся к старым, а полностью заменят их; т.е. перестанут действовать правила, назначенные данному приложению ранее. Если для этого приложения нет правила HIPS — оно будет создано вверху списка.
Если отключить в оповещении опцию «Запомнить мой выбор», то назначенные приложению разрешения, запреты или политики прекратят действие с завершением работы данного приложения или даже раньше, и никаких изменений в правилах не произойдет. Чтобы понять логику работы этих временных правил, удобно представить, что при каждом ответе на оповещение (без запоминания) создается «фантомная» запись в списке правил HIPS. Все «фантомные» записи располагаются в списке правил ниже «настоящих» записей, но новые «фантомные» — выше других «фантомных». Это значит, что одному и тому же приложению можно несколько раз назначать через оповещения различные политики (без запоминания), и все эти политики будут действовать. При этом наивысший приоритет будут иметь «настоящие» правила, затем — самое свежее из «фантомных», затем — более раннее и т.д. Но как только будет создано какое-либо «настоящее» правило (с запоминанием) — все «фантомные» правила для всех приложений уничтожатся.
Например, назначим какой-либо программе политику «Изолированное приложение», без запоминания. По умолчанию группе «Все приложения» разрешено изменять временные файлы, поэтому данная программа все еще сможет это делать, несмотря на то, что политика «Изолированное приложение» это запрещает. Если же назначить эту политику с запоминанием — изменение временных файлов будет запрещено, так как создастся новое правило HIPS вверху списка.
Контроль запуска программ
Возможность запуска какой-либо программы задается в HIPS правилом для запускающей программы, а не для запускаемой. При «Параноидальном режиме» запуск програм молча разрешается только при наличии явного разрешения в правилах (за ). При «Безопасном режиме» в отсутствие правила запуск разрешается, если и запускающая, и запускаемая программа имеют репутацию «доверенных».
Так, предположим, что при «Безопасном режиме» HIPS программа parent.exe запущена и пытается запустить программу child.exe . В отсутствие дополнительных правил запуск произойдет молча, только если обе программы являются доверенными. Если же программа child.exe неопознанная, а в правилах HIPS для программы parent.exe (или содержащей ее группы) отсутствует разрешение на запуск программы child.exe (или содержащей ее группы), то вне зависимости от правил HIPS для самой программы child.exe и вне зависимости от рейтинга программы parent.exe перед запуском возникнет оповещение (причем относительно именно программы parent.exe).
Таким образом, чтобы разрешить выполнение неопознанной программы, мало задать разрешающие правила для нее самой — требуется разрешение на ее запуск родительскому процессу, как вариант — группе «Все приложения».
Если же требуется пресечь запуск программы, то, получив оповещение относительно родительского процесса, следует отключить опцию о запоминании и выбрать «Блокировать» > «Только заблокировать».
Внимание! Пункт «Заблокировать и завершить выполнение» в оповещении о запуске программы означает завершение работы родительского процесса . Также и выбор какой-либо политики (т.е. набора правил) в этом оповещении назначит ее именно родительскому процессу. Соответственно, включение опции «Запомнить мой выбор» в таком оповещении приведет к созданию/изменению правила HIPS для родительского процесса. Типичная ошибка пользователей — выбор политики в оповещении о запуске программы проводником. Правильный же порядок действий — сначала лишь разрешить запуск, а политику выбрать в последующем оповещении о собственной активности программы.
Важно знать, что, в отличие от Auto-Sandbox, в HIPS дочерний процесс не наследует ограничения родительского: если разрешить сомнительной программе запуск программы, имеющей разрешения, то безопасность окажется под угрозой.
Возможность запуска какой-либо программы определяют правила не только HIPS, но и . Запуск будет заблокирован, если того требует хотя бы один из этих компонентов. Если же запуск разрешен в правилах HIPS, а правила Auto-Sandbox предписывают изолировать данную программу — она будет запускаться изолированно.
У описанного порядка работы есть определенные исключения. Первое исключение касается программ, которые уже изолированы в Sandbox. Дочерние процессы этих программ будут изолированы точно так же, не подчиняясь другим правилам Auto-Sandbox. Оповещений HIPS об их запуске не будет: только при наличии явного запрещающего правила HIPS произойдет блокировка. Иначе говоря, работа HIPS для таких программ подобна включению опции «Не показывать оповещения: Разрешать запросы».
Другое исключение — программы, имеющие привилегии установщика . Их дочерние процессы не подчиняются правилам Auto-Sandbox (это поведение ) и не вызывают оповещений HIPS. Они подчиняются лишь явным запретам в правилах HIPS, подобно включенной опции «Не показывать оповещения: Разрешать запросы» (это поведение настройке не поддается).
Третье исключение — программы, имеющие в Auto-Sandbox правило действие «Игнорировать» с отключенной опцией « ». Такие программы просто исключены из контроля Auto-Sandbox вместе со своими дочерними процессами. Правила HIPS к ним применяются в обычном порядке.
Автоматическое создание правил HIPS в «Режиме обучения» и в «Безопасном режиме»
В определенных режимах создание правил HIPS происходит автоматически:
- если включен «Режим обучения» и опция «Не показывать оповещения» отключена или установлена в режим «Блокировать запросы», то будет отслеживаться активность всех приложений и будут создаваться правила, разрешающие каждое их замеченное действие;
- если включен «Безопасный режим», включена опция «Создавать правила для безопасных приложений», а опция «Не показывать оповещения» отключена или установлена в режим «Блокировать запросы», то будут создаваться правила, разрешающие каждое замеченное действие доверенных приложений.
В большинстве случаев данные режимы не несут пользы и используются только для тестирования или подготовки к переключению в «Параноидальный режим».
Правила для программы (любой при «Режиме обучения» или доверенной при «Безопасном режиме») создаются следующим образом:
Вид нового правила будет зависеть от запрашиваемого действия:
- Когда одна программа запускает другую, для первой создается правило, разрешающее запускать конкретно определенную программу.
- Когда программа изменяет файл или ключ реестра, входящий в список на вкладке «HIPS» > «Защищенные объекты», вид правила будет зависеть от того, как записан шаблон этого ресурса.
- Если в конце шаблона стоит знак | , то создастся правило, разрешающее изменение конкретно того объекта, к которому обратилась программа. Например, программа создает на рабочем столе файл text.txt . Он соответствует шаблону « ?:\Users\*\Desktop\*| ». Значит, будет создано правило, разрешающее изменение файла C:\Users\Name\Desktop\text.txt .
- Если в конце шаблона отсутствует знак | , то создастся правило, разрешающее изменение любого объекта по данному шаблону. Например, программа создает файл D:\prog.exe . В списке защищенных объектов этот файл соответствует шаблону *.exe . Значит, создастся правило, разрешающее данной программе изменение любых exe-файлов.
- При обращении программы к какому-либо из следующих ресурсов автоматически создаются правила, разрешающие ей доступ одновременно к ним всем:
- «Защищенные COM-интерфейсы»,
- «Хуки Windows и хуки приложений»,
- «Межпроцессный доступ к памяти»,
- «Прерывание работы приложений»,
- «DNS-запросы»,
- «Диск» (прямой доступ),
- «Клавиатура»,
- «Монитор».
Обычно реальный порядок работы HIPS совпадает с описанным, но случаются различные отступления. Например, иногда правила HIPS создаются автоматически даже для программ, выполняющихся с привилегиями установщика; это наблюдалось при отключении Auto-Sandbox. Также наблюдалась ситуация, когда правила для программы, создавшиеся в «Режиме обучения», зафиксировали доступ не ко всем файловым объектам, запрошенным ею в «Параноидальном режиме».
Идентификация приложений по их путям
В явно заданных правилах учитывается только путь к программе. Ее целостность, а вернее, рейтинг проверяется лишь при отсутствии правил в «Безопасном режиме». Вместо однозначного пути можно использовать шаблоны и переменные среды аналогично , а также сами группы файлов.
Ранее иногда наблюдалось, что после переименования или перемещения программы HIPS воспринимал ее находящейся на прежнем месте. Это выражалось в том, что для этой программы действовали правила, где она записана по старому пути, и не действовали правила с новым путем. Проблема решалась перезагрузкой.
В связи с тем, что правила HIPS основаны на путях, представляет опасность опция «Создавать правила для безопасных приложений». Например, если она включена, и Проводник запустит доверенную (имеющую подпись) программу C:\myDownloads\test.exe , то при «Безопасном режиме» HIPS автоматически создадутся правила; а в другой раз на месте test.exe окажется нечто иное. Поэтому рекомендую отключать эту опцию.
Защита процессов
В окне с правилами HIPS для какого-либо приложения можно ограничить не только собственную активность этого приложения, но и влияние на его работу других программ. Для этого вкладке «Настройка защиты» выбираем, какие действия с данным приложением будут блокироваться, а в окне исключений (кнопка «Изменить») — каким программам они будут разрешены. Оповещения здесь не предусмотрены — только разрешение или запрет, вне зависимости от рейтинга. Запрещенное таким образом действие будет блокироваться, независимо от правил и рейтинга других программ.
В частности, с помощью этой функции осуществляется самозащита CIS от выгрузки его процессов и доступа к памяти. Поэтому, даже когда HIPS не нужен, желательно включить его хотя бы с опцией «Не показывать оповещения: Разрешать запросы» (в «Безопасном» или «Параноидальном» режиме).
Побочным эффектом самозащиты CIS является огромное количество записей в журнале «События Защиты+» при использовании некоторых программ, например, ProcessExplorer. Можно избавиться от необязательных блокировок, разрешив отдельным приложениям доступ к памяти CIS.
Отмечу, что сама по себе защита от прерывания работы приложений не охватывает всех способов выгрузить процесс. Так, многие приложения (но не процессы CIS) можно завершить посредством оконных сообщений (например, программой System Explorer) или посредством доступа к памяти. Чтобы защитить приложение от таких способов завершения, понадобится отметить в его правилах на вкладке «Настройка защиты» не только пункт «Прерывание работы приложений», но и пункты «Оконные сообщения» и «Межпроцессный доступ к памяти».
Метод прерывания процессов, применяемый программой Process Hacker , позволяет выгрузить даже CIS. Чтобы запретить применение этого метода, можно изменить правило HIPS для группы «Все приложения»: в пункте «Защищенные COM-интерфейсы» нажать «Изменить» и на вкладку «Заблокированные» добавить строку LocalSecurityAuthority.Restore . Однако не рекомендуется вносить данный запрет, так как он создаст проблемы при обновлении Windows.
Привилегии установщика
Смысл привилегий установщика
При определенных условиях приложение получает привилегии установщика, которые заключаются в следующем:
- HIPS разрешает такому приложению все, что не запрещено ему в правилах явным образом, т.е. работает подобно режиму «Не показывать оповещения: Разрешать запросы»;
- Auto-Sandbox не изолирует программы, запускаемые этим приложением;
- пока это приложение работает — его дочерние процессы (а также их дочерние процессы и т.д.) выполняются с привилегиями установщика;
- исполняемые файлы, которые создаст это приложение (или дочерние процессы, унаследовавшие его привилегии), автоматически занесутся в список доверенных (кроме скриптов и файлов, превосходящих 40 МБ).
Автоматическое занесение файлов в доверенные происходит только при включенной опции «Доверять приложениям, установленным с помощью доверенных инсталляторов» на вкладке «Рейтинг файлов» > «Настройка рейтинга файлов». Также в некоторых особых случаях привилегии установщика даются приложениям в «усеченном» виде: без , несмотря на включение данной опции.
Наконец, обратим внимание на : когда приложение-установщик завершится, его дочерние процессы лишатся унаследованных привилегий, и HIPS станет контролировать их в обычном режиме. А дальнейшие их дочерние процессы попадут и под контроль Auto-Sandbox.
Предположим, программа-установщик «A» запускает процесс «B», а «B» запускает процесс «C». Как правило, в результате процесс «C» получает привилегии установщика и обладает ими до тех пор, пока выполняется программа «А», даже после завершения процесса «B». Но после завершения программы «A» процесс «C» лишится этих привилегий.
По сравнению с привилегиями установщика, наследуется более «надежно»: оно продолжает действовать на дочерние процессы даже после завершения всех родительских. (Однако замечен баг: наследование этого правила обрывается, если перед запуском дочернего процесса 2 минуты не отвечать на оповещение HIPS.)
Программа получает привилегии установщика разными путями: либо когда , либо когда (если программа неопознанная и имеет признак установщика), либо когда , либо когда , либо когда программа наследует эти привилегии от родительского процесса. Программа может наделяться привилегиями установщика только при запуске в реальной среде без ограничений Auto-Sandbox. Если же программа запущена изолированно — она не получает этих привилегий, несмотря ни на какие признаки и правила.
Автоматическое наделение приложения привилегиями установщика
Приложение автоматически получает привилегии установщика, если оно является доверенным и имеет . Этот статус назначается приложениям, которые запрашивают при запуске права администратора, и некоторым другим.
В прежних версиях CIS автоматическое наделение программы привилегиями установщика происходило только в случае, когда ограничения проактивной защиты зависели от рейтинга этой программы. Если же программа была исключена из Auto-Sandbox и ей была назначена полностью определенная политика HIPS (наподобие «Системного приложения»), то привилегиями установщика она не наделялась. В версии CIS 8 привилегии установщика даются даже при отключении HIPS и Auto-Sandbox. Единственная замеченная ситуация, когда программа со статусом доверенного инсталлятора , — если ее ограничения в HIPS не зависят от рейтинга, а правила Auto-Sandbox исключают из изоляции ее родительский процесс вместе с дочерними.
Назначение привилегий установщика через оповещения и правила HIPS
Привилегии установщика могут быть назначены программе явным образом через HIPS: им соответствует политика «Установка или обновление».
Когда возникает оповещение HIPS относительно активности какого-либо приложения, можно в окне этого оповещения выбрать желаемую политику, с запоминанием или без него.
Если отметить опцию о запоминании и выбрать политику «Установка или обновление», то создастся соответствующее правило HIPS и приложение получит привилегии установщика. Если же выбрать эту политику без опции о запоминании, то правило не создастся, а приложение получит «усеченный» вариант привилегий установщика: без автоматического занесения создаваемых файлов в доверенные ( временному запуску «неопознанного инсталлятора» без ограничений Auto-Sandbox).
Через окно настройки CIS можно заранее назначить приложению политику «Установка или обновление» в списке правил HIPS. Очевидно, в этом случае приложение получит привилегии установщика без оповещений и в полной мере.
Общие функции и параметры проактивной защиты
Рассмотрим опции, которые влияют на работу проактивной защиты в целом: и HIPS, и Auto-Sandbox.
Различные параметры проактивной защиты
Опция «Включить режим усиленной защиты» на вкладке «Настройка HIPS» предназначена для предотвращения обхода проактивной защиты в 64-битных версиях Windows, поэтому ее необходимо отмечать в таких системах. Но одновременно она включает поддержку аппаратной виртуализации, что угрожает конфликтами с виртуальными машинами.
Опция «Адаптировать режим работы при низких ресурсах системы» нужна только при недостатке оперативной памяти. Когда она включена, CIS использует приемы экономии памяти, чтобы избежать сбоя при выполнении своих задач. Однако тем самым снижается производительность.
Опция «Блокировать неизвестные запросы, если приложение не запущено» предназначена только для зараженных систем и не рекомендуется к постоянному использованию, так как она мешает корректному автозапуску безопасных приложений. Если эта опция включена, то до тех пор, пока не загрузится графический интерфейс CIS, всем программам, независимо от их рейтинга, будет заблокирована любая активность, кроме явно разрешенной в правилах HIPS. Иначе говоря, до загрузки GUI поведение HIPS будет подобно «Параноидальному режиму» с опцией «Не показывать оповещения: Блокировать запросы». Блокировки не будет, если HIPS отключен или включен с опцией «Не показывать оповещения: Разрешать запросы».
Также к общим параметрам проактивной защиты можно отнести опцию «Доверять приложениям, установленным с помощью доверенных инсталляторов» на вкладке «Настройка рейтинга файлов», о ней .
Еще одна опция, которая влияет на работу проактивной защиты, хотя расположена в другом разделе, — «Максимальный размер файла» на вкладке «Антивирусный мониторинг». Если файл не подписан доверенным поставщиком, и размер его превышает указанный, то этот файл будет воспринят как неопознанный, даже если вручную добавить его в список доверенных. По умолчанию установлен размер 40 МБ, он может быть увеличен, но не уменьшен. При наличии у файла подписи доверенного поставщика это ограничение не действует.
Параметры, задаваемые в разделе «HIPS» > «Защищенные объекты» имеют значение не только для HIPS, но и для Auto-Sandbox. Так, если приложение выполняется , то защите будут подлежать именно те файлы и ключи реестра, которые указаны на соответствующих вкладках этого раздела. Для приложений, выполняющихся в виртуальной среде, параметры этого раздела тоже имеют значение: будет скрываться содержимое каталогов, перечисленных на вкладке «Папки с защищенными данными».
К объектам, входящим в список «HIPS» > «Защищенные объекты» > «Заблокированные файлы», запрещается любой доступ, включая и запись, и чтение. В данный список вносятся пути и шаблоны путей к файлам. Блокировка работает только при включенном HIPS.
Оговорю особый случай: режим «Чистый ПК». Формально этот режим относится к HIPS, но в действительности он определяет работу всей проактивной защиты. Если включить этот режим, то «неопознанными» будут считаться лишь файлы, которые появятся на диске впоследствии. Файлы же, присутствовавшие на диске до включения этого режима, получат права доверенных: и HIPS, и Auto-Sandbox, и фаервол будут воспринимать эти «старые» файлы так, как если бы они входили в список доверенных. , что режим «Чистый ПК» имеет определенные проблемы и не рекомендуется к использованию.
Особенности защиты файлов
Как уже говорилось, защите посредством HIPS или Auto-Sandbox (в отсутствие виртуализации) подлежат только те файлы, которые занесены в список «HIPS» > «Защищенные объекты» > «Защищенные файлы». Для указания этих файлов можно использовать шаблоны (знаки * и?) и переменные среды (%temp% , %windir% и т.д.), как и .
Отмечу особенность использования шаблонов при защите каталогов. Обычно, если через интерфейс CIS указать какой-либо каталог, то он запишется в виде шаблона: D:\Docs\* . Такого вида шаблону соответствуют файлы и папки, расположенные в выбранном каталоге D:\Docs , а также в его подкаталогах. Добавление этого шаблона в список защищенных файлов означает защиту соответствующих ему файлов и папок от изменения и переменования. Однако сам выбранный каталог Docs при этом не становится защищенным от переименования. Если же переименовать его, то и его содержимое перестанет быть защищенным. Чтобы защитить каталог от переименования, следует записать его без слэша и звездочки на конце: D:\Docs . Таким образом, для полноценной защиты каталога и его содержимого следует заносить в список защищенных две строки: D:\Docs\* и D:\Docs . (Возможен вариант с одной строкой — оставить на конце звездочку, но без слэша: D:\Docs* . Но такой шаблон защитит одновременно каталоги D:\Docs , D:\Docs2 и т.п.)
В списке «HIPS» > «Защищенные объекты» > «Защищенные файлы» многие шаблоны имеют на конце символ | . Использование этого знака влияет на и на ограничения, накладываемые Auto-Sandbox. Если какая-либо программа запущена в Auto-Sandbox с ограничениями без виртуализации, то ей будет запрещено создавать, удалять или изменять файлы, которые заданы шаблонами с символом | на конце. Файлы, которые заданы шаблонами без символа | на конце, тоже будут защищены от изменений, однако ограниченной посредством Auto-Sandbox программе разрешается создавать такие файлы, а также удалять созданные ей (но не модифицировать). Например, по умолчанию программе, выполняющейся с уровнем ограничений «Частично ограниченное», разрешается создавать исполняемые файлы в каталоге %PROGRAMFILES% , но запрещается — в каталоге автозагрузки. Подчеркну, что символ | влияет на ограничения именно Auto-Sandbox в режимах без виртуализации. При защите же посредством HIPS запрещается и создание, и удаление, и модификация файлов, независимо от наличия символа | в их шаблонах.
Имеется проблема с указанием путей на съемных устройствах. Формально можно создать правило HIPS, Auto-Sandbox или другого компонента с использованием пути к съемному устройству наподобие H:\Docs\* , но такое правило работать не будет: CIS не воспринимает буквы съемных дисков. Однако на съемных носителях будут работать правила, не привязанные к букве диска, например, защита exe-файлов. С другой стороны, все же есть возможность создавать правила Auto-Sandbox, которые будут выполняться именно для программ, расположенных на съемных носителях. Пример такого правила приведен .
Как и в случае со съемными устройствами, CIS некорректно работает с буквами сетевых дисков: данные на сетевом диске Y: могут не соответствовать ни шаблону Y:\* , ни даже?:\* . Вместо шаблонов с буквой сетевого диска можно использовать шаблоны вида \\имя_сетевого_ресурса* — эксперименты показали корректную их работу. В частности, чтобы защитить данные на Яндекс.Диске , подключенном в виде сетевого диска по протокоу WebDAV, можно добавить в список «Защищенные объекты» > «Защищенные файлы» строку \\webdav.yandex* .
Также следует сказать, что CIS воспринимает в качестве «файлов» не только физические файлы, но и различные системные объекты, например, физические или виртуальные устройства. С одной стороны, так обеспечивается гибкость настройки. С другой — вспомним, что . Поэтому подобные объекты не будут защищены от виртуально запущенных программ даже при наличии жестких запретов в правилах HIPS.
Особенности защиты реестра
Как и в случае файлов, защите посредством HIPS и Auto-Sandbox подлежат лишь те ключи реестра, которые перечислены в списке «HIPS» > «Защищенные объекты» > «Ключи реестра».
При задании ключей реестра можно записывать шаблоны путей реестра, используя знаки * и? .
Рассмотрим, например, строку *\Software\Microsoft\Windows\CurrentVersion\Run* . Знак * в ее начале означает, что она охватывает и системный раздел реестра HKEY_LOCAL_MACHINE , и раздел HKEY_CURRENT_USER каждого пользователя в отдельности. Обратим внимание, что знак * в конце этой строки не отделен слэшем. Это значит, что строка охватывает оба подраздела: Run и RunOnce . Смысл конкретно этой строки в защите одновременно разных видов автозагрузки: как общей автозагрузки, так и автозагрузки пользователя; как постоянной, так и однократной.
В предустановленных в CIS группах реестра используются сокращенные названия разделов: HKLM , HKCU и HKUS . Также при указании путей реестра через интерфейс CIS автоматически подставляются эти сокращенные названия. Однако в действительности правила HIPS, в которых разделы реестра указаны сокращенно, могут не работать. Таким образом, следует всегда указывать полные названия разделов реестра: например, не HKCU\SOFTWARE\Policies\* , а HKEY_CURRENT_USER\SOFTWARE\Policies\* . Также понадобится исправить пути в предустановленных группах на вкладке «Группы HIPS» > «Группы реестра»:
- заменить HKLM на HKEY_LOCAL_MACHINE
- заменить HKCU на HKEY_CURRENT_USER
- заменить HKUS на HKEY_USERS
По моим наблюдениям, CIS некорректно воспринимает аббревиатуры корневых разделов реестра в случаях, когда указанный путь является ссылкой, а не «реальным» местоположением в реестре. Примеры таких путей-ссылок — HKLM\SYSTEM\CurrentControlSet\* , HKCU\* .
Возможный вариант указания раздела HKEY_CURRENT_USER — шаблон HKEY_USERS* . К этому шаблону можно добавить часть идентификатора пользователя. Например, строкой HKEY_USERS*1002\SOFTWARE\Policies\* задается ветвь SOFTWARE\Policies раздела HKEY_CURRENT_USER для одного конкретного пользователя. Данный прием можно использовать, чтобы запретить ограниченному пользователю менять автозагрузку, ассоциации и прочие параметры.
Для удобного и наглядного создания правил рекомендуется применять группы реестра:
- открыть вкладку «HIPS» > «Группы HIPS» > «Группы реестра» и через контекстное меню создать новую группу;
- добавить в эту группу ключи реестра и при необходимости отредактировать пути;
- открыть вкладку «HIPS» > «Защищенные объекты» > «Ключи реестра» и добавить новую группу в список;
- на вкладке «Правила HIPS» задать необходимые разрешения и запреты с использованием групп.
Защита данных от чтения
Можно защищать данные не только от изменений, но и, в какой-то мере, от чтения определенными приложениями. Для этого служит вкладка «HIPS» > «Защищенные объекты» > «Папки с защищенными данными». Каталоги, добавленные в список на этой вкладке, защищаются следующим образом:
- программы, запущенные виртуально, воспринимают эти каталоги пустыми;
- программам, запущенным в реальной среде с ограничениями Auto-Sandbox, запрещается обзор содержимого этих каталогов;
- программам, которым посредством HIPS заблокирован ресурс «Диск», запрещается обзор содержимого этих каталогов (но остается возможным открытие содержащихся в них файлов).
Подчеркну, что именно при использовании виртуализации защищенные папки будут восприниматься изолированными приложениями как пустые, а их файлы — как несуществующие. Если программа ограничена только посредством HIPS, то она сможет открывать файлы, «зная» их пути.
Через интерфейс CIS можно добавить в список «Папок с защищенными данными» лишь те каталоги, которые видны в проводнике. Если необходимо защитить данные в каком-либо скрытом каталоге, следует временно разрешить показ скрытых файлов и папок в проводнике (например, через «Панель управления»).
Интерфейс CIS позволяет заносить в список «Папок с защищенными данными» только однозначные пути к каталогам, но не шаблоны, наподобие *\ReadProtected\* . Попытка же внести в этот список шаблон редакированием файла конфигурации может привести к BSOD.
В список «Папок с защищенными данными» следует добавлять каталоги, расположенные только на локальных дисках. Формально можно добавить в этот список съемные носители или виртуальные шифрованные диски, но для них защита, как правило, не работает.
Данную защиту способны полностью обойти приложения, выполняющиеся от имени администратора. Такие приложения смогут увидеть содержимое защищенного каталога и прочитать данные в нем, даже если им заблокирован доступ к диску, даже если они выполняются в виртуальной среде, и даже если они изолированы в Auto-Sandbox как «Частично ограниченное» или «Подозрительное». Настоятельно рекомендую держать включенным UAC.
Защита памяти процессов
CIS способен запрещать одним процессам изменять память других. Так, программам, которые запущены виртуально и/или с ограничениями Auto-Sandbox, запрещено менять память процессов, выполняющихся в реальной среде. Дополнительные ограничения на межпроцессное изменение памяти задаются в правилах HIPS.
CIS защищает память процессов от изменений, но не от чтения. Даже если заблокировать вредоносной программе «Межпроцессный доступ к памяти» и даже если запустить ее виртуально, она сможет прочитать конфиденциальные данные из памяти процессов, выполняющихся в реальной среде. Отмечу, что эта проблема касается не только виртальной среды Comodo Sandbox, но и Sandboxie.
В то же время защита от межпроцессного изменения памяти препятствует созданию дампа памяти. По-видимому, запрещается именно приостановка процесса, необходимая для создания дампа, но не само чтение памяти.
Анализ командной строки
Некоторые виды приложений выполняются не самостоятельно, а посредством программ-интерпретаторов. Например, выполнением bat-скриптов занимается системный интерпретатор cmd.exe , выполнением vbs-скриптов — системный интерпретатор wscript.exe , выполнением jar-приложений — программа javaw.exe , входящая в состав виртуальной машины Java, и т.д. При запуске скрипта (или подобного приложения) фактически запускается ассоциированная с ним программа-интерпретатор, получая путь этого скрипта в аргументах командной строки.
CIS отслеживает запуск некоторых интерпретаторов и применяет к ним те ограничения, которые имеет файл, заданный в аргументах командной строки. Благодаря этому некоторые виды скриптов воспринимаются CIS как самостоятельные приложения: их активность ограничивается правилами HIPS или вызывает оповещения, а Auto-Sandbox изолирует работу скриптов, не являющихся доверенными. (Некоторые особенности работы Auto-Sandbox со скриптами описаны в соответствующей статье: невозможность или .) Также в на месте интерпретаторов отображаются выполняемые ими скрипты.
Описанным образом контролируется запуск и активность различных видов приложений: *.bat, *.cmd, *.js, *.vbs, *.wsf, *.hta, *.chm, *.msi, *.jar и др. Аналогично контролируются библиотечные файлы, когда их исполнением занимается системная программа rundll32.exe .
Данное поведение задается опцией «Выполнять эвристический анализ командной строки для определенных приложений» на вкладке «Настройка HIPS», по умолчанию она включена. Если ее отключить, то скрипты и подобные им приложения будут выполняться с теми же правами, которые имеют их интерпретаторы.
В версии CIS 7 имел место баг: не контролировался запуск скриптов с длинными путями. В версии CIS 8.0 баг устранен. Также во всех версиях от 5.10 до 8.1 имела место серьезная уязвимость анализа командной строки, позволявшая запустить одну программу с правами другой. В версии CIS 8.2 эта уязвимость почти устранена.
Опция защиты от внедрения shell-кода
На вкладке «Настройка HIPS» расположена опция «Обнаруживать внедрение shell-кода». Как следует из названия, ее включение призвано предотвращать атаки, основанные на переполнении буфера.
Тем не менее опция «Обнаруживать внедрение shell-кода» все же влияет на работу CIS. Вернее — влияние оказывает список исключений данной опции, независимо от того, включена ли она сама. В работе приложений, добавленных в список исключений «защиты от shell-кода», наблюдаются следующие особенности:
При этом HIPS контролирует приложения, исключенные из «защиты от shell-кода», на предмет запуска программ, доступа к памяти других процессов, отправку оконных сообщений, изменения файлов и реестра, доступа к клавиатуре, к диску. Также, если эти приложения запускаются виртуально (вручную или на основании правил Auto-Sandbox), изменения файлов и рестра не должны затронуть реальную среду.
По-видимому, именно внедрение библиотеки guard(32|64).dll отвечает за те функции CIS, которые не работают для приложений, исключенных из «защиты от shell-кода».
Иногда занесение программ в исключения опции «Обнаруживать внедрение shell-кода» устраняет некоторые конфликты. Так, обычно рекомендуется добавлять в эти исключения каталог программы VMware Player/Workstation, программу Alcohol, программу и каталог ее песочницы. Также имел место конфликт версии CIS 8.2.0.4674 с браузером Google Chrome 45.0.2454.85, устранявшийся добавлением файла chrome.exe в исключения данной опции.
Viruscope
Оповещения Viruscope
Кроме основных средств проактивной защиты — HIPS и Auto-Sandbox — имеется компонент Viruscope, предназначенный для динамического обнаружения подозрительной активности процессов. Он должен выявлять опасное поведение неопознанных программ и выдавать оповещение с предложением откатить изменения, произведенные определенной программой и ее дочерними процессами, а саму программу удалить.
Если включена опция «Не показывать оповещения» на вкладке «Viruscope», то удаление программ и откат изменений произойдет автоматически (аналогично, если не отвечать на оповещение в течение 2 минут).
Откат изменений вручную
Завершение программ с откатом произведенных ими изменений можно производить не только при обнаружении подозрительной активности, но и вручную. Для этого следует запустить менеджер задач KillSwitch, вызвать контекстное меню на нужном процессе и выбрать пункт «Завершить дерево процесса и вернуть произведенные изменения». Файл программы при этом не удаляется. Данный пункт контекстного меню KillSwitch имеется только при включенном Viruscope.
Другой путь ручного завершения программ с откатом произведенных ими изменений — оповещения HIPS и фаервола. Когда включен Viruscope, в этих оповещениях появляется дополнительный пункт: «Заблокировать, завершить выполнение и отменить изменения». При выборе этого пункта завершится указанная в оповещении программа и все ее дочерние процессы, а также будут отменены произведенные ими изменения; файл программы удален не будет.
Отчет об активности
При включенном Viruscope в контекстном меню , вызываемом из главного окна CIS, появляется новый пункт: «Показать активность». Нажатием на него откроется окно с отчетом об активности выбранной программы и ее дочерних процессов.
Также при включенном Viruscope в оповещениях разных компонентов CIS появляется кнопка «Показать активность». По нажатию на нее также открывается отчет об активности программы, указанной в оповещении.
Следует сказать, что представление отчета об активности в окне CIS далеко от удобного. Однако можно через контекстное меню экспортировать этот отчет в XML-файл и изучать отдельно.
Также отчет об активности можно просмотреть через менеджер задач KillSwitch: в окне свойств процесса, вызываемом через контекстное меню, есть вкладка «Активность процесса». Однако в KillSwitch этот отчет представлен еще хуже, чем в CIS, причем отсутствует функция экспорта в файл.
Ограничение контроля Viruscope только изолированными программами
По умолчанию в конфигурации «Proactive Security» на вкладке «Viruscope» включена опция «Использовать Viruscope» и отключена опция «Применять действие Viruscope только к приложениям в Sandbox». В такой конфигурации происходит слежение за всеми процессами в реальной и в виртуальной среде. Выше описана работа Viruscope именно для такого режима.
Если отметить опцию «Применять действие Viruscope только к приложениям в Sandbox», то будет отслеживаться активность только тех программ, которые запущены в виртуальной среде или ограничены посредством Auto-Sandbox. Для программ же, выполняющихся в реальной среде без ограничений Auto-Sandbox, не будет вестись запись активности и, соответственно, не будет даваться отчет о ней.
Однако после включения данной опции оповещения HIPS и фаервола по-прежнему будут содержать пункт «Заблокировать, завершить выполнение и отменить изменения», а также в контекстном меню KillSwitch будет пункт «Завершить дерево процесса и вернуть произведенные изменения». В действительности, выбор этих пунктов приведет не к откату изменений, а лишь к завершению выбранной программы и ее дочерних процессов.
Управление распознавателями
На вкладке «Viruscope» указан файл, на основании данных которого определенная активность приложений считается подозрительной. В этом файле заданы образцы поведения, которые должны вызывать оповещения Viruscope. Если перевести статус такого файла в отключенное положение, то соответствующее поведение приложений не приведет к оповещениям и блокировкам Viruscope; слежение за активностью программ при этом сохранится.
Ограниченность применения и проблемы Viruscope
В Viruscope невозможен откат таких действий, как удаление файлов с диска. Также не подлежат откату изменения, выполненные за предыдущие циклы работы подозрительного процесса. Откат же действий процесса, ошибочно признанного опасным, может привести к потере данных (этот риск возникает в режиме «Не показывать оповещения»).
В версии CIS 7 наблюдалась серьезная проблема — при включенном Viruscope происходили непредсказуемые сбои в работе безопасных приложений. Эти сбои происходили в отсутствие каких-либо уведомлений и записей в журналах CIS, что затрудняло поиск их причины. По-видимому, сбои провоцировались самим наблюдением за процессами, а не обнаружением подозрительного поведения.
В версии CIS 8 перестали проявляться прежние известные конфликты. Возможно, проблема устранена. Однако, ввиду ее серьезности и трудности обнаружения, я по-прежнему рекомендую отказаться от Viruscope. С учетом всех ограничений, польза от Viruscope в защите невелика.
Для безопасного использования Viruscope можно включить его с опцией «Применять действие Viruscope только к приложениям в Sandbox». Но в этом случае назначением Viruscope станет не защита, а исследование работы приложений, запущенных в виртуальной среде.
Please enable JavaScript to view theПродолжая обсуждать пластик для 3D-печати, давайте обратим внимание на HIPS. Какие у него характеристики? Для чего он лучше всего подходит? Зная ответы на эти вопросы, а также некоторые нюансы, о которых будет рассказано ниже, можно пополнить свой арсенал знаний о 3D-печати, что поможет в конечном итоге добиваться оптимальных результатов. Итак, что же такое HIPS?
Состав филамента HIPS
Высокопрочный полистирол (high-impact polystyrene, HIPS) — термопластичный полимер. Его получают, добавляя во время полимеризации полибутадиен к полистиролу. В результате образования химических связей полистирол приобретает эластичность бутадиенового каучука, и получается высококачественный прочный и упругий филамент.
Достоинства HIPS как материала для печати
Многие характеристики HIPS похожи на характеристики ABS, PLA или SBS, однако отличаются в лучшую сторону:
- Материал не поглащает влагу, лучше переносит условия внешней среды, не подвержен разложению. Дольше хранится в открытом состоянии без упаковки.
- Мягкий, лучше поддается механической постобработке.
- Легкость и низкое водопоглощение позволяют при соблюдении определенных условий создать не тонущий в воде объект.
- Неокрашенный HIPS имеет ярко-белый цвет, что дает ему эстетические преимущества. Матовая фактура визуально сглаживает слои и шерошоватости печати.
- Из него производится пластиковая посуда. Еще более важно то обстоятельство, что он безвреден для людей и животных и является неканцерогенным.
Применение HIPS в качестве основного материала печати
После того как объект из HIPS распечатан, его можно шлифовать, грунтовать и красить, чтобы придать ему желаемый вид. Если сравнивать характеристики HIPS на этом последнем этапе, то нельзя не отметить, что все процедуры, связанные с постпроцессингом - доводка, шлифовка, полировка и т.п., - выполняются на этом материале исключительно легко. Получающиеся детали и объекты, которые созданы с использованием только этого филамента, прочны и в меру пластичны и, кроме всего прочего, довольно легкие. HIPS более мягкий и гладкий материал, его легче обрабатывать механическим способом, в отличии от PLA или ABS. При использованиии HIPS пластика рекомендуем включать обдув (охлаждение) сопла, это позволит слоям застывать ровно, отпечатанная поверхность будет более гладкой.
Модели распечатаны HIPS-пластиком
HIPS как материал поддержки, растворимость HIPS
HIPS растворим в лимонене - бесцветном жидком углеводороде с сильным запахом цитрусовых. Поскольку они (HIPS и лимонен) никак не взаимодействуют с ABS, то HIPS великолепно подходит для изготовления поддержек, и по сравнению с PVA получается значительно дешевле.
Использование HIPS для создания сложных форм.
Если у принтера два экструдера, достаточно просто поставить катушку ABS и катушку HIPS, и все готово для печати замысловатых конструкций, получить которые с другим материалом для поддержек было бы затруднительно. Кстати у нас вы можете приобрести пробный образец этого материала, HIPS-пробник длиной 10 метров.
Хорошо, когда печать ведется разными цветами: в процессе удаления поддержек из HIPS это поможет убедиться, что они растворились полностью и остался только ABS-объект.
Что обычно делают из HIPS в промышленном производстве
Очень часто из HIPS делают игрушки, а также упаковку и хозяйственные принадлежности, бытовую технику. Поскольку материал безвреден, из него нередко изготавливают одноразовые столовые приборы, а также тарелки и стаканчики.
Экструдирование филамента HIPS (параметры печати)
Правильная температура для работы с любыми филаментами у разных принтеров разная, но начать эксперименты лучше с 230-260° C. Если у принтера платформа с подогревом, при печати HIPS выставьте на ней температуру 100° C - это поможет получать более ровные и цельные объекты. Кроме того, чтобы сделать все еще лучше, попробуйте наклеить на платформу полиамидную (каптоновую) ленту так, чтобы ее полоски не пересекались.
Меры предосторожности при работе с HIPS
Несмотря на то, что HIPS нетоксичен, во время его экструдирования выделяются вещества, которые могут вызвать раздражение дыхательных путей и глаз, поэтому печатать рекомендуется в хорошо проветриваемом помещении.
Если платформа принтера открыта, следует обеспечить соответствующую вентиляцию и всегда работать с исключительной осторожностью. Незащищенный контакт с нагретым веществом может привести к серьезным ожогам кожи.
HIPS-система с помощью собственного драйвера перехватывает все обращения ПО к ядру ОС . В случае попытки выполнения потенциально опасного действия со стороны ПО , HIPS-система блокирует выполнение данного действия и выдает запрос пользователю, который решает разрешить или запретить выполнение данного действия.
Основу любой HIPS составляет таблица правил. В одних продуктах она никак не разделяется, в других – разбивается на промежуточные таблицы в соответствии с характером правил (например, правила для файлов, правила для сетей, правила для системных привилегий и так далее), в третьих разделение таблицы происходит по приложениям и их группам. Эти системы контролируют определенные системные события (например, такие, как создание или удаление файлов, доступ к реестру, доступ к памяти, запуск других процессов), и каждый раз, когда эти события должны произойти, HIPS сверяется со своей таблицей правил, после чего действует в соответствии с заданными в таблице настройками. Действие либо разрешается, либо запрещается, либо HIPS задает пользователю вопрос о том, что ей следует предпринять в данном конкретном случае.
Особенностью HIPS является групповая политика, которая позволяет применять одни и те же разрешения для всех приложений, внесенных в определенную группу. Как правило, приложения деляться на доверенные и недоверенные, а также возможны промежуточные группы (например, слабо ограниченные и сильно ограниченные). Доверенные приложения никак не ограничиваются в своих правах и возможностях, слабо ограниченным запрещаются наиболее опасные для системы действия, сильно ограниченным разрешены лишь те действия, которые не могут нанести существенного ущерба, а недоверенные не могут выполнять практически никаких системных действий.
Правила HIPS содержат три базовых компонента: субъект (т.е. приложение или группа, которое вызывает определенное событие), действие (разрешить, запретить или спрашивать пользователя) и объект (то, к чему приложение или группа пытается получить доступ). В зависимости от типа объекта правила разделяются на три группы:
- файлы и системный реестр (объект – файлы, ключи реестра);
- системные права (объект – системные права на выполнение тех или иных действий);
- сети (объект – -адреса и их группы, порты и направления).
Виды HIPS
- HIPS, в которых решение принимается пользователем - когда перехватчик Application Programming Interface (API) -функций перехватывает какую либо функцию приложения, выводится вопрос о дальнейшем действии. Пользователь должен решить, запускать приложение или нет, с какими привилегиями или ограничениями его запускать.
- HIPS, в которых решение принимается системой - решение принимает анализатор, для этого разработчиком создается база данных, в которую занесены правила и алгоритмы принятия решений.
- «Смешанная» HIPS система - решение принимает анализатор, но когда он не может принять решение или включены настройки «о принятии решений пользователем» решение и выбор дальнейших действий предоставляются пользователю.
Преимущества HIPS
- Низкое потребление системных ресурсов.
- Не требовательны к аппаратному обеспечению компьютера.
- Могут работать на различных платформах.
- Высокая эффективность противостояния новым угрозам.
- Высокая эффективность противодействия руткитам , работающим на прикладном уровне (user-mode).
Недостатки HIPS
- Низкая эффективность противодействия руткитам , работающим на уровне ядра.
- Большое количество обращений к пользователю.
- Пользователь должен обладать знаниями о принципах функционирования
Пытливый ум часто подталкивает технически подкованных пользователей к смелым экспериментам. Читатель «Мы ESET» Дмитрий Минаев провести ликбез по тонкой настройке правил HIPS, и мы не можем ему отказать.
Система предотвращения вторжений на узел (HIPS) появилась в 4-м поколении антивирусных продуктов ESET. Она защищает компьютер от потенциально опасных программ.
В 10-м появился новый модуль , созданный для борьбы с блокировщиками и шифраторами. HIPS использует расширенный анализ поведения и возможности сетевой фильтрации. Это позволяет отслеживать запущенные процессы, файлы и реестр.
Система HIPS объединяет ряд модулей для борьбы с различными типами угроз. Каждый из них можно настроить вручную, «под себя».
«Заводских настроек» должно быть достаточно для домашнего пользователя (например, модуль «Защита от программ-вымогателей» активирован в HIPS по умолчанию). При желании можно задать более высокий уровень ограничений (но это может увеличить процент ложных срабатываний).
Если вам все-таки хочется поиграть с настройками, мы подскажем, на что обратить внимание, и рассмотрим простой пример создания правила для системы HIPS.
Предупреждение:
Изменение предустановленных параметров системы HIPS рекомендуется только для опытных пользователей.
Параметры HIPS находятся в разделе «Расширенные параметры»:
F5 - Защита от вирусов -HIPS - Основное
font-size:=" ">
Доступны 4 режима фильтрации:
- Автоматический режим: включены все операции (за исключением тех, что были заблокированы с помощью предварительно заданных правил).
- Интеллектуальный режим: пользователь будет получать уведомления только об очень подозрительных событиях.
- Интерактивный режим: пользователю будет предлагаться подтверждать операции.
- Режим на основе политики: операции блокируются.
Кроме того, существует Режим обучения, о котором можно узнать .
font-size:=" ">
- Имя правила - задается пользователем или выбирается автоматически
- Действие - выбор операции, которая будет выполнена при определенных условиях (например, разрешить или запретить вмешательство в текущие процессы)
- Операции влияния - выбор операций, к которым будет применяться правило. Правило будет использоваться только для операций данного типа и для выбранного объекта. Сюда входят приложения , файлы и записи реестра .
font-size:=" ">
Приложения - в раскрывающемся списке выберите «Определенные приложения», нажмите «Добавить» и выберите нужные приложения. Или выберите пункт «Все приложения».
Файлы - в раскрывающемся списке выберите пункт «Определенные файлы» и нажмите «Добавить», чтобы добавить новые файлы или папки. Или выберите «Все файлы».
Записи реестра - в раскрывающемся списке выберите пункт «Определенные записи» и и нажмите «Добавить» для ввода вручную. Или откройте редактор реестра для выбора параметра в реестре. Также можно выбрать «Все записи» чтобы добавить все приложения.
Основные операции и настройки включают операции с приложениями, файлами и реестром. Их описание можно посмотреть .
Дополнительные настройки:
- Включено - отключите параметр, чтобы правило не использовалось, но осталось в списке
- Журнал - включить параметр, чтобы информация о правиле записывалась в журнал HIPS
- Уведомить пользователя - запуск события вызовет всплывающее окно в правом нижнем углу экрана
Пример настроек HIPS:
- Задайте имя для правила.
- В раскрывающемся меню «Действие» выберите «Блокировать».
- Активируйте переключатель «Уведомить пользователя», чтобы всплывающее окно появлялось при каждом применении правила.
- Выберите операцию, к которой будет применяться правило. В окне «Исходные приложения» выберите «Все приложения».
- Выберите «Изменить состояние другого приложения».
- Выберите «Определенные приложения» и добавьте одно или несколько приложений, которые нужно защитить.
- Нажмите «Готово», чтобы сохранить правило.
Больше узнать о HIPS можно
.Остались вопросы? Пишите на