Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
Säkerhet är en viktig faktor när du utvecklar enhetsdrivrutiner, särskilt drivrutiner som körs i kernelläge med förhöjd behörighet. Innan någon åtgärd kan utföras måste operativsystemet se till att åtgärden inte bryter mot systemets säkerhetsprincip. Enhetsdrivrutiner behöver mekanismer för att styra vilka processer och användare som kan komma åt sina enheter och vilka åtgärder de får utföra.
Windows Security Reference Monitor (SRM) är en kärnkomponent i kernelläge i Windows-säkerhetsarkitekturen som tillämpar principer för åtkomstkontroll i hela operativsystemet. Den validerar varje begäran om åtkomst till systemobjekt och ser till att endast auktoriserade entiteter kan utföra specifika åtgärder.
Viktiga funktioner i säkerhetsreferensövervakaren
SRM utför flera funktioner för att upprätthålla systemsäkerhet:
- Tillämpning av åtkomstkontroll: Verifierar varje begäran om åtkomst till systemobjekt som filer, registernycklar och processer.
- Implementering av säkerhetsprinciper: Tillämpar systemomfattande säkerhetsprinciper och implementerar principen om lägsta behörighet.
- Granskning och loggning: Genererar säkerhetsgranskningshändelser och spårar säkerhetsreleventiska aktiviteter för efterlevnad och kriminalteknik.
Arkitekturkomponenter
SRM fungerar med flera viktiga datastrukturer och komponenter för att framtvinga säkerhetsprinciper.
Säkerhetsbeskrivningar
Säkerhetsbeskrivningar är datastrukturer som innehåller säkerhetsinformation för objekt.
Information i en säkerhetsbeskrivning lagras i en åtkomstkontrollista (ACL). Windows använder ACL:er för att avgöra vilka objekt som har vilken säkerhet.
Säkerhetsövervakningsrutiner för referenser
SRM tillhandahåller rutiner för att din drivrutin ska fungera med åtkomstkontroll. Rutiner som ger ett direkt gränssnitt till SRM är prefixerade med bokstäverna Se. Vanliga SRM-rutiner är:
- SeAccessCheck: Utför åtkomstverifiering mot en säkerhetsbeskrivning.
- SePrivilegeCheck: Kontrollerar om en token har specifika behörigheter.
- SeSinglePrivilegeCheck: Söker efter en enda behörighet i en åtkomsttoken i kontexten för den aktuella tråden.
- SeTokenType: Avgör om en token är en primär token eller en personifieringstoken.
Deklarationer för Se-funktioner och relaterade entiteter finns i olika WDK-huvuden, inklusive ntifs.h och wdm.h.
Scenarier för drivrutinsimplementering
Enhetsdrivrutiner använder ofta SRM i flera scenarier för att implementera lämpliga åtkomstkontroller.
Åtkomstkontroll för enhet
Drivrutiner kan styra vilka användare som kan komma åt specifika maskinvaruenheter:
- Kontrollera användarbehörigheter innan du tillåter enhetsåtgärder.
- Implementera olika åtkomstnivåer för olika typer av användare.
- Begränsa administrativa åtgärder till privilegierade användare.
Åtgärdsverifiering
Drivrutiner kan se till att endast auktoriserade processer kan utföra specifika enhetsåtgärder:
- Verifiera säkerhetskontexten innan du bearbetar I/O-begäranden.
- Sök efter specifika behörigheter som krävs för känsliga åtgärder.
- Implementera anpassade säkerhetsprinciper för enhetsspecifika funktioner.
Hantering av säkerhetskontexter
Drivrutiner som hanterar efterliknande och olika säkerhetskontexter kan:
- Hantera personifieringstoken på rätt sätt.
- Växla mellan olika säkerhetskontexter efter behov.
- Upprätthålla säkerhetsgränser mellan olika användarsessioner.
Säkerhetsprinciper
SRM implementerar grundläggande säkerhetsprinciper som är viktiga för att upprätthålla systemintegriteten.
Fullständig medling
Varje åtkomstförsök måste gå igenom referensövervakaren:
- Det finns inga undantag eller förbikopplingsmekanismer.
- Säkerställer konsekvent tillämpning av säkerhetsprinciper för alla systemkomponenter.
- Förhindrar obehörig åtkomst via alternativa kodsökvägar.
Minsta privilegium
Referensövervakaren hjälper till att implementera principen om lägsta behörighet:
- Användare och processer bör bara ha de lägsta behörigheter som krävs.
- Hjälper till att minimera potentiella skador från säkerhetsöverträdelser.
- Implementerad genom noggrann ACL-konfiguration och behörighetshantering.