Sdílet prostřednictvím


Windows Kernel-Mode Monitor zabezpečení reference

Zabezpečení je zásadním aspektem při vývoji ovladačů zařízení, zejména ovladačů pracujících v režimu jádra se zvýšenými oprávněními. Před provedením jakékoli akce musí operační systém zajistit, aby akce neporušovala zásady zabezpečení systému. Ovladače zařízení potřebují mechanismy pro řízení procesů a uživatelů, kteří mají přístup ke svým zařízením, a k jakým operacím mají oprávnění.

Windows Security Reference Monitor (SRM) je základní komponenta režimu jádra architektury zabezpečení Systému Windows, která vynucuje zásady řízení přístupu v celém operačním systému. Ověřuje každou žádost o přístup k systémovým objektům a zajišťuje, aby určité operace mohly provádět pouze autorizované entity.

Klíčové funkce nástroje Security Reference Monitor

SRM provádí několik funkcí pro zachování zabezpečení systému:

  • Vynucení řízení přístupu: Ověřuje všechny požadavky na přístup k systémovým objektům, jako jsou soubory, klíče registru a procesy.
  • Implementace zásad zabezpečení: Vynucuje zásady zabezpečení pro celý systém a implementuje princip nejnižších oprávnění.
  • Audit a protokolování: Generuje události auditu zabezpečení a sleduje aktivity související se zabezpečením pro dodržování předpisů a forenzní účely.

Komponenty architektury

SRM pracuje s několika klíčovými datovými strukturami a komponentami k vynucení zásad zabezpečení.

Popisovače zabezpečení

Popisovače zabezpečení jsou datové struktury, které obsahují informace o zabezpečení objektů.

Informace v popisovači zabezpečení jsou uloženy v seznamu řízení přístupu (ACL). Systém Windows používá seznamy ACL k určení objektů, které mají jaké zabezpečení.

Rutiny referenčního monitoru zabezpečení

SRM poskytuje rutiny pro vašeho ovladače pro práci s řízením přístupu. Rutiny, které poskytují přímé rozhraní pro SRM, mají předponu písmena Se. Mezi běžné rutiny SRM patří:

  • SeAccessCheck: Provádí ověřování přístupu proti popisovači zabezpečení.
  • SePrivilegeCheck: Kontroluje, jestli má token konkrétní oprávnění.
  • SeSinglePrivilegeCheck: Kontroluje jedno oprávnění v přístupovém tokenu v kontextu aktuálního vlákna.
  • SeTokenType: Určuje, jestli je token primárním nebo zosobněným tokenem.

Deklarace funkcí Se a souvisejících entit najdete v různých hlavičkách WDK, včetně ntifs.h a wdm.h.

Scénáře implementace ovladačů

Ovladače zařízení často používají SRM v několika scénářích k implementaci správných řízení přístupu.

Řízení přístupu zařízení

Ovladače můžou řídit, kteří uživatelé mají přístup ke konkrétním hardwarovým zařízením:

  • Před povolením operací zařízení zkontrolujte uživatelská oprávnění.
  • Implementujte různé úrovně přístupu pro různé typy uživatelů.
  • Omezte operace správy na privilegované uživatele.

Ověření operace

Ovladače můžou zajistit, aby určité operace zařízení prováděly jenom autorizované procesy:

  • Před zpracováním vstupně-výstupních požadavků ověřte kontext zabezpečení.
  • Zkontrolujte konkrétní oprávnění požadovaná pro citlivé operace.
  • Implementujte vlastní zásady zabezpečení pro funkce specifické pro zařízení.

Správa kontextu zabezpečení

Ovladače pracující s imitací a různými bezpečnostními kontexty můžou:

  • Zacházejte s tokeny pro zosobnění odpovídajícím způsobem.
  • Podle potřeby můžete přepínat mezi různými kontexty zabezpečení.
  • Udržujte bezpečnostní hranice mezi různými relacemi uživatelů.

Principy zabezpečení

SRM implementuje základní principy zabezpečení, které jsou nezbytné pro zachování integrity systému.

Kompletní mediace

Každý pokus o přístup musí projít referenčním monitorováním:

  • Neexistují žádné výjimky ani mechanismy obejití.
  • Zajišťuje konzistentní vynucování zásad zabezpečení napříč všemi součástmi systému.
  • Zabraňuje neoprávněnému přístupu prostřednictvím alternativních cest kódu.

Nejnižší možné oprávnění

Referenční monitorování pomáhá implementovat princip nejnižších oprávnění:

  • Uživatelé a procesy by měli mít potřebná pouze minimální oprávnění.
  • Pomáhá minimalizovat potenciální škody z porušení zabezpečení.
  • Implementovali jsme prostřednictvím pečlivé konfigurace seznamu ACL a správy oprávnění.