深入解析微软主动保护计划(MAPP)的技术机制
大家好,我是Maarten——我的团队在微软负责管理微软主动保护计划(MAPP)。MAPP通过向防御者共享漏洞信息,使防护签名在安全更新发布时即可就绪,从而为防御者提供先发优势。
最近,围绕MAPP计划的讨论较多。我们知道许多客户和合作伙伴对MAPP的工作原理及其如何帮助保护客户存有疑问,因此我想借此机会解释我们如何促进主动防护的创建。
MAPP的目标是建立一个透明、有效的计划。为此,我们定期评估MAPP合作伙伴,确保他们遵守计划指南,并采取措施纠正任何偏离计划章程的行为。我们还在不断加强技术和法律控制,以帮助保护客户。
为什么需要MAPP计划?
微软于2008年开发了MAPP计划,以应对每月安全更新发布后出现的逆向工程增加现象。我们认识到,有许多工具可供安全研究人员和攻击者使用,使他们能够根据更新二进制文件快速识别漏洞的根本原因。我们注意到,防御者(如防病毒或入侵防护供应商)正在与攻击者竞赛,逆向工程我们的更新以创建防护签名。
在MAPP计划之前,防御者处于劣势,因为检测漏洞利用很困难,尤其是当安全供应商没有关于可能触发成功利用的条件类型的完整信息时。供应商可以为收到的每个攻击文件编写签名,但他们需要单独响应每个文件,或花费大量时间自行逆向工程我们的安全更新。通过直接向防御者提供漏洞的技术细节,我们增强了他们在更短时间内创建更有效和准确签名的能力。
MAPP还有助于为需要在部署更新之前进行自行测试的客户提供第一道防线。微软在发布前彻底测试安全更新,但我们无法测试公司内部开发的所有业务线应用程序。
考虑到一些客户倾向于进行内部测试,这可能会延迟安全更新的安装,我们寻找了客户已部署的合作伙伴,这些合作伙伴可以帮助防止软件漏洞的利用。我们在反恶意软件和入侵防护行业找到了这些合作伙伴。
MAPP计划如何工作?
微软为符合我们最低要求的安全供应商免费运营MAPP计划,这些要求涉及他们保护客户的能力和所代表的客户数量。您可以在此处找到我们准入标准的详细信息。我们在接纳新合作伙伴之前仔细审查和验证这些标准。
每个月,我们的安全工程师团队努力为合作伙伴创建信息,帮助他们检测我们产品中安全漏洞的利用。这些数据包括但不限于:
- 关于漏洞的详细技术说明;
- 他们可以遵循的分步流程,用于解析受影响的文件格式或网络协议,识别哪些元素需要具有特定值或超出特定边界才能触发安全漏洞;
- 关于如何检测漏洞或其利用的信息(例如事件日志条目或堆栈跟踪);
- 一个概念验证文件,该文件本身并非恶意,但包含将触发漏洞的特定条件。合作伙伴可以利用此文件测试他们使用我们提供的分步流程开发的检测签名。
我们在安全更新发布前不久向参与供应商提供此信息。时间框架基于合作伙伴发布有效防护的能力,同时限制信息无意中披露的风险。
一旦我们提供信息,我们的工程师仍可详细讨论安全供应商可以采取的措施来检测漏洞的利用。
我们的团队还会与合作伙伴供应商跟进,以更好地了解攻击者在野外利用哪些漏洞,以及我们需要改进指南以应对特定利用方法的地方。我们定期在初始发布后更新指南,以帮助提高合作伙伴保护客户的能力。
MAPP计划如何帮助保护客户
MAPP计划帮助供应商为微软在安全公告中确认或解决的漏洞构建全面检测。MAPP合作伙伴不允许在安全更新发布之前发布其防护。
例如,在Office漏洞利用的情况下,我们的检测指南将描述如何解析Office文件并验证文件的哪部分以及哪些元素需要畸形才能触发漏洞。没有MAPP数据,供应商在许多情况下需要“猜测”哪些值可能触发崩溃,哪些不会,这会降低其签名的有效性。
使用MAPP数据开发的检测技术往往比没有访问该信息构建的检测更准确和全面。每个月公告发布后,微软会与每个供应商单独跟进,跟踪MAPP指南在我们合作伙伴签名库中的使用情况。当我们发现某些指南难以在我们的合作伙伴基础上实施时,我们会与合作伙伴合作,了解如何改进计划并使他们更有效地检测这些威胁。
MS10-087中解决的漏洞CVE-2010-3333是一个很好的例子。这个特定问题影响了Microsoft Office中的富文本格式(RTF)解析器。鉴于我们在这个特定组件中的公告样本较少;许多供应商没有有效的方法来解析该文件类型。我们与MAPP供应商合作开发了一个工具,可以快速识别恶意文件,并将其分发给我们的合作伙伴,尽管之前已在安全更新中解决了该问题。
风险和局限性
我们认识到漏洞信息有可能被滥用。为了尽可能限制这种情况,我们与合作伙伴签订了严格的不披露协议(NDA)。微软非常重视违反其NDA的行为。当合作伙伴未能成功保护我们的知识产权时,我们会采取行动,可能包括将合作伙伴从我们的计划中移除。
此外,我们确保仅在安全更新发布前不久发布数据。在MAPP之前,供应商在安全更新发布后的几小时到几天内发布检测。今天,我们仅在合作伙伴完成工作所需的时间内提前发送MAPP数据,只是现在,防护通常在我们发布更新时即可用。
但MAPP也有其局限性。例如,MAPP无法防止未知的零日漏洞的利用。为了使MAPP有效,微软必须在向MAPP合作伙伴分发指南之前了解漏洞。
此外,MAPP仅在产品能够防止漏洞利用的程度上才有用。入侵防护供应商可能并不总是最适合检测Office漏洞的利用,因为它们可能在网络中以多种不同方式编码。同样,基于主机的反恶意软件产品通常并不最适合防止基于网络的漏洞利用,例如最近的RDP漏洞。
我们建议客户与他们的防护供应商密切合作,了解每个产品的能力和局限性。
MAPP的价值
我们相信,帮助加强基于社区的防御是保护客户的关键。MAPP计划为防御者提供了关键的先发优势,同时努力最小化风险。
微软致力于通过向各种安全行业的防护供应商提供有价值的防护信息来帮助客户。MAPP计划是这一战略的重要组成部分。虽然风险永远无法完全消除,但我们相信该计划对我们客户的好处远远超过风险。
干杯!
Maarten Van Horenbeeck
高级项目经理,微软安全响应中心