O que é UAC?

Olá Pessoal!

Este posto foi escrito como parte de uma ação conjunta do grupo MTI, onde o objetivo é compartilhar artigos simples, nível 100. Aproveitem!

logomti_v1color

User Access Control, ou UAC, é um modelo de execução baseado em permissionamento presente em todas as versões do Windows a partir do Vista, que auxilia a prevenção de ações não autorizadas, como por exemplo execução de malwares. No contexto do UAC, todas as aplicações iniciadas no sistema operacional são executadas no modelo de permissionamento padrão, sem privilégios administrativos e acesso ao sistema. Uma vez que uma aplicação necessita execução com provilégios administrativos, o usuário administrador deve autorizar este acesso, através daquela famosa tela de confirmação vista abaixo:

UAC

Desta forma, o UAC bloqueia a instalação de softwares não autorizados, bem como evita alterações não solicitadas nas configurações do sistema.

Como funciona…

Quando um usuário se autentica no Windows, a sessão criada automaticamente recebe um TOKEN DE ACESSO, com base nos privilégios do usuário autenticado. Este token de acesso contém informações sobre o nível de acesso que o usuário possui, incluindo privilégios e identifiers (SIDs).

Quando um usuário administrator autentica em uma estação, são criados 2 tokens de acesso diferentes: Um token padrão e um token com provilégio administrativo. O token padrão, também chamado de standard, é utilizado para iniciar qualquer aplicação que não necessite de privilégios especiais, entre estas, o próprio Explorer. O UAC permite então que execuções de novos aplicativos “herdem” permissões do processo que originou a chamada, garantindo assim que o mesmo seja executado no mesmo contexto de segurança que o processo pai, ou que permissões adicionais sejam solicitadas ao administrador para execução com maiores privilégios, através do “Secure Desktop”, visto logo abaixo.

Ao executar um aplicativo a partir do explorer utilizando a opção de 2 clicks, o aplicativo executado herda o token de permissionamento padrão do Explorer. Caso a aplicação execute ações que demandem privilégios administrativos, o administrador da máquina deverá autorizar a troca de contexto para execução privilegiada através do secure desktop, provendo credenciais administrativas, caso a conta em execução não possua este privilégio:

uac2

Caso o token administrativo exista, o administrator deve apenas autorizar a troca de contexto para execução.

Icone de Escudo…

Para determinadas funções, um usuário pode utilizar o token standard para visualização, mas para alteração é necessário trocar o contexto para utilizar o token administrativo. Neste tipo de cenário, o Windows exibe o ícone do escudo, confirme abaixo:

uac 3

Token stardard: Visualizar hora

Token administrativo; Alterar hora

 

Secure Desktop e user Desktop

 

O desktop padrão não possui privilégio administrativo, sendo que, para que haja elevação de privilégio de determinada aplicação, o Windows solicita esta permissão dentro do contexto de “SECURE DESKTOP”, evitando assim que malwares tomem ações neste novo contexto. Por esta razão, durante uma sessão de acesso remoto via LMI por exemplo, é necessário fornecer os privilégios administrativos para execução do aplicativo, o que não pode ser feito pelo acesso remoto, por se tratarem de contextos diferentes (Secure Desktop e Interactive Desktop). Exemplo de secure desktop:

 

 

Configurações via GPO ou Registro

 

É possível configurar os parametros do UAC automaticamente via GPO, ou diretamente no registro do Windows.

 

As configurações de GPO podem ser feitas no seguinte caminho:

Security Settings\Local Policies\Security Options

As configurações de registro podem ser alteradas no seguinte caminho:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System

Segue aqui uma lista dos parametros possíveis:

 

Registry key Group Policy setting Registry setting
FilterAdministratorToken User Account Control: Admin Approval Mode for the built-in Administrator account 0 (Default) = Disabled

1 = Enabled

EnableUIADesktopToggle User Account Control: Allow UIAccess applications to prompt for elevation without using the secure desktop 0 (Default) = Disabled

1 = Enabled

ConsentPromptBehaviorAdmin User Account Control: Behavior of the elevation prompt for administrators in Admin Approval Mode 0 = Elevate without prompting

1 = Prompt for credentials on the secure desktop

2 = Prompt for consent on the secure desktop

3 = Prompt for credentials

4 = Prompt for consent

5 (Default) = Prompt for consent for non-Windows binaries

ConsentPromptBehaviorUser User Account Control: Behavior of the elevation prompt for standard users 0 = Automatically deny elevation requests

1 = Prompt for credentials on the secure desktop

3 (Default) = Prompt for credentials

EnableInstallerDetection User Account Control: Detect application installations and prompt for elevation 1 = Enabled (default for home)

0 = Disabled (default for enterprise)

ValidateAdminCodeSignatures User Account Control: Only elevate executables that are signed and validated 0 (Default) = Disabled

1 = Enabled

EnableSecureUIAPaths User Account Control: Only elevate UIAccess applications that are installed in secure locations 0 = Disabled

1 (Default) = Enabled

EnableLUA User Account Control: Run all administrators in Admin Approval Mode 0 = Disabled

1 (Default) = Enabled

PromptOnSecureDesktop User Account Control: Switch to the secure desktop when prompting for elevation 0 = Disabled

1 (Default) = Enabled

EnableVirtualization User Account Control: Virtualize file and registry write failures to per-user locations 0 = Disabled

1 (Default) = Enabled

 

Referencias:

https://technet.microsoft.com/itpro/windows/keep-secure/how-user-account-control-works#virtualization

https://technet.microsoft.com/itpro/windows/keep-secure/user-account-control-group-policy-and-registry-key-settings

 

 

 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s