Freigeben über


Eingeschränkte Token

Ein eingeschränktes Token ist ein primären oder Identitätswechsel Zugriffstokens, das von der CreateRestrictedToken--Funktion geändert wurde. Ein Prozess oder identitätswechselnden Threads, der im Sicherheitskontext ausgeführt wird, eines eingeschränkten Tokens eingeschränkt ist, ist in der Fähigkeit eingeschränkt, auf sicherungsfähige Objekte zuzugreifen oder privilegierte Vorgänge auszuführen. Die CreateRestrictedToken--Funktion kann ein Token auf folgende Weise einschränken:

  • Entfernen Sie Berechtigungen aus dem Token.
  • Wenden Sie das attribut "nur verweigern" auf SIDs im Token an, sodass sie nicht für den Zugriff auf gesicherte Objekte verwendet werden können. Weitere Informationen zum Attribut "Deny-only" finden Sie unter SID-Attribute in einem Zugriffstoken-.
  • Geben Sie eine Liste der einschränkenden SIDs an, die den Zugriff auf sicherungsfähige Objekte einschränken können.

Das System verwendet die Liste der Einschränken von SIDs, wenn der Zugriff des Tokens auf ein sicherungsfähiges Objekt überprüft wird. Wenn ein eingeschränkter Prozess oder Thread versucht, auf ein sicherungsfähiges Objekt zuzugreifen, führt das System zwei Zugriffsprüfungen durch: eine, die die aktivierten SIDs des Tokens verwendet, und eine andere mithilfe der Liste der einschränkenden SIDs. Der Zugriff wird nur gewährt, wenn beide Zugriffsprüfungen die angeforderten Zugriffsrechte zulassen. Weitere Informationen zu Zugriffsprüfungen finden Sie unter How DACLs Control Access to an Object.

Sie können ein eingeschränktes primäres Token in einem Aufruf der CreateProcessAsUser--Funktion verwenden. In der Regel muss der Prozess, der CreateProcessAsUser- aufruft, über die SE_ASSIGNPRIMARYTOKEN_NAME Berechtigung verfügen, die normalerweise nur vom Systemcode oder von Diensten, die im LocalSystem-Konto ausgeführt werden, gehalten wird. Wenn der CreateProcessAsUser-Aufruf Aufruf jedoch eine eingeschränkte Version des primären Token des Aufrufers angibt, ist diese Berechtigung nicht erforderlich. Auf diese Weise können gewöhnliche Anwendungen eingeschränkte Prozesse erstellen.

Sie können auch ein eingeschränktes primäres oder Identitätswechseltoken in der funktion ImpersonateLoggedOnUser verwenden.

Um zu ermitteln, ob ein Token eine Liste der einschränkenden SIDs enthält, rufen Sie die IsTokenRestricted-Funktion auf.

Anmerkung

Anwendungen, die eingeschränkte Token verwenden, sollten die eingeschränkte Anwendung auf anderen Desktops als dem Standarddesktop ausführen. Dies ist erforderlich, um einen Angriff durch eine eingeschränkte Anwendung zu verhindern, indem SendMessage- oder PostMessage-verwendet wird, um uneingeschränkte Anwendungen auf dem Standarddesktop zu verwenden. Wechseln Sie bei Bedarf zu Anwendungszwecken zwischen Desktops.