政府应该不应该囤积零日漏洞?
随着辩论的持续推进,关于政府是否应该囤积或公开披露零日漏洞的问题,仍然没有一个简单明确的答案。
在斯诺登事件之后的几年里,有关联邦政府消弱加密标准,在商业软件中植入后门,以及为了收集数据入侵商业组织等种种行为,都已经引发了相当多的讨论。其中最为高调的事件,就是联邦特工为了获取圣贝纳迪诺枪击案罪犯使用的iPhone手机数据,而与苹果公司对簿公堂,使得加密问题引发世界关注。
受到较少关注的反倒是政府使用和存储零日漏洞。直至最近,RAND公司发布了一项介绍“零日漏洞存储与漏洞披露”的学术研究,围绕漏洞审查过程的相关讨论才开始聚焦在公众视野中。
“零日漏洞”又叫零时差攻击,指的是被发现后立即被恶意利用的安全漏洞。通俗地讲,即安全补丁与瑕疵曝光的同一日内,相关的恶意程序就出现。要利用此类漏洞,需要创建漏洞利用程序。在过去十年中,政府开始大规模使用零日攻击,此举为国防承包商和其他发现软件(和硬件)关键漏洞的人,提供了一个利润丰厚的市场,他们开始不断向政府出售有关这些漏洞的信息。例如,臭名昭著的Stuxnet——一种用于攻击伊朗铀浓缩计划的数字武器,其当年成名的一个重要原因就在于使用了4个零日漏洞,最终破坏了大约1000台伊朗离心机。
据悉,支持政府存储零日漏洞的主要论点是,零日漏洞的发现是一个代价高昂的过程,但是一旦成功,就能够赋予政府绝对优势(与未利用零日的对手政府相比),允许其以几乎无法察觉的方式完成情报收集,甚至能够禁用或破坏对手国家的基础设施。
而支持漏洞披露一方的主要论点是,其他各方(包括对手国家)也有可能发现相同的零日漏洞,并可能将其用于攻击自己的政府和商业实体,因此应该支持漏洞披露,让受影响的供应商能够获取到漏洞信息,用于修复这些危害极大的漏洞。
漏洞披露辩论
大约5年前,在爱德华·斯诺登泄密事件发生后,奥巴马总统召集了一个总统顾问委员会,指定5人组成“情报和通信技术调查小组”彻查监控事件,并就“如何在保护国家安全利益,推动政府外交政策议程和尊重公民隐私权之间取得平衡”提出了一系列建议。由此产生的308页的小组评估报告共包含有46项建议,其中就包括零日披露的主题。该报告中的第30条建议指出,如果国家安全局(NSA)发现网络安全存在重要漏洞,大多数情况下就应该公开信息,确保漏洞获得修复,而不是保持沉默,以便利用这些漏洞开展间谍活动或网络攻击。不过,奥巴马政府也给出了广泛的例外情况,前提是“国家安全或执法行动存在明确需要”。这样的例外可能会允许NSA继续利用安全缺陷破解网络加密,设计网络武器。
很明显,该小组的建议倾向于支持漏洞披露。作为回应,政府表示:
“
已经确立零日审查流程,旨在确定发现漏洞时是披露信息,还是对发现的漏洞进行保密处理,以便情报机构加以利用,该审查过程非常严谨,且总体倾向于漏洞披露。
然而,当2014年4月出现了一个名为“心脏滴血”(Heartbleed)的新漏洞时,彭博新闻报道称,NSA“至少在两年前就已经知道了该漏洞的存在,并且经常用它来收集关键情报”。值得注意的是,NSA否认了这一指控,并表示,发现此类漏洞时,政府现在的“倾向”是与电脑及软件制造商分享信息,以便创建补救措施,并向业内公司及用户分发。
到了2016年8月,一个自称为“影子经纪人”(Shadow Brokers)的黑客团体放出了几乎肯定是属于NSA的核弹级网路攻击武器库,其中就包含了多个零日漏洞。令人担忧的是,这些漏洞广泛存在于Cisco、Juniper和Fortinet等安全产品中,且每个产品都被广泛用于保护美国公司和关键基础设施以及全球其他系统。到了2017年,这些泄露的NSA漏洞还引爆了导致全球瘫痪的Wannacry、Peyta等勒索病毒。
那么,政府是否接受了专家组的建议?它应该这么做吗?
美国国家情报局局长Dan Coats将现如今针对美国基础设施的网络攻击情况,与911事件之前几个月的网络攻击情况进行了比较,并指出:在近20年后的今天,美国再次走到了最危急的时刻。鉴于这种情况,似乎秘密存储零日武器对于侦察和进攻性活动(特别是对抗国家支持的网络攻击者)而言都非常宝贵。
另一方面是资深国家安全学者Joe Nye的评论,他提出:
“
如果美国在有限时间内向相关公司和公众负责任地披露了零日漏洞信息,那么其作为强大武器的价值就是折损——同时也可以在无需谈判的情况下解除我们自己、其他国家以及犯罪分子的武装。其他国家也同样可能效仿这种做法。可以说,在某些方面,网络武器控制可能比核武器控制更容易。
存储漏洞优缺点
政府是否应该秘密存储或是公开披露零日漏洞是一个难以评判的问题,答案不会是简单的“是”或“否”。在RAND公司发布的一篇名为《Zero Days, Thousands of Nights: The Life and Times of Zero-Day Vulnerabilities and Their Exploits》的报告中,揭示了零日攻击及其潜在漏洞的平均寿命为6.9年(也就是约2521天),其中,甚至有25%的零日漏洞存活时间超过了9.5年。
事实上,零日攻击不仅存活寿命长,而且还能以极快地速度运行。当谈及创建漏洞利用所需的时间时,RAND公司发现,大约1/3零日漏洞利用是在一周或更短的时间内开发出来的,此外,大部分是在大约22天内开发完成的。
更重要的是,该报告还深入探讨了零日漏洞存储问题,并假设“如果零日漏洞很难找到,和/或对手发现同一漏洞的可能性很低”,那么存储就会变得非常有意义。该研究估计,每年大约只有5.7%的零日漏洞能够被外部实体发现。因此,“撞车”率,或多方同时发现同一漏洞的可能性非常低。鉴于该原因,存储而不是披露漏洞对于进攻型实体而言可能会非常有益。
不过,上述引用的2013年总统顾问委员会的报告反驳了RAND公司的结论:
“
在几乎所有情况下,消除软件漏洞而不是将它们用于美国情报收集工作显然更符合国家利益。消除漏洞——修补它们——能够加强美国政府、关键基础设施和其他计算机系统的安全性。
《Zero Days, Thousands of Nights: The Life and Times of Zero-Day Vulnerabilities and Their Exploits》的报告原文:
https://www.rand.org/pubs/research_reports/RR1751.html
相关阅读