For the best web experience, please use IE11+, Chrome, Firefox, or Safari

What is User Account Control (UAC)

User Account Control (UAC) is a security feature in Microsoft Windows that prevents unauthorized changes to the operating system. It stops programs from performing actions that require administrative privileges unless explicitly approved by an administrator.

User Account Control as an access control tool

UAC enforces security access control by running most programs with standard user privileges, even if the user is logged in as an administrator. When an application or action needs elevated privileges, UAC prompts the user for permission or an administrator's credentials.

By doing so, UAC adheres to the principle of least privilege: Applications should only be granted the minimum level of access necessary to perform their intended function. This reduces the risk of accidental or intentional execution of harmful actions, helping to maintain the integrity of the system.

How does User Account Control work?

To better understand how UAC works, let’s consider a simple example of installing a third-party program:

  1. The user downloads an installer file (e.g., setup.exe) for a third-party application and double-clicks it to begin the installation.
  2. UAC detects that the program requires administrator privileges to write to protected system directories, install drivers or make other system-level changes.
  3. A UAC elevation prompt appears on the screen to verify the user and ensure that no malicious code is executed on the system. This prompt dims the desktop background and displays a dialog box that contains:
    • The program's name and publisher (if available).
    • A description of the action being attempted.
    • The option to select "Yes" (allow the action) or "No" (deny the action).
  4. UAC acts based on the user selection.
    • If it’s a Yes, UAC grants the program temporary administrative privileges, which allows the installation to proceed.
    • If it’s a No, UAC blocks the action, which halts the installation.

The goal of this workflow is to make sure that no program can make system-level changes without explicit user consent. It prevents malware from silently installing itself or modifying critical system settings.

Customizing UAC through the registry

Administrators can also customize UAC behavior through the registry. The UAC registry keys are located at: HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System. Here are some things that can be changed:

  • ConsentPromptBehaviorAdmin: This value determines the prompt behavior for administrators. Possible values are:
    1. 0: Elevate without prompting (not recommended due to security risks).
    2. 2: Prompt for credentials on the secure desktop.
    3. 5: Prompt for consent for non-Windows binaries (the default configuration).
  • PromptOnSecureDesktop: This value controls whether the UAC prompt appears on the secure desktop (dimmed background). A value of 1 enables the secure desktop, while 0 disables it.
  • EnableLUA: This value controls whether all administrators are to be run in “admin approval mode” by default. Set 1 to enable this behavior, and 0 to disable it.
How does User Account Control work?

What are the key features of User Account Control?

Here are some handy features of UAC:

Token-based authentication

UAC uses strong token-based authentication . When an administrative user logs on, two access tokens are created: a standard user token and an administrator token. By default, the standard user token is used. When an action requiring administrative privileges is initiated, UAC prompts the user to enter their credentials to get the administrator token.

Privilege escalation prevention

Privilege escalation prevention is the core UAC function. It ensures that processes typically operate with the minimum privileges they need and only get elevated permissions when the user grants them.

Secure desktop

When a UAC prompt appears, the desktop is dimmed and becomes non-interactive except for the UAC dialog box. This layout is known as secure desktop and is meant to isolate the prompt from other applications, essentially preventing malware from spoofing the prompt.

Integration with Active Directory

In domain-joined environments, Group Policy can be used to manage UAC settings across multiple computers, enabling centralized control over UAC behavior, as part of active directory management and security. This allows administrators to enforce consistent security policies across the entire network.

Protection against drive-by downloads

As UAC requires user consent for installations and other system changes, it becomes more difficult for malicious code to be installed through drive-by downloads (unintentional downloads from compromised websites).

Why should you use UAC in cybersecurity?

Here's why you should leverage UAC as a cybersecurity feature:

  • It stops malicious programs and unauthorized users from altering system settings or files without permission.
  • Even if malware manages to execute, UAC's principle of least privilege (PoLP) limits the damage it can inflict, as it operates with standard user rights (unless elevated rights are explicitly granted).
  • It prevents even authorized users from making harmful changes unless explicitly allowed. This reduces accidental or intentional misuse.
  • Elevation prompts educate users about the potential risks associated with running programs with administrative privileges. This fosters better security practices.
  • UAC event logs can help identify suspicious activity, track privilege escalations and investigate security breaches.

How to enable UAC

User Account Control is enabled by default in most Windows systems. It's strongly recommended to keep it enabled to reduce your chances of compromise. However, if you find that UAC has been disabled on your system, you can re-enable it using the following steps:

  1. Search for "Control Panel" in the Windows search bar and select the app.
  2. Select "User Accounts".
  3. Click "Change User Account Control settings".
  4. A slider will appear with four levels of notification: “Always notify me”, Notify me only when apps try to make changes to my computer”, “Notify me only when programs try to make changes to my computer (do not dim my desktop)” and “Never notify (Disable UAC)”.
  5. Choose the desired notification level and save your changes.

Common issues and solutions with User Account Control

Finally, here are some common UAC issues and their solutions:

Frequent UAC prompts

Users are repeatedly prompted for administrative approval.

Solution: Adjust UAC settings in the Control Panel to reduce prompt frequency, or review and modify permissions for commonly used applications.

Applications failing to run

Certain programs fail to start or function due to insufficient privileges.

Solution: Right-click the application and select “Run as Administrator” to grant temporary elevated privileges.

Compatibility problems with legacy software

Older software is not functioning correctly under UAC restrictions.

Solution: Use compatibility mode or disable UAC temporarily for specific applications, but only if the software is trusted.

Administrator account still gets prompts

Even when logged in as an administrator, UAC prompts appear.

Solution: This is by design. UAC is meant to protect all users, including administrators, by enforcing the principle of least privilege.

Conclusion

UAC is a cornerstone of modern cybersecurity frameworks. It provides a crucial layer of defense against malware and unauthorized system changes by requiring explicit user consent for administrative actions. When combined with other security measures like antivirus software and firewalls, it forms a robust defense-in-depth strategy.

Get started now with Active Roles

Control AD and extend management and security to additional environments