User Access Control (UAC)

Die Benutzerkontensteuerung unterbricht die Ausführung von Skripten und Binärdateien, die Malware oder Angreifer ausführen, bis der Benutzer die Ausführung bestätigt

Screenshot der Benutzerkontensteuerung
itger.de\HASCii Screenshot UAC

Benutzerkontensteuerung

Die Benutzerkontensteuerung ist eine Windows-Sicherheitsfunktion, die verhindern soll, dass Malware ausgeführt oder Prozesse manipuliert werden, die das System oder dessen Hardware beschädigen könnten. In der UCA gibt es den Admin Approval Mode (Admin-Zustimmungsmodus), der verhindern soll, dass unerwünschte Software ohne Wissen des Administrators installiert wird oder systemweite Änderungen vorgenommen werden. Wir kennen das aufploppende Fenster, wenn wir eine Anwendung starten wollen, die Administratorberechtigung benötigt. Wenn wir uns mit einem Standardbenutzer angemeldet haben, werden wir von der UAC nach dem Administratorkennwort gefragt. Die Zustimmungsaufforderung unterbricht die Ausführung von Skripten und Binärdateien, die Malware oder Angreifer ausführen, bis der Benutzer die Ausführung bestätigt.
Um zu verstehen wie die Benutzerkontensteuerung funktioniert, müssen wir wissen, wie sie aufgebaut ist und was die Zustimmungsaufforderung auslöst.

Das folgende Diagramm veranschaulicht die Funktionsweise der Benutzerkontensteuerung:

Diagramm über den Ablauf der Benutzerkontensteuerung.
Benutzerkontensteuerung Ablaufplan

Wir wissen jetzt, dass jede Anwendung die einen Administratorzugriffstoken für ihre Ausführung benötigt, um Zustimmung des Administrators bittet. Ausnahmen bilden die Beziehungen zwischen Parent- und Child-Prozessen. Child-Prozesse erben den Zugriffstoken des Benutzers vom übergeordneten Prozess. Der übergeordnete und der Child-Prozess müssen allerdings die selbe Integritätsstufe (Integrity Level) haben. Windows verwendet diese Integritätsstufen, um die Vertrauenswürdigkeit von Anwendungen und Prozessen zu bewerten. Sie ist eine Sicherheitsfunktion, um zu verhindern, dass höher privilegierte Anwendungen oder Prozesse von weniger previligierten manipuliert werden können.

Dabei ordnet Windows das Integrity Level in Form von Labels den Anwendungen und Prozessen zu. Sie geben in vier Stufen an, um welches Integrity Level es sich handelt. Von höchster Stufe zur niedrigsten sind es: System, High, Medium und Low. Die Privelegierteren Prozesse und Anwendungen haben mehr Zugrifsrechte, als  Low gelabelte.

Systemprozesse haben beispielsweise höhere Zugriffsrechte als Benutzerprozesse. Normalerweise wird das Integrity Level automatisch von Windows vergeben. Es kann aber auch manuell geändert werden, um Zugriffsrechte zu gewähren oder zu beschränken.
Eine Anwendung zur Partitionierung von Datenträgern, modifiziert Systemdaten und ist ein Beispiel für ein Integrity Level High. Während Webbrowser, die bekanntlich unser System potenziell kompromittieren könnten, auf dem Integrety Level Low laufen.

Wenn wir als Standardbenutzer eine Anwendung ausführen wollen, die einen Administratorzugriffstoken erfordert, fragt die UAC nach gültigen Administratoranmeldeinformationen. Wir schauen uns zum besseren Verständniss den Ablauf eines Windows-Anmeldevorgangs an.

Anmeldevorgang

Schauen wir uns die Unterschiede der Anmeldevorgänge zwischen Administratoren und Standardbenutzern an.

Den Zugriff auf Ressourcen und die Ausführung von Apps führen wir im Sicherheitskontext des Standardbenutzers aus, egal ob als Administrator oder Standardbenutzer angemeldet. Wenn wir uns an einem Computer anmelden, erstellt das System einen Zugriffstoken für unseren Benutzer. Das Zugriffstoken enthält Informationen über das Integraty Level, dass dem Benutzer gewährt wird. Einschließlich spezifischer SIDs und Windows-Privilegien.

Wenn wir uns als Administrator anmelden, werden zwei seperate Zugriffstoken für  unseren Benutzer erstellt. Ein Standardbenutzer-Zugriffstoken und ein Administrator-Zugriffstoken. Das Standardbenutzer-Zugriffstoken enthält die selben benutzerspezifischen Informationen wie das Administrator-Zugriffstoken. Die administrativen Windows-Privilegien und SIDs werden allerdings entfernt. Das Standardbenutzer-Zugrifstoken verwenden wir um Apps zu starten, die keine administrativen Aufgaben ausführen, auch Standardbenutzer-Apps genannt. Selber Token wird auch verwendet, um den Desktop (explorer.exe) anzuzeigen. Die Explorer.exe ist der übergeordnete Prozess, von dem alle anderen vom Benutzer initiierten Prozesse ihr Zugriffstoken erben. Dadurch werden alle Apps als Standardbenutzer ausgeführt.
Es sei denn, wir genehmigen durch unsere Zustimmung oder Anmeldeinformationen die Ausführung einer App mit einem vollständigen administrativen Zugriffstoken.

Unser Benutzer als Mitglied der Gruppe "Administratoren" kann sich anmelden, im Internet surfen und E-Mails lesen, während wir einen Standardbenutzer-Zugriffstoken verwenden. Wenn wir als Administrator:in eine Aufgabe ausführen müssen, die das Administrator-Zugriffstoken benötigt, fordert Windows automatisch die Zustimmung von uns an. Diese Aufforderung wird als Elevation Prompt bezeichnet. Ihr Verhalten können wir mit dem "Local Security Policy" -Snap-In (Secpol.msc) oder der Gruppenrichtlinie konfigurieren.


Danke für die Aufmerksamkeit
- itger.de\HASCii