为了说明数字签名证书的好处,我写了一个.NET可执行文件“demo.exe”,它调用“demo.core.dll”中的一个函数。 我数字签署了两个可执行文件。 当执行时,它会打印一条消息“你好,你最近怎么样?”
“demo.core.dll”中的消息被修改为“您已被黑客攻击”。 validation“demo.core.dll”上的数字证书失败。 运行“demo.exe”,显示“你被黑客入侵”。
我期望Windows将无法执行该DLL。
这否定了数字证书的价值。 如何configurationWindows不加载具有无效证书的篡改二进制文件?
编辑:我忘了AppLocker !
在执行以下过程之前,请确保您为防止标准用户运行每个用户应用程序中描述的规则集合创build了默认规则。
只允许签名的应用程序运行
1.要打开本地安全策略MMCpipe理单元,请单击“开始”,键入secpol.msc,然后按Enter。
2.在控制台树中,双击应用程序控制策略,然后双击AppLocker。
3.右键单击“可执行规则”,然后单击“创build新规则”。
CautionCaution
此规则可防止未签名的应用程序运行。 在实施此规则之前,请确保您要在组织中运行的所有文件都进行了数字签名。 如果任何应用程序未签名,请考虑实施内部签名过程以使用内部签名密钥签署未签名的应用程序。
4.在开始之前页面上,单击下一步。
5.在“权限”页面上,单击“下一步”接受默认设置。
6.在“条件”页面上,单击“下一步”。
7.在“发布者”页面上,请注意,默认设置是允许任何签名的文件运行,然后单击“下一步”。
8.在“例外”页面上,单击“下一步”。
9.在“名称和说明”页面上,接受默认名称或input自定义名称和说明,然后单击“创build”。