币圈这几天被黑客攻击搞人心惶惶,
先是4月22日,美蜜币〔BEC〕在短短半小时内,从0.32美元暴跌到0.024美元,跌落92.5%,OKEx紧急发布公告:暂停BEC交易、提现,重新开放时间“另行通知”,
业界听闻,这次 OKEx 下架亲儿子BEC,是因该代币合约存在溢出漏洞,攻击者可以利用漏洞批量转账,无限制生成代币,
这相当于,黑客针对某币种漏洞,可以自己造一台印钞机,想印多少印多少,如未有效制止,“韭菜”们只能眼睁睁地看着自己手中币贬值到一文不值,
还没等大伙缓过神来,4月25日,又一币种 SMT 也被类似溢出漏洞整垮,
据火币 Pro 公告,SmartMesh〔SMT〕 项目方反馈 4 月 25 日凌晨发现其交易存在异常难题,经初步排查,SMT 以太坊智能合约存在漏洞,受此影响,火币 Pro 目前暂停所有币种充提币业务,
损失无法估计
先说,咱们来解一下溢出漏洞,
小时候咱们刚刚开始学加法时,总喜欢掰着手指头数,倘若是10以内,比方说算3+3=6,4+5=9时,很好办,可以正确算出现,
有天,老师突然让他们算6+5等于多少,这时候手指不够用,
于是,小朋友在掰完所有手指后,在等于号后算出 1 这個答案,
BEC 、 SMT智能合约漏洞,遇到也是这個难题,
BEC 智能合约中 batchTransfer 批量转账函数存在漏洞,攻击者可传入很大 value 数值,使 cnt * value 后超过 unit256 最大值使其溢出导致 amount 变为 0,
而这次SMT所遇到难题,则是因智能合约中proxyTransfer〔〕 函数存在一個经典整数溢出难题,
_fee 、 _value_ 这两個输入参数都能被攻击者控制,倘若 _fee + _value 结果正好为 0〔也就是溢出情况〕,第206行检查将会失效,
这意味着攻击者不须要任何Token,就可以向一個地址转入大量Token〔第214行〕;同时根据第217行代码,相当数量手续费也将发送给 msg.sender,
在永信至诚 Ar 实验室掌门人omg、教研总监幻泉看来,虽说其重心漏洞原理与 BEC 并未差别,但这次 SMT 所遭遇困境更为严重,
一是黑客已经在25日凌晨做一系列操作,涵盖生成币、转账等;二是 SMT 在火币、OKEx等多家交易所实行交易,所以面对情况更为复杂,
也就是说,BEC所遇到难题,就好比你在一個银行里黑他人一笔钱到你账上,你只是把这笔钱转给同一家银行其他几個账号,这笔钱虽说流动,但还在这家银行,而 SMT 所遇到难题是,这笔钱已经被转走、取走或消费,已经不是这家银行,赃款更难以追回,
与BET所受攻击最大区别是, SMT有往其他在运用钱包上转出记录,从钱包地址来看已经转出一一部分到一些交易较大地址中,不排除已经换成其他币大概,
幻泉感觉,由于这次所涉及交易所相对较多,同时大事发生在凌晨,不像上次BEC发生在中午发现异常马上交易就被关闭,黑客能利用时间差在交易所发现之前火速转账,所以损失无法估量,
目前他能想到补救措施,就是发币方根据黑客操作之前所有转账记录实行快照,而后经由快照新生成一個新token币,根据快照对应不同样地址币量重新发币,废掉当前token,
起底SMT
据公开资料显示,SMT是由发明者王启亨发起,称将经由结合区块链、无网通信技术,以手机等设备作为其中共享节点,构建一個去腹地化,同时兼容有网、无网络两种情况点对点分布式网络,
就后世就使没有WiFi、4G,大家也可经由互相手机或者其他 IOT 设备自身实行连接,
想法倒是没错,但从其发布白皮书开始,就屡屡遭到质疑,
理应来说,去腹地化应用对应用设计、代码要求是非常严谨,否则黑客们很容易就能找到漏洞,于是造成损失,
但 smartmesh 中文版白皮书发布不久之后,知乎网友“bitkevin”就在要紧介绍板块中发现错别字,其开头将“根据”smartmesh 写成“急于”smartmesh,他当时就提出质疑,很难相信这個团队后世能够在协议层甚至网络保障层面能够做到严谨细致,
果不其然,目前状况也正应“bitkevin”判断,
为更加深入解这家公司,雷锋网编辑开始转阵微博,翻发明者王启亨微博,同样没有令我“失望”,料也很多,先是晒与奥巴马合照被网友怼,
有网友这般评论这条微博:
借奥巴马来宣传实乃一大败笔,做区块链最要紧是真正创造价值,用技术、思想来背书,而不是借名人来背书,借势名人只能说明耐不住寂寞,希望高速获得Follow,王启亨作为团队耀领,从微博里面看得出现对奥巴马谄媚,这让真正热爱区块链人感觉有些不舒服,懂区块链人都明白区块链带给人们精神财富是什么,
但显然王老板对这些冷嘲热讽并非在意,继续“秀”接到美国现任总统特朗普邀请,
对于评论区某些互动,雷锋网编辑看也是很尴尬~~~
上述,人家有钱、有空、总统握手,但就是没空请保障审计,
智能合约漏洞像颗定时炸弹
其实,这类事情自身是可以被防止,
幻泉坦言,现在代币发行量很大,发行版本很多,难免有一些意识不强,本事不高程序员会犯这样错,所以一行代码,就可以让黑客引发通货膨胀,造成项目发行方、购买者利益被侵害,
很多发币创业公司最最先选目就是赢利,它就想尽快上交易所,所以保障会相对滞后,发生这些难题最先选原因是开发者在代码编写过程中保障验证难题,其他相同合约代码也会有大概存在这样漏洞,BEC 、 SMT 只是刚刚开始,
但是,对于程序员背锅这件事,雷锋网发现有人也有不同样看法,
微博研发副总经理Tim Yang在其发布個人微博中表达:
最近 ERC20 转账保障难题,直接原因都是代码保障漏洞,由程序员背锅,但大家相对少讨论其深层次原因,为什么以太坊相对容易出保障难题?以太坊只是一個记录 dapp 执行结果区块链,其自身并未加密货币复式记账所需 utxo 模型,要紧 token 资产自身是须要货币级其他保障层次,以太坊目前设计更适合游戏积分之类合约运行结果,
因为这個,他着重,要紧 token 资产不适合构建在 ERC20体系基石之上,
出难题只是BEC、SMT吗?难题大概比想象严重得多。区块链保障公司 PeckShield发出预警称,多個ERC20智能合约遭受proxyOverflow漏洞影响,其检测定位到大量ERC20 Token都受此影响,涵盖:
经由以太坊智能合约“发币”容易,但倘若不做好严格代码审计、保障防护,亿级资金损失只在一瞬间,这些持有智能合约漏洞更像是一颗定时炸弹,这两天是BEC、SMT,下一個会是谁?
参考来源:巴比特
相关文章:BEC 智能合约曝重大漏洞,60多亿人民币说没就没