6

Microsoft 发布了安全公告 (2269637) 不安全的库加载可能允许远程执行代码

该注释提到了一个有助于检测此问题的工具以及有关Dynamic-Link Library Security 的编程指南。

这些指南如何转化为 .NET 开发?我认为这只会影响平台调用。

这仍然是导入系统库的推荐方式吗?

DllImport("user32.dll")]
4

3 回答 3

6

像 user32.dll 这样的系统 DLL 是安全的,因为它们位于注册表的 KnownDLLs 列表中。如果您尝试加载名为 的 DLL "user32",Windows 会被硬编码为从 system32 目录获取官方副本。

于 2010-08-25T10:55:57.577 回答
4

从该页面:

Microsoft 在 MSDN 文章Dynamic-Link Library Security中向开发人员发布了有关如何正确使用可用应用程序编程接口来防止此类漏洞的指南。

此问题仅影响未安全加载外部库的应用程序。Microsoft 之前在 MSDN 文章Dynamic-Link Library Security中为开发人员发布了指南,该指南推荐了加载可安全抵御这些攻击的库的替代方法。

您链接到问题中的同一页面,因此只要您遵循该页面上概述的指南,您的应用程序就应该是安全的。关于安全进程搜索模式和搜索目录顺序的注释似乎特别相关。

于 2010-08-25T10:47:24.997 回答
2

安装您的应用程序并运行HD Moore 的工具。HD Moore 发现了这种攻击模式。

如果您的应用程序不负责自动执行文件扩展名,那么您就 不会受到攻击。我敢打赌,如果你运行这个工具,你的应用程序不会出现在易受攻击的应用程序列表中。

于 2010-08-25T18:15:52.970 回答