Arquitetura e componentes do AppLocker
Este artigo para profissionais de TI descreve a arquitetura básica do AppLocker e os seus principais componentes.
O AppLocker utiliza o serviço Identidade da Aplicação para fornecer atributos para um ficheiro e avaliar a política do AppLocker para o ficheiro. As políticas do AppLocker são entradas de controlo de acesso condicional (ACEs) e as políticas são avaliadas através do controlo de acesso baseado em atributos SeAccessCheckWithSecurityAttributes ou das funções AuthzAccessCheck .
O AppLocker fornece três formas de intercetar e validar se um ficheiro tem permissão para ser executado de acordo com uma política do AppLocker.
É criado um novo processo
Quando um ficheiro de aplicação é executado, é criado um novo processo. Quando isso acontece, o AppLocker chama o componente Identidade da Aplicação para calcular os atributos do main ficheiro executável utilizado para criar um novo processo. Em seguida, atualiza o token do novo processo com estes atributos e verifica a política do AppLocker para verificar se o ficheiro executável tem permissão para ser executado.
É carregada uma DLL
Quando uma DLL é carregada, é enviada uma notificação para o AppLocker para verificar se a DLL tem permissão para carregar. O AppLocker chama o componente Identidade da Aplicação para calcular os atributos de ficheiro. Duplica o token de processo existente e substitui esses atributos da Identidade da Aplicação no token duplicado por atributos da DLL carregada. Em seguida, o AppLocker avalia a política para esta DLL e o token duplicado é eliminado. Consoante o resultado deste marcar, o sistema continua a carregar a DLL ou para o processo.
É executado um script
Antes de um ficheiro de script ser executado, o anfitrião de scripts (por exemplo, PowerShell) chama o AppLocker para verificar o script. O AppLocker chama o componente Identidade da Aplicação no modo de utilizador com o nome de ficheiro ou a alça de ficheiro para calcular as propriedades do ficheiro. Em seguida, o ficheiro de script é avaliado em relação à política appLocker para verificar se deve ser executado. Em cada caso, as ações executadas pelo AppLocker são escritas no registo de eventos.