当前,软件漏洞的披露过程充满了挑战。网络安全研究人员和软件安全分析人员在报告或分享所发现的漏洞时,面临着道德伦理与功效的两难选择。公开披露一个漏洞可能会引起程序开发人员的注意,并促使其及时作出反应,但也可能导致研究人员被起诉。此外,公开披露漏洞可能会使恶意者在进行打补丁或修复之前利用这个漏洞。另一方面,直接与软件制造商分享漏洞在道德伦理上是合理的,但这种方式不一定能促使他们立刻采取行动。实践证明,软件制造商往往不愿意与外部安全团队合作,而被披露的漏洞往往被忽视,或者纠正措施被严重拖延。
为此,美国国防高级研究计划局(DARPA)推出了“用于加密验证和评估的安全信息”(SIEVE)项目,旨在通过使用“零知识验证”(ZKPs)来探索这一问题的潜在解决方案。“零知识验证”是可以用数学方法验证的问题陈述,可以用来推理软件或系统。这些验证可以公开使用而不泄露敏感信息。SIEVE项目专注于开发计算机科学理论和软件,能够提高构建“零知识验证”的问题陈述的表达能力,同时也使加密方法更容易使用。
据DARPA信息传新办公室(I20)领导SIEVE的项目经理乔希·巴隆(Josh Baron)介绍:“在SIEVE之前,应用ZKP研究的一个主要重点是最大限度地提高通信和验证证明的速度——这有时被称为‘简洁的零知识’。对于加密货币和区块链交易等应用,优先考虑通信和验证效率是至关重要的。然而,对于许多潜在的国防应用,包括像国防部可能希望采用的高度复杂的验证声明,可能需要实现所有指标的总效率和优化。”
在漏洞披露的情况下,“零知识验证”可以让漏洞研究者(验证者)说服软件制造商(检验者)他们拥有一个信息,例如一个错误或一个漏洞,而不会透露太多的信息。包括流露出他们获得奖励的目的,或者要求他们透露这一漏洞信息是如何被发现的。在SIEVE项目实施一年后,两个研究小组首次展示了从数学上验证易受攻击软件的可利用性的能力,而不透露有关漏洞本身或可能被利用的关键细节。
由Galois(美国一家私营计算机公司)领导的一个研究小组已经证明了Game Boy Advance(GBA,任天堂公司于2001年3月21日发售的便携式游戏机)光栅图像变换器(Raster Image Transmogrifier)中一个先前已知的内存安全漏洞的ZKP。内存安全漏洞是现代软件中经常出现的一类重要漏洞。在Galois领导的演示中,一个漏洞研究人员能够在大约8分钟内以交互方式说服另一方相信特定漏洞的存在。
为了实现这一里程碑,研究人员开发了技术和原型,实现了新型程序分析和协议的组合,以验证和评估零知识中的报告。具体来说,该团队能够开发出一种方法来紧凑地以数学方式表征内存安全漏洞,然后在该表征的基础上创建一个零知识验证。
虽然目前的原型只能为使用一组有限的语言特征的程序产生验证,但Galois团队的目标是扩展其能力,以验证任何可以使用标准编译器编译的C/C++程序的漏洞。他们还在积极研究提供更复杂要求的ZKP的原型,如程序的整体内存安全。
由Trail of Bits(美国一家私营计算机公司)领导另一个研究小组正致力于在系统架构层面建立漏洞模型,这比Galois所研究的抽象层次要低。他们最初的工作创造了一种方法,将现实世界的指令集架构表现为布尔电路(在计算复杂性理论和电路复杂性中,布尔电路是组合数字逻辑电路的数学模型)或数字逻辑电路的数学模型,从而与ZKP兼容,这样用户就可以证明他们有能力将公共二进制文件强制转化为特定的恶意状态。该团队最初的工作目标是MSP430微控制器,这是一种常用于嵌入式系统的微处理器。由此,他们发现了一种以数学方式表征各种常见漏洞的方法,从而可以开发出ZKP来证明这些漏洞的存在。ZKP语句大小从86MB到1.1GB不等,在一台台式电脑上验证需要23秒到256秒。
作为一个例子,该团队能够证明,使用MSP430微控制器的智能锁可以通过一个未公开的漏洞打开,而不必分享有关漏洞的细节。
对此,乔希·巴隆解释说:“从本质上讲,研究人员拿了一把智能锁,把它锁住,然后把钥匙扔掉。然后他们能够利用底层的MSP430来解锁,并开发了一个零知识验证的漏洞,以表明可以做到这一点,而无需分享如何做到这一点。”
到目前为止,Trail of Bits公司已经验证了对MSP430二进制文件中各种常见类型的漏洞进行ZKP披露的能力,包括堆栈和堆溢出、代码注入、格式字符串漏洞以及绕过内存保护,如数据执行预防(DEP)和地址空间布局随机化(ASLR)。
该团队目前正在努力扩大支持的架构和运行时环境的列表,目标是捕获大部分常见的x86架构。例如,他们计划生产来自DARPA的2016年网络大挑战赛的二进制文件的ZKP,这些文件在DECREE(一个建立在x86上的简单操作系统)上运行。通过这种方式,SIEVE项目在DARPA十年的研究中进一步发展了如何使网络安全正式化。
声明:本文来自从心推送的防务菌,版权归作者所有。文章内容仅代表作者独立观点,不代表士冗科技立场,转载目的在于传递更多信息。如有侵权,请联系 service@expshell.com。