4月22日中午,黑客利用以太坊 ERC-20 智能合约中 BatchOverFlow 漏洞中数据溢出的漏洞,攻击蔡文胜旗下美图合作的公司美链 BEC 的智能合约,成功地向两个地址转出了天量级别的 BEC 代币,导致市场上海量BEC被抛售,该数字货币价值几近归零,给 BEC 市场交易带来了毁灭性打击。
被黑客攻击的 BEC 交易量数小时内形成价格「瀑布」,64亿币值归零。 BEC 官方团队被迫暂停一切交易和转账,并可能进行回滚操作。
这一风波尚未平息,另一场风暴再次袭来
4月25日上午,火币Pro发布公告,虚拟币SMT项目方反馈今日凌晨发现其交易存在异常问题,经初步排查,SMT的以太坊智能合约存在漏洞。火币Pro也同期检测到TXID为0x0775e55c402281e8ff24cf37d6f2079bf2a768cf7254593287b5f8a0f621fb83的异常。受此影响,火币Pro暂停所有币种的充提币业务。另据慢雾区透露,SMT发现与4月22日爆出的美图BEC代币类似的安全漏洞。
随后OKEx平台亦发布公告,暂停SMT交易和提现。
据PeckShield 团队发布的安全报告,黑客利用 in-the-wild 手段抓取以太坊 ERC-20 智能合约中的「BatchOverFlow」这个整数溢出漏洞来进行攻击。利用这个漏洞,黑客可以通过转账的手段生成合约中不存在的、巨量的 Token 并将其转入正常账户,账户中收到的 Token 可以正常地转入交易所进行交易,与真的 Token 无差别。
PeckShield 的安全预警报告中提到了该漏洞的具体细节,这个漏洞出现在ERC20智能合约的batchTransfer 函数当中,代码如下图所示。
随后 PeckShield 团队利用自动化系统扫描以太坊智能合约并对它们进行分析。结果发现,多个 ERC-20 智能合约都存在 BatchOverFlow 安全隐患。PeckShield 团队认为,因为以太坊区块链上「代码即一切」的原则精神的存在,导致目前没有有效的安全防护手段来修复这些问题,而且因为 Token 交易背后牵扯着巨大的利益,是无法在多个交易所进行同步防护的。
因为中心化交易所只是对 Token 进行记账式的交易,项目团队与交易所配合之后回滚可以一定程度上保护投资者利益的,但是如果在去中心化交易所进行交易那么投资者的损失将无法挽回,同时,利用交易所反应的时间差,黑客也可以实现在多个交易所套利。
前有 OKEx 回滚期货交易,后有 OKEx 回滚 BEC 交易,火币关闭充值提现,为什么区块链上的安全问题总是要靠回滚来解决?如果没法从根本上解决漏洞,那么受害的不仅仅是投资者,虚拟货币生态中的所有参与者都将遭受巨量损失。