Ist „NT AUTHORITY\SYSTEM“ ein Benutzer oder eine Gruppe?

Ist „NT AUTHORITY\SYSTEM“ ein Benutzer oder eine Gruppe?

Unter Windows Systemwird der Benutzer mit dem Gruppensymbol angezeigt: Bildbeschreibung hier eingeben. (Mithilfe der internen Win32-APILookupAccountSidzeigt auch, dass es sich um eine Gruppe zu handeln scheintSeitentypgruppe.)

Andererseits können Prozesse in der system contextArt eines laufen user context. Auch Microsoft-Dokumente beschreiben es als „Systembenutzer“ oder „Systemkonto“, und nicht als „Systemgruppe“.

Handelt es sich um einen Benutzer, der aus irgendwelchen Legacy-Gründen als Gruppe angezeigt wird?

(Oder ist es etwasWerner Heisenberghätte mich interessiert?)


Notiz:Was ist der NT AUTHORITY\SYSTEM-Benutzer?ist ähnlich, beantwortet aber nicht die Frage, warum es als Gruppe angezeigt wird und sich wie ein Benutzer verhält.

Antwort1

Erste,Zugangstoken enthält viel mehr als dieSicherheitskennung (SID)Man muss ein Programm nur „als Administrator ausführen“, um im Task-Manager zu sehen, dass dessen Benutzer man selbst und nicht der Administrator ist, und dieses Wunder wird nur durch die Änderung des Zugriffstokens erreicht, nicht durch den Austausch der SID.

Zweitens sind NT-AUTHORITY und SYSTEM weder Konten noch Gruppen, egal was verschiedene andere Quellen (sogar innerhalb von Microsoft) behaupten. Eine SID hat normalerweise einen Namen, der bei Bedarf angezeigt wird. Ein Benutzerkonto gibt seine SID als Haupt-SID an den Zugriffstoken weiter, der auch den von verschiedenen Dienstprogrammen angezeigten Namen bestimmt. Der Zugriffstoken kann jedoch zusätzliche SIDs enthalten, beispielsweise für alle Gruppen, zu denen dieses Benutzerkonto gehört. Beim Überprüfen der Berechtigungen sucht Windows im Zugriffstoken nach allen SIDs, die über diese Berechtigung verfügen.

Bei einigen bekannten Windows-SIDs werden von Windows Namen gemeldet, obwohl diese eigentlich zu keinem Konto gehören.

ASicherheitskennung wird von Wikipedia wie folgt definiert:

eine eindeutige, unveränderliche Kennung eines Benutzers, einer Benutzergruppe oder anderer Sicherheitsauftraggeber.

Die SID muss nicht einmal ein Benutzerkonto oder eine Gruppe definieren. Sie definiert lediglich eine Reihe von Berechtigungen. Der obige Wikipedia-Artikel fügt hinzu:

Windows gewährt oder verweigert den Zugriff und die Berechtigungen für Ressourcen auf der Grundlage von Zugriffssteuerungslisten (ACLs), die SIDs verwenden, um Benutzer und ihre Gruppenmitgliedschaften eindeutig zu identifizieren. Wenn sich ein Benutzer bei einem Computer anmeldet, wird ein Zugriffstoken generiert, das Benutzer- und Gruppen-SIDs sowie die Benutzerberechtigungsstufe enthält. Wenn ein Benutzer Zugriff auf eine Ressource anfordert, wird das Zugriffstoken anhand der ACL überprüft, um eine bestimmte Aktion für ein bestimmtes Objekt zuzulassen oder zu verweigern.

Die SID von NT-AUTHORITY\SYSTEMkann zu anderen Konten hinzugefügt werden. Dies gilt beispielsweise für die Lokales Systemkonto:

Das LocalSystem-Konto ist ein vordefiniertes lokales Konto, das vom Service Control Manager verwendet wird. [...]Sein Token enthält die SIDs NT AUTHORITY\SYSTEM und BUILTIN\Administrators; diese Kontenhaben Zugriff auf die meisten Systemobjekte.

Man kann bereits im obigen Text die Verwirrung erkennen, die sogar in der Microsoft-Dokumentation hinsichtlich der System-SIDs herrscht, die weder Konten noch Gruppen sind, sondern nur eine Reihe von Berechtigungen. Diese Verwirrung erstreckt sich auch auf andere Dienstprogramme und Artikel, daher sollten alle zurückgegebenen Informationen sorgfältig geprüft werden.

Der Microsoft-Artikel Bekannte Sicherheitskennungen in Windows-Betriebssystemen Einzelheiten zu allen System-SIDs, einige davon sind unten aufgeführt:

Bild

Abschluss: NT-AUTHORITY\SYSTEM ist der Name einer Sicherheits-ID, die weder eine Gruppe noch ein Konto ist. Sie wird im Task-Manager als SYSTEM angezeigt, wenn sie die Haupt-SID eines Programms ist. Ich würde sie höchstens als „Pseudokonto“ bezeichnen.

Antwort2

IMHO ist Ihre Beobachtung richtig. NT-AUTHORITY\SYSTEMist eine Gruppe, also könnte man es als System bezeichnenGruppe. Diese Gruppeexistiert seit Windows NT 4zumindest und es gab dort schon eine Gruppe:

Spezielle Gruppen

[...]

System – Das Betriebssystem.

Es gibt auch ein Konto namensLokalesSystemwelche

[...] beinhaltet die NT AUTHORITY\SYSTEM [...]

man könnte es also das System nennenBenutzerder Mitglied der SYSTEM-Gruppe ist.

SysInternalsPsGetSidunterstützt die Gruppentheorie für SYSTEM:

C:\>PsGetsid.exe S-1-5-18

PsGetSid v1.44 - Translates SIDs to names and vice versa
Copyright (C) 1999-2008 Mark Russinovich
Sysinternals - www.sysinternals.com

Account for YOURPCNAMEHERE\S-1-5-18:
Well Known Group: NT-AUTHORITY\SYSTEM

Zum Start eines Prozesses als Gruppe:

Um die Sicherheit zu verwalten, erhält ein Prozess eineZugangstoken. Der Zugriffstoken enthält nur SIDs. Ich bin mir nicht sicher, ob geprüft wird, ob die SID des Benutzers wirklich ein Benutzer oder eine Gruppe ist. Im Prinzip wäre das egal: Die SID definiert, worauf zugegriffen werden kann. Vielleicht dieCodeProject-Artikelkann bei der Umsetzung helfen

verwandte Informationen