MS09-061: 关于.NET安全公告的更多信息
MS09-061修复了.NET Framework中的漏洞,这些漏洞可能允许恶意的.NET应用程序执行任意本机代码,从而导致远程代码执行。本文旨在帮助澄清这些漏洞的攻击向量,并涵盖推荐的临时措施。
重要说明: .NET Framework中的这些漏洞不影响基于.NET Framework构建的应用程序——安装此更新后,您无需重新编译任何应用程序。这些漏洞仅存在于.NET Framework中,使得恶意的.NET应用程序可能逃脱施加于它们的限制。
攻击向量: 那么这些漏洞如何被利用?简而言之,它们使得恶意的.NET应用程序可能突破代码访问安全(CAS)沙箱。攻击者可以利用此实现远程代码执行的三种常见场景包括:
- 恶意网页
- 恶意网页可能托管恶意的XAML浏览器应用程序(XBAP)、Silverlight应用程序或托管插件(在IE8中默认关闭)。
- 请注意,Silverlight 3不受此公告影响。已升级到Silverlight 3的用户不会受到恶意Silverlight应用程序的攻击。
- 请注意,Internet Explorer不是唯一受影响的浏览器,因为其他浏览器也支持XBAP。
- 如果成功,恶意应用程序可能利用这些漏洞之一在当前登录用户的上下文中在客户端执行任意代码。
- 恶意ASP.NET应用程序
- 允许上传和运行不受信任的ASP.NET应用程序的服务器易受攻击,应优先安装此更新。
- 恶意ASP.NET应用程序可能利用这些漏洞之一在服务器上以分配给它们的应用程序池用户帐户的上下文执行任意代码。
- 网络共享上的恶意.NET应用程序
- 在.NET 3.5 SP1之前,默认情况下,网络共享上的.NET应用程序在CAS沙箱中运行(它们被视为部分信任)。
- 如果安装了.NET 3.5 SP1,则网络共享上的.NET应用程序默认以完全信任运行。
- 从网络共享运行的恶意.NET应用程序可能利用这些漏洞之一逃脱CAS沙箱,并在当前登录用户的上下文中在客户端执行任意代码。
如何在没有安全更新的情况下保护计算机: 首先,我们建议尽快安装此更新。但是,如果无法立即在所有计算机上安装更新,有几个临时措施可以共同应用,以帮助在过渡期间保护您的计算机。
- 禁用部分信任的.NET应用程序 a. 详细步骤可在安全公告中找到:http://www.microsoft.com/technet/security/Bulletin/MS09-061.mspx。 b. 此临时措施不会影响完全信任的.NET应用程序,例如位于本地硬盘上的.NET应用程序(EXE)。 c. 但是,部分信任的应用程序,如XBAP、托管插件、ASP.NET应用程序和网络共享上的.NET应用程序(如果您使用的是早于3.5 SP1的.NET Framework版本),将不允许运行。 d. 此临时措施不能防止恶意Silverlight应用程序。 e. 请注意,此临时措施将禁用所有ASP.NET应用程序。
- 暂时禁用Silverlight a. 此临时措施不适用于Silverlight 3用户,因为Silverlight 3不易受攻击。 b. 如果您可以升级到Silverlight 3,我们建议您这样做,而不是使用此临时措施。 c. 详细步骤可在安全公告中找到:http://www.microsoft.com/technet/security/Bulletin/MS09-061.mspx。 d. 此临时措施阻止Silverlight加载,防止恶意网站利用此漏洞,但也会阻止非恶意的Silverlight应用程序加载。
为什么不禁用完全信任的.NET应用程序? 无需禁用完全信任的.NET应用程序,因为它们已经可以在其运行的用户帐户上下文中执行任何操作,因此在同一用户帐户上下文中执行任意代码不会给攻击者带来任何好处。 然而,部分信任的.NET应用程序受到.NET Framework的CAS功能限制,即使它们运行的用户帐户被允许,也被阻止执行危险操作。这些部分信任的应用程序通过利用这些漏洞之一可能获得某些好处,因为它们可以执行敏感操作。本质上,它们可以从不受信任的应用程序提升为受信任的应用程序。
总结 希望这些信息能帮助您理解这些漏洞的影响,以及如何最好地保护您的计算机。
- Kevin Brown, MSRC Engineering 特别感谢MSEC PM团队的Eugene Bobukh。 2009年10月17日更新 - 更新博客文章以澄清Silverlight 3不受此公告影响。 2010年8月30日更新 - 修复了错误的链接。感谢Robert指出这一点!