如何针对DLL劫持来检测我的.NET应用程序?
我们有一个带注册扩展的.NET 3.5应用程序.我们如何保护它免受DLL劫持攻击?
由于遗产和设计问题强大的命名/签名现在不是一个选择 如果您不知道DLL劫持是什么,请提供额外信息: > What’s DLL Hijacking – SO
我遇到过类似的问题,我最终编写了自己的逻辑来验证dll.对我来说,我只是在LGPL时尚中使用那个dll(我不能修改dll),但是想确保我的应用程序使用真正的dll(而不是高亮的那个).
简单解决方案 >在开发应用程序时,创建dll的MD5校验和并在应用程序中对哈希进行硬编码 更好的方案: >使用强哈希算法和salt生成dll的哈希值 如果您拥有来自可信CA的任何证书(如verisign),则可以使用该证书而不是使用RSA密钥值对. 这种方式即使有人用破解的dll替换你的dll,哈希也不会匹配,你的应用程序就会知道劫持企图. 这种方法可能比只给dll一个强名称更好,因为可以通过运行来禁用强名称验证 SN -Vr HijackedAssembly 希望这可以帮助您,或者想要了解数字签名内部如何工作的人. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- Windows上的本机C有哪些优秀的分析器?
- windows-server-2008-r2 – W2K8 – 当我将GPO移动到OU时,为
- 解决 win10家庭中文版 远程连接:出现身份验证错误 要求的函
- BMP文件格式
- Windows Perl行编辑器具有可编辑的默认值?
- Gnuplot,来自windows.命令窗口打开和关闭
- xaml – 如何在Win10 Universal应用程序中禁用GridView / L
- Windows TCP窗口缩放过早达到高原
- 从Windows Azure上的.NET应用程序连接到VPN?
- NewRelic for .NET需要在注册表中将COR_ENABLE_PROFILING设