Markieren Sie das Kontrollkästchen Englisch, um die englische Version dieses Artikels anzuzeigen. Sie können den englischen Text auch in einem Popup-Fenster einblenden, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

UI Automation Security Overview

 
System_CAPS_noteHinweis

Diese Dokumentation ist für .NET Framework-Entwickler vorgesehen, die die verwalteten Benutzeroberflächenautomatisierung-Klassen verwenden möchten, die im System.Windows.Automation-Namespace definiert sind. Aktuelle Informationen zur Benutzeroberflächenautomatisierung finden Sie auf der Seite zur Windows-Automatisierungs-API: UI-Automatisierung.

In dieser Übersicht wird das Sicherheitsmodell für Microsoft-UI-Automatisierung in Windows Vista beschrieben.

Sicherheit stellt einen zentralen Schwerpunkt von Windows Vista dar, und zu den Neuerungen zählt die Möglichkeit für Benutzer, mit einer Anmeldung als Standardbenutzer (ohne Administratorberechtigungen) zu arbeiten, ohne grundsätzlich von der Ausführung von Anwendungen und Diensten ausgeschlossen zu sein, für die erhöhte Rechte erforderlich sind.

In Windows Vista werden die meisten Anwendungen entweder mit einem Standard- oder einem Administratortoken bereitgestellt. Wenn eine Anwendung nicht als Administratoranwendung identifiziert werden kann, wird sie standardmäßig als Standardanwendung gestartet. Vor dem Starten einer Anwendung, die als Administratoranwendung identifiziert wurde, bittet Windows Vista den Benutzer um seine Zustimmung zur Ausführung der Anwendung mit erhöhten Rechten. Die Aufforderung zur Zustimmung wird standardmäßig angezeigt, auch wenn der Benutzer ein Mitglied der lokalen Administratorgruppe ist, da auch Administratoren mit den Rechten von Standardbenutzern agieren, bis eine Anwendung oder Systemkomponente, für die Administratorberechtigungen erforderlich sind, die Ausführungserlaubnis anfordert.

Wenn ein Benutzer versucht, eine Aufgabe auszuführen, für die Administratorberechtigungen erforderlich sind, zeigt Windows Vista ein Dialogfeld an, das den Benutzer um seine Zustimmung zur weiteren Ausführung bittet. Dieses Dialogfeld ist gegen prozessübergreifenden Datenaustausch geschützt, sodass Schadsoftware keine Benutzereingaben simulieren kann. Analog dazu kann auch auf den Anmeldebildschirm auf dem Desktop nicht durch andere Prozesse zugegriffen werden.

Benutzeroberflächenautomatisierungs-Clients müssen mit anderen Prozessen kommunizieren, von denen einige möglicherweise mit erhöhten Rechten ausgeführt werden. Darüber hinaus benötigen Clients möglicherweise Zugriff auf die Systemdialogfelder, die für andere Prozesse normalerweise nicht sichtbar sind. Daher müssen Benutzeroberflächenautomatisierung-Clients aus Sicht des Systems als vertrauenswürdig eingestuft sein und mit besonderen Berechtigungen ausgeführt werden.

Damit sie für den Datenaustausch mit Anwendungen, die mit höheren Berechtigungsstufen ausgeführt werden, als vertrauenswürdig angesehen werden, müssen Anwendungen signiert sein.

Um Zugriff auf die UI des geschützten Systems zu erhalten, müssen Anwendungen mit einer Manifestdatei generiert werden, die ein besonderes Attribut in der Manifestdatei enthält. Dieses uiAccess-Attribut ist im requestedExecutionLevel-Tag enthalten, wie hier dargestellt:

<trustInfo xmlns="urn:0073chemas-microsoft-com:asm.v3">

    <security>

        <requestedPrivileges>

        <requestedExecutionLevel

            level="highestAvailable"

            UIAccess="true" />

        </requestedPrivileges>

    </security>

</trustInfo>

Der Wert des level-Attributs in diesem Code stellt nur ein Beispiel dar.

UIAccess ist standardmäßig „false“; d.h., wenn das Attribut ausgelassen wird oder kein Manifest für die Assembly vorhanden ist, kann die Anwendung keinen Zugriff auf die geschützte UI erhalten.

Weitere Informationen zur Sicherheit in Windows Vista, zum Signieren von Anwendungen und zum Erstellen von Assemblymanifesten finden Sie unter „Developer Best Practices and Guidelines for Applications in a Least Privileged Environment“ auf MSDN.

Anzeigen: