Funktionsweise der Benutzerkontensteuerung

Die Benutzerkontensteuerung (User Account Control, UAC) ist ein grundlegender Baustein der Gesamtsicherheitsvision von Microsoft. UAC hilft dabei, die Auswirkung von Schadsoftware zu verringern.

UAC-Prozess und -Interaktionen

Jede App, für die das Administratorzugriffstoken erforderlich ist, muss die Zustimmung anfordern. Die eine Ausnahme besteht in der Beziehung zwischen übergeordneten und untergeordneten Prozessen. Untergeordnete Prozesse erben das Zugriffstoken des Benutzers vom übergeordneten Prozess. Sowohl die übergeordneten als auch die untergeordneten Prozesse müssen jedoch die gleiche Integritätsstufe aufweisen. Windows 10 schützt Prozesse, indem ihre Integritätsstufen markiert werden. Bei Integritätsstufen handelt es sich um das Maß des Vertrauens. Eine Anwendung mit „hoher“ Integrität führt Aufgaben aus, die Systemdaten ändern, beispielsweise eine Anwendung für die Datenträgerpartitionierung. Demgegenüber führt eine Anwendung mit „niedriger“ Integrität Aufgaben aus, die das Betriebssystem potenziell gefährden könnten, beispielsweise ein Webbrowser. Apps mit niedrigen Integritätsstufen können in Anwendungen mit höheren Integritätsstufen keine Daten ändern. Wenn ein Standardbenutzer versucht, eine App auszuführen, für die ein Administratorzugriffstoken erforderlich ist, erfordert UAC, dass der Benutzer gültige Administratoranmeldeinformationen angibt.

Um besser nachvollziehen zu können, wie dieser Prozess erfolgt, schauen wir uns den Windows-Anmeldeprozess an.

Anmeldeprozess

Im Folgenden wird gezeigt, wie sich der Anmeldeprozess für einen Administrator vom Anmeldeprozess für einen Standardbenutzer unterscheidet.

UAC-Windows-Anmeldeprozess

Standardmäßig können Standardbenutzer und Administratoren auf Ressourcen zugreifen und Apps im Sicherheitskontext von Standardbenutzern ausführen. Wenn sich ein Benutzer an einem Computer anmeldet, erstellt das System einen Zugriffstoken für diesen Benutzer. Das Zugriffstoken enthält Informationen über die Zugriffsebene, die dem Benutzer gewährt wird. Dazu zählen spezifische Sicherheits-IDs (SIDs) und Windows-Berechtigungen.

Wenn sich ein Administrator anmeldet, werden für den Benutzer zwei getrennte Zugriffstoken erstellt: ein Standardbenutzer-Zugriffstoken und ein Administratorzugriffstoken. Das Standardbenutzer-Zugriffstoken enthält dieselben benutzerspezifischen Informationen wie das Administratorzugriffstoken, die Windows-Administratorberechtigungen und SIDs wurden hierbei jedoch entfernt. Das Standardbenutzer-Zugriffstoken wird verwendet, um Apps zu starten, die keine Verwaltungsaufgaben (Apps für Standardbenutzer) ausführen. Das Standardbenutzer-Zugriffstoken wird anschließend verwendet, um den Desktop („explorer.exe“) anzuzeigen. Bei „Explorer.exe“ handelt es sich um den übergeordneten Prozess, über den alle anderen vom Benutzer initiierten Prozesse ihr jeweiliges Zugriffstoken erben. Daher werden alle Apps als ein Standardbenutzer ausgeführt, es sei denn, ein Benutzer erteilt die Zustimmung oder gibt die Anmeldinformationen an, um zu genehmigen, dass eine App ein vollständiges Verwaltungszugriffstoken verwendet.

Ein Benutzer, der ein Mitglied der Gruppe „Administratoren“ ist, kann sich anmelden, im Web surfen und E-Mails lesen, während er ein Standardbenutzer-Zugriffstoken verwendet. Wenn der Administrator eine Aufgabe ausführen muss, für die das Administratorzugriffstoken erforderlich ist, fordert Windows 10 den Benutzer automatisch auf, die Genehmigung zu erteilen. Dieser Eingabeaufforderung wird als eine Eingabeaufforderung für erhöhte Rechte bezeichnet, und ihr Verhalten kann mithilfe des Snap-Ins „Lokale Sicherheitsrichtlinie“ („Secpol.msc“) oder mit „Gruppenrichtlinie“ konfiguriert werden. Weitere Informationen finden Sie in den Sicherheitsrichtlinieneinstellungen für die Benutzerkontensteuerung.

Die UAC-Benutzeroberfläche

Wenn UAC aktiviert ist, unterscheidet sich die Benutzeroberfläche für Standardbenutzer von der für Administratoren im Administratorgenehmigungsmodus. Die empfohlene und sicherere Methode der Ausführung von Windows 10 besteht darin, Ihr primäres Benutzerkonto in ein Standardbenutzerkonto umzuwandeln. Die Ausführung als ein Standardbenutzer hilft dabei, die Sicherheit für eine verwaltete Umgebung zu maximieren. Mit der integrierten UAC-Komponente für erhöhte Rechte können Standardbenutzer einfach eine Verwaltungsaufgabe ausführen, indem sie die gültigen Anmeldeinformationen für ein lokales Administratorkonto eingeben. Bei der standardmäßigen integrierten UAC-Komponente für erhöhte Rechte für Standardbenutzer handelt es sich um die Administratoranmeldeaufforderung.

Die Alternative zur Ausführung als ein Standardbenutzer besteht in der Ausführung als ein Administrator im Administratorgenehmigungsmodus. Mithilfe der integrierten UAC-Komponente für erhöhte Rechte können Mitglieder der lokalen Administratorgruppe einfach eine Verwaltungsaufgabe ausführen, indem Sie die Genehmigung bereitstellen. Die standardmäßige integrierte UAC-Komponente für erhöhte Rechte für ein Administratorkonto im Administratorgenehmigungsmodus wird als Zustimmungsaufforderung bezeichnet.

Die Zustimmungsaufforderungen und Administratoranmeldeaufforderungen

Bei aktivierter UAC fordert Windows 10 auf, Zustimmungsaufforderungen und Administratoranmeldeaufforderungen für Anmeldungen eines gültigen lokalen Administratorkontos zu erteilen, bevor Programme oder Aufgaben gestartet werden, für die ein vollständiges Administratorzugriffstoken erforderlich ist. Durch diese Aufforderung wird sichergestellt, dass keine Schadsoftware automatisch installiert wird.

Die Zustimmungsaufforderung

Die Zustimmungsaufforderung wird angezeigt, wenn ein Benutzer versucht, eine Aufgabe auszuführen, für die das Verwaltungszugriffstoken eines Benutzers erforderlich ist. Im Folgenden finden Sie ein Beispiel einer UAC-Zustimmungsaufforderung.

UAC-Zustimmungsaufforderung

Die Administratoranmeldeaufforderung

Die Administratoranmeldeaufforderung wird angezeigt, wenn ein Standardbenutzer versucht, eine Aufgabe auszuführen, für die das Verwaltungszugriffstoken eines Benutzers erforderlich ist. Administratoren können ebenfalls aufgefordert werden, ihre Anmeldeinformationen anzugeben, indem der Richtlinieneinstellungswert Benutzerkontensteuerung: Verhalten der Eingabeaufforderung für erhöhte Rechte für Administratoren im Administratorgenehmigungsmodus auf Eingabeaufforderung zu Anmeldeinformationen festgelegt wird.

Im Folgenden finden Sie ein Beispiel einer UAC-Administratoranmeldeaufforderung.

UAC-Administratoranmeldeaufforderung

UAC-Eingabeaufforderung für erhöhte Rechte

Die UAC-Eingabeaufforderungen für erhöhte Rechte sind farbkodiert und somit für jede App spezifisch, wodurch ein potenzielles Sicherheitsrisiko einer Anwendung sofort ermittelt werden kann. Wenn eine App mit dem vollständigen Zugriffstoken eines Administrators ausgeführt werden soll, analysiert Windows 10 zunächst die ausführbare Datei, um ihren Herausgeber zu bestimmen. Apps werden zunächst anhand des Dateiherausgebers in drei Kategorien unterteilt: Windows 10-, vom Herausgeber überprüfte (signierte) und nicht vom Herausgeber überprüfte (nicht signierte) Apps. Im folgenden Diagramm wird veranschaulicht, wie Windows 10 bestimmt, welche farbige Eingabeaufforderung für erhöhte Rechte dem Benutzer angezeigt wird.

Die Farbkodierung für die Eingabeaufforderung für erhöhte Rechte lautet wie folgt:

  • Roter Hintergrund mit einem roten Schildsymbol: Die App wird durch „Gruppenrichtlinie“ blockiert oder stammt von einem blockierten Herausgeber.

  • Blauer Hintergrund mit einem blauen und goldenen Schildsymbol: Bei der Anwendung handelt es sich um eine Windows 10-Verwaltungs-App, beispielsweise ein Systemsteuerungselement.

  • Blauer Hintergrund mit einem blauen Schildsymbol: Die Anwendung wurde mithilfe von Authenticode signiert, und ihr wird durch den lokalen Computer vertraut.

  • Gelber Hintergrund mit einem gelben Schildsymbol: Die Anwendung ist nicht signiert oder signiert, ihr wird jedoch durch den lokalen Computer nicht vertraut.

Schildsymbol

Einige Systemsteuerungselemente, beispielsweise Datums- und Uhrzeiteigenschaften, enthalten eine Kombination aus Administrator- und Standardbenutzervorgängen. Standardbenutzer können die Uhr anzeigen und die Zeitzone ändern. Zum Ändern der lokalen Systemzeit ist jedoch ein vollständiges Administratorzugriffstoken erforderlich. Im Folgenden finden Sie einen Screenshot des Systemsteuerungselements Datums- und Uhrzeiteigenschaften.

UAC-Schildsymbol

Das Schildsymbol auf der Schaltfläche Datums- und Uhrzeiteigenschaften zeigt an, dass für den Prozess ein vollständiges Administratorzugriffstoken erforderlich ist, und sie zeigt eine UAC-Eingabeaufforderung für erhöhte Rechte an.

Sichern der Eingabeaufforderung für erhöhte Rechte

Der Rechteerweiterungsprozess wird weiter gesichert, indem die Eingabeaufforderung an den sicheren Desktop weitergeleitet wird. Die Zustimmungsaufforderungen und Administratoranmeldeaufforderungen werden in Windows 10 standardmäßig auf dem sicheren Desktop angezeigt. Nur Windows-Prozesse können auf den sicheren Desktop zugreifen. Für ein höheres Maß an Sicherheit sollten Sie die Richtlinieneinstellung Benutzerkontensteuerung: Bei Benutzeraufforderung nach erhöhten Rechten zum sicheren Desktop wechseln aktiviert lassen.

Wenn eine ausführbare Datei eine Rechteerweiterung erfordert, wechselt der interaktive Desktop, der auch als Benutzerdesktop bezeichnet wird, zum sicheren Desktop. Der sichere Desktop blendet den Benutzerdesktop ab und zeigt eine Eingabeaufforderung für erhöhte Rechte an, die beantwortet werden muss, bevor der Vorgang fortgesetzt werden kann. Wenn der Benutzer auf Ja oder Nein klickt, wechselt der Desktop zurück zum Benutzerdesktop.

Schadsoftware kann den sicheren Desktop nachahmen. Wenn die Richtlinieneinstellung Benutzerkontensteuerung: Verhalten der Eingabeaufforderung für erhöhte Rechte für Administratoren im Administratorgenehmigungsmodus jedoch auf Eingabeaufforderung zur Zustimmung festgelegt ist, erhält die Schadsoftware keine Rechteerweiterung, wenn der Benutzer in der Nachahmung auf Ja klickt. Wenn die Richtlinieneinstellung auf Eingabeaufforderung zur Zustimmung festgelegt ist, ist die die Administratoranmeldeaufforderung nachahmende Schadsoftware möglicherweise in der Lage, die Anmeldeinformationen vom Benutzer zu erfassen. Die Schadsoftware erhält jedoch keine erhöhten Rechte, und das System weist andere Schutzmechanismen auf, die verhindern, dass die Schadsoftware die Steuerung der Benutzeroberfläche übernimmt, selbst wenn das Kennwort abgeleitet wird.

Auch wenn Schadsoftware den sicheren Desktop nachahmen kann, kann dieses Problem nicht auftreten, es sei denn, ein Benutzer hat die Schadsoftware bereits zuvor auf dem PC installiert. Da Prozesse, für die ein Administratorzugriffstoken erforderlich ist, nicht automatisch installiert werden können, wenn UAC aktiviert ist, muss der Benutzer explizit seine Zustimmung geben, indem er auf Ja klickt oder die Administratoranmeldeinformationen eingibt. Die spezifische Verhaltensweise der UAC-Eingabeaufforderung für erhöhte Rechte hängt von „Gruppenrichtlinie“ ab.

UAC-Architektur

Im folgenden Diagramm wird die UAC-Architektur ausführlich beschrieben.

UAC-Architektur

Lesen Sie die folgende Tabelle, um jede Komponente besser zu verstehen:

Komponente

Benutzer

Benutzer führt einen Vorgang aus, für den eine Berechtigung erforderlich ist

ShellExecute

CreateProcess

System

Anwendungsinformationsdienst

Erhöhen einer ActiveX-Installation

Überprüfen der UAC-Schiebereglerstufe

Aktivierter sicherer Desktop

CreateProcess

AppCompat

Fusion

Installationserkennung

Kernel

Virtualisierung

Dateisystem und Registrierung

 

Der Schieberegler deaktiviert die UAC niemals vollständig. Wenn Sie ihn auf Niemals benachrichtigen festlegen, führt dies zu Folgendem:

  • Der UAC-Dienst wird weiterhin ausgeführt.

  • Alle durch Administratoren initiierten Eingabeaufforderungen für erhöhte Rechte werden automatisch genehmigt, ohne dass eine UAC-Eingabeaufforderung angezeigt wird.

  • Für Standardbenutzer werden automatisch alle Eingabeaufforderungen für erhöhte Rechte abgelehnt.

Wichtig  

Zum vollständigen Deaktivieren von UAC müssen Sie die Richtlinie Benutzerkontensteuerung: Alle Administratoren im Administratorgenehmigungsmodus ausführen deaktivieren.

 

Warnung  

Bei deaktivierter UAC funktionieren universelle Windows-Apps nicht.

 

Virtualisierung

Da Systemadministratoren in Unternehmensumgebungen versuchen, Systeme zu sichern, sind viele Branchenanwendungen nur auf das Verwenden eines Standardbenutzer-Zugriffstokens ausgelegt. Daher müssen Sie die Mehrzahl der Apps nicht ersetzen, wenn UAC aktiviert ist.

Windows 10 umfasst die Datei- und Registrierungsvirtualisierungstechnologie für Apps, die nicht UAC-konform sind und für die das Zugriffstoken eines Administrators erforderlich ist, um ordnungsgemäß ausgeführt zu werden. Wenn eine administrative App, die nicht UAC-konform ist, versucht, in einen geschützten Ordner zu schreiben, beispielsweise „Programme“, verleiht UAC der App eine eigene virtualisierte Ansicht der Ressource, die sie versucht zu ändern. Die virtualisierte Kopie wird im Benutzerprofil beibehalten. Mit dieser Strategie wird eine separate Kopie der virtualisierten Datei für jeden Benutzer erstellt, der die nicht konforme App ausführt.

Die meisten App-Aufgaben werden mithilfe der Virtualisierungsfeatures ordnungsgemäß ausgeführt. Auch wenn die Virtualisierung die Ausführung der meisten Anwendungen zulässt, handelt es sich hierbei um einen kurzfristigen Patch und nicht um eine langfristige Lösung. App-Entwickler sollten ihre Apps so ändern, damit sie schnellstmöglich konform sind und sich nicht auf die Datei-, Ordner- und Registrierungsvirtualisierung verlassen.

In den folgenden Szenarien ist die Virtualisierung keine Option:

  • Die Virtualisierung gilt nicht für Apps, die über erhöhte Rechte verfügen und mit einem vollständigen Administratorzugriffstoken ausgeführt werden.

  • Die Virtualisierung unterstützt nur 32-Bit-Apps. In 64-Bit-Apps, die nicht über erhöhte Berechtigungen verfügen, wird einfach eine Meldung über den nicht genehmigten Zugriff angezeigt, wenn sie versuchen, ein Handle (einen eindeutigen Bezeichner) für ein Windows-Objekt abzurufen. Systemeigene Windows 64-Bit-Apps müssen mit UAC kompatibel sein und um die Daten in den richtigen Speicherorten zu schreiben.

  • Die Virtualisierung ist deaktiviert, wenn die App ein App-Manifest mit einem angeforderten Ausführungsstufenattribut aufweist.

Anforderungsausführungsstufen

Bei einem App-Manifest handelt es sich um eine XML-Datei, die die gemeinsamen und privaten nebeneinander befindlichen Assemblys beschreibt und ermittelt, an die eine App zur Laufzeit gebunden werden sollte. Das App-Manifest enthält Einträge die UAC-App-Kompatibilitätszwecke. Administrative Apps, die einen Eintrag im App-Manifest aufweisen, fordern den Benutzer auf, die Berechtigung zu erteilen, auf das Zugriffstoken des Benutzers zugreifen zu können. Auch wenn sie nicht über einen Eintrag im App-Manifest verfügen, können die meisten administrativen Apps ohne Änderung ausgeführt werden, indem App-Kompatibilitätspatches verwendet werden. App-Kompatibilitätspatches sind Datenbankeinträge, die die ordnungsgemäße Funktionsweise von Anwendungen aktivieren, die nicht UAC-konform sind.

Alle UAC-konformen Apps sollten über eine angeforderte Ausführungsstufe verfügen, die zum Anwendungsmanifest hinzugefügt wurde. Wenn die Anwendung Administratorzugriff auf das System erfordert, stellt das Markieren der App mit einer angeforderten Ausführungsstufe von „Administrator erforderlich“ sicher, dass das System dieses Programm als eine administrative App identifiziert und die erforderlichen Rechteerweiterungsschritte ausführt. Die angeforderten Ausführungsstufen geben die für eine App erforderlichen Berechtigungen an.

Technologie für Installationserkennung

Installationsprogramme sind Apps, die zum Bereitstellen von Software dienen. Die meisten Installationsprogramme schreiben in Systemverzeichnisse und Registrierungsschlüssel. In diese geschützten Systemspeicherorte kann für gewöhnlich nur ein Administrator oder die Technologie für Installationserkennung schreiben. Somit verfügt ein Standardbenutzer nicht über den benötigten Zugriff, um Programme zu installieren. Windows 10 ermittelt ganzheitlich die Installationsprogramme und fordert die Administratoranmeldeinformationen oder Genehmigung vom Administratorbenutzer an, um mit den Zugriffsberechtigungen ausgeführt zu werden. Windows 10 ermittelt zudem ganzheitlich Updates und Programme, mit denen Anwendungen deinstalliert werden. Eins der Entwurfsziele der UAC besteht im Verhindern, dass Installationen ohne das Wissen und die Zustimmung des Benutzers ausgeführt werden, da die Installationsprogramme in geschützte Bereiche des Dateisystems und der Registrierung schreiben.

Die Installationserkennung gilt für:

  • Ausführbare 32-Bit-Dateien.

  • Anwendungen ohne ein angefordertes Ausführungsstufenattribut.

  • Interaktive Prozesse, die mit aktivierter UAC als ein Standardbenutzer ausgeführt werden.

Vor dem Erstellen eines 32-Bit-Prozesses werden die folgenden Attribute überprüft, um zu ermitteln, ob sie sich in einem Installer befinden:

  • Der Dateiname enthält Schlüsselwörter wie „install“, „setup“ oder „update“.

  • Die Ressourcenfelder für die Versionierung enthalten die folgenden Schlüsselwörter: Anbieter, Unternehmensname, Produktname, Dateibeschreibung, ursprünglicher Dateiname, interner Name und Exportname.

  • Schlüsselwörter im parallelen Manifest werden in der ausführbaren Datei eingebettet.

  • Schlüsselwörter in spezifischen „StringTable“-Einträgen werden in der ausführbaren Datei verknüpft.

  • Wichtige Attribute in den Ressourcenskriptdaten werden in der ausführbaren Datei verknüpft.

  • Es sind gewünschte Sequenzen an Bytes in der ausführbaren Datei vorhanden.

Hinweis  

Die Schlüsselwörter und Sequenzen an Bytes werden anhand allgemeiner Merkmale abgeleitet, die in verschiedenen Installationstechnologien beobachtet wurden.

 

Hinweis  

Die Richtlinieneinstellung „Benutzerkontensteuerung: Anwendungsinstallationen erkennen und erhöhte Rechte anfordern“ muss für die Installationserkennung aktiviert sein, damit Installationsprogramme erkannt werden können. Weitere Informationen finden Sie in den Sicherheitsrichtlinieneinstellungen für die Benutzerkontensteuerung.