Aracılığıyla paylaş


C6248

uyarı C6248: GUVENLIK_TANIMLAYICI'nın DACL'ı NULL olarak ayarlamak korumasız bir nesne içinde sonuçlanır

Bu uyarı, SECURITY_DESCRIPTOR'ın DACL alanını NULL'a eşitleyen bir çağrı tanımlar.Eğer bir nesnenin güvenlik tanımlayıcısına ait olan DACL, NULL olarak ayarlanmışsa; DACL oluşturulur.Bir NULL DACL, onu isteyen herhangi bir kullanıcıya tam erişim verir; normal güvenlik denetimi, nesne ile ilgili olarak gerçekleşmez.Bir NULL DACL, boş bir DACL ile karıştırılmamalıdır.Boş bir DACL, düzgün bir şekilde ayrılmıştır ve hiç ACE'ye sahip olmayan DACL'ı başlatır.Boş bir DACL, atanan nesneye hiçbir erişim vermez.

NULL DACL'lara sahip nesneler, kendi güvenlik tanımlayıcınalarını sahiptir böylece; kötü niyetli kullanıcılar tarafından nesneye kimsenin erişemez.

Eğer herkesin bir nesneye erişimi gerekiyorsa; nesnenin, güvenliğini sağlanmalıdır; böylece onun güvenliğini yalnızca yöneticiler değiştirebilir.Eğer yalnızca yaratıcının bir nesneye erişmesi gerekirse; bir DACL ,bir nesnede ayarlanmamalıdır; sistem uygun varsayılanı seçecektir.

Örnek

Aşağıdaki kod bu uyarıyı oluşturur çünkü bir NULL DACL SetSecurityDescriptorDacl işlevine geçirilir:

#include <windows.h>

void f( PSECURITY_DESCRIPTOR pSecurityDescriptor )
{
  if (SetSecurityDescriptorDacl(pSecurityDescriptor,
                                TRUE,     // Dacl Present
                                NULL,     // NULL pointer to DACL    
                                FALSE))   // Defaulted

    {
      // Dacl is now applied to an object
    }
}

Nasıl güvenlik tanımlayıcısı oluşturacağınız hakkında tam bir örnek görmek için bkz: C++'ta bir Yeni Nesne için Güvenlik Tanımlayıcısı Oluşturulurken.Daha fazla bilgi için, bkz: Bir DACL Oluşturma.