优秀微软防御赏金提交的关键要素
微软长期致力于通过投资防御技术来提升软件安全性,这些技术能够显著增加攻击者利用漏洞的难度和成本。防御方案通常具有广泛而持久的影响,因为它们专注于消除漏洞类别或破坏攻击者依赖的利用原语。从长远来看,这有助于提升软件安全性,因为它将焦点从逐个发现、修复和服务漏洞的“肉搏战”转向接受复杂软件必然存在漏洞的事实。
为了进一步强调对这一策略的承诺并扩大防御思路的收集范围,微软于2012年颁发了BlueHat奖,随后于2013年6月启动了持续的微软防御赏金计划,为新颖的防御解决方案提供高达5万美元的奖励。上月,我们宣布现在将为符合条件的微软防御赏金提交提供高达10万美元的奖励。这一增加进一步确认了我们对这类防御解决方案的重视,并希望这能鼓励更多针对实用防御的研究。
在这篇博客文章中,我们借此机会解释如何评估防御解决方案,并描述我们在优秀防御中寻找的特征。我们基于几个关键维度评估解决方案,具体包括:鲁棒性、性能、兼容性、敏捷性和可采纳性。在开发防御方案时牢记这些维度,应能增加防御被认定为微软防御赏金优秀候选的可能性,并大大提高防御在实际中被集成和采纳的可能性。
评估防御解决方案的标准
鲁棒性
第一个也是最重要的标准涉及防御的安全影响。毕竟,防御必须对增加漏洞利用的难度和成本产生显著影响,才值得追求。
我们从以下方面评估鲁棒性:
- 防御对现代漏洞类别和/或利用的影响。优秀的防御应能消除常见漏洞类别或破坏现代利用所使用的关键利用技术或原语。
- 攻击者在适应防御时将面临的难度级别。优秀的防御应包括对防御局限性以及攻击者可能如何适应的严格分析。仅对攻击者构成轻微阻碍的防御不太可能符合条件。
性能
第二个最重要的标准涉及防御对性能的预期影响。我们的客户期望Windows及其上运行的应用程序具有高响应性和性能。在大多数情况下,我们最感兴趣应用防御的场景(例如Web浏览器)也正是高性能期望的地方。因此,防御必须对性能影响最小,且防御的鲁棒性必须证明任何潜在性能成本的合理性。
由于性能影响跨多个维度衡量,无法简单地将要求提炼为单个允许的回归百分比。相反,我们使用以下指导点来评估性能:
- 对行业标准基准测试的影响。有各种行业标准基准测试评估常见应用程序工作负载中的性能(例如浏览器DOM/JS基准测试)。尽管SPEC CPU基准测试可以为比较防御解决方案提供良好基线,但我们发现在真实应用程序工作负载下评估性能影响至关重要。
- 对运行时性能的影响。这通过CPU时间和经过时间在基准测试或常见应用程序场景(例如在浏览器中导航到顶级网站)的上下文中衡量。对运行时性能影响低的防御在我们的评估中评分更高。
- 对内存性能的影响。这通过防御如何影响内存占用的各个方面(包括提交、工作集和代码大小)来衡量。对内存性能影响低的防御在我们的评估中评分更高。
兼容性
Windows成为极其成功平台的原因之一是因为在保留与应用程序的二进制兼容性方面付出了大量努力。因此,防御必须保持与现有应用程序的兼容性,或者有路径以选择加入方式启用防御。通常,重建世界(例如所有在Windows上运行的二进制文件)对我们来说不可行。因此,防御需要100%兼容才能在我们的评估中获得高分。
具体来说,我们从以下方面评估兼容性:
- 二进制互操作性。任何防御必须与旧版应用程序/二进制文件兼容,或者必须支持以选择加入方式启用防御。如果采用选择加入模型,则防御通常必须支持由启用防御的应用程序加载旧版二进制文件(如旧版DLL)。在防御要求重新构建二进制文件以受保护的情况下,受保护的二进制文件必须能够加载到可能不支持运行时防御的旧版Windows上。
- ABI兼容。与上述相关,任何改变代码生成或运行时接口的防御必须符合ABI(例如不能破坏调用约定或其他既定合同)。例如,Windows x64 ABI的详细信息可以在此处找到。
- 无误报。防御不得使用可能容易产生误报(从而导致应用程序兼容性问题)的启发式方法或其他逻辑。
敏捷性
考虑到二进制兼容性的重要性和设计决策的长期影响,我们还需要注意确保在未来对防御进行更改时拥有尽可能多的灵活性。因此,我们密切关注与防御相关的设计和实现的敏捷性。在敏捷性方面具有良好特性的防御在我们的评估中可能评分更高。
可采纳性
所有防御都带有一定成本,这决定了构建它们并将其集成到平台或应用程序中的难易程度。这意味着我们必须考虑构建防御相关的工程成本,并必须评估开发人员和系统操作员在实际使用防御时可能承受的负担。例如,要求开发人员更改代码或系统操作员管理复杂配置的防御不太理想。工程成本低且启用摩擦最小的防御在我们的评估中可能评分更高。
结论
上述标准旨在帮助提供透明度和洞察力,了解我们在微软内部和微软防御赏金计划中评估防御特性时使用的指南。我们确实对防御解决方案设定了高期望,但我们相信这样做有充分理由,这些理由基于现代威胁形势和客户的期望。
我们强烈鼓励任何对软件安全充满热情的人“超越漏洞”,探索投入时间和精力开发新颖防御的机会。除了是一个具有挑战性和刺激性的问题空间外,现在还有可能通过微软防御赏金计划为您在这方面的努力获得高达10万美元的奖励。这些防御在降低软件漏洞相关风险和帮助保护人们安全方面的影响是巨大的。
Matt Miller
微软安全响应中心