NSA挖出来数以万计的零日漏洞,如何管理?要不要给防御部门分享?为了让几名敌人感染艾滋,而瞒着全体国民不让接种疫苗,是否道德?美国人想了个办法,模仿“外商投资批准机制”,搞了一个“公正性评估委员会”……
第十二章 新的作战域(接上)
官方的漏洞挖掘项目不断扩张,引出了一个国防部特遣队在10年前制定网络攻击理论框架时没有关注的新问题。直到今天,这个问题仍然没有进入公众视野,也没有提交国会进行任何讨论。这个问题就是,为攻击性网络作战而大量储备零日漏洞和漏洞利用程序,是否合乎伦理?是否会引发新的安全问题?把这么多零日漏洞利用程序用在政府的网络攻击作战上,而不是把漏洞告诉开发者和供应商并让其打上补丁,那么,政府这样做,是不是正将美国的关键基础设施业主和计算机用户置于更大的风险之中?可以想见,网络罪犯、间谍组织和外国情报部门也会发现并利用同样的漏洞,并用它们发起针对美国的网络攻击。
如前所述,当研究人员发现漏洞时,一般会将其公开发布或私下知会软件的开发者,以便让他们能够及时修复漏洞,把补丁分发给所有用户。但是,军方和情报部门为了准备或实施网络攻击,需要将零日漏洞储备起来,而不愿看到这些漏洞被打上补丁。在榨干零日漏洞的价值之前,他们会想方设法不让他人染指。“假设你基于某个漏洞构建了某种完整的攻击能力。一旦该漏洞曝光,你将会失去一个曾投资百万美元和数千小时人工的系统。”K2Share公司网络安全顾问安迪·潘宁顿(Andy Pennington)在2011年的某个研讨会上说。潘宁顿1999年以前曾担任空军武器系统官员,退休后转而为空军研究运用网络技术的下一代武器。他在会后接受采访时说,“如果你想利用某个漏洞发起网络攻击,绝对不会请一个研究团队把辛辛苦苦找到的漏洞发布在网上,让所有人都看到。为了寻找漏洞并将其用于保持我们的优势地位,我们正在花费大笔大笔的美元。”
前空军官员,K2Share公司网络安全顾问安迪·潘宁顿
仔细想想我们会发现,官方的模式是,让全体国民暴露于漏洞之中,以此换取对少量几个目标发动攻击的能力。这相当于,为了让少数几个人感染某种病毒,而瞒着全体国民不让他们接种疫苗。
当震网同时利用4个零日漏洞对伊朗发起攻击时,有趣的事情出现了。其他黑客和外国的网络战士也在利用这些漏洞。“当你发现一个新的零日漏洞时,如果认为自己是世界上唯一一个发现它的人,那就太天真了。”前白宫网络安全协调官、微软前高管霍华德·施密特(Howard Schmidt)说,“你可能把‘独家发现权’保持几个小时或几天,但不可能保持很长时间。因为,外国政府、其他机构的网络安全研究人员以及那些以兜售零日漏洞利用程序为业的人,一直在和你做着同样的事情。”
事实的确如此。震网用到的.LNK漏洞曾在两年前被银行盗窃病毒Zlob用过一次。关于其他人发现并利用打印机漏洞的消息,也曾在期刊上出现过。其他黑客发现并使用这些零日漏洞进行各种攻击,不知要比震网早上多久呢!2007年,一家名为免疫力(Immunity)的佛罗里达安全公司发布了一项研究报告,称一个零日漏洞利用程序从被制作出来到被发现,平均寿命为348天。生存时间最长的零日漏洞为将近3年。如今,形势又有了新变化,零日漏洞的平均寿命已缩短至10个月,生存时间最长的为2年半。
2009年,新任总统奥巴马宣称,在他执政期间,将把网络安全特别是国家关键基础设施安全防护视为最高优先级事务。但是,军方和情报部门为实施攻击性网络作战而秘密收集零日漏洞、制作漏洞利用程序的行为,造成了他们与其他政府部门之间的分裂。比如,肩负着保护美国关键基础设施和政府重要系统任务的国土安全部(DHS),就对军方和情报部门非常不爽。
安迪·潘宁顿在2011年研讨会的发言中强调,政府部门之间在零日漏洞问题上存在“利益竞争关系”。但他又说,当政府部门发现想要利用的漏洞时,可以通过在有限几个政府部门之间进行“漏洞共享”的方式,在不损害对外实施网络攻击能力的同时,“加强国家网络安全防护”。他还提到,国防部与微软等软件供应商和控制系统制造商有着“非常密切的合作”,会及时向他们透露新发现的漏洞。“但我必须再次强调,必须实现对零日漏洞的绝对掌控……只有这样,我们才能保证发动网络作战的能力。”为此,必须“在共享和修复漏洞时非常谨慎。”不过,他并未详细阐述,在共享零日漏洞时应遵守怎样的纪律。另有人指出,漏洞信息首先应提供给国防部的官员,以便保护军事系统不受攻击,此时仍须对供应商和公众保密,以防把风声走漏给对手。据报道,微软在发现新漏洞时,也会首先向政府部门和合作伙伴通报情况,让他们在补丁制作完成之前预先采取防护措施。同时,微软等供应商的这个举动,也起到了为NSA通风报信的作用,让他们可以在微软公开发布补丁之前,就把所有基于该漏洞的漏洞利用程序下架、报废,或者,抓紧时间利用这个漏洞完成侦察或攻击任务。
前DHS部长助理格雷格·谢弗(Greg Schaffer)在接受国家公共电台(NPR)采访时说,负责保护非军用政府信息系统的DHS,偶尔会获得“来自网络攻击部门的帮助”。但他没有言明,这“帮助”到底是不是指“分享零日漏洞信息、以便让他们打上补丁”。“实际上,他们一直在考虑要不要分享零日漏洞信息给我们。情况并不像我们所担心的那样。”
然而,DHS的另一名官员说,他从来不记得“国防部主动给我们分享过一个漏洞……我们非常希望获得尽可能多的漏洞信息,从而拿出最好的防护措施。”但是,当他获得漏洞信息的愿望一再落空之后,他终于意识到“事情本该如此”——只要政府仍然需求巩固其对外发动网络攻击的能力。(因为,防御范围大、目标多,且缺乏强力的保密机制,难免在传递漏洞信息和补丁过程中将其泄露给公众或对手——译者注。)他说,他找不到任何解决方案。
虽然漏洞信息无法实现由进攻端到防御端的传递,但却会出现防御端首先发现漏洞,并分享给进攻端的情况。比如,有时防御部门的研究人员会在控制系统中,发现已经被NSA或其他部门利用过、却没来得及透露并打补丁的漏洞。一位前DHS官员说,2007年的极光发电机实验之后,他们便着手在控制系统安全领域中实施“漏洞公正性评估”(vulnerabilities equities process)。从那时起,政府机构研究人员每发现一个控制系统漏洞,都会把它交给“公正性评估小组”对其潜在影响进行衡量,确保其透露不会对正在进行的(攻击)行动造成损害。这位前官员说,“如果有人正在用它进行……用于经过授权的合法目的(攻击性网络作战)……我们将认真权衡利弊,以决定是将其透露给公众,还是暂时保密。”
政府中的“公正性评估”,有着悠久的传统。比如,在二战中,英国人成功破解了德军的恩尼格玛密码,并得到了德国即将轰炸盟军舰队的情报。这时,他们必须权衡,到底是该利用这份情报通知舰队改变航向以躲避攻击,还是以牺牲一支舰队为代价,造成尚未破解密码的假象,以迷惑德军、进而继续获取使用此密码的其他重要情报。
美国的“公正性评估”由来自国防部、司法部门、国务院、国土安全部、白宫和情报部门代表构成的核心委员会负责实施。其工作模式则照搬了美国外商投资委员会(VFIUS)权衡外商投资对美国国家安全利益影响的工作模式。
在软件漏洞事务方面,如果政府研究人员在某款通用PLC中发现了安全漏洞,他们必须向“公正性评估”委员会提交一份报告,看公布这个发现是否符合“公正精神”(equity)。“委员会的每个人都可以就发布漏洞可能对公司或系统的可能影响,提出自己的观点。”这位官员说,“这些发言通过机密网络中的电子邮件汇集到一起。然后,委员们再集中到会场上,依次亮明自己的立场(投票表决)。如果委员会的最终意见是‘赞成保密’,那么我们将研究下一步处理意见。如果是‘反对保密’,我们将继续进行正常的‘负责任的漏洞发布’流程。(即通报给软件供应商,让其尽快发布补丁)”
当问及是否曾给攻击端分享新漏洞,以助其利用漏洞发动攻击时,他给出了否定的回答。但他承认,“公正性评估”委员会的讨论,会在不经意间让委员们产生“将新漏洞用于攻击”的想法。但当他提到,从未听说有委员告诉工业控制系统业主代表“不要公布那个漏洞,我们要用它进行攻击”时,他认为,他们(来自国防部和情报部门的委员)可能只是不愿意公开表态罢了。“他们就在那儿静静的记记笔记,一句话也不说,而我们永远不知道(他们到底有没有用这些漏洞制作漏洞利用程序,更不知道有没有用这些漏洞利用程序发动进攻)。”(待续)
译者:李云凡