“NT AUTHORITY \ SYSTEM” bir kullanıcı veya grup mu?


17

Windows kullanıcı Systemgrubu simgesiyle gösterilir: resim açıklamasını buraya girin. (Dahili Win32 API'sini kullanarak LookupAccountSid ayrıca bir grup SidTypeGroup gibi görünüyor .)

Öte yandan system contexta user context. Ayrıca Microsoft belgeleri bunu "sistem grubu" olarak değil "sistem kullanıcısı" veya "sistem hesabı" olarak tanımlar.

Eski amaçlarla grup olarak görüntülenen bir kullanıcı mı?

(Yoksa Werner Heisenberg'in ilgileneceği bir şey mi?)


Not: NT AUTHORITY \ SYSTEM kullanıcısı nedir? benzerdir ancak neden grup olarak görüntülendiğini ve bir kullanıcı gibi davrandığı sorusunu yanıtlamaz.


Bu belki cevap? burada soru: superuser.com/questions/471769/…
XsiSec

Haklısın özür dilerim
XsiSec

SID'lerin bunlardan biri olması gerekmez, değil mi?
user1686

Yanıtlar:


13

İlk olarak, erişim belirteci güvenlik tanımlayıcısından (SID) çok daha fazlasını içerir . Bir kişinin Görev Yöneticisi'nde, kullanıcının Yönetici değil, kullanıcının kendisi olduğunu görmek için bir programı "yönetici olarak çalıştır" gerekir ve bu mucize, SID'nin yerini alarak değil, yalnızca erişim belirtecinin değiştirilmesi ile gerçekleştirilir.

İkincisi, NT-AUTHORITY ve SYSTEM, diğer çeşitli kaynaklara (Microsoft'un içinde bile) söylediklerine rağmen ne hesap ne de gruptur. SID genellikle gerektiğinde görüntülenen bir ada sahiptir. Bir kullanıcı hesabı SID'sini erişim belirtecine ana SID olarak katkıda bulunur ve bu da çeşitli yardımcı programların görüntülediği adı belirler. Ancak erişim belirteci, örneğin söz konusu kullanıcı hesabına ait olan tüm gruplar için ek SID'ler içerebilir. İzinleri denetlerken, Windows erişim belirtecinde bu izne sahip tüm SID'leri arayacaktır.

Bazı tanınmış Windows SID'lerin, gerçekte herhangi bir hesaba ait olmasalar da, Windows tarafından bildirilen adları olacaktır.

Bir güvenlik tanımlayıcısı Wikipedia tarafından aşağıdaki gibi tanımlanmıştır:

bir kullanıcının, kullanıcı grubunun veya başka bir güvenlik sorumlusunun benzersiz, değiştirilemez tanımlayıcısı .

SID'nin bir kullanıcı hesabı veya grup tanımlaması bile gerekmez. Sadece bir dizi izin tanımlar. Yukarıdaki Wikipedia makalesi şunları ekler:

Windows, kullanıcıları ve grup üyeliklerini benzersiz şekilde tanımlamak için SID'leri kullanan erişim kontrol listelerine (ACL) dayanan kaynaklara erişim ve ayrıcalıklar verir veya vermez. Bir kullanıcı bilgisayarda oturum açtığında, kullanıcı ve grup SID'lerini ve kullanıcı ayrıcalık düzeyini içeren bir erişim belirteci oluşturulur. Kullanıcı bir kaynağa erişim istediğinde, erişim belirteci, belirli bir nesne üzerinde belirli eylemlere izin vermek veya reddetmek için ACL'ye göre denetlenir.

SID değeri NT-AUTHORITY\SYSTEMdiğer hesaplara eklenebilir. Örneğin, LocalSystem Hesabı hakkında bu söylenir :

LocalSystem hesabı, hizmet kontrol yöneticisi tarafından kullanılan önceden tanımlanmış bir yerel hesaptır. [...] Belirteci NT AUTHORITY \ SYSTEM ve BUILTIN \ Administrators SID'lerini içerir; bu hesapların çoğu sistem nesnesine erişimi vardır.

Yukarıdaki metinde, tam olarak hesaplar veya gruplar olmayan sistem SID'lerine ilişkin Microsoft belgelerinde bile hüküm süren karışıklık zaten görülüyor - ki bunlar sadece bir dizi izin. Bu karışıklık diğer yardımcı programlara ve makalelere de uzanır, bu nedenle iade edilen bilgiler dikkatle incelenmelidir.

Windows işletim sistemlerindeki İyi bilinen güvenlik tanımlayıcıları makalesinde , bazıları aşağıda yer aldığım tüm sistem SID'leri ayrıntılı olarak verilmiştir:

görüntü

Sonuç : NT-AUTHORITY \ SYSTEM, bir grup veya hesap olmayan bir Güvenlik Kimliğinin adıdır. Bir programın ana SID'si olduğunda Görev Yöneticisi'nde SİSTEM olarak görüntülenir. En çok "sahte bir hesap" diyebilirim.


1
Beni dövüyorsun dostum. Cevabınız geldiğinde benzer bir cevap yazarak yarıdaydım. Bu doğru bir açıklama. Bu sadece bir izinler topluluğudur ve grup olarak mı yoksa kullanıcı olarak mı görüntüleneceği yanlıştır. Çoğu araç sadece "kullanıcı veya" grup "gösterebilir gibi sadece birini veya diğerini seçin.Win32 API genellikle SidTypeGroup buna göre ayarlar ve çoğu uygulama bilgilerini almak gibi grup.
Tonny

Vaov! Mevcut bir cevabı ödüllendirmek için bir ödül kazanıyorum ve ne olacak? Daha iyi bir cevap görünür. :-) Yine de bir soru: LocalSystem hesabının da kendi ("hesabı") SID'si var mı veya yalnızca temel SID'si olarak NT-AUTHORTY \ SYSTEM SID kullanıyor mu?
17'de Heinzi

1
@Heinzi: LocalSystem başka bir "sahte hesap" tır. Bir de görüyoruz bağlantısını "böylece LookupAccountName işlevine bir çağrı adını belirtemez, bu hesap güvenlik alt sistem tarafından tanınmayan": belirtiyor.
harrymc

- which are just a set of permissions: Does hangi bakın Sistem kimlikleri veya hesaplarına veya gruplara ?
René Nyffenegger

@ RenéNyffenegger: İkisi de.
harrymc

7

IMHO gözleminiz doğru. NT-AUTHORITY\SYSTEMbir grup olduğu için sistem grubu olarak anlatabilirsiniz . Bu grup en azından Windows NT 4'ten beri var ve zaten orada bir grup oldu:

Özel Gruplar

[...]

Sistem - İşletim sistemi.

Ayrıca LocalSystem adında bir hesap var.

[...] NT AUTHORITY \ SYSTEM'i içerir [...]

SİSTEM grubunun üyesi olan sistem kullanıcısı diyebilirsiniz .

SysInternals PsGetSid , SYSTEM için grup teorisini destekler:

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

Bir sürecin grup olarak başlamasıyla ilgili olarak:

Güvenliği yönetmek için bir işlem bir erişim belirteci alır . Erişim belirteci yalnızca SID'ler içerir. Kullanıcının SID'sinin gerçekten bir kullanıcı veya grup olup olmadığını kontrol edip etmediğimden emin değilim. Prensipte önemli değil: SID neye erişilebileceğini tanımlar. Belki de CodeProject makalesi uygulamada yardımcı olabilir

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.