Kısıtlanmış Belirteçler
Kısıtlanmış belirteç, CreateRestrictedToken işlevi tarafından değiştirilen birincil veya kimliğe bürünme erişim belirteci. Kısıtlanmış bir belirtecin güvenlik bağlamı çalışan bir işlemi veya iş parçacığının kimliğine bürünme, güvenliği sağlanabilir nesnelere erişme veya ayrıcalıklı işlemler gerçekleştirme özelliğiyle kısıtlanır. CreateRestrictedToken işlevi bir belirteci aşağıdaki yollarla kısıtlayabilir:
- belirteçten ayrıcalıklarını kaldırın.
- Güvenli nesnelere erişmek için kullanılamamaları için belirteçteki SID'lere yalnızca deny-only özniteliğini uygulayın. Yalnızca reddetme özniteliği hakkında daha fazla bilgi için bkz. erişim belirteci sid özniteliklerini.
- Güvenliği sağlanabilir nesnelere erişimi sınırlayan kısıtlayıcı SID'lerin listesini belirtin.
Sistem, belirtecin güvenli hale getirilebilir bir nesneye erişimini denetlediğinde kısıtlayıcı SID'ler listesini kullanır. Kısıtlanmış bir işlem veya iş parçacığı güvenli hale getirilebilir bir nesneye erişmeye çalıştığında sistem iki erişim denetimi gerçekleştirir: biri belirtecin etkinleştirilen SID'lerini, diğeri ise kısıtlayıcı SID'ler listesini kullanarak. Erişim yalnızca her iki erişim denetimi de istenen erişim haklarına izin verirse verilir. Erişim denetimleri hakkında daha fazla bilgi için bkz. DACL'ler Bir Nesneye Erişimi Denetleme.
CreateProcessAsUser işlevine yapılan çağrıda kısıtlanmış birincil belirteç kullanabilirsiniz. Genellikle, CreateProcessAsUser çağıran işlem, genellikle yalnızca sistem kodu veya LocalSystem hesabında çalışan hizmetler tarafından tutulan SE_ASSIGNPRIMARYTOKEN_NAME ayrıcalığına sahip olmalıdır. Ancak, CreateProcessAsUser çağrısı çağıranın birincil belirtecinin kısıtlanmış bir sürümünü belirtiyorsa, bu ayrıcalık gerekli değildir. Bu, sıradan uygulamaların kısıtlanmış işlemler oluşturmasına olanak tanır.
ImpersonateLoggedOnUser işlevinde kısıtlanmış bir birincil veya kimliğe bürünme belirteci de kullanabilirsiniz.
Belirtecin kısıtlayıcı SID'ler listesine sahip olup olmadığını belirlemek için IsTokenRestricted işlevini çağırın.
Not
Kısıtlanmış belirteçler kullanan uygulamalar, kısıtlanmış uygulamayı varsayılan masaüstü dışındaki masaüstlerinde çalıştırmalıdır. Bu, kısıtlanmış bir uygulama tarafından, varsayılan masaüstündeki kısıtlanmamış uygulamalar için SendMessage veya PostMessage kullanarak bir saldırıyı önlemek için gereklidir. Gerekirse, uygulama amacıyla masaüstleri arasında geçiş yapın.