创业

BEC代币被黑 黑客输入一串数字就套利千万 说好的安全呢?

作者:飞龙网 2018-04-23 我要评论

昨日中午,黑客利用以太坊ERC-20智能合约中BatchOverFlow漏洞中数据溢出的漏洞攻击与美图合作的公司美链BEC的智能合约,成功地向两个地址转出了天量级别的BEC代...

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

BEC代币被黑 黑客输入一串数字就套利千万 说好的安全呢?

区块链安全公司PeckShield目前已经发现除了BECToken之外,还有超过 12 多个项目Token的智能合约中存在BatchOverFlow整数溢出漏洞,黑客可以利用这一漏洞转账生成“不存在”的虚拟货币并进行交易获利。

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

黑客绕过验证后生成“李鬼”币

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

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

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

BEC代币被黑 黑客输入一串数字就套利千万 说好的安全呢?

大家请注意第257行,cnt和 _value的计算结果生成了局部变量。第二个参数,即 _value,,可以是一个任意的256字节整数,就比如是:0x8000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000(63个 0)。

通过将两个_receivers注入到batchTranser(),再加上这个极其大的 _value,我们就能使得量溢出,将其amount的量变成0。通过将量回归到0,攻击者就可以绕过258行到259行的合理性检测,使得261行的差值变得不再相关。

最后,出现了一个非常有趣的结果:你们可以看262行到265行,两个 receriver 的余额上增加了超级大的 _value,而这一切都不会花费攻击者钱包里哪怕一毛钱。

随后PeckShield团队利用自动化系统扫遍了以太坊智能合约并对它们进行分析。结果发现,有超过12个ERC-20智能合约都存在BatchOverFlow安全隐患。

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

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。

BEC代币被黑 黑客输入一串数字就套利千万 说好的安全呢?

CryptoBots这款游戏目前正在以太坊上进行交易,但通过数据查看后发现该游戏的实际游玩人数并不高,只有寥寥几十人在玩。

PeckShield创始人蒋旭宪教授表示称,理论上可以把这个游戏中所有的道具都买下来。

除了BEC和CryptoBots(CBTB)两个智能合约之外,还有十余个智能合约存在同样的漏洞,其中也包括已经在交易所上进行交易币种。

出于安全考虑,目前PeckShield已经与相关项目团队进行了联系,暂时不能曝光这批项目的名称。

区块链安全难道只靠回滚?

BEC智能合约出现这个漏洞之后,黑客在2小时后开始往OKEx的地址充币进行交易,因为市场上出现大量未知来源的Token,市场上出现恐慌心理。OKEx交易所上的持币者开始抛售BEC Token,导致BEC价格持续下跌,币值几乎归零。

BEC代币被黑 黑客输入一串数字就套利千万 说好的安全呢?

下图中我们可以看到黑客先是试探性地往OKEx中转入100万的BEC Token,黑客发现成功转入卖出后,又分2次转入了1000万的BEC Token,发现两次都成功,便转入了1亿枚BEC Token。

但这1亿枚BECToken转入后,OKEx已经发现问题并停止了BEC的交易。

BEC代币被黑 黑客输入一串数字就套利千万 说好的安全呢?

按照转入记录,预计黑客已经卖出了最少1100万枚BEC,折合昨日售价约1887万人民币。

BEC代币被黑 黑客输入一串数字就套利千万 说好的安全呢?

下午4点12分,OKEx发布声明中止了相关交易。BEC团队也公告表示将与OKEx交易所合作回滚到黑客转入Token之前的数据以保护投资者的权益。

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。www.yflong.com

相关文章
  •  “致命垃圾坑”现四川:一旦失足,连

    “致命垃圾坑”现四川:一旦失足,连

  •  e都市钱包关联公司阿拉科技负面缠身,

    e都市钱包关联公司阿拉科技负面缠身,

  •  陈乔恩小罐茶安吉茶园采茶 纤纤玉手把

    陈乔恩小罐茶安吉茶园采茶 纤纤玉手把

  •  曝光香港讯汇集团以及汇凯金银投资..

    曝光香港讯汇集团以及汇凯金银投资..