Übersicht über die Benutzeroberflächenautomatisierungs-Sicherheit

Hinweis

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

In dieser Übersicht wird das Sicherheitsmodell für die Microsoft-Benutzeroberflächenautomatisierung unter Windows Vista beschrieben.

Benutzerkontensteuerung

Sicherheit stellt einen zentralen Schwerpunkt von Windows Vista dar, und zu den Neuerungen zählt die Möglichkeit für Benutzer*innen, mit einer Anmeldung als Standardbenutzer*in (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 Benutzer*innen um die 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.

Aufgaben, für die erhöhte Rechte erforderlich sind

Wenn versucht wird, eine Aufgabe auszuführen, für die Administratorberechtigungen erforderlich sind, zeigt Windows Vista ein Dialogfeld an, das die Zustimmung zur weiteren Ausführung anfragt. 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ächenautomatisierungclients 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.

Manifestdateien

Um Zugriff auf die Benutzeroberfläche des geschützten Systems zu erhalten, müssen Anwendungen mit einer Manifestdatei generiert werden, die das uiAccess-Attribut wie folgt im requestedExecutionLevel-Tag enthält:

<trustInfo xmlns="urn:schemas-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.