Архитектура и компоненты AppLocker
В этой статье для ИТ-специалистов описывается базовая архитектура AppLocker и ее основные компоненты.
AppLocker использует службу удостоверений приложений для предоставления атрибутов файла и оценки политики AppLocker для файла. Политики AppLocker — это записи управления условным доступом (ACE), а политики оцениваются с помощью функций управления доступом на основе атрибутов SeAccessCheckWithSecurityAttributes или AuthzAccessCheck .
AppLocker предоставляет три способа перехвата и проверки того, разрешено ли выполнение файла в соответствии с политикой AppLocker.
Создается новый процесс
При запуске файла приложения создается новый процесс. В этом случае AppLocker вызывает компонент Application Identity для вычисления атрибутов исполняемого файла main, используемого для создания нового процесса. Затем он обновляет маркер нового процесса с помощью этих атрибутов и проверяет политику AppLocker, чтобы убедиться, что исполняемый файл разрешен к запуску.
Загружается библиотека DLL
При загрузке библиотеки DLL в AppLocker отправляется уведомление, чтобы убедиться, что библиотека DLL разрешена для загрузки. AppLocker вызывает компонент Application Identity для вычисления атрибутов файла. Он дублирует существующий маркер процесса и заменяет эти атрибуты удостоверения приложения в повторяемом маркере атрибутами загруженной библиотеки DLL. Затем AppLocker оценивает политику для этой библиотеки DLL, и повторяющийся маркер отбрасывается. В зависимости от результата этого проверка система продолжает загружать библиотеку DLL или останавливает процесс.
Скрипт выполняется
Перед запуском файла скрипта узел скриптов (например, PowerShell) вызывает AppLocker для проверки скрипта. AppLocker вызывает компонент Application Identity в пользовательском режиме с именем файла или дескриптором файла для вычисления свойств файла. Затем файл скрипта вычисляется по политике AppLocker, чтобы убедиться, что он должен выполняться. В каждом случае действия, выполняемые AppLocker, записываются в журнал событий.