Quartz.dll QuickTime解析漏洞深度解析与防护指南

本文详细分析了Microsoft DirectShow平台quartz.dll在处理QuickTime格式时存在的远程代码执行漏洞,涵盖受影响系统、攻击向量及三种有效防护措施,包括注册表修改、Kill-bit设置和DLL访问控制。

Quartz.dll QuickTime解析新漏洞 | MSRC博客

注意:此博客文章发布时间已超过一年,以下信息可能已过时。

近期,我们在Microsoft DirectShow平台(quartz.dll)处理QuickTime格式时发现了一个远程代码执行漏洞。我们已发布公告971778提供客户防护指南。本文将深入探讨以下内容:

  • 哪些配置存在风险?
  • 为何这是高风险漏洞?
  • 如何实施防护?

哪些配置存在风险?

该漏洞存在于DirectShow处理QuickTime格式的代码中。DirectShow中的QuickTime Movie Parser Filter已在Windows Vista及后续操作系统中移除(参见http://msdn.microsoft.com/en-us/library/dd377491(VS.85).aspx)。Windows Vista、Windows Server 2008及更高版本Windows不受此漏洞影响。较早的Windows平台存在风险,具体如公告所示。

如果安装了Apple QuickTime,是否安全? 我们的调查发现,安装Apple QuickTime不能缓解此DirectShow漏洞。明确来说,无论是否安装Apple QuickTime,漏洞均存在于Microsoft的quartz.dll中,攻击者均可精心构造攻击调用该DLL,与Apple QuickTime是否存在无关。

为何这是高风险漏洞?

该漏洞存在于DirectShow平台(quartz.dll)。虽然漏洞不在IE或其他浏览器中,但通过浏览器的媒体播放插件存在“浏览即沦陷”攻击向量。攻击者可构建恶意网页,利用媒体播放插件播放恶意QuickTime文件,触发Quartz.dll中的漏洞。请注意,此类攻击可能针对任何浏览器,不仅限于IE。

此外,还存在基于文件的攻击向量,通过Windows Media Player打开恶意QuickTime文件触发漏洞。

如何实施防护?

有以下几种可考虑的临时解决方案:

#1:通过删除以下注册表项禁用Quartz.dll中的QuickTime解析:

1
HKEY_CLASSES_ROOT\CLSID\{D51BD5A0-7548-11CF-A520-0080C77EF58A}

对于X64系统,还需删除:

1
HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{D51BD5A0-7548-11CF-A520-0080C77EF58A}

这是最佳解决方案,因为它最具针对性,仅禁用DirectShow中的QuickTime解析,不影响DirectShow的其他功能。此方案覆盖所有已知攻击向量。因此,如果不关心通过DirectShow播放QuickTime内容,我们推荐应用此方案。

#2:设置WMP ActiveX控件的Kill-bit

如果使用IE,这有助于缓解当前观察到的攻击。可通过设置以下注册表项应用kill-bit:

1
2
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\{6BF52A52-394A-11D3-B153-00C04F79FAA6}]
"Compatibility Flags"=dword:00000400

此方案的优点是仍允许通过DirectShow使用Windows Media Player(或其他应用程序)播放QuickTime内容。缺点是仅防护当前使用IE的攻击,不覆盖其他攻击向量,例如无法保护其他浏览器。

#3:注销/设置quartz.dll的ACL

此方案有效,但可能对环境产生重大影响。请参考我们之前的SRD博客:“MS08-033:ACL quartz.dll会破坏什么?”获取更多详情。我们不推荐此方案,因为#1方案提供相同防护级别且影响更小。但作为有效防护措施,仍列于公告中,以为客户提供尽可能全面的选项来更好地保护其环境。

Chengyun, MSRC工程团队
文章按“原样”提供,无任何担保,不授予任何权利。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计