2010-08-25 34 views
6

Microsoft发布Security Advisory (2269637) Insecure Library Loading Could Allow Remote Code ExecutionMicrosoft安全通报(2269637)对.NET编码的影响

该说明指的是一个工具,它将帮助检测到Dynamic-Link Library Security上的这个问题和编程指南。

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

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

DllImport("user32.dll")] 
+1

+1个很好的问题。 – rook 2010-08-25 15:51:11

回答

6

像user32.dll这样的系统DLL是安全的,因为they're in the KnownDLLs list in the registry。如果您尝试加载名为"user32"的DLL,则Windows会硬编码以从system32目录获取官方副本。

+0

正确...但应用程序是指定处理程序的特定文件扩展名?你喜欢写电影吗?因为如果你没有,那么你不能控制当前的工作目录,并且没有攻击。你应该在发布之前真正阅读一次攻击,我90%确定他的应用程序没有受到影响,并且只有1种方法可以确定。 – rook 2010-08-30 16:10:08

4

在这个页面:

微软已经发布了指导开发人员使用的MSDN文章,Dynamic-Link Library Security,如何正确使用可用的应用程序编程接口,以防止这类漏洞英寸

此问题仅影响那些不加载外部库的安全应用程序。微软此前曾在MSDN文章Dynamic-Link Library Security中发布了开发者指南,该文章建议备用方法来加载可抵御这些攻击的库。

您链接到您问题中的同一页面,只要您遵循该页面上列出的指导方针,您的应用程序应该是安全的。有关安全进程搜索模式和搜索目录顺序的说明似乎特别相关。

+0

但是,如何将这些应用到他的User32.dll示例?安全搜索模式不是每个进程,而是每个进程,而不是真的与你一起玩。在获得控制权之前,DLL由系统加载,因此搜索路径也不在您的手中。作为一个清单?你真的想将所有的系统DLL添加到你的清单吗?什么是在清单中指定系统目录的正确可移植方式? – Rup 2010-08-25 10:54:36

+0

@Rup - 请参阅@Tim Robinson的答案。我认为我不能再添加任何更多。 – ChrisF 2010-08-25 11:05:43

2

安装您的应用程序并运行H.D. Moore's tool。 H.D.摩尔发现了这种攻击模式。

如果您的应用程序不负责自动执行文件扩展名,那么您就是不易受攻击。我敢打赌,如果您运行此工具,您的应用程序将不会显示在易受攻击的应用程序列表中。

+0

感谢您的推荐! – 2010-08-30 15:19:08