Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
SdDL (Security Descriptor Definition Language) wordt gebruikt om beveiligingsdescriptors weer te geven. Beveiliging voor apparaatobjecten kan worden opgegeven door een SDDL-tekenreeks die in een INF-bestand wordt geplaatst of doorgegeven aan IoCreateDeviceSecure. De definitietaal van de beveiligingsdescriptor wordt volledig gedocumenteerd in de Microsoft Windows SDK-documentatie.
Hoewel INF-bestanden het volledige bereik van SDDL ondersteunen, wordt alleen een subset van de taal ondersteund door de IoCreateDeviceSecure-routine . Deze subset wordt hier gedefinieerd.
SDDL-tekenreeksen voor apparaatobjecten zijn van het formulier D:P, gevolgd door een of meer expressies van het formulier "(A;; Toegang;; SID)". De SID-waarde geeft een beveiligings-id op die bepaalt aan wie de Access-waarde van toepassing is (bijvoorbeeld een gebruiker of groep). De access-waarde geeft de toegangsrechten op die zijn toegestaan voor de SID. De access- en SID-waarden zijn als volgt.
Wanneer u SDDL gebruikt voor apparaatobjecten, moet uw stuurprogramma zijn gekoppeld aan Wdmsec.lib.
Toegang
Hiermee geeft u een ACCESS_MASK waarde die bepaalt welke toegang is toegestaan. Deze waarde kan worden geschreven als een hexadecimale waarde in de vorm '0xhex', of als een reeks symbolische codes van twee letters die toegangsrechten vertegenwoordigen.
De volgende codes kunnen worden gebruikt om algemene toegangsrechten op te geven.
Code | Algemene toegangsrechten |
---|---|
Algemene Vergadering |
ALGEMEEN_ALLES |
GR |
Algemene_Leesrechten |
GW |
ALGEMEEN_SCHRIJVEN |
GX |
ALGEMEEN_UITVOEREN |
De volgende codes kunnen worden gebruikt om specifieke toegangsrechten op te geven.
Code | Specifiek toegangsrecht |
---|---|
RC |
READ_CONTROL |
SD |
Verwijderen |
Witte dwerg |
WRITE_DAC |
WO |
WRITE_OWNER |
GENERIC_ALL verleent alle rechten die in de bovenstaande twee tabellen worden vermeld, inclusief de mogelijkheid om de ACL te wijzigen.
SID
Hiermee geeft u de SID op waaraan de opgegeven toegang wordt verleend. SID's vertegenwoordigen accounts, aliassen, groepen, gebruikers of computers.
De volgende SID's vertegenwoordigen accounts op de computer.
SID | Beschrijving |
---|---|
SY |
Systeem Vertegenwoordigt het besturingssysteem zelf, inclusief de onderdelen van de gebruikersmodus. |
LS |
Lokale dienstverlening Een vooraf gedefinieerd account voor lokale services (die ook deel uitmaakt van Geverifieerd en Wereld). Deze SID is beschikbaar vanaf Windows XP. |
NS |
Netwerkservice Een vooraf gedefinieerd account voor netwerkservices (die ook deel uitmaakt van Geverifieerd en Wereld). Deze SID is beschikbaar vanaf Windows XP. |
De volgende SID's vertegenwoordigen groepen op de computer.
SID | Beschrijving |
---|---|
BA |
Beheerders De ingebouwde groep Administrators op de computer. |
BU |
Ingebouwde gebruikersgroep Groep die alle lokale gebruikersaccounts en gebruikers in het domein omvat. |
BG |
Ingebouwde gastgroep Groep gebruikers die zich aanmelden met het lokale of domein-gastaccount. |
De volgende SID's beschrijven de mate waarin een gebruiker is geverifieerd.
SID | Beschrijving |
---|---|
AU |
Geverifieerde gebruikers Elke gebruiker die wordt herkend door de lokale computer of door een domein. Gebruikers die zijn aangemeld met het ingebouwde gastaccount, worden niet geverifieerd. Leden van de groep Gasten met afzonderlijke accounts op de computer of het domein worden echter geverifieerd. |
EEN |
Anonieme aangemelde gebruiker Elke gebruiker die zich heeft aangemeld zonder een identiteit, zoals een anonieme netwerksessie. Gebruikers die zich aanmelden met het ingebouwde gastaccount worden niet geverifieerd en zijn ook niet anoniem. Deze SID is beschikbaar vanaf Windows XP. |
De volgende SID's beschrijven hoe de gebruiker zich heeft aangemeld bij de computer.
SID | Beschrijving |
---|---|
IU |
Interactieve gebruikers Gebruikers die zich in eerste instantie interactief hebben aangemeld bij de computer, zoals lokale aanmeldingen en aanmeldingen via Extern Bureaublad. |
NU |
Gebruiker voor netwerkaanmelding Gebruikers die de computer op afstand openen, zonder interactieve bureaubladtoegang (bijvoorbeeld het delen van bestanden of RPC-aanroepen). |
Witte dwerg |
Wereld Vóór Windows XP omvatte deze SID elke sessie, ongeacht of het nu om geverifieerde gebruikers, anonieme gebruikers of het ingebouwde gastaccount ging. Vanaf Windows XP heeft deze SID geen betrekking op anonieme aanmeldingssessies; hierin worden alleen geverifieerde gebruikers en het ingebouwde gastaccount behandeld. Niet-vertrouwde of 'beperkte' code wordt ook niet gedekt door de World SID. Zie de beschrijving van de RC-SID (Restricted Code) in de volgende tabel voor meer informatie. |
De volgende SID's verdienen speciale vermelding.
SID | Beschrijving |
---|---|
RC |
Beperkte code Deze SID wordt gebruikt voor het beheren van de toegang door niet-vertrouwde code. ACL-validatie op tokens met RC bestaat uit twee controles, één op basis van de normale lijst met SID's van het token (met WD bijvoorbeeld) en een ten opzichte van een tweede lijst (meestal met RC en een subset van de oorspronkelijke token-SID's). Toegang wordt alleen verleend als een token beide tests doorstaan. Als zodanig werkt RC eigenlijk in combinatie met andere SID's. Elke ACL die RC specificeert, moet ook WD opgeven. Wanneer RC is gekoppeld aan WD in een ACL, wordt een superset van Iedereen inclusief niet-vertrouwde code beschreven. Niet-vertrouwde code kan code zijn die is gestart met behulp van de optie 'Uitvoeren als' in Explorer. World heeft standaard geen betrekking op niet-vertrouwde code. |
UD |
stuurprogramma's voor User-Mode Deze SID verleent toegang tot stuurprogramma's in de gebruikersmodus. Deze SID omvat momenteel alleen stuurprogramma's die zijn geschreven voor het User-Mode Driver Framework (UMDF). Deze SID is beschikbaar vanaf Windows 8. In eerdere versies van Windows, die de afkorting 'UD' niet herkent, moet u de volledig gekwalificeerde vorm van deze SID opgeven (S-1-5-84-0-0-0-0-0) om toegang te verlenen tot UMDF-stuurprogramma's. Zie Apparaattoegang beheren in de documentatie van User-Mode Driver Framework voor meer informatie. |
SDDL-voorbeelden voor apparaatobjecten
In deze sectie worden de vooraf gedefinieerde SDDL-tekenreeksen beschreven die zijn gevonden in Wdmsec.h. U kunt deze ook gebruiken als sjablonen om nieuwe SDDL-tekenreeksen te definiëren voor apparaatobjecten.
SDDL_DEVOBJ_KERNEL_ONLY
"D:P"
SDDL_DEVOBJ_KERNEL_ONLY is de 'lege' ACL. Code in de gebruikersmodus (inclusief processen die als systeem worden uitgevoerd) kan het apparaat niet openen.
Een PnP-busstuurprogramma kan deze descriptor gebruiken bij het maken van een PDO. Het INF-bestand kan vervolgens losse beveiligingsinstellingen voor het apparaat opgeven. Door deze descriptor op te geven, zou het busstuurprogramma ervoor zorgen dat het apparaat niet kan worden geopend voordat de INF werd verwerkt.
Op dezelfde manier kan een niet-WDM-stuurprogramma deze descriptor gebruiken om de apparaatobjecten ontoegankelijk te maken totdat het juiste programma voor de gebruikersmodus (zoals een installatieprogramma) de uiteindelijke beveiligingsdescriptor in het register instelt.
In al deze gevallen is de standaardbeveiliging strak, losgemaakt indien nodig.
SDDL_DEVOBJ_SYS_ALL
"D:P(A;; GA;;; SY)"
SDDL_DEVOBJ_SYS_ALL is vergelijkbaar met SDDL_DEVOBJ_KERNEL_ONLY, behalve dat naast code in de kernelmodus, gebruikersmoduscode die als Systeem draait ook het apparaat mag openen voor elke vorm van toegang.
Een verouderd stuurprogramma kan deze ACL gebruiken om te beginnen met strikte beveiligingsinstellingen en de service het apparaat tijdens runtime te laten openen voor afzonderlijke gebruikers met behulp van de functie SetFileSecurity-gebruikersmodus . In dit geval moet de service worden uitgevoerd als Systeem.
SDDL_DEVOBJ_SYS_ALL_ADM_ALL
"D:P(A;; GA;;; SY)(A;; GA;;; BA)"
SDDL_DEVOBJ_SYS_ALL_ADM_ALL staat de kernel, het systeem en de beheerder volledige controle over het apparaat toe. Andere gebruikers hebben geen toegang tot het apparaat.
SDDL_DEVOBJ_SYS_ALL_ADM_RWX_WORLD_R
"D:P(A;; GA;;; SY)(A;; GRGWGX;;; BA)(A;; GR;;; WD)"
SDDL_DEVOBJ_SYS_ALL_ADM_RWX_WORLD_R geeft de kernel en het systeem volledige controle over de device. De beheerder heeft standaard toegang tot het hele apparaat, maar kan de ACL niet wijzigen (de beheerder moet eerst het beheer van het apparaat overnemen.)
Iedereen (de World SID) krijgt leestoegang. Niet-vertrouwde code heeft geen toegang tot het apparaat (niet-vertrouwde code kan worden gestart met behulp van de optie Uitvoeren als in Explorer. World heeft standaard geen betrekking op beperkte code.)
Houd er ook rekening mee dat doorkruisingstoegang niet wordt verleend aan normale gebruikers. Dit is mogelijk geen geschikte descriptor voor een apparaat met een naamruimte.
SDDL_DEVOBJ_SYS_ALL_ADM_RWX_WORLD_R_RES_R
"D:P(A;; GA;;; SY)(A;; GRGWGX;;; BA)(A;; GR;;; WD)(A;; GR;;; RC)"
SDDL_DEVOBJ_SYS_ALL_ADM_RWX_WORLD_R_RES_R biedt de kernel en het systeem volledige controle over het apparaat. De beheerder heeft standaard toegang tot het hele apparaat, maar kan de ACL niet wijzigen (de beheerder moet eerst het beheer van het apparaat overnemen.)
Iedereen (de World SID) krijgt leestoegang. Daarnaast mag niet-vertrouwde code ook toegang krijgen tot code. Niet-vertrouwde code kan code zijn die wordt gestart met behulp van de optie Uitvoeren als in Explorer. World heeft standaard geen betrekking op beperkte code.
Houd er ook rekening mee dat doorkruisingstoegang niet wordt verleend aan normale gebruikers. Dit is mogelijk geen geschikte descriptor voor een apparaat met een naamruimte.
Deze SDDL-tekenreeksen bevatten geen overnameaanpassingen. Daarom zijn ze alleen geschikt voor apparaatobjecten en mogen ze niet worden gebruikt voor bestanden of registersleutels. Zie de documentatie van het Microsoft Windows SDK voor meer informatie over het specificeren van erfenis met behulp van SDDL.