It seems that since windows 10 ntdll has security feature called "ProtectedPolicies" - you can query it with
RtlQueryProtectedPolicy function. Prototype of this function is:
NTAPI NTSTATUS RtlQueryProtectedPolicy(GUID *, PDWORD out_flag);
Lets see how it works:
loc_6A277EFB: ; CODE XREF: RtlQueryProtectedPolicy(x,x)+12 j
push edi
mov edi, offset _RtlpProtectedPoliciesSRWLock
push edi
call _RtlAcquireSRWLockShared@4 ; RtlAcquireSRWLockShared(x)
push offset _RtlpSearchProtectedPolicyEntry ; PtFuncCompare
push 14h ; SizeOfElements
push ds:_RtlpProtectedPoliciesActiveCount ; NumOfElements
push ds:_RtlpProtectedPolicies ; Base
push [ebp+Key] ; Key
call _bsearch
That policies stored in array
RtlpProtectedPolicies, count located in
RtlpProtectedPoliciesActiveCount and size of each policy is 0x14 bytes (0x18 under x64), so each policy looks like struct:
struct protected_policy
{
IID guid;
DWORD flag;
};
Lets see from where
RtlQueryProtectedPolicy called