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++.