C6248

تحذير C6248: سيؤدي إلى DACL الخاصة SECURITY_DESCRIPTOR إلى فارغة (NULL) settفيg في كائن غير محمي

وهذا تحذير التعرف على استدعاء يقوم بتعيين حقل DACL الخاصة SECURITY_DESCRIPTOR إلى null. إذا كان DACL ينتمي إلى واصف أمن لكائن هو تعيين إلى NULL، DACL خالية هو التي تم إنشاؤها. null DACL منح حق الوصول الكامل لأي مستخدم يطلب ذلك؛ والتحقق من الأمان عادية هو غير المنجز بالنسبة للكائن. يجب أن لا يمكن خلط DACL خالية مع DACL فارغ. هو DACL فارغ بشكل صحيح المخصصة و تهيئة DACL يحتوي على لا توجد إدخالات التحكم بالوصول. يمنح DACL فارغ لا الوصول إلى الكائن من هو المعينة إلى.

يمكن أن يكون للكائنات التي لها فارغة DACL واصفات الأمان الخاصة بهم تبديل بواسطة المستخدمين المؤذيين حتى أي آخر لديه حق الوصول إلى الكائن.

حتى في حالة الجميع يحتاج إلى الوصول إلى كائن، يجب تأمين الكائن حيث يمكن للمسؤولين فقط تغيير الأمان. إذا كان الشخص الذي أنشأ يحتاج إلى الوصول إلى كائن ما، يجب أن يتم تعيين DACL ليس تشغيل الكائن؛ اختيار النظام مناسبة الافتراضي.

مثال

تنشئ التعليمة البرمجية التالية th هو تحذير لأن DACL خالية هو التي تم تمريرها إلى SetSecurityDescriptorDaclدالة:

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

إلى راجع مثال عن إتمام خطوة إلى إنشاء descripإلىr الأمان، راجع إنشاء Descripإلىr الأمان "كائن جديد" في C + + إنشاء DACL . لمزيد من معلومات، راجع إنشاء DACL.