Гайд: ViPNet SafePoint: контроль доступа против запуска процессов от имени другого пользователя
1. Понимание угрозы и возможностей ViPNet SafePoint
Запуск процессов от имени другого пользователя (олицетворение, impersonation) — это одна из ключевых техник, используемых злоумышленниками для повышения привилегий и обхода защиты. Если вредоносный процесс получает возможность выполняться в контексте безопасности более привилегированной учетной записи, он может обойти разграничительные политики и получить доступ к критичным ресурсам.
ViPNet SafePoint — это сертифицированный программный комплекс защиты информации от несанкционированного доступа уровня ядра операционной системы, устанавливаемый на рабочие станции и серверы. Продукт обеспечивает мандатное и дискреционное разграничение доступа пользователей к критически важной информации и подключаемым устройствам.
Ключевая особенность ViPNet SafePoint для решения данной задачи — контроль и разграничение прав доступа к сервисам олицетворения ОС для предотвращения запуска процессов от имени другого пользователя. Эта функция позволяет блокировать попытки использования штатных механизмов Windows (например, CreateProcessAsUser, LogonUser) для запуска процессов в контексте другого пользователя.
2. Архитектура защиты и ролевая модель
В ViPNet SafePoint применяется иерархическая ролевая модель доступа к ресурсам. Для эффективного контроля запуска процессов необходимо понимать, как устроена эта модель.
2.1. Субъекты доступа
В качестве субъекта доступа в разграничительной политике одновременно выступают три сущности:
- Исходный идентификатор пользователя (SID) — учетная запись, инициировавшая запуск процесса.
- Эффективный идентификатор пользователя (контекст безопасности процесса) — учетная запись, от имени которой фактически выполняется процесс.
- «Полнопутевое» имя процесса — полный путь к исполняемому файлу процесса.
Такой подход позволяет задавать правила вида: «какой пользователь, каким процессом, к какому ресурсу имеет доступ». Именно комбинация этих трех сущностей позволяет выявлять и блокировать случаи, когда исходный пользователь и эффективный пользователь не совпадают — то есть процесс запущен от имени другого пользователя.
2.2. Профили защиты по умолчанию
В ViPNet SafePoint задано несколько профилей защиты, соответствующих системным субъектам: «система», «службы», «службы SafePoint», «программы». Каждый профиль содержит набор правил доступа, которые можно настраивать и копировать между профилями.
3. Настройка субъектов доступа и правил
3.1. Создание субъекта доступа
Для настройки контроля запуска процессов необходимо создать или настроить субъекты доступа.
Порядок действий:
- Запустите консоль управления Клиента локально или удаленно из консоли управления Сервера безопасности.
- На панели слева перейдите в раздел Субъекты доступа.
- В списке субъектов вызовите контекстное меню и выберите Добавить субъект.
- Укажите имя субъекта.
- Выберите эффективного и первичного пользователей. В качестве эффективного пользователя можно назначить группу пользователей ОС. При этом первичный пользователь будет задан маской «Любой», а процесс —
*. - Выберите существующий профиль защиты или укажите имя нового профиля вручную.
- В поле Имя процесса определите процесс (процессы) одним из способов:
- Укажите полный путь к исполняемому файлу процесса вручную или с помощью проводника ОС.
- Задайте выборку исполняемых файлов процессов с помощью маски.
- Нажмите OK.
- При добавлении субъекта в новый профиль подтвердите создание профиля.
- На панели вверху нажмите Сохранить настройки.
3.2. Управление весом субъекта доступа
Вес субъекта доступа определяет приоритет правил: при конфликте правил применяется правило субъекта с большим весом.
Порядок действий:
- В консоли управления перейдите в раздел Субъекты доступа.
- Выполните сортировку субъектов в списке по столбцу Тип.
- Вызовите контекстное меню выбранного субъекта и выберите Увеличить «вес» или Уменьшить «вес».
- На панели вверху нажмите Сохранить настройки.
4. Ключевые механизмы предотвращения запуска процессов от имени другого пользователя
4.1. Контроль доступа к сервисам олицетворения
Это основной механизм, непосредственно предотвращающий запуск процессов от имени другого пользователя. Сервисы олицетворения — это штатные средства ОС Windows, которые позволяют процессу выполняться в контексте безопасности другого пользователя.
К ним относятся, в частности:
SeImpersonatePrivilege— привилегия олицетворения;CreateProcessAsUser— API-функция запуска процесса от имени пользователя;LogonUser— API-функция входа в систему с другими учетными данными.
ViPNet SafePoint позволяет настроить контроль доступа к этим сервисам, что реализует защиту от повышения привилегий через олицетворение. Эта функция входит в состав механизма защиты от обхода разграничительной и разделительной политик доступа.
Настройка:
При создании или редактировании субъекта доступа в правилах доступа к системным службам необходимо явно запретить доступ к сервисам олицетворения для всех субъектов, кроме доверенных системных процессов (например, профиля «система»). Это блокирует возможность использования данных сервисов для запуска процессов от имени другого пользователя.
4.2. Мандатный контроль доступа пользователей и процессов
Мандатный контроль доступа в ViPNet SafePoint основан на метках безопасности, присваиваемых пользователям и процессам. Каждому процессу при запуске присваивается мандатная метка, соответствующая уровню доступа пользователя, инициировавшего запуск.
Если процесс пытается запуститься от имени другого пользователя, его мандатная метка не будет соответствовать метке целевого пользователя, что приведет к блокировке доступа к ресурсам, защищенным мандатными правилами. Таким образом, даже если олицетворение технически произойдет, процесс не сможет получить доступ к защищенным данным.
Мандатный контроль применяется к файлам, реестру, процессам операционной системы и сетевой периферии.
4.3. Замкнутая программная среда (ЗПС)
Замкнутая программная среда — это механизм, который позволяет разрешить запуск только доверенных исполняемых файлов и блокировать запуск всего остального.
ViPNet SafePoint обеспечивает:
- Защиту от модификации запускаемых модулей (РПД) — контроль целостности исполняемых файлов;
- Ограничение по каталогам запуска — разрешение запуска только из определенных каталогов (например,
%SystemRoot%,%ProgramFiles%); - Контроль запуска скриптов — по расширениям или хост-процессу.
Для предотвращения запуска процессов от имени другого пользователя важно, чтобы в ЗПС были включены все легитимные процессы, которые могут использовать олицетворение (системные службы, доверенные приложения). Все остальные процессы, пытающиеся запуститься от имени другого пользователя, будут заблокированы.
4.4. Контроль обязательно запущенных процессов
ViPNet SafePoint позволяет контролировать обязательно запущенные процессы системы, отслеживая их работу и блокируя несанкционированные изменения. Если злоумышленник попытается запустить процесс от имени другого пользователя в обход штатных механизмов, это будет обнаружено и заблокировано.
5. Разграничительная и разделительная политики
ViPNet SafePoint реализует два типа политик доступа:
- Разграничительная политика (пользователя к объектам) — назначает правила доступа между субъектами и статичными объектами (файлы, реестр, устройства, службы).
- Разделительная политика (между пользователями) — назначает правила доступа между субъектами к создаваемым объектам (новые файлы, данные в буфере обмена).
Для предотвращения запуска процессов от имени другого пользователя необходимо:
- Настроить разграничительную политику так, чтобы доступ к сервисам олицетворения был разрешен только для системных субъектов с максимальным весом.
- Настроить разделительную политику, чтобы создаваемые процессы и данные наследовали мандатные метки исходного пользователя, а не целевого.
6. Аудит и мониторинг
ViPNet SafePoint обеспечивает ведение журнала аудита событий безопасности.
Для контроля запуска процессов от имени другого пользователя рекомендуется настроить аудит следующих событий:
- Запуск и завершение процессов — фиксируется запуск каждого процесса с указанием исходного и эффективного пользователя;
- Доступ к сервисам олицетворения — фиксируются попытки использования
CreateProcessAsUser,LogonUserи других подобных API; - Изменение настроек разграничительных политик — фиксируются изменения правил доступа.
Настройка правил ведения журнала аудита Клиента Windows выполняется в консоли управления Клиента или удаленно из консоли управления Сервера безопасности. Просмотр событий аудита доступен как на Клиенте, так и на Сервере аудита в реальном времени.
7. Практические рекомендации по настройке
7.1. Минимально необходимые привилегии
Настройте субъекты доступа таким образом, чтобы обычные пользователи не имели доступа к сервисам олицетворения.
Разрешите использование этих сервисов только для:
- Профиля «система» — с максимальным весом;
- Профиля «службы SafePoint» — для собственных нужд защиты;
- Доверенных системных служб, которым это действительно необходимо.
7.2. Типичные сценарии атак и защита
| Сценарий | Механизм защиты в ViPNet SafePoint |
|---|---|
Использование CreateProcessAsUser для запуска cmd.exe от имени администратора |
Блокировка доступа к сервисам олицетворения для непривилегированных субъектов |
| Использование уязвимости в службе Windows для повышения привилегий | Мандатный контроль доступа + контроль обязательно запущенных процессов |
| Запуск вредоносного скрипта от имени системного процесса | Контроль запуска скриптов + замкнутая программная среда |
| Подмена исполняемого файла доверенного процесса | Защита от модификации запускаемых модулей (РПД) |
7.3. Регулярное обслуживание
- Периодически проверяйте журналы аудита на предмет попыток доступа к сервисам олицетворения.
- Обновляйте профили защиты при установке нового программного обеспечения.
- Проводите ревизию прав доступа к сервисам олицетворения не реже одного раза в квартал.
- Используйте шаблоны безопасности (появившиеся в версии 1.7) для тиражирования настроек на однотипные рабочие станции.
Важно
Предотвращение запуска процессов от имени другого пользователя в ViPNet SafePoint обеспечивается комплексом мер: контролем доступа к сервисам олицетворения, мандатным контролем доступа, замкнутой программной средой и аудитом событий безопасности. Ключевым элементом является настройка субъектов доступа с учетом трех сущностей (исходный SID, эффективный SID, полнопутевое имя процесса), что позволяет точно идентифицировать и блокировать попытки олицетворения. Регулярный аудит и своевременное обновление политик доступа обеспечивают устойчивость защиты к новым угрозам.
Информация предоставлена в ознакомительных целях. Применение описанных настроек в системах, должно осуществляться только после согласования с ответственными за информационную безопасность и в соответствии с требованиями ФСТЭК, ФСБ и иных уполномоченных органов.