麻省理工学院技术评论:「固若金汤」的区块链,为什么频频遭遇攻击?为什么出现越来越多的安全漏洞?(下)

加密货币和智能合约出现了越来越多的安全漏洞,有些漏洞甚至出现在它们的基础框架中

本文作者 Mike Orcutt , 是麻省理工学院技术评论的副主编,专注于加密货币和区块链, 思考的核心问题——为什么区块链技术很重要? 该作者每周发布两次以区块链技术为重点分析报告, (点击 这里可以通过电子邮件订阅 他的技术简报 )。本文发表于:2019年2月19日 , 点击可以看到 英文原文 。

一堆全新的蠕虫病毒

除了51%攻击以外,区块链的安全漏洞几乎是全新的,研究人员才刚刚开始探索:比如智能合约漏洞。巧合的是,ETC(以太坊经典)—— 特别是ETC起源背后的故事——也是理解智能合约漏洞的良好起点

一个智能合约: 是一个区块链网络上运行的计算机程序。它可用于「根据拟定的规则和条件自动化转移加密货币」。智能合约有许多潜在的用途,比如促成现实中的法律合同 或复杂的金融交易。另一个用途是建立一种投票机制,通过该投票机制,风险投资基金的所有投资者可以共同决定如何分配资金

正是这样一个名为DAO(分散自治组织)的基金,于2016年基于以太坊区块链系统建立。此后不久,一名攻击者通过利用管理DAO的智能合约中的一个无法预料的缺陷——重入错误,偷走了当时价值超过6000万美元的加密货币。从本质上讲,这个缺陷允许黑客不断向某些帐户请求资金,被盗的这笔钱已被撤回。

实时智能合约中的错误可能会导致一种独特的紧急情况

在传统软件中,可以使用补丁修复错误。
在区块链世界中,就没有这样简单了。ETH Zurich 研究科学家兼智能合约安全创业公司 ChainSecurity的 联合创始人 Petar Tsankov 说,由于区块链上的交易无法撤销,因此部署智能合约有点像发射火箭。“该软件不能出错。”

有一些修复方式。虽然Bug无法修补,但可以通过部署其他智能合约,与出现问题的智能合约进行交互来“升级”某些智能合约。开发人员还可以将集中式终止开关构建到网络中,在检测到黑客攻击后,就停止所有活动。不过,对于已被盗币的用户来说,为时已晚。

有效的追回资金的唯一方法是重写历史记录,回到攻击发生之前的点,创建新的区块链分支,并让网络上的每个人都同意使用该新的区块链。这就是以太坊的开发者的选择。大多数(但不是全部)以太坊社区成员转向新链,我们现在称之为以太坊。而一小部分继续坚持与原始链粘在一起,成为ETC以太坊经典(ETC)。

上个月,Tsankov所在的ChainSecurity公司的团队挽救了以太坊可能重演DAO攻击的灾难。在ETH重大软件升级前一天,ChainSecurity公司告诉以太坊的主要开发人员,升级会产生意外的后果——在以太坊区块链上留下一些合约,这些合约新近容易受到和DAO攻击同类的漏洞影响**。开发人员迅速推迟了升级。

然而,区块链安全公司AnChain.ai的联合创始人兼首席执行官Victor Fang表示,数以百计的价值连城的以太坊智能合约,容易受到这种所谓的重入错误的影响。据去年的研究,成千上万的合同 还可能包含一些其他类型的漏洞 。

公共区块链的本质意味着:如果智能合约存在错误,黑客就会发现它,因为源代码通常在区块链上可见。“这与传统的网络安全非常不同,”曾在网络安全公司FireEye工作过的Victor Fang说。

特别是持有数千万或数百万美元代币的智能合约,更是吸引了像攻击银行或政府那种量级拥有先进技术的黑客。今年8月,AnChain确定了五个以太网地址背后的一个非常复杂的攻击,利用一个热门博彩游戏中的智能合约缺陷,窃取了400万美元

黑客能被击败吗?

AnChain.ai是近期为解决区块链黑客威胁而创建的几个创业公司之一。它使用人工智能来监控事务,并检测可疑活动,并且可以扫描智能合约代码以查找已知漏洞

其他公司,包括Tsankov创建的ChainSecurity,也正在开发基于形式验证( formal verification )计算机科学技术的审计服务。目标是在数学理论上,证明智能合约的代码真的会完成其创建者的意图。Tsankov说,这些审计工具在过去一年左右开始出现,使得智能合约创建者能够消除许多“低成本”的漏洞。但是这种服务的创建过程既昂贵又耗时。

康奈尔大学隐形货币与合约倡议研究员 Philip Daian 说,可能会使用额外的智能合约,来设置基于区块链的“Bug奖励”。鼓励人们报告缺陷以换取加密货币奖励

但确保代码干净(无bug)作用有限。毕竟,区块链是一个复杂的经济系统,它取决于人类不可预测的行为,人们总是会寻找新的游戏方式。Daian和他的同事已经展示了:攻击者如何 通过热门游戏的以太坊智能合约 , 进行 套利 。

简而言之,尽管区块链技术长期以来一直因其安全性收到赞誉,但在某些条件下它可能非常脆弱

有时是其伪劣的运行,有时是无意的软件错误,而备受指责。其他时候,区块链更像是一个灰色区域:代码、区块链经济学和人类的贪婪相互作用,产生复杂的结果。

现在,世界上诞生了这么多区块链,我们正在学习——它到底意味着什么,尽管这条路,非常艰难。

你可能感兴趣的:(麻省理工学院技术评论:「固若金汤」的区块链,为什么频频遭遇攻击?为什么出现越来越多的安全漏洞?(下))