微软发布了Security Advisory (2269637) Insecure Library Loading Could Allow Remote Code Execution。
笔记中提到了一个有助于检测此问题的工具和Dynamic-Link Library Security上的编程指南。
如何将这些指导原则转化为.NET开发?我假设这只影响平台调用。
这仍然是导入系统库的推荐方式吗?
DllImport("user32.dll")]发布于 2010-08-25 18:55:58
像user32.dll这样的系统DLL是安全的,因为they're in the KnownDLLs list in the registry。如果您试图加载一个名为"user32"的动态链接库,Windows会硬编码为从system32目录中获取正式副本。
发布于 2010-08-25 18:47:25
从该页面:
微软在
文章Dynamic-Link Library Security中向开发人员发布了指南,指导他们如何正确使用可用的应用程序编程接口来防止此类漏洞。
和
此问题仅影响未安全加载外部库的应用程序。微软之前在MSDN文章Dynamic-Link Library Security中为开发人员发布了指导原则,建议使用替代方法来加载库,这些方法可以安全地抵御这些攻击。
您在问题中链接到同一页,因此,只要您遵循该页上概述的指导原则,您的应用程序就应该是安全的。关于安全进程搜索模式和搜索目录顺序的说明似乎特别相关。
发布于 2010-08-26 02:15:53
安装应用程序并运行H.D. Moore's tool。H.D.摩尔发现了这种攻击模式。
如果您的应用程序不负责自动执行文件扩展名,那么您就不是易受攻击的。我敢打赌,如果你运行这个工具,你的应用程序不会出现在易受攻击的应用程序列表中。
https://stackoverflow.com/questions/3563823
复制相似问题