Veröffentlicht: Februrar 2006
| Einleitung | |
| Features und Vorteile von UAC | |
| Auswirkungen für Anwendungsentwickler | |
| Weitere Sicherheitskomponenten von Windows Vista | |
| Zusammenfassung |
Heutzutage wird es für Unternehmen und Einzelpersonen durch konstant anwachsende Sicherheitsbedrohungen immer schwieriger, die Kontrolle über die eigenen Computer zu behalten. Administratoren und Benutzer müssen die richtige Balance zwischen Sicherheit und Produktivität finden. Unternehmen benötigen eine Lösung, die gegen Angriffe geschützt ist, die Vertraulichkeit von Daten gewährleistet und ihre Integrität schützt und zudem für eine ausreichende Verfügbarkeit sorgt.
Bei den Vorgängerversionen von Microsoft Windows Vista sind die meisten Benutzerkonten Mitglieder der lokalen Gruppe Administratoren. Dies liegt daran, dass für die Installation, Aktualisierung und Ausführung vieler Anwendungen entsprechende Rechte benötigt werden. Auch für einfachsten Aufgaben - zum Beispiel ein Doppelklick auf die Systemuhr, um den Kalender zu öffnen - sind administrative Rechte notwendig.
Den Endbenutzern administrative Rechte zu geben sorgt dafür, dass Computer und Netzwerke verwundbar für Malware werden und die Total Cost of Ownership steigen. Die Benutzer können unerwünschte Änderungen am System vornehmen. Malware kann die administrativen Rechte ausnutzen und Dateien beschädigen, Systemkonfigurationen ändern und sogar vertrauliche Daten für dritte verfügbar machen. Unglücklicherweise kann das Bereitstellen von abgesicherten Computern dazu führen, dass die Produktivität von Standardbenutzern sinkt. Ohne lokale administrative Rechte funktionieren viele Anwendungen nicht mehr richtig.
Windows Vista wird die sicherste jemals entwickelte Windows-Version sein.
Bei Windows Vista wurde ein großes Gewicht auf die Visionen von Microsoft bezüglich der Sicherheit gelegt. Windows Vista stellt einen einfachen und sicheren Mechanismus zur Verfügung, mit dem Endbenutzerkonten mit Standardrechten ausgeführt werden können. Die Notwendigkeit von administrativen Rechten für das Ausführen von normalen Aufgaben wird beseitigt.
Hauptziel von UAC ist die Reduzierung der Angriffsfläche des Betriebssystems. Hierzu arbeiten alle Benutzer als Standardbenutzer. Der administrative Zugriff ist auf autorisierte Prozesse eingeschränkt. Diese Einschränkung minimiert die Möglichkeiten der Benutzer, Änderungen vorzunehmen, die sich auf die Stabilität des Computers auswirken können oder den Computer versehentlich für Maleware oder Viren anfällig zu machen.
Mit UAC können Administratoren die meisten Anwendungen, Komponenten und Prozesse mit eingeschränkten Privilegien ausführen - sie haben aber gleichzeitig die Möglichkeit, bestimmte Aufgaben oder Anwendungen mit administrativen Rechten auszuführen.
Wenn ein Benutzer einen Task ausführt, für den administrative Rechte notwendig sind (zum Beispiel die Installation einer Anwendung), dann benachrichtigt Windows Vista den Benutzer und fragt entsprechende Anmeldeinformationen ab.
Seit der Veröffentlichung von Windows 2000 gibt es die Möglichkeit, Anwendungen als Administrator auszuführen, während man als Standardbenutzer angemeldet ist - zum Beispiel über Features wie "Ausführen als". "Ausführen als" ist ein Kommandozeilentool, mit dem Administratoren Tools und Programme mit abweichenden Anmeldeinformationen ausführen können.
Anwendungsentwickler müssen nun sicherstellen, dass ihre Anwendungen so funktionieren, dass der normale Benutzer auch ohne administrative Rechte arbeiten kann. Um dies zu gewährleisten, bietet Microsoft eine umfangreiche Unterstützung für Anwendungsentwickler an. Weitere Informationen finden Sie unter Developer Best Practices and Guidelines for Applications in a Lease Privileged Environment (englischsprachig).
UAC ist so entwickelt worden, dass administrative Aufgaben von normalen Aufgaben getrennt werden. Einige der Bereiche, für die auch weiterhin administrative Rechte benötigt werden, sind zum Beispiel:
| • | Installation von Software, |
| • | Partitionierung von Festplatten, |
| • | Enterprise-Management-Software, |
Unter Windows Vista müssen sich Anwendungsentwickler entscheiden, welche der zwei Berechtigungsebenen ihrer Anwendung für welche Prozeduren benötigt werden. Wenn eine Anwendung keine administrativen Rechte für eine bestimmte Aufgabe benötigt, dann sollte sie so entworfen sein, dass sie auch nur die Rechte eines Standardbenutzers nutzt. Eine solche Anwendung sollte zum Beispiel nur in Dateien schreiben, die keine Systemdateien sind (beispielsweise das Benutzerprofil).
Unter Windows Vista haben Standardbenutzer zusätzliche Privilegien. Diese sind zur Ausführung von Standardaufgaben notwendig. Die entsprechenden Privilegien haben nur minimale Auswirkungen auf das System und stellen ein geringes Risiko dar. Natürlich haben Administratoren trotzdem die Möglichkeit, diese Privilegien zu entfernen. Zu den neuen Berechtigungen für Standardbenutzer gehören:
| • | Anzeigen der Systemuhr und des Kalenders, |
| • | Ändern der Zeitzone, |
| • | Installation von Wired Equivalent Privacy (WEP), um eine Verbindung zu einem WLAN aufzubauen. |
| • | Ändern der Anzeigeinstellungen. |
| • | Ändern der Energiesparoptionen. |
| • | Installation von Schriftarten. |
| • | Hinzufügen von Druckern und anderen Geräten, für die die Installation von Treibern erforderlich ist. |
| • | Erstellen und Konfigurieren von VPN-Verbindungen. |
| • | Herunterladen und Installieren von Updates mit einem UAC-kompatiblen Installer. |
Außerdem handelt es sich bei der Defragmentierung nun um einen automatischen Prozess - die Benutzer müssen die Defragmentierung also nicht mehr von Hand anstoßen.
Bisher war es nicht einfach festzustellen, welche Aktionen als nicht-administrativer Benutzer erlaubt waren und welche nicht. Dieses Problem wird durch ein neues Icon (das Schild - siehe zum Beispiel das Icon für das Sicherheitscenter unter Windows XP SP2) beseitigt, das für alle Befehle verwendet wird, für die administrative Rechte nötig sind. Dieses Icon findet sich im gesamten Betriebssystem wieder.

Abbildung1: Ein konsistentes Icon zeigt dem Benutzer an, dass er für eine Aufgabe administrative Rechte benötigt.
Unter Windows Vista können viele ältere Anwendungen, die nicht für die Nutzung von Standardbenutzerkonten entworfen wurden, ohne Änderungen weiterhin eingesetzt werden - und zwar dank der Virtualisierung von Dateisystem und Registrierung. Dieses Feature stellt jeder Anwendung seine eigene "virtuelle" Version einer Ressource, in die geschrieben werden soll, zur Verfügung. Wenn eine Anwendung zum Beispiel versucht, in eine Datei im Ordner Programme zu schreiben, dann stellt Windows Vista dieser Anwendung seine eigene private Kopie der entsprechenden Datei zur Verfügung.
Durch die Virtualisierung besteht außerdem standardmäßig die Möglichkeit einer Protokollierung beim Zugriff auf geschützte Bereiche.
Erste Tests mit älteren Anwendungen, die als Standardbenutzer ausgeführt wurden und in das Dateisystem oder die Registrierung schreiben, haben in Bezug auf die Kompatibilität sehr viel versprechende Ergebnisse gezeigt. Auch wenn die Virtualisierung das Ausführen der allermeisten älteren Anwendungen ermöglicht, so ist sie doch nur ein kurzfristiger Ansatz. Sie kann nicht als langfristige Lösung herangezogen werden. Es ist nicht nur möglich, dass sie zu Problemen mit UAC führen kann und so die Sicherheit beeinträchtigt, sondern sie kann auch die Leistung der Anwendungen verschlechtern. Möglicherweise werden außerdem zusätzliche Schulungen für Endbenutzer notwendig, und es kann zudem zu Anwendungskonflikten kommen.
Wenn ein Standardbenutzer versucht, eine administrative Aufgabe auszuführen, zum Beispiel eine Softwareinstallation, wird er nach einem administrativen Kennwort gefragt. Wenn er das Kennwort des lokalen Administrators kennt, kann er dieses eingeben. Alternativ kann er den Administrator um Hilfe bitten. Dieses Verfahren wird Over-the-shoulder (OTS) genannt. Administratoren können das Feature deaktivieren. In diesem Fall wird der Benutzer einfach darüber informiert, dass er die gewünschte Aufgabe nicht ausführen darf.
Um Administratoren bei nicht administrativen Aufgaben zu schützen, steht das Admin Approval Mode-Feature zur Verfügung. Mit diesem Feature können Administratoren die täglichen normalen Aufgaben - wie die Arbeit mit Emails oder das Surfen im Web - mit einem Standardbenutzer-Token ausführen. Wenn administrative Rechte notwendig werden, wird der Administrator nach den entsprechenden Anmeldeinformationen gefragt. Es ist nicht mehr nötig, sich mit einem anderen Benutzerprofil anzumelden.
Die Gruppe Hauptbenutzer war in den vorherigen Windows-Versionen dazu da, den Benutzern bestimmte administrative Rechte zu geben. Unglücklicherweise behebt diese Lösung nur die Symptome (Anwendungsprobleme) - und nicht das eigentliche Problem (Anwendungen benötigen auch weiterhin nicht-notwendige Rechte und Privilegien). UAC verwendet keine Hauptbenutzer. Standardbenutzer können die meisten normalen Konfigurationsaufgaben auch so ausführen. Ältere Anwendungen, die administrative Rechte benötigen, können mit der Virtualisierung arbeiten.
Als Standardbenutzer ist der Benutzer davor geschützt, versehentliche Systemänderungen durch Malware wie Rootkits, Spyware oder Viren zu verursachen. Solche Angriffe manipulieren die Benutzeroberfläche von Windows über das Windows-Messaging-System (ein System, über das Anwendungen intern mit Windows kommunizieren), um schädlichen Programmcode auszuführen oder administrative Prozesse zu überschreiben. Hauptsächlicher Grund für dieses Problem ist, dass jede Anwendung eine Nachricht an jede andere Anwendung auf dem gleichen Rechner senden kann. Wenn die Zielanwendung die Nachricht empfängt, dann hat sie keine Möglichkeit festzustellen, ob die sendende Anwendung hierzu autorisiert ist.
Die Verwundbarkeit bei solchen Angriffen liegt daran, wie Entwickler Software entwerfen. Microsoft empfiehlt Softwareherstellern immer, das Messaging-System für Anwendungen mit umfangreichen Privilegien nicht zu nutzen. Unglücklicherweise sind viele Anwendungen immer noch für solche Angriffe verwundbar.
UAC-kompatible Anwendungen isolieren Privilegien durch ihr Design. Sie reduzieren so die Angriffsfläche des Betriebssystems. Ein strikt umgesetztes UAC-Model macht es Würmern und Viren schwerer, Windows-basierte Systeme zu übernehmen.
Um Entwickler beim Testen der Anwendungskompatibilität, -stabilität und -sicherheit in Bezug auf UAC zu unterstützen, stehen die folgenden Tools zur Verfügung:
| • | Application Verifier: Eine Sammlung von Tests, die während der Anwendungsentwicklung und des Testens verwendet werden können. Der Application Verifier überwacht die Nutzung des Betriebssystems durch die Anwendung bei deren Ausführung. Das Tool schlägt dann Möglichkeiten vor, mit denen Probleme behoben werden können. |
| • | User Account Control Predictor: Ein Plug-In für den Application Verifier, das feststellt, ob eine Anwendung durch einen Standardbenutzer korrekt ausgeführt werden kann. |
Beide Tools erstellen ein Protokoll zu den Zugriffsversuchen einer Anwendung, die im Standardbenutzermodus fehlschlagen waren - so haben Sie die Möglichkeit, diese Bereiche zu verändern. Außerdem gibt es ein Ereignis (Process Tracking Audit - Event ID #592), mit dem Sie feststellen können, welche Anwendungen administrative Rechte benötigen.
UAC unterstützt die Administratoren dabei, die Kontrolle über Endbenutzeraufgaben - wie das Installieren und Konfigurieren von Anwendungen - zu behalten. UCA hilft Ihnen außerdem dabei, den Zugriff auf sensible Dateien zu kontrollieren.
Da die Benutzer keine versehentlichen Änderungen an Dateien oder Einstellungen vornehmen können, werden die Kosten für die Verwaltung von Desktoprechnern gesenkt. Außerdem bedeutet eine konsistentere Umgebung, dass die Administratoren weniger Zeit für die Suche und Behebung von Fehlern aufwenden müssen. Sie erhalten eine bessere Kontrolle über Softwarelizenzen, da Software nur von autorisierten Personen installiert werden kann.
Der Standardbenutzer ist wohl die größte Änderung, die sich für viele Anwendungsentwickler ergibt. Er sorgt dafür, dass Sie den Zugriff Ihrer Anwendung auf gemeinsam genutzte Systemdateien und Registrierungsschlüssel verändern müssen. Hierzu gehört zum Beispiel der Zugriff auf Bereiche wie Kernel, Prozesse, Sicherheit, Dateissystem, Registrierung, Shell, Benutzeroberfläche, Systemsteuerung und die Anwendungskompatibilität.
Wenn Sie eine UAC-kompatible Anwendung entwickeln, sollte diese ohne Privilegien, die einen Computer kompromittieren könnten, auskommen.
Das Windows Vista-Compliant Logo-Programm setzt strenge Zertifizierungsrichtlinien voraus. Es bietet den Kunden die Sicherheit, dass zertifizierte Produkte korrekt mit Windows Vista arbeiten. Das Zertifizierungslogo stellt also einen deutlichen Wettbewerbsvorteil für die entsprechenden ISVs dar. Weitere Informationen finden Sie auf der Windows Vista Logo Program-Website (englischsprachig).
Verwaltete Anwendungen werden im Hinblick auf die Sicherheit entworfen - sie werden entsprechend einer bestimmten Sicherheitsstufe entwickelt und führen daher nur autorisierte Funktionen aus. Somit sind sie für Exploits weniger verwundbar. Unter Windows Vista kann jede verwaltete Anwendung festlegen, welche Berechtigungen benötigt werden. Der Windows Vista-Trust Manager nutzt diese Informationen dann, um zu entscheiden, ob die Anwendung auf einem Computer installiert werden darf oder nicht.
Wenn ein Entwickler eine Anwendung erstellt, deren Anforderungen mit den Einstellungen des Trust Managers übereinstimmen (wenn die Anwendung keine Rechte erfordert, die der Trust Manager nicht zulässt), dann kann diese ohne Sicherheitswarnungen ausgeführt werden. Eine solche Anwendung sollte nicht in der Lage sein, den Computer zu beschädigen - weder versehentlich noch absichtlich. Wenn die Anwendung jedoch mehr Rechte benötigt, als der Trust Manager zulässt, dann wird der Administrator durch entsprechende Meldungen benachrichtigt. Er kann dann entscheiden, ob die Anwendung trotzdem installiert werden soll.
Es gibt verschiedene Wege, um Software unter Windows Vista zu installieren. Ein Administrator kann die Installation zum für alle Benutzer durchführen. Der bevorzugte Weg einer Installation sollte jedoch der Weg über den Microsoft Windows Installer (MSI) sein. Er installiert die Anwendung für den Benutzer, ohne dass diese administrative Rechte benötigt. Für größere Unternehmen bietet SMS weitere Möglichkeiten für die Installation von Software.
Ein Anwendungsmanifest identifiziert eine Anwendung für Windows Vista und ermöglicht es Administratoren, die für die Anwendung erforderlichen Anmeldeinformationen festzulegen. Dies ist ein wichtiger Schritt bei der Bereitstellung von Anwendungen, der für mehr Produktivität der Benutzer sorgt. Das Manifest informiert Windows Vista darüber, ob eine Anwendung UAC-kompatibel ist und wann der Benutzer zur Eingabe von administrativen Anmeldeinformationen aufgefordert werden muss. Um seine Integrität und Funktionalität sicherzustellen, kann und sollte ein Manifest signiert werden.
Wenn administrative Berechtigungen notwendig sind, dann kann im Manifest eine entsprechende Ausführungsebene festgelegt werden. Ausführungsebenen zeigen dem System, dass ein administratives Token für das korrekte Funktionieren einer Aktion erforderlich ist. Ausführungsebenen sind zum Beispiel:
| • | Highest: Eine Anwendung benötigt die höchstmöglichen Berechtigungen. |
| • | Administrator: Eine Anwendung benötigt administrative Berechtigungen. Dem Token wird die SID (Security Identifier) der lokalen Gruppe Administratoren hinzugefügt. |
UAC ist ein neuer Ansatz zur Verbesserung der Computersicherheit. Er ändert die Art, in der Anwendungen mit dem Betriebssystem und dessen Dateien interagieren, grundlegend. Da die Sicherheitsbedrohungen durch Angreifer immer größer werden, ist es zwingend notwendig, dass Anwendungsentwickler mit Microsoft zusammenarbeiten und so weiterhin Technologien entwickelt werden, die die Auswirkungen von Malware minimieren. Im Standardbenutzermodus ist es weniger wahrscheinlich, dass der Benutzer oder die Organisation von Malware oder deren Auswirkungen betroffen sind. UAC unterstützt Organisationen außerdem dabei, die TCOs zu sehen. Es verhindert, dass Benutzer nicht freigegebene Software installieren und Systemeinstellungen ändern.
Um die Sicherheit und die Anwendungsperformance auch in Zukunft zu verbessern, müssen sich Softwareentwickler darauf konzentrieren, ihre Anwendungen so zu erstellen, dass Sie UAC-kompatibel sind.
Weitere Informationen zu Windows Vista finden Sie auf der Windows Vista-Website.