警告 C6248
Standard EditionCURITY_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++ での新しいオブジェクトのセキュリティ記述子の作成」を参照してください。 DACL の作成の詳細については、DACL の作成を参照してください。
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示