Delen via


Windows Kernel-Mode Beveiligingsreferentie-monitor

Beveiliging is een belangrijke overweging bij het ontwikkelen van apparaatstuurprogramma's, met name stuurprogramma's die in de kernelmodus werken met verhoogde bevoegdheden. Voordat een actie kan worden uitgevoerd, moet het besturingssysteem ervoor zorgen dat de actie niet in strijd is met het beveiligingsbeleid van het systeem. Apparaatstuurprogramma's hebben mechanismen nodig om te bepalen welke processen en gebruikers toegang hebben tot hun apparaten en welke bewerkingen ze mogen uitvoeren.

De Windows Security Reference Monitor (SRM) is een kerncomponent in de kernelmodus van de Windows-beveiligingsarchitectuur die beleidsregels voor toegangsbeheer afdwingt in het hele besturingssysteem. Het valideert elke aanvraag voor toegang tot systeemobjecten en zorgt ervoor dat alleen geautoriseerde entiteiten specifieke bewerkingen kunnen uitvoeren.

Belangrijkste functies van de beveiligingsreferentiemonitor

De SRM voert verschillende functies uit om systeembeveiliging te behouden:

  • Afdwingen van toegangsbeheer: valideert elke aanvraag voor toegang tot systeemobjecten, zoals bestanden, registersleutels en processen.
  • Implementatie van beveiligingsbeleid: dwingt beveiligingsbeleid voor het hele systeem af en implementeert het principe van minimale bevoegdheden.
  • Controle en logboekregistratie: genereert beveiligingscontrolegebeurtenissen en houdt beveiligingsgerelateerde activiteiten bij voor naleving en forensisch onderzoek.

Architectuuronderdelen

De SRM werkt met verschillende belangrijke gegevensstructuren en onderdelen om beveiligingsbeleid af te dwingen.

Beveiligingsdescriptors

Beveiligingsdescriptors zijn gegevensstructuren die beveiligingsinformatie voor objecten bevatten.

Informatie in een beveiligingsdescriptor wordt opgeslagen in een ACL (Access Control List). Windows gebruikt ACL's om te bepalen welke objecten welke beveiliging hebben.

Routines voor bewaking van beveiligingsreferenties

De SRM biedt routines voor uw stuurprogramma om te werken met toegangsbeheer. Routines die een directe interface naar de SRM bieden, worden voorafgegaan door de letters Se. Veelvoorkomende SRM-routines zijn:

  • SeAccessCheck: hiermee wordt toegangsvalidatie uitgevoerd op basis van een beveiligingsdescriptor.
  • SePrivilegeCheck: controleert of een token specifieke bevoegdheden heeft.
  • SeSinglePrivilegeCheck: Hiermee wordt gecontroleerd op één bevoegdheid in een toegangstoken in de context van de huidige thread.
  • SeTokenType: bepaalt of een token een primair token of imitatietoken is.

Declaraties voor Se-functies en gerelateerde entiteiten vindt u in verschillende WDK-headers, waaronder ntifs.h en wdm.h.

Implementatiescenario's voor stuurprogramma's

Apparaatstuurprogramma's gebruiken doorgaans de SRM in verschillende scenario's om de juiste toegangsbeheer te implementeren.

Apparaattoegangsbeheer

Stuurprogramma's kunnen bepalen welke gebruikers toegang hebben tot specifieke hardwareapparaten:

  • Controleer gebruikersmachtigingen voordat u apparaatbewerkingen toestaat.
  • Implementeer verschillende toegangsniveaus voor verschillende typen gebruikers.
  • Beperk beheerbewerkingen tot bevoegde gebruikers.

Bewerkingsvalidatie

Stuurprogramma's kunnen ervoor zorgen dat alleen geautoriseerde processen specifieke apparaatbewerkingen kunnen uitvoeren:

  • Valideer de beveiligingscontext voordat I/O-aanvragen worden verwerkt.
  • Controleer op specifieke bevoegdheden die zijn vereist voor gevoelige bewerkingen.
  • Aangepast beveiligingsbeleid implementeren voor apparaatspecifieke functies.

Beveiligingscontextbeheer

Stuurprogramma's die werken met impersonatie en verschillende beveiligingscontexten, kunnen:

  • Imitatietokens op de juiste wijze verwerken.
  • Schakel indien nodig tussen verschillende beveiligingscontexten.
  • Beveilig beveiligingsgrenzen tussen verschillende gebruikerssessies.

Beveiligingsprincipes

Het SRM implementeert fundamentele beveiligingsprincipes die essentieel zijn voor het handhaven van de systeemintegriteit.

Volledige bemiddeling

Elke toegangspoging moet via de referentiemonitor gaan:

  • Er bestaan geen uitzonderingen of bypassmechanismen.
  • Zorgt voor consistente afdwinging van beveiligingsbeleid voor alle systeemonderdelen.
  • Voorkomt onbevoegde toegang via alternatieve codepaden.

Minimale bevoegdheid

De referentiemonitor helpt bij het implementeren van het principe van minimale bevoegdheden:

  • Gebruikers en processen mogen alleen de minimale machtigingen hebben die nodig zijn.
  • Helpt potentiële schade aan beveiligingsschendingen te minimaliseren.
  • Geïmplementeerd via zorgvuldigE ACL-configuratie en privilegebeheer.