“NT AUTHORITY \ SYSTEM” est-il un utilisateur ou un groupe?

16

Dans Windows , l'utilisateur Systemest affiché avec le symbole du groupe: entrez la description de l'image ici. (L'utilisation de l'API Win32 interne, LookupAccountSid, révèle également qu'il semble s'agir d'un groupe SidTypeGroup .)

D'autre part, les processus peuvent s'exécuter de la system contextmême manière dans un fichier user context. De plus, les documents Microsoft le décrivent comme "utilisateur système" ou "compte système" et non comme "groupe système".

Est-ce un utilisateur qui est à des fins héritées affiché en tant que groupe?

(Ou est-ce quelque chose qui aurait intéressé Werner Heisenberg ?)


Remarque: Qu'est-ce que l'utilisateur NT AUTHORITY \ SYSTEM? est similaire mais ne répond pas à la question pourquoi il est affiché en tant que groupe et se comporte comme un utilisateur.

remue-marais
la source
C'est peut-être répondre à votre? question ici: superuser.com/questions/471769/…
XsiSec
Tu as raison mes mauvaises excuses
XsiSec le
Les SID ne doivent être ni l'un ni l'autre, n'est-ce pas?
Grawity

Réponses:

12

Tout d'abord, le jeton d'accès contient beaucoup plus que l' identificateur de sécurité (SID) . Il suffit de "Exécuter en tant qu'administrateur" un programme pour voir dans le Gestionnaire des tâches que son utilisateur est soi-même et non pas un administrateur. Ce miracle se produit simplement en modifiant le jeton d'accès, et non en remplaçant le SID.

Deuxièmement, NT-AUTHORITY et SYSTEM ne sont ni des comptes ni des groupes, malgré ce que disent diverses autres sources (même au sein de Microsoft). Un SID a généralement un nom qui est affiché chaque fois que nécessaire. Un compte d'utilisateur contribuera son identifiant SID en tant qu'identificateur principal au jeton d'accès, qui déterminera également le nom affiché par divers utilitaires. Mais le jeton d'accès peut contenir des SID supplémentaires, par exemple pour tous les groupes auxquels appartient ce compte d'utilisateur. Lors de la vérification des autorisations, Windows recherchera tout SID dans le jeton d'accès disposant de cette autorisation.

Certains noms SID Windows connus auront des noms rapportés par Windows, bien qu'ils n'appartiennent pas à un compte.

Un identifiant de sécurité est défini par Wikipedia comme suit:

identifiant unique et immuable d'un utilisateur, d'un groupe d'utilisateurs ou d'une autre entité de sécurité .

Le SID n'a même pas besoin de définir un compte d'utilisateur ou un groupe. Il définit simplement un ensemble d'autorisations. L'article de Wikipedia ci-dessus ajoute:

Windows accorde ou refuse l'accès et les privilèges aux ressources en fonction des listes de contrôle d'accès (ACL), qui utilisent des identificateurs de sécurité pour identifier de manière unique les utilisateurs et leurs appartenances à des groupes. Lorsqu'un utilisateur se connecte à un ordinateur, un jeton d'accès est généré, qui contient les SID de l'utilisateur et du groupe, ainsi que le niveau de privilège de l'utilisateur. Lorsqu'un utilisateur demande l'accès à une ressource, le jeton d'accès est vérifié par rapport à la liste de contrôle d'accès afin d'autoriser ou de refuser une action particulière sur un objet particulier.

Le SID de NT-AUTHORITY\SYSTEMpeut être ajouté à d'autres comptes. Par exemple, ceci est dit à propos du compte LocalSystem :

Le compte LocalSystem est un compte local prédéfini utilisé par le gestionnaire de contrôle de service. [...] Son jeton comprend les SID NT AUTHORITY \ SYSTEM et BUILTIN \ Administrators; ces comptes ont accès à la plupart des objets système.

On peut déjà voir dans le texte ci-dessus la confusion qui règne même dans la documentation Microsoft en ce qui concerne les SID du système, qui ne sont pas exactement des comptes ni des groupes - qui ne sont qu'un ensemble d'autorisations. Cette confusion s'étend également à d'autres utilitaires et articles, de sorte que toute information retournée doit être soigneusement examinée.

L'article de Microsoft sur les identificateurs de sécurité connus dans les systèmes d'exploitation Windows répertorie tous les identificateurs de sécurité système (SID), dont certains sont inclus ci-dessous:

image

Conclusion : NT-AUTHORITY \ SYSTEM est le nom d'un ID de sécurité, qui n'est ni un groupe ni un compte. Il est affiché dans le Gestionnaire des tâches en tant que SYSTÈME s'il s'agit du SID principal d'un programme. J'appellerais tout au plus "un pseudo compte".

harrymc
la source
1
Tu m'as battu mon ami. J'étais à mi-chemin en train d'écrire une réponse similaire lorsque votre réponse est arrivée. C'est l'explication appropriée. Il ne s'agit que d'un ensemble d'autorisations et le fait qu'il soit affiché en tant que groupe ou utilisateur est erroné. Comme la plupart des outils ne peuvent afficher que "utilisateur ou" groupe ", ils choisissent simplement l'un ou l'autre. Habituellement, le fait de se regrouper en tant qu'API Win32 définit SidTypeGroup en conséquence, c'est-à-dire que la plupart des applications obtiennent leurs informations.
Tonny
Hou la la! Je commence une prime pour récompenser une réponse existante, et que se passe-t-il? Une meilleure réponse apparaît. :-) Une question cependant: le compte LocalSystem a-t-il également son propre SID ("compte") ou utilise-t-il simplement le NT-AUTHORTY \ SYSTEM SID comme SID principal?
Heinzi
1
@Heinzi: LocalSystem est un autre "pseudo compte". On peut voir cela dans le lien qui dit: "Ce compte n'est pas reconnu par le sous-système de sécurité, vous ne pouvez donc pas spécifier son nom dans un appel à la fonction LookupAccountName".
harrymc
- which are just a set of permissions: le qui fait référence aux ID système ou aux comptes ou groupes ?
René Nyffenegger le
@ RenéNyffenegger: les deux.
harrymc
7

IMHO votre observation est correcte. NT-AUTHORITY\SYSTEMest un groupe, vous pouvez donc vous y référer en tant que groupe de systèmes . Ce groupe existe depuis Windows NT 4 au moins et y a déjà fait partie:

Groupes spéciaux

[...]

Système - Le système d'exploitation.

Il existe également un compte appelé LocalSystem qui

[...] inclut l’autorité NT \ SYSTEM [...]

vous pouvez donc appeler cet utilisateur le système membre du groupe SYSTEM.

SysInternals PsGetSid prend en charge la théorie des groupes pour 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

Concernant le début d'un processus en groupe:

Pour gérer la sécurité, un processus obtient un jeton d'accès . Le jeton d'accès contient uniquement des SID. Je ne suis pas sûr s'il y a une vérification si le SID de l'utilisateur est vraiment un utilisateur ou un groupe. En principe, cela n'aurait pas d'importance: le SID définit ce qui peut être consulté. Peut-être que l' article CodeProject peut aider à la mise en œuvre

Thomas Weller
la source