Was ist User Account Control (UAC)?
Die Benutzerkontensteuerung (User Account Control, UAC) ist eine Sicherheitsfunktion des Windows-Betriebssystems, die dabei hilft, die Auswirkung von Schadsoftware zu verringern — keine „Security-Boundary“ im Microsoft-Verständnis (dazu später mehr). Jeder Windows-Nutzer hat irgendwann eine UAC-Eingabeaufforderung ausgelöst, damit eine Anwendung installiert oder eine Einstellung geändert werden kann, für die Administratorrechte erforderlich sind. Die Benutzerkontensteuerung fordert Benutzer per Popup-Fenster auf, eine bestimmte Installation oder andere Änderungen zu bestätigen.

Mit Windows Vista wurde die UAC-Eingabeaufforderung erstmals eingeführt, um die Sicherheitsherausforderungen des Vorgängers Windows XP besser lösen zu können. Bis auf einige visuelle Anpassungen unter Windows 10 hat sich die UAC-Eingabeaufforderung seitdem nicht wesentlich verändert.
Warum ist eine UAC-Eingabeaufforderung wichtig?
Beim Start einer Anwendung wird unter Windows ein Zugriffstoken erstellt. Dieses Token enthält Informationen zur Zugriffsebene und über die Windows-Berechtigungen einer Applikation. Das Prinzip hinter Windows UAC ist die Vergabe von zwei Token an den lokalen Administrator — ein Standardbenutzerzugriffstoken und ein Administratorzugriffstoken.
Zunächst wird nur das Standardtoken verwendet. Fordert eine Anwendung jedoch ausdrücklich ein Administratortoken an, wird automatisch eine UAC-Eingabeaufforderung angezeigt. Klickt der Benutzer in der UAC-Eingabeaufforderung auf „Ja“, um mit der Ausführung einer App fortzufahren, wird ein Administratortoken ausgestellt. Das Administratortoken ermöglicht dann die Ausführung der Anwendung mit einer höheren Berechtigungsstufe.
Ein Administratortoken verschafft „Zugriff auf alle Bereiche“, so dass Anwendungen auf einem System fast alles ausführen können. Wenn also eine Anwendung mit einem Administratortoken kompromittiert wird, kann ein Angreifer erheblichen Schaden anrichten.
Der zwischengeschaltete UAC-Schritt minimiert die Anzahl der Applikationen insgesamt, die mit erhöhten Rechten ausgeführt werden können. Die Benutzerkontensteuerung verringert außerdem das Risiko, dass ein Angreifer ein Administratortoken nutzt, ohne eine Genehmigung vom legitimen Nutzer einholen zu müssen.
Die meisten Anwendungen benötigen aber ohnehin keine Administratorrechte, um ausgeführt zu werden. Benutzer werden also nicht mit Popup-Meldungen zugeschüttet. Die Geschichte geht aber weiter…
UAC-Problem #1 – Der Nutzer ist immer noch lokaler Administrator
Als lokaler Admin steuert ein Benutzer durch einfaches Klicken, welche Apps sich per Administratortoken ausführen lassen. Im Rahmen einer Social-Engineering-Attacke muss ein Angreifer unvorsichtige Benutzer also nur dazu bewegen, ein Programm per Mausklick freizuschalten, um eine mit einem Namen wie „Windows Updater.exe“ als reguläre Software getarnte Malware mit allen Rechten auf einem fremden Rechner auszuführen.
Mit jeder genehmigten UAC-Eingabeaufforderung wächst auch die Gefahr, dass Benutzer irgendwann einfach automatisch auf „Ja“ klicken, um das Popup-Fenster möglichst schnell zu schließen. Ein „Nein“ führt nun einmal dazu, dass die gleiche Meldung immer wieder neu abgefragt wird. In der Vergangenheit haben sich beispielsweise die Angreifer der Lapsus$-Hackergruppe diesen Tatbestand zunutze gemacht und so mehrere Unternehmensnetze kompromittieren können.
Im schlimmsten Fall deaktiviert ein Benutzer mit lokalen Administratorrechten die Benutzerkontensteuerung komplett, indem er die Standardeinstellung von „Immer benachrichtigen“ auf „Nie benachrichtigen“ umstellt. Dann erfolgt keine Benachrichtigung, wenn Programme versuchen, Software zu installieren oder Änderungen am Computer vorzunehmen. Aus Sicherheitsgründen ist das nicht zu empfehlen.
Es ist ebenfalls nicht empfehlenswert, wenn UAC-Eingabeaufforderungen für den Endbenutzer nicht eindeutig sind. Das unten gewählte Beispiel einer unklaren UAC-Eingabeaufforderung verdeutlicht das Problem. Welche Änderungen sollen in der Microsoft Management Console durchgeführt werden — und zu welchem Zweck? Benutzer erfahren nichts über die Änderungen und wie weit sie sich auswirken. Möglicherweise wissen sie auch nichts mit einem „verifizierten Herausgeber“ anzufangen. Wahrscheinlich wollen viele Benutzer einfach nur eine bestimmte Aufgabe ausführen, und die UAC-Eingabeaufforderung stört diesen Ablauf.

UAC-Problem #2 – Die Benutzerkontensteuerung ist keine Security-Boundary
Wer nun zum Anfang des Artikels scrollt, um nachzulesen, ob ich mir selbst widersprochen habe: Ich habe zu Anfang geschrieben, dass die Benutzerkontensteuerung eine Sicherheitsfunktion ist — keine Security-Boundary. Microsoft formuliert es so: „Die Benutzerkontensteuerung (User Account Control, UAC) ist ein grundlegender Baustein der Gesamtsicherheitsvision von Microsoft.“ Zwar gibt es Stimmen, die UAC trotzdem als Sicherheitsbegrenzung sehen, aber technisch stimmt das nicht.
Immer wieder haben Sicherheitsforscher und Bedrohungsakteure in der Vergangenheit erfolgreiche Wege und Methoden gefunden, ihre Tools ohne Auslösen der UAC-Eingabeaufforderung auszuführen. Nach Meldung dieser Taktiken an das Bug-Bounty-Programm von Microsoft lautete die Standardantwort, dass „UAC keine Security-Boundary“ sei.
Microsoft möchte gar nicht, dass die eigenen Anwendungen übermäßig viele Popup-UAC-Eingabeaufforderungen generieren. Deshalb hat Microsoft einen Mechanismus entwickelt, dass „vertrauenswürdige Anwendungen“ die UAC-Eingabeaufforderung nicht auslösen. Aus Security-Sicht ist das ein Nachteil, denn dieser Mechanismus von „Trusted Applications“ kann auch dazu genutzt werden, die Benutzerkontensteuerung zu umgehen.
Da die Benutzerkontensteuerung nicht als Security-Boundary gilt, wird dieses Umgehen der Sicherheitsabfrage auch nicht als Bug registriert und gepatcht. Zum Zeitpunkt, als dieser Blogbeitrag verfasst wird, führt das UACME-Projekt (https://github.com/hfiref0x/UACME) 76 verschiedene Umgehungsmöglichkeiten für UAC-Eingabeaufforderungen auf. Viele dieser Umgehungstechniken werden aktiv in Malware verwendet, um Berechtigungen auf einem Windows-Endpunkt automatisch zu erhöhen. Noch deutlich mehr Umgehungstricks sind „in freier Wildbahn“ anzutreffen – die 76 Techniken auf der Liste sind einfach nur die beliebtesten Techniken.
UAC-Herausforderungen mit Endpoint Privilege Management lösen
Die oben beschriebenen UAC-Probleme 1 und 2 schaffen eine fatale Situation in Alltagssituationen, da Endanwender das Administratortoken benötigen, um Software oder Drucker installieren und Einstellungen ändern zu können. Entfernt man die Administratorrechte, sind die Endbenutzer zwar sicherer, aber auch weniger produktiv. Im schlimmsten Fall verbringen sie den ganzen Tag damit, Supportanfragen zu stellen. Verfügen sie andererseits über lokale Administratorrechte, könnten Bedrohungsakteure den UAC-Sicherheitsmechanismus umgehen und mit erhöhten Benutzerrechten viel Schaden anrichten.
Moderne Endpoint Privilege Management-Tools wie BeyondTrusts Privilege Management für Windows meistern diese Herausforderungen auf effektive Weise. Die BeyondTrust-Lösung ermöglicht es Ihnen, allen Benutzern sofort lokale Administratorrechte zu entziehen, was die Angriffsfläche insgesamt deutlich reduziert. Privilege Management für Windows ersetzt die UAC-Eingabeaufforderung oder -anfragen zur Erhöhung der Nutzerprivilegien. Stattdessen werden die Benutzerrechte für Anwendungen richtlinienkonform und aufgabenbasiert jedem Mitarbeiter zugewiesen.
Bekannte und vertrauenswürdige Anwendungen können über einfache Richtlinien oder vorkonfigurierte Vorlagen grundsätzlich freigeschaltet werden. Ohne Eingabeaufforderung können Benutzer diese Apps direkt starten. Bei unbekannten Anwendungen oder Aufgaben können Mitarbeiter eine Freischaltung anfordern, die nach Prüfung der Applikation und des Herausgebers bereitgestellt wird. Außerdem lässt sich eine zusätzliche Sicherheitsstufe per Multifaktor-Authentifikation integrieren, um App und Nutzer eindeutig zu identifizieren.
Privilege Management für Windows verfügt über Quick Start Templates, mit denen Organisationen vom ersten Tag an Least-Privilege-Vorgaben zur Risikominimierung durchsetzen können. Darüber hinaus lassen sich die Berechtigungen auch granular mit benutzerdefinierten Zugriffstoken zuweisen, damit Mitarbeiter nur über diejenigen Benutzerrechte verfügen, die sie zur Erledigung ihrer Aufgaben auch tatsächlich benötigen.
Setzen Sie sich nicht unnötigen Risiken durch zu weit gefasste Nutzerprivilegien aus, aber bremsen Sie auch nicht die Produktivität ihrer Mitarbeiter. Entscheidend ist die richtige Balance zwischen Sicherheits- und Produktivitätsanforderungen. Mit den Best-Practice-Empfehlungen für die Implementierung der Benutzerkontensteuerung verhindern Sie, dass Angreifer privilegierten Zugriff auf sensible IT-Systeme bekommen.
“BeyondTrust bietet die beste Lösung, um die richtige Balance zwischen Sicherheit und Benutzerfreundlichkeit unter Windows zu schaffen.”
Microsoft Vulnerabilities Report 2022
Erfahren Sie mehr über BeyondTrust Endpoint Privilege Management oder nehmen Sie direkten Kontakt mit uns auf.
