Considerações de segurança para o AppLocker

Este artigo para o profissional de TI descreve as considerações de segurança que você precisa abordar ao implementar o AppLocker.

O AppLocker ajuda a restringir o acesso ao software para usuários ou grupos específicos de usuários. Veja a seguir considerações de segurança para AppLocker:

O AppLocker é implantado em uma empresa e administrado centralmente por esses recursos em TI com credenciais confiáveis. Esse sistema torna sua criação e implantação de políticas em conformidade com processos de implantação de políticas e restrições de segurança semelhantes.

As políticas do AppLocker são distribuídas por processos conhecidos e por meios conhecidos dentro do domínio por meio de Política de Grupo. Mas as políticas do AppLocker também podem ser definidas em computadores individuais se a pessoa tiver privilégios de administrador, e essas políticas podem ser contrárias à política de segurança escrita da organização. As configurações de modo de imposição das políticas do AppLocker distribuídas por meio de GPO (objetos de Política de Grupo) têm precedência sobre políticas locais. No entanto, como as regras do AppLocker são aditivas, as regras de uma política local são mescladas com regras de todos os GPOs aplicados ao computador.

A Microsoft não fornece uma maneira de desenvolver quaisquer extensões para o AppLocker. As interfaces não são públicas. Um usuário com credenciais de administrador pode automatizar alguns processos do AppLocker usando cmdlets Windows PowerShell. Para obter informações sobre os cmdlets Windows PowerShell para AppLocker, consulte os Cmdlets appLocker no Windows PowerShell.

O AppLocker é executado no contexto de Administrador ou LocalSystem, que é o conjunto de privilégios mais alto. Esse contexto de segurança tem o potencial de uso indevido. Como as regras do AppLocker são aditivas, todas as regras de política local são aplicadas a esse computador junto com qualquer GPOs. Se o computador local não for associado a um domínio ou controlado por Política de Grupo, uma pessoa com credenciais administrativas poderá controlar totalmente a política AppLocker.

As regras de caminho do AppLocker não substituem as ACLs (listas de controle de acesso). Você deve continuar a usar ACLs para restringir o acesso a arquivos de acordo com sua política de segurança.

Você não pode usar o AppLocker para impedir que o código seja executado fora do subsistema Win32. Por exemplo, ele não pode controlar o código em execução no Subsistema do Windows para Linux. Se for um requisito para impedir que os aplicativos sejam executados no subsistema linux, você deve desabilitar o subsistema. Ou você pode bloquear o Subsistema do Windows para Linux bloqueando LxssManager.dll.

O AppLocker só pode controlar arquivos VBScript, JScript, .bat, arquivos .cmd e Windows PowerShell scripts. Ele não controla todos os códigos interpretados que são executados em um processo de host, por exemplo, scripts e macros perl. O código interpretado é uma forma de código executável que é executado em um processo de host. Por exemplo, os arquivos em lote do Windows (*.bat) são executados no contexto do Host de Comando do Windows (cmd.exe). Para controlar o código interpretado usando o AppLocker, o processo de host deve chamar AppLocker antes de executar o código interpretado e, em seguida, impor a decisão retornada pelo AppLocker. Nem todos os processos de host chamam o AppLocker e, portanto, o AppLocker não pode controlar todos os tipos de código interpretados, como macros do Microsoft Office.

Importante

Você deve configurar as configurações de segurança apropriadas desses processos de host se precisar permitir que eles sejam executados. Por exemplo, configure as configurações de segurança no Microsoft Office para garantir que apenas macros assinadas e confiáveis sejam carregadas.

As regras do AppLocker permitem ou bloqueiam a execução do arquivo de aplicativo. O AppLocker não controla o comportamento dos aplicativos depois que eles são iniciados. Os aplicativos podem conter sinalizadores passados para funções que sinalizam o AppLocker para burlar as regras e permitir que outra .exe ou .dll sejam carregadas. Na prática, um aplicativo permitido poderia usar esses sinalizadores para ignorar as regras do AppLocker e iniciar processos filho. Você deve examinar minuciosamente cada aplicativo antes de permitir que eles sejam executados usando regras do AppLocker.

Observação

Dois sinalizadores que ilustram essa condição são SANDBOX_INERT, que podem ser passados para CreateRestrictedToken, e LOAD_IGNORE_CODE_AUTHZ_LEVEL, que podem ser passados para LoadLibraryEx. Ambos os sinalizadores sinalizam o AppLocker para burlar as regras e permitir que uma .exe ou .dll filho seja carregada.