경고 C6248
SECURITY_DESCRIPTOR DACL을 NULL로 설정하면 보호되지 않는 개체가 발생합니다.
설명
개체의 보안 설명자에 속하는 DACL이 NULL로 설정된 경우 null DACL이 만들어집니다. null DACL은 요청하는 모든 사용자에게 모든 액세스 권한을 부여합니다. 일반 보안 검사 개체와 관련하여 수행되지 않습니다. null DACL은 빈 DACL과 혼동해서는 안 됩니다. 빈 DACL은 ACE를 포함하지 않는 올바르게 할당되고 초기화된 DACL입니다. 빈 DACL은 할당된 개체에 대한 액세스 권한을 부여하지 않습니다. Null DACL이 있는 개체는 악의적인 사용자가 해당 보안 설명자를 변경하여 아무도 개체에 액세스할 수 없도록 할 수 있습니다. 모든 사용자가 개체에 액세스해야 하는 경우에도 관리자만 해당 개체의 보안을 변경할 수 있어야 합니다. 작성자만 개체에 액세스해야 하는 경우 개체에 DACL을 설정하면 안 됩니다. 시스템에서 적절한 기본값을 선택합니다.
코드 분석 이름: CREATINGNULLDACL
예시
다음 코드는 null 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
}
}
보안 설명자를 만드는 방법에 대한 전체 예제를 보려면 C++에서 새 개체에 대한 보안 설명자 만들기를 참조하세요. DCL을 만드는 방법에 대한 자세한 내용은 DACL 만들기를 참조하세요.
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기