Översikt över UI Automation-säkerhet
Kommentar
Den här dokumentationen System.Windows.Automation är avsedd för .NET Framework-utvecklare som vill använda de hanterade UI Automation-klasserna som definierats i namnområdet. Den senaste informationen om UI Automation finns i Windows Automation API: UI Automation.
Den här översikten beskriver säkerhetsmodellen för Microsoft UI Automation i Windows Vista.
Kontroll av användarkonto
Säkerhet är ett stort fokus för Windows Vista och bland innovationerna finns möjligheten för användare att köra som standardanvändare (icke-administratör) utan att nödvändigtvis blockeras från att köra program och tjänster som kräver högre privilegier.
I Windows Vista levereras de flesta program med antingen en standard- eller en administrativ token. Om ett program inte kan identifieras som ett administrativt program startas det som standard som ett standardprogram. Innan ett program som identifieras som administrativt kan startas uppmanar Windows Vista användaren att godkänna att programmet ska köras som upphöjt. Medgivandeprompten visas som standard, även om användaren är medlem i den lokala gruppen Administratörer, eftersom administratörer körs som standardanvändare tills ett program eller en systemkomponent som kräver administrativa autentiseringsuppgifter begär behörighet att köras.
Uppgifter som kräver högre behörigheter
När en användare försöker utföra en uppgift som kräver administratörsbehörighet, visar Windows Vista en dialogruta där användaren uppmanas att ge sitt medgivande för att fortsätta. Den här dialogrutan är skyddad från kommunikation mellan processer, så att skadlig programvara inte kan simulera användarindata. På samma sätt kan skärmen för skrivbordsinloggning normalt inte nås av andra processer.
UI Automation-klienter måste kommunicera med andra processer, vissa av dem kanske körs på en högre behörighetsnivå. Klienter kan också behöva åtkomst till systemdialogrutor som normalt inte är synliga för andra processer. Därför måste UI Automation-klienter vara betrodda av systemet och måste köras med särskilda privilegier.
För att kunna kommunicera med program som körs på en högre behörighetsnivå måste program signeras.
Manifestfiler
För att få åtkomst till det skyddade systemgränssnittet måste program skapas med en manifestfil som innehåller uiAccess
attributet i taggen requestedExecutionLevel
enligt följande:
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel
level="highestAvailable"
uiAccess="true" />
</requestedPrivileges>
</security>
</trustInfo>
Värdet för attributet i den level
här koden är bara ett exempel.
uiAccess
är "false" som standard. om attributet utelämnas, eller om det inte finns något manifest för sammansättningen, kommer programmet inte att kunna få åtkomst till det skyddade användargränssnittet.