Aracılığıyla paylaş


Cihaz nesneleri için SDDL

Güvenlik Tanımlayıcısı Tanım Dili (SDDL), güvenlik tanımlayıcılarını temsil etmek için kullanılır. Cihaz nesneleri için güvenlik, INF dosyasına yerleştirilen veya IoCreateDeviceSecure'a geçirilen bir SDDL dizesi tarafından belirtilebilir. Güvenlik Tanımlayıcısı Tanım Dili, Microsoft Windows SDK belgelerinde tam olarak belgelenmiştir.

INF dosyaları tüm SDDL aralığını desteklese de IoCreateDeviceSecure yordamı tarafından dilin yalnızca bir alt kümesi desteklenir. Bu alt küme burada tanımlanmıştır.

Cihaz nesneleri için SDDL dizeleri "D:P" biçimindedir ve bunu bir veya daha fazla "(A;; Erişim;;; SID)" biçiminde ifade takip eder. SID değeri, Access değerinin kimlere uygulandığını belirleyen bir güvenlik tanımlayıcısı belirtir (örneğin, bir kullanıcı veya grup). Access değeri, SID için izin verilen erişim haklarını belirtir. Access ve SID değerleri aşağıdaki gibidir.

Cihaz nesneleri için SDDL kullanırken sürücünüzün Wdmsec.lib ile bağlantı oluşturması gerekir.

Erişim
İzin verilen erişimi belirleyen bir ACCESS_MASK değeri belirtir. Bu değer, "0xonaltılık değer" biçiminde veya erişim haklarını temsil eden iki harfli sembolik kodlardan oluşan dizgi olarak yazılabilir.

Genel erişim haklarını belirtmek için aşağıdaki kodlar kullanılabilir.

Kod Genel erişim hakkı

Georgia

GENEL_TÜM

GR

GENERIC_OKUMA

GW

GENEL_YAZMA

GX

GENEL_KOMUT

Belirli erişim haklarını belirtmek için aşağıdaki kodlar kullanılabilir.

Kod Belirli erişim hakkı

RC

OKUMA_KONTROLÜ

SD

SİLMEK

Beyaz cüce

WRITE_DAC

WO

SAHİP_YAZ

GENERIC_ALL, ACL'yi değiştirme de dahil olmak üzere yukarıdaki iki tabloda listelenen tüm hakları verir.

SID
Belirtilen erişim verilen SID'yi belirtir. SID'ler hesapları, diğer adları, grupları, kullanıcıları veya bilgisayarları temsil eder.

Aşağıdaki SID'ler makinedeki hesapları temsil eder.

SID Açıklama

SY

Sistem

kullanıcı modu bileşenleri dahil olmak üzere işletim sisteminin kendisini temsil eder.

LS

Yerel Hizmet

Yerel hizmetler için önceden tanımlanmış bir hesap (aynı zamanda Kimliği Doğrulanmış Kullanıcılar ve Dünya için de geçerlidir). Bu SID, Windows XP'den başlayarak kullanılabilir.

NS

Ağ Hizmeti

Ağ hizmetleri için önceden tanımlanmış bir hesap (Kimliği Doğrulanmış ve Dünya'ya da aittir). Bu SID, Windows XP'den başlayarak kullanılabilir.

Aşağıdaki SID'ler makinedeki grupları temsil eder.

SID Açıklama

Sanat Lisansı

Yöneticiler

Makinedeki yerleşik Yöneticiler grubu.

BU

Yerleşik Kullanıcı Grubu

Tüm yerel kullanıcı hesaplarını ve etki alanındaki kullanıcıları kapsayan grup.

BG

Yerleşik Konuk Grubu

Yerel veya etki alanı konuk hesabını kullanarak oturum açan kullanıcıları kapsayan grup.

Aşağıdaki SID'ler, bir kullanıcının kimliğinin ne ölçüde doğrulandığını açıklar.

SID Açıklama

AU

Kimliği Doğrulanmış Kullanıcılar

Yerel makine veya etki alanı tarafından tanınan tüm kullanıcılar. Yerleşik Konuk hesabını kullanarak oturum açan kullanıcıların kimliği doğrulanmamıştır. Ancak, makinede veya etki alanında bireysel hesapları olan Konuklar grubunun üyelerinin kimliği doğrulanır.

BİR

Anonim Oturum Açan Kullanıcı

Anonim ağ oturumu gibi bir kimlik olmadan oturum açan tüm kullanıcılar. Kullanıcılar Yerleşik Konuk hesabını kullanarak oturum açtıklarında kimlikleri doğrulanmaz ve anonimdir. Bu SID, Windows XP'den başlayarak kullanılabilir.

Aşağıdaki SID'ler kullanıcının makinede nasıl oturum açtığını açıklar.

SID Açıklama

IU

Etkileşimli Kullanıcılar

Yerel oturum açmalar ve Uzak Masaüstleri oturum açmaları gibi makinede başlangıçta "etkileşimli" olarak oturum açan kullanıcılar.

NU

Ağ Oturum Açma Kullanıcısı

Etkileşimli masaüstü erişimi olmadan makineye uzaktan erişen kullanıcılar (örneğin, dosya paylaşımı veya RPC çağrıları).

Beyaz cüce

Dünya

Windows XP'den önce, bu SID, kimliği doğrulanmış kullanıcılar, anonim kullanıcılar veya Yerleşik Konuk hesabı gibi tüm oturumları kapsıyordu.

Windows XP'den itibaren, bu SID anonim oturum açma oturumlarını kapsamaz; yalnızca kimliği doğrulanmış kullanıcıları ve Yerleşik Misafir hesabını kapsar.

Güvenilmeyen veya "kısıtlanmış" kod da Dünya SID'si kapsamında değildir. Daha fazla bilgi için aşağıdaki tabloda Yer alan Kısıtlı Kod (RC) SID'sinin açıklamasına bakın.

Aşağıdaki SID'ler özel olarak anılmalıdır.

SID Açıklama

RC

Kısıtlanmış Kod

Bu SID, güvenilmeyen kod tarafından erişimi denetlemek için kullanılır. RC ile belirteçlere karşı ACL doğrulaması, biri belirtecin normal SID listesinde (örneğin WD içeren) ve diğeri ikinci bir listeye (genellikle RC ve özgün belirteç SID'lerinin bir alt kümesini içeren) olmak üzere iki denetimden oluşur. Erişim, yalnızca bir jeton her iki testi de geçtiğinde verilir. Bu nedenle RC aslında diğer SID'lerle birlikte çalışır.

RC'i belirten tüm ACL'ler de WD belirtmelidir. RC, bir ACL'de WD ile eşleştirildiğinde, güvenilmeyen kodu da içeren Herkes'in bir üst kümesi açıklanır.

Güvenilmeyen kod, Windows Gezgini'ndeki Farklı Çalıştır seçeneği kullanılarak başlatılmış olabilir. Varsayılan olarak, World güvenilmeyen kodu kapsamaz.

UD

User-Mode Sürücüleri

Bu SID, kullanıcı modu sürücülerine erişim verir. Şu anda bu SID yalnızca User-Mode Driver Framework (UMDF) için yazılmış sürücüleri kapsar. Bu SID, Windows 8'den itibaren kullanılabilir.

Windows'un "UD" kısaltmasını tanımayan önceki sürümlerinde, UMDF sürücülerine erişim vermek için bu SID'nin tam biçimini (S-1-5-84-0-0-0-0-0) belirtmeniz gerekir. Daha fazla bilgi için User-Mode Driver Framework belgelerinde Cihaz Erişimini Denetleme bölümüne bakın.

Cihaz nesneleri için SDDL örnekleri

Bu bölümde, Wdmsec.h dosyasında bulunan önceden tanımlanmış SDDL dizeleri açıklanmaktadır. Bunları, cihaz nesneleri için yeni SDDL dizeleri tanımlamak üzere şablon olarak da kullanabilirsiniz.

SDDL_DEVOBJ_KERNEL_ONLY

"D:P"

SDDL_DEVOBJ_KERNEL_ONLY "boş" bir ACL'dir. Kullanıcı modu kodu (sistem olarak çalışan işlemler dahil) cihazı açamaz.

PnP veri yolu sürücüsü, PDO oluştururken bu tanımlayıcıyı kullanabilir. INF dosyası daha sonra cihaz için daha gevşek güvenlik ayarları belirtebilir. Bu tanımlayıcıyı belirterek, veri yolu sürücüsü INF işlenmeden önce cihazı açma girişiminin başarılı olmamasını sağlar.

Benzer şekilde, WDM olmayan bir sürücü, uygun kullanıcı modu programı (yükleyici gibi) kayıt defterinde son güvenlik tanımlayıcısını ayarlayana kadar cihaz nesnelerine erişilemez hale getirmek için bu tanımlayıcıyı kullanabilir.

Tüm bu durumlarda, varsayılan ayar sıkı güvenliktir ve gerektiğinde gevşetilir.

SDDL_DEVOBJ_SYS_ALL

"D:P(A;; GA;;; SY)"

SDDL_DEVOBJ_SYS_ALL, çekirdek modu koduna ek olarak Sistem olarak çalışan kullanıcı modu kodunun da cihazı herhangi bir erişim için açmasına izin verilen SDDL_DEVOBJ_KERNEL_ONLY'e benzerdir.

Eski bir sürücü, sıkı güvenlik ayarlarıyla başlamak için bu ACL'yi kullanabilir ve SetFileSecurity kullanıcı modu işlevini kullanarak hizmetinin cihazı çalışma zamanında tek tek kullanıcılara açmasına izin verebilir. Bu durumda hizmetin Sistem olarak çalışıyor olması gerekir.

SDDL_DEVOBJ_SYS_ALL_ADM_ALL

"D:P(A;; GA;;; SY)(A;; GA;;; BA)"

SDDL_DEVOBJ_SYS_ALL_ADM_ALL, çekirdeğe, sisteme ve yöneticiye cihaz üzerinde tam kontrol sağlar. Cihaza başka hiçbir kullanıcı erişemeyebilir.

SDDL_DEVOBJ_SYS_ALL_ADM_RWX_WORLD_R

"D:P(A;;GA;;;SY)(A;;GRGWGX;;;BA)(A;;GR;;;WD)"

SDDL_DEVOBJ_SYS_ALL_ADM_RWX_WORLD_R, çekirdek ve sistemin cihaz üzerinde sınırsız kontrol sağlamasına olanak tanır. Varsayılan olarak yönetici tüm cihaza erişebilir, ancak ACL'yi değiştiremez (yönetici önce cihazın denetimini almalıdır.)

Herkese (World SID) okuma erişimi verilir. Güvenilmeyen kod cihaza erişemiyor (güvenilmeyen kod, Gezgin'deki Farklı Çalıştır seçeneği kullanılarak başlatılmış olabilir. Varsayılan olarak, World Kısıtlanmış kodu kapsamaz.)

Ayrıca, normal kullanıcılara çapraz geçiş erişimi verilmediğini unutmayın. Bu nedenle, bu ad alanına sahip bir cihaz için uygun bir tanımlayıcı olmayabilir.

SDDL_DEVOBJ_SYS_ALL_ADM_RWX_WORLD_R_RES_R

"D:P(A;; GA;;; SY)(A;; GRGWGX;;; BA)(A;; GR;;; WD)(A;; GR;;; RC)"

SDDL_DEVOBJ_SYS_ALL_ADM_RWX_WORLD_R_RES_R, çekirdeğin ve sistemin cihaz üzerinde tam yetkiye sahip olmasına izin verir. Varsayılan olarak yönetici tüm cihaza erişebilir, ancak ACL'yi değiştiremez (yönetici önce cihazın denetimini almalıdır.)

Herkese (World SID) okuma erişimi verilir. Ayrıca, güvenilmeyen kodun koda erişmesine de izin verilir. Güvenilmeyen kod, Windows Gezgini'ndeki Farklı Çalıştır seçeneği kullanılarak başlatılmış olabilir. Varsayılan olarak, World Kısıtlanmış kodu kapsamaz.

Ayrıca, normal kullanıcılara çapraz geçiş erişimi verilmediğini unutmayın. Bu nedenle, bu ad alanına sahip bir cihaz için uygun bir tanımlayıcı olmayabilir.

Bu SDDL dizeleri devralma değiştirici içermez. Bu nedenle, bunlar yalnızca cihaz nesneleri için uygundur ve dosyalar veya kayıt defteri anahtarları için kullanılmamalıdır. SDDL kullanarak devralmayı belirtme hakkında daha fazla bilgi için Microsoft Windows SDK belgelerine bakın.