User Account Control

User Account Control

User Account Control (UAC), zu deutsch Benutzerkontensteuerung, ist eine Technik und Sicherheitsinfrastruktur, die beim Betriebssystem Microsoft Windows Vista eingeführt wurde. Sie soll den Schutz des Systems für den Standardbenutzer erleichtern.

Inhaltsverzeichnis

Überblick

Versionen von Windows, die älter als Windows NT sind beziehungsweise nicht davon abstammen (beispielsweise Windows 3.1, Windows 95, 98 und ME), waren Einzelbenutzersysteme, in denen der Benutzer die volle Systemkontrolle besaß. Windowssysteme der NT-Linie sind dagegen Mehrbenutzersysteme. Dies macht verschiedene Benutzerrollen und Benutzerrechte sinnvoll.

Allerdings wird bei Windows XP der erste Benutzer automatisch mit Administratorrechten ausgestattet und somit spielen und arbeiten viele Benutzer von Windows XP standardmäßig unter Administratorrechten. Dadurch wird jede Software, auch Schadsoftware, mit Administratorrechten gestartet, sodass diese vollständigen Zugriff auf das System besitzt.

Unglücklicherweise sind viele alte Anwendungen und sogar neue Software nie dafür entwickelt worden, ohne vollständige Administratorrechte zu laufen. Lässt man diese Software dennoch mit eingeschränkten Rechten laufen, so treten Fehler auf oder die Software arbeitet nicht ordnungsgemäß. Somit war es oft gängige Praxis, normale Benutzer mit Administratorrechten auszustatten.

Mit Windows Vista müssen nun alle Aktivitäten, welche die Sicherheit oder Stabilität des Betriebssystems beeinträchtigen könnten, durch einen Administrator (durch Eingabe des entsprechenden Benutzernamens und Passworts) bestätigt werden. Ist der Benutzer schon als Administrator eingeloggt, wird ein Auswahldialog angezeigt, sodass die Aktion verboten werden kann.

Funktionsweise

Wenn sich ein normaler Benutzer in Windows Vista einloggt, wird eine neue Sitzung erstellt und dieser ein Zugangstoken mit den Basisrechten zugeteilt. Somit können von dieser Sitzung aus keine Veränderungen vorgenommen werden, die das gesamte System betreffen. Loggt sich hingegen nun ein Benutzer aus der Administratorgruppe ein, so werden zwei verschiedene Token erstellt. Der eine Token erhält alle Rechte, wie sie typischerweise dem Administrator zugeteilt werden. Der andere (eingeschränkte) Token erhält dagegen nur die Rechte, die auch ein Standardbenutzer erhalten würde.

Benutzeranwendungen, wie beispielsweise der Windows Explorer, werden alle mit dem eingeschränkten Token gestartet, so dass dies effektiv eine eingeschränkte Umgebung unter einem Administratoraccount darstellt. Benötigt nun eine Anwendung erweiterte Rechte, so werden über den UAC-Mechanismus erweiterte Rechte angefordert. Ein Bestätigungsdialog wird angezeigt und sofern die gewünschte Aktion vom Benutzer bestätigt wird, so wird der Prozess mit dem uneingeschränkten Token weitergeführt. Im Modus Secure Desktop erfolgt die Abfrage der Benutzerdaten (Benutzername und Passwort) durch UAC dadurch, dass der gesamte Bildschirm mit Ausnahme des Autorisierungsdialoges abgedunkelt und deaktiviert wird. Dies soll vor Spoofing schützen.

Nicht alle allgemeinen Aufgaben, wie beispielsweise das Wechseln der Zeitzone benötigen in Windows Vista Administratorrechte. UAC bietet auch eine Datei- und Registry-Virtualisierung an, so dass schlecht geschriebene Programme dennoch mit Standardrechten lauffähig sind. Des Weiteren wird einer Eingabeaufforderung, welche mit erweiterten Rechten läuft, das Präfix „Administrator“ im Titel vorangestellt, so dass leicht unterscheidbar ist, welche Eingabeaufforderungen mit erweiterten Rechten läuft.

Es gibt einige Einstellungen, die im Zusammenhang mit UAC interessant sind. So ist es möglich zu bestimmen, dass:

  • Administratoren ihr Passwort wiederholt eingeben müssen (zur Erhöhung der Sicherheit).
  • Der Benutzer Strg + Alt + Entf im Zuge des Authentifikationsprozesses eingeben muss (zur Erhöhung der Sicherheit).
  • Der Admin Approval Mode vollständig ausgeschaltet wird (UAC beim Administrator angezeigt wird).

Kritische Würdigung

Die UAC wurde implementiert, um die Sicherheit der Systeme zu erhöhen. Dies gilt insbesondere für das Anzeigen von Webseiten, die eine potenzielle Sicherheitsgefahr darstellen. Auf der anderen Seite gibt es Beschwerden, dass UAC verschiedene Arbeitsabläufe am Computer verlangsamt, insbesondere das erstmalige Einrichten eines Windows-Vista-Systems. Deswegen ist es möglich, die UAC-Benachrichtigungen auszuschalten, um beispielsweise ungefährliche Software automatisch installieren zu können. Das UAC kann anschließend wieder aktiviert werden.

Allerdings gibt es auch die Befürchtung, dass ein dauerhaft eingeschaltetes UAC die Benutzer dazu verführt, jeden Dialog zu bestätigen. Insbesondere, da die Dialoge oft zu wenige oder gar keine Informationen über den aktuellen Vorgang beinhalten. Dies würde das System ad absurdum führen.

Anpassung der Benutzerkontensteuerung

Anfordern von erweiterten Rechten

Ein Programm kann erweiterte Rechte auf verschiedene Arten anfordern. Eine Möglichkeit ist es, dass ein Abschnitt requestedPrivileges in einem XML-Dokument, dem Manifest, hinzugefügt wird. Dieses Manifest wird später in die Anwendung eingebunden. Üblicherweise spezifiziert ein Manifest Abhängigkeiten, Visuelle Styles und weitere Eigenschaften des Programmes.

Sicherheitsabschnitt in einem Manifest-Dokument:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  <v3:trustInfo xmlns:v3="urn:schemas-microsoft-com:asm.v3">
    <v3:security>
      <v3:requestedPrivileges>
        <v3:requestedExecutionLevel level="highestAvailable" />
      </v3:requestedPrivileges>
    </v3:security>
  </v3:trustInfo>
</assembly>

Wird das Level-Attribut von requestedExecutionLevel auf „asInvoker“ gesetzt, so läuft die Applikation mit dem Token, welcher die Applikation gestartet hat (normalerweise also mit eingeschränkten Rechten). Setzt man das Attribut auf „highestAvailable“, so fordert dies ein UAC-Bestätigungsdialog bei Administratoren an und läuft bei Standardbenutzern mit eingeschränkten Rechten. „requireAdministrator“ hingegen fordert in jedem Fall die erweiterten Rechte ein.

Um einen neuen Prozess mit erweiterten Rechten aus einer .NET-Anwendung heraus zu starten, so kann das Kommando „runas“ verwendet werden.

Ein Beispiel in C#:

System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.StartInfo.FileName = "C:\\Windows\\system32\\notepad.exe";
proc.StartInfo.Verb = "runas"; // elevate the application
proc.Start();

In COM-Anwendungen kann dasselbe Kommando „runas“ zum Aufruf ShellExecute() hinzugefügt werden.

::ShellExecute(0, "runas", "C:\\Windows\\Notepad.exe", 0, 0, SW_SHOWNORMAL);

Benutzerkontensteuerung für bestimmte Anwendungen deaktivieren

Es ist möglich die Benutzerkontensteuerung für ausgewählte Anwendungen zu deaktiviert oder auch für ältere Anwendungen einen Kompatibilitätsmodus dauerhaft festlegen.

Weblinks


Wikimedia Foundation.

Игры ⚽ Поможем написать курсовую

Schlagen Sie auch in anderen Wörterbüchern nach:

  • User Account Control — (UAC) is a technology and security infrastructure introduced with Microsoft s Windows Vista operating system. It aims to improve the security of Microsoft Windows by limiting application software to standard user privileges until an administrator …   Wikipedia

  • User Account Control — UAC (User Account Control)  компонент Microsoft Windows, впервые появившийся в Windows Vista. Этот компонент запрашивает подтверждение действий, требующих прав администратора, в целях защиты от несанкционированного использования компьютера.… …   Википедия

  • User Account Control — (UAC, contrôle du compte de l utilisateur), est un mécanisme de protection des données introduit dans les systèmes d exploitations Windows Vista et 7. UAC est aussi connu sous ses dénominations précédentes durant le développement de Windows Vista …   Wikipédia en Français

  • user account —    A security mechanism used to control access to a network or to a multi user computer system, established and maintained by the network administrator.    Elements of a user account include password information, rights and permissions, and… …   Dictionary of networking

  • User Interface Privilege Isolation — (UIPI) is a technology introduced in Windows Vista and Windows Server 2008 to combat code injection exploits. By leveraging Mandatory Integrity Control, it prevents processes with a lower integrity level (IL) from sending messages to higher IL… …   Wikipedia

  • User Interface Privilege Isolation — (UIPI Isolation des privilèges de l IHM) est une technique de sécurité utilisée par Windows Vista et Windows Server 2008 pour se protéger contre les exploits d injection de code. UIPI évite qu un processus ayant un bas niveau de sécurité… …   Wikipédia en Français

  • Control de Cuentas de Usuario — Saltar a navegación, búsqueda El Control de Cuentas de Usuario (UAC por sus siglas en ingles) es una tecnología e infraestructura de seguridad que Microsoft introdujo con Windows Vista. Su objetivo es mejorar la seguridad de Windows al impedir… …   Wikipedia Español

  • Control de cuentas de usuario — El Control de Cuentas de Usuario (UAC por sus siglas en inglés) es una tecnología e infraestructura de seguridad que Microsoft introdujo con Windows Vista. Su objetivo es mejorar la seguridad de Windows al impedir que aplicaciones maliciosas… …   Wikipedia Español

  • User profile — A user profile (userprofile, or simply profile is configurated when used in context) is a feature of the Microsoft Windows operating system, comprising a given user s collection of personal documents and settings on that computer. Taking Windows… …   Wikipedia

  • Roaming user profile — C:Documents and Settings{username}   Application Data   …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”