谷歌的Project Zero发现的1600个漏洞中 超过95%在90天内得到了修复
从微软(Microsoft)到苹果(Apple)到英特尔(Intel),每一家大型科技公司都收到了“零项目”(ProjectZero)的一份bug报告,报告中写道:“该漏洞必须在90天90天过去后,或补丁已广泛提供(以较早者为准),臭虫报告将向公众可见。“从那时起,公司可以选择在ProjectZero的帮助下修复bug,或者完全不需要--在这种情况下,bug报告就会立即发布。
每个Bug报告都包含几乎所有的ProjectZero可以收集在漏洞上的项目,从它是如何首先找到证明这个问题的概念验证代码。
截至7月30日,ProjectZero发布了1,585个修复漏洞和66个未修复漏洞的bug报告。在1,585份报告中,有1,411份是在90天内公布的,另有174份是在14天宽限期内发放的。只有两种方法超过了它,即SPECTER&MURCOLSE和Taskt,当两者被利用时,都使程序能够访问操作系统的最高机密。
ProjectZero承认,在修复之前发布bug报告是有害的,但这正是关键所在:它吓唬公司实际修复它,他们说,如果他们期望bug报告保持隐藏,他们就不会这么做。
“如果您假设只有供应商和记者知道漏洞,那么问题就可以不紧急地解决。然而,我们越来越多的证据表明,攻击者正在发现(或获取)许多与防御性安全研究人员报告的漏洞相同的漏洞。我们不能确切地知道我们之前报告的安全漏洞是何时被攻击者发现的,但我们知道这种情况经常发生,足以将我们的泄露策略考虑在内。
本质上,披露截止日期是安全研究人员设定期望并为供应商和开源项目改进漏洞补救工作提供明确激励的一种方式。我们试图调整我们的披露时间框架,使之具有野心勃勃、公平和现实的可实现性。“
ProjectZero在这方面有明确的证据。一项研究分析了4300多个漏洞,发现15%到20%的漏洞是独立发现的,一年中至少两次。例如,对于Android,14%的漏洞在60天内重新发现,20%的漏洞在90天内重新发现,而Chrome的漏洞在60天内重新发现的比例为13%。这表明,尽管一名安全研究人员可能处于领先地位,但攻击者很有可能很快就会发现他们发现的任何东西。
幽灵和崩溃是发现的两个最严重的漏洞,自然地,通过ProjectZero找到。虽然他们将披露时间期限延长到216天,但他们因泄露细节而受到批评,因为在充分的修补程序得到广泛使用之前。然而,利用这些漏洞证明太复杂,并且没有记录成功的攻击。
但是在补丁之前发布bug报告不是很危险吗?
“首先,答案是违反直觉的:泄露少量未修复的漏洞并不能显着地增加或降低攻击者的能力。我们的“基于截止日期”的披露对攻击者的能力有一个中立的短期影响。
我们当然知道,有些团体和个人正在等待使用公共攻击来伤害用户(比如利用工具包的作者),但我们也知道,将典型的ProjectZero漏洞报告转化为实际的现实世界攻击的成本是不小的。“
ProjectZero并不是一步一步地发布黑客指南,而是发布他们所描述的“开发链的一部分”。理论上,攻击者需要大量的资源和技能才能将这些漏洞转化为可靠的漏洞,ProjectZero认为,即使攻击者没有公开该漏洞,也有可能做到这一点。也许攻击者太懒了,不愿意自己动手,因为2017年的一项研究发现,从漏洞到“充分发挥作用的攻击”的中间时间是22天。
这只是一个问题,这是一个很大的问题,但大多数公司在90天内就会出现问题。许多研究人员提出的第二个批评是ProjectZero在发布补丁后发布bug报告的政策,主要是因为修补程序往往不完美,而且在其他地方也可能出现相同的漏洞。ProjectZero认为这对维护者有利,使他们能够更好地理解漏洞,对攻击者来说几乎没有什么影响,因为他们无论如何都可以从补丁中反向设计漏洞。
“攻击者有明确的动机花时间分析安全补丁,以便了解漏洞(包括通过源代码审查和二进制反向工程),即使供应商和研究人员试图保留技术数据,他们也会很快建立完整的详细信息。
由于关于漏洞的信息的效用对于维护者和攻击者来说是非常不同的,所以我们不期望维护者通常能够承担与攻击者同样的分析深度。
我们发布的信息通常可以被捍卫者用来立即提高防御能力,测试错误修复的准确性,并且总是可以用来对补丁的采用或短期缓解做出明智的决定。“
有时,在战争中,必须冒风险才能取得全面成功。毫无疑问,安全研究人员和黑客之间的战斗是真实的,具有严重的现实意义。到目前为止,ProjectZero已经成功地运行了,他们的激进政策并没有带来任何重大后果,而且毫无疑问,他们将以类似的方式继续下去,除非它引起一个激烈的问题。希望不会发生这种事。