Delen via


Beveiligingsoverwegingen voor ondersteunende technologieën

Ondersteunende technologieën zijn toepassingen die worden uitgevoerd op het Windows-bureaublad en helpen toegankelijkheidsgebruikers om te communiceren met het besturingssysteem en andere toepassingen die op de computer worden uitgevoerd, inclusief toepassingen in de nieuwe Gebruikersinterface van Windows. Ondersteunende technologietoepassingen werken door informatie op te halen uit het besturingssysteem en andere toepassingen en vervolgens de informatie weer te geven op een manier die toegankelijk is voor de gebruiker. Een toepassing voor ondersteunende technologie kan ook programmatisch het besturingssysteem en andere toepassingen aandrijven op basis van invoer van de gebruiker.

De aard van ondersteunende technologietoepassingen vereist dat ze procesgrenzen overschrijden en dat ze toegang hebben tot processen die op een hoger integriteitsniveau (IL) worden uitgevoerd dan zichzelf. (Een ondersteunende technologietoepassing wordt uitgevoerd op gemiddeld IL.) Wanneer de gebruiker bijvoorbeeld probeert een taak uit te voeren waarvoor beheerdersbevoegdheden zijn vereist, wordt in Windows een dialoogvenster weergegeven waarin de gebruiker wordt gevraagd om toestemming te geven om door te gaan. Dit dialoogvenster wordt uitgevoerd op een hogere IL om deze te beveiligen tegen communicatie tussen processen, zodat schadelijke software geen gebruikersinvoer kan simuleren. Op vergelijkbare wijze draait het aanmeldscherm van het bureaublad op een hoger integriteitsniveau om te voorkomen dat andere processen er toegang toe krijgen.

Toepassingen met ondersteunende technologie hebben doorgaans toegang nodig tot de elementen van de gebruikersinterface van het beveiligde systeem of tot andere processen die op een hoger bevoegdheidsniveau kunnen worden uitgevoerd. Daarom moeten ondersteunende technologietoepassingen worden vertrouwd door het systeem en moeten ze worden uitgevoerd met speciale bevoegdheden.

Als u toegang wilt krijgen tot hogere IL-processen, moet een ondersteunende technologietoepassing de UIAccess-vlag instellen in het manifest van de toepassing en worden gestart door een gebruiker met beheerdersbevoegdheden.

Notitie

Toegangsbevoegdheden zijn als volgt beperkt:

  • Een toepassing die geen UIAccess in het manifest heeft, begint met een gemiddeld integratieniveau (IL) en kan geen toegang krijgen tot gebruikersinterfaces van processen met een verhoogd integratieniveau ("medium+" IL).
  • Een toepassing met UIAccess in het manifest en wordt gestart door een gebruiker die zich niet in de beheerdersgroep bevindt, begint als 'medium+' IL en heeft geen toegang tot verhoogde gebruikersinterface (niets wordt uitgevoerd als 'hoog' IL, zoals apps die worden gestart via een klik met de rechtermuisknop -> Als administrator uitvoeren).
  • Een toepassing heeft UI-toegang en wordt gestart door een gebruiker met beheerdersrechten, begint als 'hoog' IL en heeft toegang tot verhoogde gebruikersinterface omdat deze dezelfde IL heeft.

UIAccess alleen is niet voldoende voor een proces om de IL-grens te overschrijden.

Naast toegang tot hogere IL-processen, kan een ondersteunende technologietoepassing met deze bevoegdheden op elk gewenst moment worden uitgevoerd als de bovenste toepassing in de z-order, wat betekent dat een ondersteunende technologietoepassing zichtbaar en beschikbaar kan zijn wanneer de gebruiker deze nodig heeft.

Belangrijk

Geen van de eerder vermelde scenario's bieden toegang tot de gebruikersinterface die wordt uitgevoerd onder de systeem-IL. Dit is alleen mogelijk als het proces wordt gestart in het gebruikersaccountbeheer -bureaublad (UAC) onder SYSTEM (en systeem IL). In dit geval heeft het instellen van UIAccess geen effect.

UIAccess-vereisten voor ondersteunende technologietoepassingen

Een ondersteunende technologietoepassing is een Windows-bureaubladtoepassing die communiceert met andere processen die op het bureaublad worden uitgevoerd en in de nieuwe Windows-gebruikersinterface om informatie op te halen uit het systeem en de toepassingen. De ondersteunende technologietoepassing kan vervolgens de informatie verstrekken aan toegankelijkheidsgebruikers.

Een ondersteunende technologietoepassing krijgt toegang tot andere processen door de UIAccess-vlag in te stellen in het toepassingsmanifest. Als u de vlag UIAccess wilt gebruiken, moet een toepassing voor ondersteunende technologie voldoen aan de volgende vereisten.

  • Vereisen dat informatie uit een andere toepassing wordt weergegeven, gebruikt of weerkaatst om informatie te verstrekken voor een toegankelijkheidsscenario, en/of
  • Vereisen dat deze wordt uitgevoerd als het bovenste venster om deze informatie te verkrijgen of weer te geven.

Als u UIAccess wilt gebruiken, moet een ondersteunende technologietoepassing het volgende doen:

  • Wees ondertekend met een certificaat om te communiceren met toepassingen die op een hoger bevoegdheidsniveau worden uitgevoerd.
  • Vertrouwd worden door het systeem. De toepassing moet worden geïnstalleerd op een veilige locatie waarbij een gebruikersaccountcontrole (UAC) wordt gevraagd voor toegang. Bijvoorbeeld de map Program Files.
  • Maak een manifestbestand dat de uiAccess-vlag bevat.

UIAccess mag niet worden gebruikt:

  • Door toepassingen die geen ondersteunende technologieën zijn.

  • Door ondersteunende technologietoepassingen die informatie of gebruikersinterface weergeven die niet relevant is voor het toegankelijkheidsscenario waarop ze zijn gericht.

  • Door toepassingen die slechts boven andere toepassingen in de nieuwe Windows-UI willen worden weergegeven.

    Notitie

    UWP-toepassingen hebben UIAccess niet als beschikbare optie.

     

UIAccess instellen in het manifestbestand van de toepassing

Als u toegang wilt krijgen tot de gebruikersinterface van het beveiligde systeem, moeten toepassingen worden gebouwd met een manifestbestand dat een speciaal kenmerk in het manifestbestand bevat. Dit uiAccess kenmerk is opgenomen in de requestedExecutionLevel tag, zoals wordt weergegeven in het volgende codevoorbeeld.

<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3"> 
    <security> 
        <requestedPrivileges> 
        <requestedExecutionLevel 
            level="highestAvailable" 
            uiAccess="true" /> 
        </requestedPrivileges> 
    </security> 
</trustInfo> 

De waarde van het niveau kenmerk in deze code is alleen een voorbeeld.

UIAccess- is standaard 'false'. Als het kenmerk wordt weggelaten of als er geen manifest is, kan de toepassing geen toegang krijgen tot de beveiligde gebruikersinterface.

Zie voor meer informatie over Windows-beveiliging, het ondertekenen van toepassingen en het maken van manifesten Het Ontwikkelaarsverhaal van Windows Vista en Windows Server 2008: Windows Vista Application Development Requirements for User Account Control (UAC).

Basisprincipes van UI Automation