万书网 > 文学作品 > 尖峰对话区块链 > 第七问 智能合约的漏洞给区块链安全带来了怎样的新挑战

第七问 智能合约的漏洞给区块链安全带来了怎样的新挑战




王峰:在我看来,鉴于区块链技术将推动金融革命,安全之于区块链产业的重要程度,将百倍于互联网产业。目前,区块链在智能合约、节点网络、生态(交易所、钱包等)及使用者等方面的安全隐患尤为突出。2018年8月,腾讯发布《2018上半年区块链安全报告》,称2018年上半年区块链领域因安全问题损失超过27亿美元。其中,智能合约漏洞主要集中在以太坊,如因代码的漏洞或者私钥的泄露等问题导致的资金损失达12.4亿美元。智能合约的漏洞究竟给区块链安全带来了什么样的新挑战?我们应该如何应对?

宋晓冬:智能合约的本质是代码,代码漏洞并不是智能合约独有的问题,而是所有程序都会遇到的问题。代码漏洞是导致计算机系统被攻击的最主要原因之一。

在过去的工作中,我的小组一直在设计和开发新的技术和工具以自动查找代码中的漏洞,包括二进制程序、网络应用程序和移动应用程序。我的第一个创业公司的主要业务是,构建查找移动应用程序中的漏洞和恶意行为的自动化工具。在智能合约中,这些漏洞的影响更直接,因为用户可能会损失很多钱。

几十年来,业界在计算机安全和程序验证方面,一直致力于开发查找代码漏洞并提供代码安全性证明的技术和工具。这些技术和工具在智能合约中当然也很有用。

此外,编程语言对编写安全代码以及验证代码安全性的难易程度也有很大影响。我们可以改进智能合约的语言设计,以帮助应用开发者更轻松地编写更安全的代码。

许多经过正式验证的系统,采用的另一种方法是进行代码验证的协同设计、开发和验证。在编写代码时,开发者可以同时进行验证,而进行代码安全性和正确性证明的过程将有助于开发安全的代码。

王峰:很多人开始关注可信赖硬件,不过,最近来自比利时、美国和澳大利亚的两个技术团队同时发现了SGX[28]软件保护扩展的一个安全漏洞。美国政府的计算机应急准备小组在2018年8月14日警示,攻击者利用该漏洞可以获取一个内存芯片内的任意信息,包括敏感数据、通往长期内存的密码和密钥,还可以将敏感数据在一个安全飞地复制并获取。有观点认为,软件保护扩展技术要达到很高的安全水准,可能需要耗费数年时间。所以,依赖单一硬件的隐私保护是否可靠?同时,可信执行环境的原理是将私钥保存在芯片生产商处,如软件保护扩展就是将私钥交由英特尔(Intel)负责,所以芯片生产商就成了一个中心化的节点,这是不是又与区块链的去中心化理念相悖?

宋晓冬:许多经过正式验证的系统采用的另一种方法是进行代码和证明的协同设计或开发,也就是在编写代码的同时,还要进行证明,这样做有助于生成安全代码。

考虑到其强大的安全属性,可信执行环境(或安全硬件)可以成为构建安全系统的基石,可信执行环境使构建安全系统变得更加容易。

但是,我们需要一个值得信赖的可信执行环境。目前市面上的解决方案是闭源开发,因而业界很难分析、评估其安全性。在我们的一篇博客文章中,我们指出了现有闭源安全硬件的不足,并强调了开源安全硬件的重要性。[29]

Keystone是我们与加州大学伯克利分校和麻省理工学院合作研发的一个项目,一个建立开源可信执行环境的项目。[30]Keystone是基于RISC-V中的现有硬件功能开发可信执行环境。RISC-V是早期在加州大学伯克利分校开发的一种开源RISC架构,已广泛应用于行业。

我们还举办了一次关于开源安全硬件的研讨会,[31]很高兴会议得到了整个业界的支持,来自谷歌、脸书、微软、英特尔、安谋国际(ARMHoldings)、加州大学伯克利分校、麻省理工学院、斯坦福大学和其他机构的知名研究人员和专家参与了此次研讨会,就最先进的技术、现有挑战以及建立开源安全硬件的策略进行了交流。

我们正在与产业型合作伙伴一起构建和部署开源安全硬件,许多区块链公司联系我们表示支持,并表示希望加入这项工作。我们非常感谢业界对此给予的支持,并期待共同努力,实现这一目标。

王峰:据我所知,由绿洲实验室发起的第一个区块链项目Ekiden正在进行区块链隐私保护的探索。正如你前面提到的,它的隐私依赖于可信执行环境,也就是将私有数据放入独立硬件的“黑盒”中进行闭环计算。最近有海外媒体报道称,绿洲实验室决定调整隐私保护的技术路线,已经放弃软件保护扩展以及可信执行环境,你需要澄清一下吗?很多业界同人也非常关心你们的项目进展。

宋晓冬:感谢业界同人对我们的关注和支持!我们在开始设计绿洲区块链平台时,就希望确保区块链平台的健全性和可扩展性不依赖于任何安全硬件。绿洲区块链平台采用分层设计,具有分开运作的共识层、存储层和计算层。这种分层设计允许每个层独立扩展,可实现更大的可扩展性,尤其对复杂的智能合约进行执行。共识层不使用安全硬件,为了实现隐私保护,一些计算层的节点可以使用安全硬件。

绿洲区块链平台旨在提供统一的安全计算框架,包括安全硬件和加密技术,如安全的多方计算和零知识证明。这种统一的安全计算框架为开发人员提供了更多的选择。开发人员无须成为隐私专家,便可以利用最先进的安全计算技术,还可以选择使用最适合其应用的技术。

关于调整隐私保护技术路线的事情,我不知道在哪里发布了以上信息,我们并没有改变绿洲的设计。