Например, beep.sys - загружен, но цифровой подписи у него нет. Как и у некоторых других модулей (например, ws2ifsl.sys). Как система их загрузила?
Вроде как есть специальное хранилище сертификатов. Точную логику не знаю, но можно подсмотреть в исходниках Process Hacker'a.
Так в том и дело, что сертификатов нет, файлы не подписаны, проверять нечего. Если подменить драйвер на свой (тоже без подписи) - система его, конечно, не грузит. Но хотелось бы понять, на основе чего система пропускает проверку подписей для каких-то своих модулей. Возможно, здесь как-то завязан SFC?
Кажется оно https://docs.microsoft.com/en-us/windows/win32/api/wintrust/nf-wintrust-winverifytrust . Каким-то образом файл верифицируется и далее извлекаются данные о поставщике. https://github.com/processhacker/processhacker/blob/master/phlib/verify.c#L434
Да, похоже, что проверяются хэши файлов, исходя из инфы в *.cat-файле: https://docs.microsoft.com/en-us/windows-hardware/drivers/install/catalog-files