Condividi tramite


C6248

Aggiornamento: novembre 2007

C6248

avviso C6248: l'impostazione di un elenco DACL di SECURITY_DESCRIPTOR su NULL determinerà la mancata protezione di un oggetto

L'avviso identifica una chiamata che imposta un campo dell'elenco DACL di SECURITY_DESCRIPTOR su Null. Se il DACL che appartiene al descrittore di protezione di un oggetto è impostato su NULL, viene creato un DACL null. Un DACL null assicura accesso a tutti gli utenti che lo richiedono; il normale controllo di protezione sull'oggetto non viene eseguito. Non confondere un DACL null con un DACL vuoto. Per DACL vuoto si intende un DACL correttamente allocato e inizializzato che non contiene ACE. Un DACL vuoto non concede accesso all'oggetto a cui è assegnato.

È possibile che i descrittori di protezione degli oggetti con DACL null vengano alterati da utenti malintenzionati, in modo che nessuno possa avere accesso all'oggetto.

Se è necessario che tutti abbiano accesso a un oggetto, l'oggetto dovrebbe essere protetto in modo che solo gli amministratori possano modificarne la protezione. Se l'accesso a un oggetto è necessario solo per l'autore, sull'oggetto non dovrebbe essere impostato un DACL; il sistema sceglierà un'impostazione predefinita appropriata.

Esempio

Il codice seguente genera questo avviso perché alla funzione SetSecurityDescriptorDacl viene passato un DACL null:

#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
    }
}

Per visualizzare un esempio completo sulla procedura di creazione dei descrittori di protezione, vedere Creating a Security Descriptor for a New Object in C++.

Vedere anche

Altre risorse

Creating a DACL