BEC、SMT智能合约安全漏洞分析

1人留言
admin 2018-5-7 17:44:44 只看该作者 阅读模式 打印 上一主题 下一主题
近来,BEC、SMT的智能合约漏洞给很多区块链从业者带来了恐慌。我们先来看看案发现场:

上图,利用BEC漏洞创造出巨额token

上图,利用SMT漏洞创造出巨额token
BEC的合约漏洞是BatchTransfer漏洞中的数据溢出,SMT的合约漏洞是代理转账逻辑中没有进行大数保护,造成大数溢出,这两个问题的根本原因是没有使用library SafeMath,使用了普通的加减乘除。

比如BEC漏洞中这个乘法没有使用library SafeMath,而是用了“*”,这就造成了数据溢出。



同样道理,SMT的智能合约的错误代码没有使用官方的library SafeMath,而使用了普通的“+”,这造成了在代理转账逻辑中没有进行大数保护,最终造成大数溢出。


正确的方式应该像我们的这段代码就是用library SafeMath函数来完成智能合约代码,这样可以保证智能合约代码的安全稳定。

现在发现的漏洞中有很多代码是因为直接使用普通的加减乘除,同时缺少溢出判断,这就造成数据溢出的隐患,而使用library SafeMath可以彻底解决数据溢出的问题。因此,解决方案也很简单,彻查智能合约代码,把“+”“-”“*”“/”换成library SafeMath,这可以彻底解决数据溢出的问题。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

大神点评(1)

跳转到指定楼层
嘿嘿~奸笑中!

说点什么

您需要登录后才可以回帖 登录 | 立即注册

? 2018 今日头条

中国互联网举报中心 京ICP证140140号

粤-非经营性-2017-0062

互联网药品信息服务资格证书

跟帖亚博娱乐官网自律管理承诺书 违法和不良信息举报:010-58362200 公司名称:Quater情感在线 客服QQ:2243108352(站长自定义)