农企新闻网

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

发布者:张熙
导读昨日半夜,黑客应用以太坊 ERC-20 智能合约中 BatchOverFlow 破绽中数据溢出的破绽攻击与美图协作的公司美链 BEC 的智能合约,成功地向两个地址转出了天量级别的 BEC 代币,招致市场上海量 BEC 被兜售,该数字货币价值几近归零,给 BEC 市场买卖带来了消灭性打击。区块链平安公司 PeckShield 目前曾经发现除了 BEC Token 之外,还有超越 12 多个项目 To

 



昨日半夜,黑客应用以太坊 ERC-20 智能合约中 BatchOverFlow 破绽中数据溢出的破绽攻击与美图协作的公司美链 BEC 的智能合约,成功地向两个地址转出了天量级别的 BEC 代币,招致市场上海量 BEC 被兜售,该数字货币价值几近归零,给 BEC 市场买卖带来了消灭性打击。

区块链平安公司 PeckShield 目前曾经发现除了 BEC Token 之外,还有超越 12 多个项目 Token 的智能合约中存在 BatchOverFlow 整数溢出破绽,黑客可以应用这一破绽转账生成“不存在”的虚拟货币并停止买卖获利。

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

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

PeckShield 团队昔日清晨发布平安报告,提到黑客应用 in-the-wild 手腕抓取以太坊 ERC-20 智能合约中的“BatchOverFlow”这个整数溢出破绽来停止攻击。

应用这个破绽,黑客可以经过转账的手腕生成合约中不存在的、巨量的 Token 并将其转入正常账户,账户中收到的 Token 可以正常地转入买卖所停止买卖,与真的 Token 无差异。

PeckShield 的平安预警报告中提到了该破绽的详细细节,这个破绽呈现在 BEC 智能合约的 batchTransfer 函数当中,代码如下图所示。



大家请留意第 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 的惨剧)。



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。



CryptoBots 这款游戏目前正在以太坊上停止买卖,但经过数据检查后发现该游戏的实践玩耍人数并不高,只要寥寥几十人在玩。

PeckShield 开创人蒋旭宪教授表示称,实际上可以把这个游戏中一切的道具都买上去。

除了 BEC 和 CryptoBots(CBTB)两个智能合约之外,还有十余个智能合约存在异样的破绽,其中也包括曾经在买卖所上停止买卖币种。

出于平安思索,目前 PeckShield 曾经与相关项目团队停止了联络,暂时不能曝光这批项目的称号。

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

BEC 智能合约呈现这个破绽之后,黑客在 2 小时后开端往 OKEx 的地址充币停止买卖,由于市场上呈现少量未知来源的 Token,市场上呈现恐慌心思。OKEx 买卖所上的持币者开端兜售 BEC Token,招致 BEC 价钱继续下跌,币值简直归零。



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

但这 1 亿枚 BEC Token 转入后,OKEx 曾经发现成绩并中止了 BEC 的买卖。



依照转入记载,估计黑客曾经卖出了最少 1100 万枚 BEC,折合昨日售价约 1887 万人民币。



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

PeckShield 团队以为,由于以太坊区块链上所谓“代码即一切”的准绳肉体的存在,招致目前没有无效的平安防护手腕来修复这些成绩,而且由于 Token 买卖面前牵扯着宏大的利益,是无法在多个买卖所停止同步防护的。

由于中心化买卖所只是对 Token 停止记账式的买卖,项目团队与买卖所配合之后回滚是可以一定水平上维护投资者利益的,但是假如在去中心化买卖所停止买卖那么投资者的损失将无法挽回。同时,应用买卖所反响的工夫差,黑客也可以完成在多个买卖所套利。

知乎作者爬虫以为,该破绽很容易处理,只需求对计算后果停止 safeMath 的平安验证就可以。同时,区块链智能合约代码需求测试、需求 review,必要时可以请专门做代码审计的公司来停止测试。

前有 OKEx 回滚期货买卖,后有 OKEx 回滚 BEC 买卖,为什么区块链上的平安成绩总是要靠回滚来处理?假如没法从基本上处理破绽,那么受益的不只仅是投资者,虚拟货币生态中的一切参与者都将蒙受巨量损失。

本文链接: http://www.yixieshi.com/113785.html (转载请保存)

上一篇:再谈抖音流量红利:头条吃肉,大V和企业主能否喝上汤?

下一篇:腾讯程武:团队积极为《王者光彩》构建正能量世界观