近在咫尺又远在天边,古老又新颖:漏洞处理与零日攻击防护 | MSRC博客
日本安全团队 / 2014年6月1日 / 26分钟阅读
随着Windows XP支持终止和安全公告2963983(MS14-021)的发布,对漏洞及漏洞处理的关注度显著提升。特别是对零日攻击的高度关注,我们在《由里香老师的安全小课堂:第8回:什么是零日攻击?》中已概述其基本概念。
本文将从更实践的角度,介绍基于Coordinated Vulnerability Disclosure(协同漏洞披露)的常规漏洞处理和零日攻击确认时的处理方式,包括安全更新发布时的质量管理。同时,作为“零日攻击公开时的应对措施”,我们将探讨基本对策的重要性,以及常被推荐为缓解措施的MAPP、扩展保护模式和EMET。
漏洞与安全更新的发布时机
通过Windows Update/Microsoft Update提供安全更新(以下简称更新)始于1998年。最初是更新准备就绪后立即发布,但这种形式导致企业IT管理员无法提前准备,更新应用率不高。因此,2002年改为每周三(美国时间)发布,以便IT管理员能提前准备。然而,每周发布负担过重,故2003年改为每月第二个星期二(美国时间)发布,并于2004年开始提供安全信息的预先通知,以便提前制定具体的更新应用计划。
这一变更看似仅是微软内部流程的调整,实则不然。主要漏洞处理有Responsible Disclosure(RD)和Full Disclosure(FD)两种理念。RD认为,在软件供应商等发布修复程序前,即用户能实施对策前,不公开信息是最安全的。若能以此为前提,每月一次更新并不困难。
相反,FD则认为,无论软件供应商等是否提供修复程序,公开详细的漏洞信息都能加速修复程序发布,从而提高用户安全性。这两种理念的差异导致修复程序发布前,漏洞信息有时会被公开。漏洞公开情况可通过安全信息的FAQ“此安全信息发布时,该漏洞是否已公开?”项确认。
严格应用RD时,即使确认攻击,修复程序发布前也无法公布漏洞。Coordinated Vulnerability Disclosure(CVD)致力于解决此问题。CVD是“供应商和漏洞发现者紧密合作,广泛开展及时响应,仅在有主动攻击时公开信息,并重点投入于一系列最佳缓解措施和规避措施”。简言之,确认相关漏洞攻击时,公开必要信息并尽力防止损害。
关于CVD,本公司Katie Moussouris的博客有详细(且有趣)阐述,日本安全团队博客也介绍了概要。
如前所述,CVD的关键在于修复程序发布前确认攻击的案例。所谓零日攻击即属此类,可通过安全信息的FAQ“此安全信息发布时,微软是否收到该漏洞被利用的报告?”项确认相关零日攻击是否存在。
确认零日攻击时,似乎应立即公开漏洞存在。但信息也会公开给恶意方,担心基于公开信息开发新攻击代码,在无修复程序的情况下扩大攻击。因此,微软认为,为防止威胁增大并确保更新应用,尽可能作为常规更新发布是理想的。
然而,确认情况严重时,我们会常规外发布更新。但即便如此,也需以与常规更新相同的高质量提供更新程序。高质量不仅指相关程序正确运行。若存在以修复前程序行为为前提的应用程序或驱动程序,应用更新可能导致系统问题。为避免此类问题,需验证大量组合,如OS版本、语言、各国不同主要应用程序、多样硬件等。修复简单且对其他程序无影响时可快速发布,但若测试中发现问题,更新发布就会耗时更长。
漏洞和攻击代码流通情况详见近日发布的第16版安全情报报告特辑。其中记载了意外事实,敬请阅读。
零日攻击对策 STEP-1(更新应用与MAPP)
在各国家CERT组织、安全研究者、安全供应商等的合作下,基于CVD进行漏洞处理,但不幸的是,利用未知漏洞的零日攻击仍不少见。
零日攻击公开时,首先希望您做的——可能出乎意料——是应用所有已发布的更新,并确认安全软件以最新状态运行。
零日攻击只是现实多种攻击的极小部分,大部分攻击针对已公开漏洞。因此,保持所有软件(不限于微软产品)最新状态对防止损害至关重要。
此外,若攻击针对微软产品,通过MAPP(Microsoft Active Protection Program)向主要安全供应商提供漏洞和攻击信息,即使更新程序发布前,也有望通过安全产品防护相应零日攻击。安全供应商博客等也常阐述MAPP信息提供及其产品应对。
MAPP及MAPP成员应对情况请参考以下链接。
零日攻击对策 STEP-2(缓解措施应用)
通常,零日公开时会同时公开缓解措施。准确理解这些内容是对策推进的重要步骤。特别是使用组策略管理PC等时,可快速可靠地应用缓解措施,故准确理解缓解措施至关重要。
例如,安全公告2963983(MS14-021)中记载了以下缓解措施,且均注明“确认可防止当前已确认的恶意利用”。即,应用任一缓解措施即可防止相应攻击。
- 禁用VML
- 启用扩展保护模式
- 导入EMET
禁用相关攻击的VML措施易懂,但“扩展保护模式”和“EMET”为何能保护,多数人并不清楚。此处介绍“扩展保护模式”和“EMET”的保护机制。
零日攻击对策 扩展保护模式(Windows 8/8.1)
扩展保护模式是Windows 7及以后运行的Internet Explorer 10、Internet Explorer 11中实现的功能。Windows 7和Windows 8中扩展保护模式行为有异,此处介绍Windows 8及以后系统运行的扩展保护模式。
Windows 8及以后运行的扩展保护模式在AppContainer上运行。AppContainer上运行的进程与系统和其他进程隔离运行,无法访问系统和其他进程。因此,即使漏洞被利用,攻击代码也只能在AppContainer上运行,可阻止程序恶意利用。
扩展保护模式是高效技术,无论零日攻击是否存在。在线银行非法转账成问题,此类攻击中该技术也高效。
零日攻击对策 EMET: Enhanced Mitigation Experience Toolkit
EMET是微软免费提供的防止漏洞利用的工具,从EMET 3.0起支持组策略和SCM(System Center Configuration Manager)。
EMET通过“系统缓解措施强制应用”和“EMET特有缓解措施应用”防止漏洞利用。
最新系统中,若DEP和ASLR等Windows具备的安全机制有效,可防止大部分攻击。但存在不少禁用这些机制的程序和DLL,可能成为攻击突破口。“系统缓解措施强制应用”可对此类程序强制启用安全机制,防止攻击。
“EMET特有缓解措施应用”主要防止规避系统缓解措施的攻击。例如,防止利用ROP(Return Oriented Programming)、Heap Spray等规避DEP·ASLR,并提供Null Page Allocation防止、栈和堆随机化、Export Address Table Access Filtering(EAF)等通用对策。EMET提供的具体缓解措施请参考上述URL链接的用户指南。此外,对漏洞和系统对策(安全机制)变迁详情感兴趣的读者,可参考Matt Miller的资料。
EMET是高效工具,也可用于无法维护的自定义应用程序保护。另一方面,若PC不在组策略管理下,零日攻击报道后导入EMET可能不现实。
作为零日前提对策的一部分,提前以Opt-IN方式在各PC安装EMET(即无保护程序状态),零日公开时启用相应程序保护,是现实性高的运营方式。
结语
安全情报报告第16版分析称,Windows各种安全机制有效运作使零日攻击变难,且其价值增高。因此,零日攻击倾向于极有限地利用以尽可能延迟发现。且漏洞和攻击手法广为人知并纳入金钱可购的攻击工具包后,才广泛攻击。
零日攻击对策看似困难,但作为常规安全对策的延伸,可变为可应对问题。如文中所述,可靠应用更新程序、适当使用安全程序、以安全设置利用系统和应用程序,可预先防止多数零日攻击。
此外,使用组策略管理PC等,并预先部署EMET等缓解措施,可将零日应对程序通用化。
以下文章回顾零日攻击对策,对推进今后对策非常参考,敬请一并参阅。
日本漏洞处理由经产省汇总,可从以下URL确认所需信息。
今年3月至5月,包括Internet Explorer在内的许多漏洞和攻击成为话题。回顾一系列事件,感觉企业和组织的IT管理员不仅需应用更新程序,更需理解风险本质并采取适当应对。
望此资料对提高安全性有所参考。