HIPS в COMODO Internet Security 10-12

HIPS в COMODO Internet Security 10-12: порядок работы правил, оповещения, различные режимы. Привилегии доверенных установщиков

HIPS в COMODO Internet Security

Общие сведения

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

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

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

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

Правила представлены на вкладке HIPS → Правила HIPS в виде списка приложений и назначенных им наборов правил.

В качестве приложений могут выступать точные пути к файлам, шаблоны путей с символами * и ?, а также группы файлов. В путях и их шаблонах можно использовать переменные среды. Группы файлов — это наборы путей или шаблонов, они настраиваются на вкладке Рейтинг файлов → Группы файлов. Подчеркну, что приложения в правилах HIPS идентифицируются только по их путям, а не по хешам и т.п.

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

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

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

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

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

Порядок работы HIPS

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

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

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

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

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

  1. Если ресурс — это файл, ключ реестра или COM-интерфейс, и он не принадлежит к «Защищенным», то доступ к нему разрешается.
  2. В противном случае (т.е. если ресурс либо принадлежит к «Защищенным», либо является, например, процессом, а не файлом, ключом реестра или COM-интерфейсом), список HIPS-правил просматривается сверху вниз, пока не найдется данная программа или содержащая ее группа программ. Если не найдется, переходим к п. 7.
  3. Если в найденном правиле ресурс принадлежит к «Разрешенным» (в окне исключений этого правила), то доступ разрешается.
  4. Если же этот ресурс принадлежит к «Заблокированным» (в окне исключений найденного правила), но не принадлежит к «Разрешенным», то доступ блокируется.
  5. В оставшихся случаях (т.е. когда ресурс не «Разрешенный» и не «Заблокированный») учитывается действие, указанное в найденном правиле: доступ блокируется, если указана блокировка, или разрешается, если указано разрешение.
  6. Если же в правиле указано действие «Спросить», то поиск правил продолжится (далее вниз), так как данная программа может оказаться членом нескольких групп, и каждая группа может иметь свои правила. Иначе говоря, переходим к п. 2.
  7. Если так и не найдется разрешающего или запрещающего правила, то выбор действия будет зависеть от режима и опций работы HIPS, репутации программы, а также наличия у нее привилегий установщика. Если данная программа или ее родительский процесс имеет привилегии установщика, то доступ разрешается.
  8. Если режим — «Безопасный», а репутация программы — «доверенная», то доступ разрешается.
  9. Если режим — «Безопасный», а репутация программы — «неопознанная», то учитывается опция «Не показывать оповещения», т.е. переходим к п. 11.
  10. Если режим — «Параноидальный», то, независимо от репутации программы, переходим к п. 11.
  11. Если отмечена опция «Не показывать оповещения», то выполнится указанное в ней действие: «Разрешать запросы» или «Блокировать запросы». Если эта опция отключена, то появится оповещение с вопросом.

Порядок работы HIPS

Как видим, в HIPS действие «Спросить» выражает отсутствие правила (в отличие от фаервола, где оно предписывает показать оповещение).

Итак, наивысший приоритет имеет вкладка «Разрешенные» самого верхнего правила, подходящего для данной программы; затем — вкладка «Заблокированные»; затем — указанное в этом правиле действие, если оно однозначно; затем — вкладка «Разрешенные» следующего правила и т.д. В отсутствие однозначного правила доступ разрешается, если (i) действуют привилегии установщика, или (ii) программа является «доверенной», а режим HIPS — «Безопасным», или (iii) отмечена опция «Не показывать оповещения: Разрешать запросы». Когда не выполняется ни одно из этих условий — доступ блокируется, если отмечена опция «Не показывать оповещения: Блокировать запросы», или выдается оповещение, если эта опция отключена.

Особым образом обрабатываются попытки одной программы запустить другую. При «Безопасном режиме» HIPS разрешение дается автоматически (п. 8), когда обе программы — запускающая и запускаемая — являются доверенными. Если же хотя бы одна из них неопознанная, то в отсутствие разрешающего правила или привилегий установщика будет показано оповещение или выполнится действие по-умолчанию, как в п. 11. Более подробно контроль запуска программ рассмотрен отдельно.

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

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

Управление правами программ через оповещения

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

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

Как отвечать на оповещения 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).

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

Разрешение любым приложениям открывать chm-файлы

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

Возможность запуска какой-либо программы определяют правила не только 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».

Разрешение доступа к памяти Comodo Internet Security

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

Привилегии установщика

Смысл привилегий установщика

При определенных условиях приложение получает привилегии установщика, которые заключаются в следующем:

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

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

Исключение дочерних процессов из изоляции Auto-Containment тоже выполняется не всегда, а лишь при включенной опции «Обнаруживать программы, требующие повышенных привилегий» на вкладке Containment → Настройка Containment.

Наследование привилегий тоже имеет свои ограничения: когда приложение-установщик завершится, его дочерние процессы лишатся унаследованных привилегий, и HIPS станет контролировать их в обычном режиме. А дальнейшие их дочерние процессы попадут и под контроль Auto-Containment.

Предположим, программа-установщик «A» запускает процесс «B», а «B» запускает процесс «C». Как правило, в результате процесс «C» получает привилегии установщика и обладает ими до тех пор, пока выполняется программа «А», даже после завершения процесса «B». Но после завершения программы «A» процесс «C» лишится этих привилегий.

По сравнению с привилегиями установщика, игнорирующее правило Auto-Containment наследуется более «надежно»: оно продолжает действовать на дочерние процессы даже после завершения всех родительских.

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

Автоматическое наделение приложения привилегиями установщика

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

Программы-установщики

В каких свойствах приложения заключается признак установщика, говорилось в другой статье: судя по экспериментам, установщиками считаются программы, у которых в имени файла либо в File Version Info (в поле FileDescription, ProductName, InternalName или OriginalFilename) содержится слово install, setup или update; также установщиками считаются msi-файлы.

В старых версиях CIS признаки установщика были другими, в частности, установщиками считались программы, запрашивающие при запуске права администратора, программы, чей размер превышает 40 МБ, и др. Из-за этого многие прикладные программы ошибочно наделялись привилегиями установщика (в частности, PortableApps-сборки), что создавало очевидную опасность. В версии CIS 10 эта угроза значительно ниже.

Назначение привилегий установщика через оповещения Auto-Containment

В стандартной конфигурации «Proactive Security» при запуске неопознанной программы, имеющей признак установщика, появляется оповещение, предлагающее выбор из четырех вариантов: «Блокировать», «Изолированный запуск», «Запуск без ограничений» при отключенной опции «Доверять этому приложению» и «Запуск без ограничений» при включенной опции «Доверять этому приложению».

Оповещение о неопознанном установщике

Вариант «Блокировать» означает запрет запуска. Вариант «Изолированный запуск» означает, что программа будет запущена изолированно в соответствии с правилами Auto-Containment.

Если включить опцию «Доверять этому приложению» и выбрать пункт «Запуск без ограничений», то программа станет доверенной и запустится с привилегиями установщика. Вместе с тем создастся правило Auto-Containment, исключающее дочерние процессы этой программы из изоляции. Обычно это правило не имеет смысла, и я рекомендую его удалить.

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

Вообще говоря, такое оповещение возникает, если выполняются следующие условия:

  • компонент 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.

Запуск программ с привилегиями установщика через контекстное меню