Compartir a través de


Componentes y arquitectura de AppLocker

En este artículo para profesionales de TI se describe la arquitectura básica de AppLocker y sus componentes principales.

AppLocker usa el servicio Application Identity para proporcionar atributos para un archivo y evaluar la directiva de AppLocker para el archivo. Las directivas de AppLocker son entradas de control de acceso condicional (ACE) y las directivas se evalúan mediante las funciones SeAccessCheckWithSecurityAttributes o AuthzAccessCheck del control de acceso basado en atributos.

AppLocker proporciona tres maneras de interceptar y validar si un archivo puede ejecutarse según una directiva de AppLocker.

Se crea un nuevo proceso

Cuando se ejecuta un archivo de aplicación, se crea un nuevo proceso. Cuando esto sucede, AppLocker llama al componente Application Identity para calcular los atributos del archivo ejecutable principal que se usa para crear un nuevo proceso. A continuación, actualiza el token del nuevo proceso con estos atributos y comprueba la directiva de AppLocker para comprobar que el archivo ejecutable puede ejecutarse.

Se carga un archivo DLL

Cuando se carga un archivo DLL, se envía una notificación a AppLocker para comprobar que el archivo DLL puede cargarse. AppLocker llama al componente Application Identity para calcular los atributos de archivo. Duplica el token de proceso existente y reemplaza esos atributos de identidad de aplicación en el token duplicado por atributos del archivo DLL cargado. A continuación, AppLocker evalúa la directiva de este archivo DLL y se descarta el token duplicado. En función del resultado de esta comprobación, el sistema continúa cargando el archivo DLL o detiene el proceso.

Se ejecuta un script

Antes de ejecutar un archivo de script, el host de script (por ejemplo, PowerShell) llama a AppLocker para comprobar el script. AppLocker llama al componente Application Identity en modo de usuario con el nombre de archivo o el identificador de archivo para calcular las propiedades del archivo. A continuación, el archivo de script se evalúa con respecto a la directiva de AppLocker para comprobar que debe ejecutarse. En cada caso, las acciones realizadas por AppLocker se escriben en el registro de eventos.