CIG: загрузка только DLL, подписанных Microsoft В Windows есть Code… — ByTe [ ]f Digital Life — TG.ME

CIG: загрузка только DLL, подписанных Microsoft

В Windows есть Code Integrity Guard (CIG), он же Binary Signature Policy. Параметр MicrosoftSignedOnly запрещает процессу загружать PE-модули, не подписанные Microsoft. Обычный Authenticode-сертификат компании или собственный сертификат не подойдёт.

#define _WIN32_WINNT 0x0602

#include <windows.h>
#include <stdio.h>

int main(void)
{
PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY policy = {0};
policy.MicrosoftSignedOnly = 1;

if (!SetProcessMitigationPolicy(
ProcessSignaturePolicy,
&policy,
sizeof(policy)))
{
printf("Error: %lu\n", GetLastError());
return 1;
}

puts("Microsoft-signed-only policy enabled");
return 0;
}

Этот флаг проверяет конкретную DLL при одном вызове LoadLibraryEx, тогда как MicrosoftSignedOnly действует на весь процесс. На практике CIG может ломать плагины, хуки EDR/AV, оверлеи и любые сторонние DLL.

Небольшая защитка от некоторых продуктов, которые любят пихнуть свою dll-ку в процесс для более глубокого мониторинга за user-mode пространством.
511
July 31, 2026 1K 9 14