猎豹区块链研究中心向大家分享了智能合约的攻与防,其中包含智能合约,区块链生态等知识点,遇到此问题的同学们可以参考下
导读:本文根据猎豹区块链安全专家隋欣10月13日在dorahacks区块链安全挑战赛上的分享录音整理而成,浅谈当前智能合约的攻防问题。
智能合约的概念出现的非常早,在1994年就有人提出,但是因为当时没有可信化的执行环境,智能合约并没有应用到实际的场景当中。在08年中本聪提出了比特币的概念之后,人们发现作为比特币底层的区块链技术天然的为智能合约提供了可信化的执行环境。
智能合约是部署在EVM上,最终部署在区块链的公链上的。可以这样说,比特币引领区块链技术,而以太坊复活了智能合约。
其实智能合约的发展是非常稳定的,通过猎豹区块链安全中心在最近一个月的统计中可以看到,智能合约平均每天的增量在2200左右,增长还是非常稳定的。
智能合约的概念出现的非常早,在1994年就有人提出,但是因为当时没有可信化的执行环境,智能合约并没有应用到实际的场景当中。在08年中本聪提出了比特币的概念之后,人们发现作为比特币底层的区块链技术天然的为智能合约提供了可信化的执行环境。
智能合约是部署在EVM上,最终部署在区块链的公链上的。可以这样说,比特币引领区块链技术,而以太坊复活了智能合约。
其实智能合约的发展是非常稳定的,通过猎豹区块链安全中心在最近一个月的统计中可以看到,智能合约平均每天的增量在2200左右,增长还是非常稳定的。
智能合约现在的应用场景有很多,比如说去中心化的钱包、代币发行、众筹基金,还有现在非常火的FO3D、以太猫之类的区块链游戏,随着智能合约如火如荼的发展,我们也开始看到很多关于智能合约的攻击事件,以下是11年到18年智能合约安全事件统计。
其实智能合约安全事件在所有区块链安全事件的比例非常低,大概只有6%。但是损失统计却达到了12.4亿美元,说明智能合约虽然事件比较少,但造成的后果是非常严重的,因为智能合约对数字货币实时会交易造成非常大的影响,所以我们应该对智能合约的安全高度重视。
我们非常熟悉的The DAO事件,发生在16年的6月,造成了以太坊的硬分叉,接近1/3,近6000万美元的资产损失。
17年7月parity钱包的多重签名漏洞,造成了150万以太币的损失。
18年4月,众所周知的美链事件,使BEC 的10亿的资产在几天内消亡,类似的还有smartmash事件,在溢出和权限控制出现了问题,造成了1.4亿美元的重大财产损失。
伴随着智能合约出现的这些重大事件,让我们不禁思考,在solidity的代码层面到底出现了什么样的问题,又有哪些智能合约的漏洞类型。
我在这里简单的总结了智能合约TOP10的攻击类型:重入攻击、权限控制、整型溢出、未检查的call返回值、交易顺序依赖、时间戳依赖、条件竞争、短地址攻击、可预测的随机处理等。