Windows Vista: User Account Control

17.02.2007 von Martin Kuppinger
Die User Account Control (UAC) gehört zu den wichtigsten und auffälligsten Neuerungen bei Windows Vista. Sie ist dafür verantwortlich, dass bei der Ausführung von administrativen Aufgaben eine zusätzliche Bestätigung erforderlich ist. Das Konzept wird in diesem Artikel erläutert.

Die User Account Control (UAC) von Windows Vista zählt zweifelsohne zu den wichtigsten und interessantesten Neuerungen – aber auch zu denen, an die man sich erst gewöhnen muss. Die Grundidee ist einfach: Wenn administrative Zugriffe erfolgen, wird eine zusätzliche Bestätigung erforderlich. Der Hintergrund ist ebenso einfach: Zu viele Benutzer arbeiten als (lokale) Administratoren an Windows-Arbeitsstationen und erhöhen damit die Sicherheitsrisiken. Denn wenn ein Benutzer als Administrator angemeldet ist und Opfer eines Angriffs wird, kann der Angreifer seinen Code im Kontext dieses Benutzers ausführen, also mit vollen administrativen Berechtigungen. Und damit kann er auch alles auf dem System machen.

Nun ist es zwar eigentlich gute Praxis, sich nicht als Administrator anzumelden, wenn man ganz normal am System arbeitet. Administratorenkonten und andere Konten mit erhöhten Berechtigungen sollten nur situativ für spezielle Aufgaben genutzt werden. Nur: Wer hält sich schon daran? Die Realität sieht eben anders aus.

Mit der UAC versucht Microsoft nun einen Kompromiss. Wenn ein Benutzer mit dem System arbeitet, geschieht dies mit „normalen“ Berechtigungen. Sobald eine administrative Anwendung aufgerufen wird (und der Benutzer überhaupt administrative Rechte hat), wird ein Dialogfeld angezeigt, in dem er die Ausführung dieser Anwendung bestätigen muss.

Das verhindert insbesondere, dass ein Angreifer im Hintergrund administrative Rechte verwendet, weil in diesem Moment eben die Bestätigung erforderlich wird.

Die UAC ist also eine Mischung aus Erziehungs- und Sicherheitsmaßnahme, weil eben doch sehr viele Benutzer sich nicht an die schon lange diskutierten Sicherheitsregeln halten. Man muss dabei aber auch sehen, dass es einige Aufgaben wie die Installation von Anwendungen und auch von ActiveX-Controls gibt, die erhöhte Berechtigungen erfordern.

Die Arbeitsweise der UAC

Um diese Probleme zu adressieren, hat Microsoft auf zwei Ebenen gearbeitet. Zum einen hat man versucht, die Situationen, in denen erhöhte Berechtigungen erforderlich sind, weiter zu reduzieren. Allerdings gibt es dabei Grenzen, weil ja eben nicht alles durch jeden ausgeführt werden soll.

Die andere Ebene ist die UAC. Bei Windows Vista wird zwischen den Standardbenutzern mit eingeschränkten Zugriffsberechtigungen und den lokalen Administratoren mit umfassenden Zugriffsberechtigungen unterschieden.

Diese administrativen Benutzer arbeiten aber nun normalerweise mit einem Token, das sie zunächst als Standardbenutzer identifiziert. Sie haben also eingeschränkte Zugriffsberechtigungen. Nur bei einer expliziten Bestätigung durch den Benutzer kann ein Prozess das zweite Token des Benutzers verwenden, das volle administrative Berechtigungen gibt. Aus Sicht der Architektur ist dabei unter anderem der Fakt interessant, dass lokale Administratoren bei Windows Vista nun zwei Security-Tokens mit unterschiedlichen Berechtigungen haben, zwischen denen gewechselt werden kann.

Die Gruppe der Hauptbenutzer, die ja teilweise schon höhere Berechtigungen hat, gibt es übrigens bei Windows Vista nur noch aus Kompatibilitätsgründen. Auf Dauer sieht Microsoft aber nur die beiden Zugriffsebenen des Standardbenutzers und des lokalen Administrators.

Die Anwendungen

Die Sicht auf die Benutzer zeigt aber nur eine Seite der Medaille. Denn um in den administrativen Modus zu wechseln, muss das System auch wissen, ob es sich um eine Anwendung handelt, die entsprechende administrative Privilegien benötigt. Die Herausforderung sind ältere Anwendungen, die nicht für die UAC angepasst wurden.

Grundsätzlich werden bei Anwendungen nun Integritätsniveaus unterschieden. Anwendungen, die ein hohes Niveau erfordern, modifizieren beispielsweise Systemdaten oder können Festplatten partitionieren. Anwendungen auf der niedrigsten Stufe können dagegen keine Änderungen im System durchführen. Das gilt beispielsweise für einen Web Browser, der das nicht können sollte. Anwendungen mit niedrigem Integritätsniveau dürfen keine kritischen Änderungen im System ausführen.

Wenn eine Anwendung nun administrative Berechtigungen erfordert und entsprechend gekennzeichnet ist, wird das vom System erkannt. Beim Aufruf wird der Dialog (Bild 1) mit dem Hinweis angezeigt, dass eine Anwendung höhere Berechtigungen erfordert. Dieser muss gegebenenfalls bestätigt werden.

Bild 1: Die Eingabeaufforderung, die durch die UAC initiiert wird.

Wenn eine Anwendung aber nicht die UAC unterstützt, fehlen die Informationen bei der Anwendung, die im sogenannten application manifest gespeichert werden. Da Windows Vista aber viele kritische Systembereiche wie Registry-Einträge und die Order Programme schützt, wird mit einem zweiten, als Virtualisierung bezeichneten Ansatz gearbeitet.

Bei der Virtualisierung kann die Anwendung virtuell auf diese Bereiche zugreifen. Tatsächlich werden die Informationen aber im Benutzerprofil gespeichert und nicht in den kritischen Systembereichen.

Wenn mehrere Benutzer eine solche Anwendung ausführen, werden die Informationenm mehrfach in verschiedenen Systembereichen abgelegt. Damit können die Anwendungen genutzt werden, ohne dass es zu Veränderungen in den sensiblen Systembereichen kommt. Für den Benutzer ist das transparent.

Die Virtualisierung ist aber eindeutig eine kurzfristige Lösung. Microsoft arbeitet daher auch mit der Entwickler-Community, damit Anwendungen schnell UAC-kompatibel werden.

Weitere wichtige Änderungen durch UAC

Neben diesen sofort sichtbaren Änderungen gibt es einige weitere Neuerungen im Zusammenhang mit der UAC, die nicht sofort sichtbar sind:

Die beiden letztgenannten Punkte sind einfach erklärbar. Das Konto Administrator ist das beliebteste Ziel von Angreifern, weil es ein bekanntes Konto ist, das auch nur in den wenigsten Fällen umbenannt wurde. Um die daraus resultierenden Risiken zu vermeiden, wird es nur noch in Ausnahmefällen verwendet.

Der Umgang mit der UAC

Wenn eine Anwendung gestartet wird, die administrative Berechtigungen erfordert, wird das in Bild 1 gezeigte Dialogfeld eingeblendet. Das kann man beispielsweise mit den Advanced System Settings im Bereich System der Systemsteuerung ausprobieren. Über die Schaltfläche Details kann der Name der ausführbaren Datei zusätzlich angezeigt werden.

Als Optionen gibt es Continue für die Ausführung und Cancel zum Abbruch. Falls man etwas länger nichts auswählt, wird die Anwendung nicht gestartet und man kann im normalen Modus des Standardbenutzers weiterarbeiten.

Bei Anwendungen, die bereits für die UAC vorbereitet sind, ist oft direkt zu erkennen, in welchen Fällen man administrative Berechtigungen braucht. In Bild 2 wird der Bereich System der Systemsteuerung gezeigt. Dieser darf von allen Benutzern geöffnet werden. Alle Funktionen, die mit dem Symbol für die Windows- Sicherheit – dem mehrfarbigen, stilisierten Schild – gekennzeichnet sind, erfordern aber erhöhte Berechtigungen und führen damit auch zur Anzeige des Dialogfelds.

Bild 2: Ein Fenster mit mehreren Symbolen für geschützte Systemfunktionen, die administrative Berechtigungen erfordern.

Falls Anwendungen Probleme mit der UAC haben und administrative Berechtigungen erfordern, können sie übrigens mit dem Befehl Run as Administrator aus dem Kontextmenü gestartet werden (Bild 3). Bei Anwendungen, die mit Windows Vista geliefert werden, ist das aber nicht erforderlich. Betroffen sind davon allenfalls ältere administrative Programme.

Bild 3: Anwendungen können auch explizit als Administrator gestartet werden.

Einstellungen in der Gruppenrichtlinie

Die Konfiguration der UAC kann über die Gruppenrichtlinien erfolgen bzw. bei Systemen, die nicht Mitglied einer Domäne sind, über die lokalen Sicherheitsrichtlinien.

Die Einstellungen finden sich dort unterhalb von Security Policies/Local Policies/Security Options (Bild 4). Hier lassen sich insgesamt acht Parameter für die User Account Control konfigurieren:

Bild 4: Die Sicherheitsrichtlinien für die User Account Control.

Bild 5: Das UAC-Dialogfeld mit der Anforderung von Berechtigungen.

Mit diesen Parametern kann man alle wichtigen Aspekte rund um die UAC steuern. Die bisherigen Erfahrungen mit Windows Vista zeigen übrigens, dass man sich ganz gut an die UAC gewöhnt, auch wenn das Systemverhalten zunächst etwas gewöhnungsbedürftig ist.