您正在使用IE低版浏览器,为了您的雷峰网账号安全和更好的产品体验,强烈建议使用更快更安全的浏览器
此为临时链接,仅用于文章预览,将在时失效
政企安全 正文
发私信给郭佳
发送

0

BEC 智能合约曝重大漏洞,60多亿人民币说没就没

本文作者: 郭佳 2018-04-23 14:37
导语:当攻击者可无限生成代币时,你手中的BEC会一文不值。

虽然美图董事长蔡文胜一再撇清美图与美链(Beauty Chain)的关系,但这并未阻止资本对 BEC (所发行代币)的青睐。

BEC 智能合约曝重大漏洞,60多亿人民币说没就没

因为蔡文胜是 OKEx 的早期投资人,而美蜜币目前又仅上线了OKEx一个交易平台,所以业内人大都认为蔡和美蜜有着千丝万缕的关系。就在大家都在争论美链是否为庄家坐庄操控币价时,一场韭菜们意想不到的灾难突然降临。

4月22日13时左右,OKEx发布公告,暂停BEC交易和提现。

BEC 智能合约曝重大漏洞,60多亿人民币说没就没

据雷锋网了解,这是因为BEC智能合约出现重大漏洞,攻击者可以通过代币合约的批量转账方法无限生成代币。也就是说,攻击者的账户不会转出任何BEC,但接收方却可以收到大量的BEC。

而在此公告之前的一个多小时,一篇名为“一行代码蒸发了¥6,447,277,680 人民币!”的文章已经在币圈和链圈流传,文中分析了漏洞产生的原因。

据分析,BEC 智能合约(https://etherscan.io/address/0xc5d105e63711398af9bbff092d4b6769c82f793d)中的 batchTransfer 批量转账函数存在漏洞,攻击者可传入很大的 value 数值,使 cnt * value 后超过 unit256 的最大值使其溢出导致 amount 变为 0

你传几个地址给我(receivers),然后再传给我你要给每个人多少代币(value),发送的总金额 = 发送的人数*发送的金额,所以这会要求你当前的余额大于发送的总金额。

从逻辑上看,你想给别人发送代币,那么你本身的余额一定要大于发送的总金额,这是合理的。但是,这段代码却犯了“整数溢出”的低级错误!

当其设置的值超过了取值范围时,就会出现“溢出”漏洞,黑客利用这个漏洞就可无限生成新的代币。

想象一下,如果人民币可以不限量的发行时,你手中的钱还值钱吗?

还好,目前BEC已暂停交易,但究竟生成了多少代币,还未公布。不过,韭菜们手中的 BEC 贬值是肯定的了。文中建议,应该根据在漏洞之前的快照,查询所有用户的余额情况,发行新的token,给之前的用户发送等额的代币,补偿损失。

消息来源:知乎

雷峰网原创文章,未经授权禁止转载。详情见转载须知

分享:
相关文章
当月热门文章
最新文章
请填写申请人资料
姓名
电话
邮箱
微信号
作品链接
个人简介
为了您的账户安全,请验证邮箱
您的邮箱还未验证,完成可获20积分哟!
请验证您的邮箱
立即验证
完善账号信息
您的账号已经绑定,现在您可以设置密码以方便用邮箱登录
立即设置 以后再说