微软安全公告2269637发布
概述
今天我们发布了微软安全公告2269637。这份公告与其他微软安全公告不同,因为它并非讨论微软产品中的具体漏洞,而是针对安全研究提出的新远程攻击向量提供的官方指导。该研究揭示了一种针对已知漏洞类别(称为DLL预加载或“二进制植入”攻击)的新远程攻击方式。我们正在全面调查这一新向量可能对微软产品造成的影响。一如既往,如果我们发现此问题影响任何产品,将采取适当措施加以解决。
此外,今天我们提供了一个深度防御更新,客户可以部署此更新来帮助防范通过这一新识别向量利用易受攻击应用程序的尝试。最后,我们利用与研究人员和行业合作伙伴的紧密联系,帮助应对这一新类别的漏洞。我们的微软漏洞研究计划一直在协调最先向我们报告此新向量的研究人员与其他受此问题影响的应用程序开发者之间的沟通。
技术背景
这项新研究展示的是DLL预加载攻击的一种新远程向量。这些攻击并非新出现,也非Windows平台独有。例如,与此问题类似的PATH攻击构成了针对UNIX操作系统的最早攻击类别之一。攻击的重点是诱骗应用程序在认为加载的是受信任库时加载恶意库。要实现这一点,应用程序必须通过名称调用受信任库,而不是正确使用其完整路径(例如,调用dllname.dll而不是C:\Program Files\Common Files\Contoso\dllname.dll)。攻击者随后必须在系统搜索库的目录中放置恶意库副本,并确保该目录在受信任库实际所在目录之前被搜索。例如,如果攻击者知道应用程序仅调用dllname.dll(而不是使用完整路径),并且它会在搜索C:\Program Files\Common Files\Contoso\之前先在当前工作目录中查找dllname.dll。那么,如果攻击者能在当前工作目录中植入恶意dllname.dll副本,应用程序将首先加载它,从而在应用程序的安全上下文中执行攻击者的代码。
迄今为止,PATH或DLL预加载攻击要求攻击者将恶意库植入本地客户端系统。这项新研究概述了攻击者通过将恶意库植入网络共享来发起这些攻击的方法。在这种场景下,攻击者会创建一个易受攻击应用程序将打开的数据文件,创建一个易受攻击应用程序将使用的恶意库,将两者发布在用户可以访问的网络共享上,并说服用户打开数据文件。此时,应用程序将加载恶意库,攻击者的代码将在用户系统上执行。
由于这是一个新向量,而不是新类别的漏洞,现有的最佳实践(保护免受此类漏洞影响)会自动保护免受这一新向量的影响:确保应用程序使用完整路径名调用受信任库。
虽然最佳保护是遵循最佳实践,但我们能够通过提供一个可以配置为禁用从网络共享加载库的工具来提供额外的防御层。特别是,由于这会改变功能,我们鼓励客户在部署此工具之前进行评估。作为评估的一部分,我们鼓励您查看安全研究与防御(SRD)博客中的信息。
我们将继续与研究人员和行业合作,识别并解决易受攻击的应用程序。一如既往,我们将通过安全公告、安全公告和MSRC博客适时向您更新任何新信息。
感谢 Christopher