当智能合约遇到“黑客”

来源:2019.06.24

6月13日,知道创宇云安全联合惊世资本、金色财经共同举办的“安全链动世界-2018区块链技术安全沙龙”在北京圆满举办。为了应对区块链行业日益突出的安全问题,本次沙龙云集了区块链技术专家、安全研究专家、近100家区块链相关企业以及多家行业媒体,一同探讨区块链技术的应用及其对应的安全解决方案。

沙龙现场作为深耕区块链安全领域的公司,知道创宇已于行业领先快速布局区块链生态安全。在沙龙现场,知道创宇北京研发总监潘少华带来名为《当智能合约遇到“黑客”》的主题演讲,与在座嘉宾分享了智能合约领域存在的诸多安全风险及应对措施。

知道创宇北京研发总监潘少华发表演讲智能合约的安全问题据统计,当前全球Top100市值的虚拟币中,92%都是基于以太坊开发的。有数据显示,89%的智能合约皆存在安全漏洞,保守估计因智能合约漏洞所导致的损失已超过20亿美元。智能合约的本质是一段运行在区块链网络中的代码,它完成用户所赋予的业务逻辑。以以太坊体系为例,其在设计之初将智能合约设定为一旦部署就不能修改的模式,这导致每一个暴露在开放网络上的智能合约都有可能成为黑客的金矿和攻击目标,造成无法弥补的损失。

同时,以太坊区块链处于一个分布式的运行环境中,在保证无篡改、可信任的条件下,比如交易顺序依赖合约、时间戳依赖合约等都存在有被攻击的风险。举几个例子来看:·可重入攻击
在以太坊中,当一个合约调用另一个合约的时候,当前的操作就要等到调用结束之后才会继续。这时,如果被调用者需要使用调用者当前所处的状态,那么这就产生了问题。代码重入漏洞曾经导致以太坊历史上震惊世界的 DAO 攻击。

·权限控制漏洞
权限控制问题在所有程序中都很常见,而不仅存在于智能合约中。由于合约的代码通常是公开的,攻击者很容易找到权限控制方面的漏洞,并找到绕过限制的方式。2017年7月20日,Parity客户端附带的多重签名钱包智能合约被发现存在严重漏洞,黑客借此获取该地址的所有权并迅速将里面所有的资产转移出来。

·整数溢出
在编程过程中整数溢出并不少见,但这类问题在智能合约中尤其危险。合约中无符号整数
的应用非常普遍,大多数开发人员习惯于简化 int 类型(有符号整数)。2018年4月22日,BEC被爆遭遇严重攻击、被持续砸盘,百亿美金项目瞬时归零。随后,SMT 也被爆出相似重大安全漏洞并被攻击者利用。除此之外,以太坊智能合约还存在低级别调用、拒绝服务、随机数错误、提前运行、事件篡改、短地址攻击等漏洞威胁。

如何应对智能合约漏洞不同于传统的闭源软件,区块链上的智能合约代码是完全公开透明、并且开源的,因此安全开发亟待规范,同时引入代码安全审计是不可缺少的重要安全举措。知道创宇现已推出智能合约审计服务,针对目前主流的以太坊应用,由国内顶级白帽团队对智能合约源码中的隐私泄露风险、代币转入转出风险、合约故障处理风险等进行深度的安全审计,规避因合约安全问题导致的财产损失,为各类以太坊应用安全保驾护航。提供智能合约审计服务的安全团队预研过百余种智能合约应用,熟悉各种智能合约的代码编写规律,能够精准发现代码级别漏洞。作为管理巨量数字资产的智能合约,透过专业的第三方团队来进行安全审计是保障资产安全的负责任的措施。

热门文章

关注知道创宇云安全

获取安全动态