SMT被爆出现与BEC相同漏洞,这一漏洞是怎么回事?
据慢雾区消息,又一代币SMT发现与前几天爆出的美图BEC代币类似的安全漏洞。可以通过溢出攻击可以收到大量的代币。此前,黑客利用以太坊ERC-20智能合约中BatchOverFlow漏洞中的数据溢出的漏洞,攻击了美链BEC的智能合约,成功地向两个地址转出了天量级别的BEC代币。据了解,黑客可以通过转账的手段生成合约中不存在的、巨量的Token并将其转入正常账户,并且账户中收到的Token可以正常地转入交易所进行交易,与真的Token无差别。
据火币Pro公告,SMT项目方反馈今日凌晨发现其交易存在异常问题,经初步排查,SMT的以太坊智能合约存在漏洞。
SMT上线火币、okex等多家交易所,火币Pro也同期检测到TXID为0x0775e55c402281e8ff24cf37d6f2079bf2a768cf7254593287b5f8a0f621fb83的异常。受此影响,火币Pro也同期检测到异常,决定暂停所有币种的充提币业务;okex也暂时关闭SMT/USDT、SMT/BTC、SMT/ETH的交易和SMT的提现,具体开放时间另行通知。
在这里,回顾下SMT三月以来到四月下旬的行情走势
今日早间:
YEE创始人、前百度移动安全总经理张磊向币世界透露,他们第一时间查阅了BEC、SMT的代码,发现BEC的合约漏洞是BatchTransfer漏洞中的数据溢出,SMT的合约漏洞是代理转账逻辑中没有进行大数保护,造成大数溢出,这两个问题的根本原因是没有使用library SafeMath,使用了普通的加减乘除。
BEC智能合约代码使用了普通的减法
SMT智能合约代码使用了普通的加法
正确的方式应该是用library SafeMath函数来完成智能合约代码,这样可以保证智能合约代码的安全稳定。
YEE区块链团队指出,现在发现的漏洞中有很多代码是因为直接使用普通的加减乘除符合,同时缺少溢出判断,这就造成数据溢出的隐患,而使用library SafeMath可以彻底解决数据溢出的问题。
因此,解决方案也很简单,彻查智能合约代码,把“+”“-”“*”“/”换成library SafeMath,这可以彻底解决数据溢出的问题。
腾讯区块链技术专家屠海涛也对币世界独家表示,像BEC的安全漏洞是很低级的错误,传统金融机构都会做很多合约安全审计,这说明数字货币在合约安全审计这块做的还是不够好。
他表示,安全漏洞分两类,一种是公链本身的系统漏洞,以太坊以前也发生过,系统级漏洞是最危险的;一种是某个代币安全漏洞问题。如果代币在交易所上市,黑客把通过漏洞“增发”的代币转移到交易所换成其他数字货币比如ETH、BTC,就会间接对其他数字货币产生影响。如果交易所及时停止充提,影响就很小,只是个别币种受影响。
张磊表示,这些漏洞对BEC和SMT这两个币的影响至少是致命的,但对后面的从业者来说,解决方案其实比较简单,只要认真点,彻查智能合约代码,就能解决。从整体来看,可能短期会对整个虚拟货币市场造成恐慌,但长期来看,仍然坚信投资者会回归到价值投资。
总之,在这个区块链当道的时代,也希望大家对技术有敬畏感,15分钟的东西和用心做的东西还是很有区别的。不要以为代码差不多就真差不多了。
最后,希望大家都安好!
热门跟贴