首页 > 币动态 > 列表

SMT归零?未解决安全问题,ERC20代币归零一直都是这么近

来源:  2018-04-25  阅读数量 16745

今日早间 比特儿海外版、OKEX跟火币交易平台发布公告,宣布停止SMT交易对


查询区块记录你会发现,SMT的总代币数量增加了几百兆



 不久之前,SMT团队发布公告,他们的智能合约存在漏洞,被黑客利用bug恶意增发


产生问题的原因并不是以太坊网络的问题,而是SMT团队在开发的时候留下了没有处理或是忽视的漏洞

这与此前的BEC事件十分类似

此前黑客利用以太坊 ERC-20 智能合约中 BatchOverFlow 漏洞中数据溢出的漏洞攻击蔡文胜旗下美图合作的公司美链 BEC 的智能合约,成功地向两个地址转出了天量级别的 BEC 代币,导致市场上海量BEC被抛售,该数字货币价值几近归零,给 BEC 市场交易带来了毁灭性打击。

被黑客攻击的 BEC 交易量数小时内形成价格「瀑布」,币值归零。此前 BEC 官方团队已经暂停一切交易和转账,并对 Okex 交易所的交易回滚到黑客充币之前。

黑客绕过验证生成无限币

PeckShield 团队今日凌晨发布安全报告,提到黑客利用 in-the-wild 手段抓取以太坊 ERC-20 智能合约中的「BatchOverFlow」这个整数溢出漏洞来进行攻击。

利用这个漏洞,黑客可以生成合约中不存在的、巨量的 Token 并将其转入正常账户,账户中收到的 Token 可以正常地转入交易所进行交易,与真的 Token 无差别。

PeckShield 的安全预警报告中提到了该漏洞的具体细节,这个漏洞出现在 BEC 智能合约的 batchTransfer 函数当中,代码如下图所示。

为了验证该漏洞存在的真实性,PeckShield 团队对其中一个智能协议进行了相似的攻击(该合约中的代币并不在任何交易所交易,所以不会出现 BEC 的惨剧)。


PeckShield 团队还对一个未在交易所上线的以太坊宠物游戏 CryptoBots 进行了 BatchOverFlow 安全性攻击,并成功地在该协议上「生成」了 57,896,044,618,658,100,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000 枚代币 CBTB(你没看错,就是这么多 0 )

总币数已经超过合约规定的 2 万枚 CBTB。


因为中心化交易所只是对 Token 进行记账式的交易,项目团队与交易所配合之后回滚是可以一定程度上保护投资者利益的

但是如果在去中心化交易所进行交易那么投资者的损失将无法挽回,同时,利用交易所反应的时间差,黑客也可以实现在多个交易所套利。

知乎作者爬虫认为该漏洞很容易解决,只需要对计算结果进行 safeMath 的安全验证就可以,同时表示区块链智能合约代码需要测试、需要 review,必要时可以请专门做代码审计的公司来进行测试。

前有 OKEx 回滚期货交易,后有 OKEx 回滚 BEC 交易,如果没法从根本上解决漏洞,那么虚拟货币生态中的所有参与者都将遭受巨量损失。