Udostępnij przez


Monitor odniesienia zabezpieczeń trybu jądra systemu Windows

Bezpieczeństwo to kluczowa kwestia podczas opracowywania sterowników urządzeń, szczególnie sterowników działających w trybie jądra z podwyższonym poziomem uprawnień. Przed rozpoczęciem jakiejkolwiek akcji system operacyjny musi upewnić się, że akcja nie narusza zasad zabezpieczeń systemu. Sterowniki urządzeń muszą kontrolować, które procesy i użytkownicy mogą uzyskiwać dostęp do swoich urządzeń oraz jakie operacje mogą wykonywać.

Monitor odwołań do zabezpieczeń systemu Windows (SRM) jest podstawowym składnikiem trybu jądra architektury zabezpieczeń systemu Windows, która wymusza zasady kontroli dostępu w całym systemie operacyjnym. Weryfikuje każde żądanie dostępu do obiektów systemowych i zapewnia, że tylko autoryzowane jednostki mogą wykonywać określone operacje.

Kluczowe funkcje monitora referencyjnego zabezpieczeń

Moduł SRM wykonuje kilka funkcji w celu utrzymania zabezpieczeń systemu:

  • Wymuszanie kontroli dostępu: weryfikuje każde żądanie dostępu do obiektów systemowych, takich jak pliki, klucze rejestru i procesy.
  • Implementacja zasad zabezpieczeń: wymusza zasady zabezpieczeń dla całego systemu i implementuje zasadę najniższych uprawnień.
  • Audyt i rejestrowanie: generuje zdarzenia audytu zabezpieczeń i śledzi istotne dla zabezpieczeń działania w zakresie zgodności i kryminalistyki.

Składniki architektury

Moduł SRM współpracuje z kilkoma kluczowymi strukturami danych i składnikami w celu wymuszania zasad zabezpieczeń.

Deskryptory zabezpieczeń

Deskryptory zabezpieczeń to struktury danych zawierające informacje o zabezpieczeniach obiektów.

Informacje w deskryptorze zabezpieczeń są przechowywane na liście kontroli dostępu (ACL). System Windows używa list ACL do określania, które obiekty mają jakie zabezpieczenia.

Procedury monitorowania referencyjnego zabezpieczeń

Moduł SRM udostępnia procedury pracy kierowcy z kontrolą dostępu. Procedury, które zapewniają bezpośredni interfejs do modułu SRM, są poprzedzone literami Se. Typowe procedury SRM obejmują:

  • SeAccessCheck: przeprowadza walidację dostępu względem deskryptora zabezpieczeń.
  • SePrivilegeCheck: sprawdza, czy token ma określone uprawnienia.
  • SeSinglePrivilegeCheck: sprawdza pojedyncze uprawnienia w tokenie dostępu w kontekście bieżącego wątku.
  • SeTokenType: określa, czy token jest tokenem podstawowym, czy personifikacji.

Deklaracje funkcji Se i powiązanych jednostek można znaleźć w różnych nagłówkach zestawu WDK, w tym ntifs.h i wdm.h.

Scenariusze implementacji sterowników

Sterowniki urządzeń często używają usługi SRM w kilku scenariuszach do implementowania odpowiednich kontroli dostępu.

Kontrola dostępu do urządzeń

Sterowniki mogą kontrolować, którzy użytkownicy mogą uzyskiwać dostęp do określonych urządzeń sprzętowych:

  • Przed zezwoleniem na operacje na urządzeniach sprawdź uprawnienia użytkownika.
  • Zaimplementuj różne poziomy dostępu dla różnych typów użytkowników.
  • Ogranicz operacje administracyjne do uprzywilejowanych użytkowników.

Walidacja operacji

Sterowniki mogą zapewnić, że tylko autoryzowane procesy mogą wykonywać określone operacje na urządzeniach:

  • Zweryfikuj kontekst zabezpieczeń przed przetworzeniem żądań wejścia/wyjścia.
  • Sprawdź, czy określone uprawnienia są wymagane w przypadku operacji poufnych.
  • Implementowanie niestandardowych zasad zabezpieczeń dla funkcji specyficznych dla urządzenia.

Zarządzanie kontekstem zabezpieczeń

Sterowniki współpracujące z personifikacją i różnymi kontekstami zabezpieczeń mogą:

  • Odpowiednio obsługuj tokeny podszywania się.
  • W razie potrzeby przełączaj się między różnymi kontekstami zabezpieczeń.
  • Zachowaj granice zabezpieczeń między różnymi sesjami użytkownika.

Zasady zabezpieczeń

Usługa SRM implementuje podstawowe zasady zabezpieczeń, które są niezbędne do utrzymania integralności systemu.

Kompletny pośrednictwo

Każda próba dostępu musi przechodzić przez monitor referencyjny:

  • Nie istnieją żadne wyjątki ani mechanizmy obejścia.
  • Zapewnia spójne wymuszanie zasad zabezpieczeń we wszystkich składnikach systemu.
  • Zapobiega nieautoryzowanemu dostępowi za pośrednictwem alternatywnych ścieżek kodu.

Zasada najmniejszych uprawnień

Monitor referencyjny pomaga zaimplementować zasadę najniższych uprawnień:

  • Użytkownicy i procesy powinni mieć tylko wymagane minimalne uprawnienia.
  • Pomaga zminimalizować potencjalne szkody spowodowane naruszeniami zabezpieczeń.
  • Zaimplementowano poprzez staranną konfigurację ACL i zarządzanie uprawnieniami.