Freigeben über


Windows Kernel-Mode Sicherheitsreferenzmonitor

Sicherheit ist ein wichtiger Aspekt bei der Entwicklung von Gerätetreibern, insbesondere treibern, die im Kernelmodus mit erhöhten Berechtigungen ausgeführt werden. Bevor eine Aktion ausgeführt werden kann, muss das Betriebssystem sicherstellen, dass die Aktion nicht gegen die Systemsicherheitsrichtlinie verstößt. Gerätetreiber benötigen Mechanismen, um zu steuern, welche Prozesse und Benutzer auf ihre Geräte zugreifen können und welche Vorgänge sie ausführen dürfen.

Der Windows Security Reference Monitor (SRM) ist eine Kernkomponente des Kernelmodus der Windows-Sicherheitsarchitektur, die Zugriffssteuerungsrichtlinien im gesamten Betriebssystem erzwingt. Es überprüft jede Anforderung für den Zugriff auf Systemobjekte und stellt sicher, dass nur autorisierte Entitäten bestimmte Vorgänge ausführen können.

Wichtige Funktionen des Sicherheitsreferenzmonitors

Das SRM führt mehrere Funktionen aus, um die Systemsicherheit aufrechtzuerhalten:

  • Erzwingung der Zugriffssteuerung: Überprüft jede Anforderung für den Zugriff auf Systemobjekte wie Dateien, Registrierungsschlüssel und Prozesse.
  • Implementierung von Sicherheitsrichtlinien: Erzwingt systemweite Sicherheitsrichtlinien und implementiert das Prinzip der geringsten Rechte.
  • Überwachung und Protokollierung: Generiert Sicherheitsüberwachungsereignisse und verfolgt sicherheitsrelevante Aktivitäten für Compliance und Forensik.

Architekturkomponenten

Das SRM arbeitet mit mehreren wichtigen Datenstrukturen und Komponenten zusammen, um Sicherheitsrichtlinien zu erzwingen.

Sicherheitsbeschreiber

Sicherheitsdeskriptoren sind Datenstrukturen, die Sicherheitsinformationen für Objekte enthalten.

Informationen in einer Sicherheitsbeschreibung werden in einer Zugriffssteuerungsliste (Access Control List, ACL) gespeichert. Windows verwendet ACLs, um zu bestimmen, welche Objekte über welche Sicherheit verfügen.

Sicherheitsreferenzüberwachungsroutinen

Das SRM bietet Routinen für den Fahrer, um mit der Zugriffssteuerung zu arbeiten. Routinen, die eine direkte Schnittstelle zum SRM bereitstellen, werden den Buchstaben Se vorangestellt. Zu den gängigen SRM-Routinen gehören:

  • SeAccessCheck: Führt eine Zugriffsüberprüfung für einen Sicherheitsdeskriptor durch.
  • SePrivilegeCheck: Überprüft, ob ein Token bestimmte Berechtigungen hat.
  • SeSinglePrivilegeCheck: Überprüft im Kontext des aktuellen Threads auf ein einzelnes Privileg in einem Zugriffstoken.
  • SeTokenType: Bestimmt, ob ein Token ein primäres oder ein Impersonationstoken ist.

Deklarationen für Se-Funktionen und zugehörige Entitäten finden Sie in verschiedenen WDK-Headern, einschließlich ntifs.h und wdm.h.

Szenarien für die Treiberimplementierung

Gerätetreiber verwenden häufig srM in mehreren Szenarien, um die richtigen Zugriffssteuerungen zu implementieren.

Gerätezugriffssteuerung

Treiber können steuern, welche Benutzer auf bestimmte Hardwaregeräte zugreifen können:

  • Überprüfen Sie Die Benutzerberechtigungen, bevor Sie Gerätevorgänge zulassen.
  • Implementieren Sie unterschiedliche Zugriffsebenen für verschiedene Benutzertypen.
  • Einschränken von Administrativen Vorgängen auf privilegierte Benutzer.

Vorgangsüberprüfung

Treiber können sicherstellen, dass nur autorisierte Prozesse bestimmte Gerätevorgänge ausführen können:

  • Überprüfen Sie den Sicherheitskontext vor der Verarbeitung von E/A-Anforderungen.
  • Überprüfen Sie auf bestimmte Berechtigungen, die für vertrauliche Vorgänge erforderlich sind.
  • Implementieren sie benutzerdefinierte Sicherheitsrichtlinien für gerätespezifische Funktionen.

Sicherheitskontextverwaltung

Treiber, die mit Identitätswechsel und verschiedenen Sicherheitskontexten arbeiten, können:

  • Behandeln Sie Identitätswechseltoken ordnungsgemäß.
  • Wechseln Sie bei Bedarf zwischen verschiedenen Sicherheitskontexten.
  • Verwalten Sie Sicherheitsgrenzen zwischen verschiedenen Benutzersitzungen.

Sicherheitsgrundsätze

Das SRM implementiert grundlegende Sicherheitsprinzipien, die für die Aufrechterhaltung der Systemintegrität unerlässlich sind.

Vollständige Vermittlung

Jeder Zugriffsversuch muss den Referenzmonitor durchlaufen:

  • Es sind keine Ausnahmen oder Umgehungsmechanismen vorhanden.
  • Stellt eine konsistente Durchsetzung der Sicherheitsrichtlinien für alle Systemkomponenten sicher.
  • Verhindert nicht autorisierten Zugriff über alternative Codepfade.

Ansatz der geringsten Rechte

Der Referenzmonitor hilft beim Implementieren des Prinzips der geringsten Rechte:

  • Benutzer und Prozesse sollten nur über die erforderlichen Mindestberechtigungen verfügen.
  • Trägt dazu bei, potenzielle Schäden durch Sicherheitsverletzungen zu minimieren.
  • Implementiert durch sorgfältige ACL-Konfiguration und Berechtigungsverwaltung.