区块链交易网:一行代码蒸发了5,300,000元

  EOSBet是利用区块链技术,运行在EOS公链上的一款菠菜游戏。上线两个月,盈利近百万的EOSBet昨日又因营销活动推向了一个小高潮,日活突破千人, 稳坐EOS DApp当日榜首。

  不过刚高兴了一天的EOSBet, 却因代码漏洞,再次被黑客攻击了。

  这是EOSBet上线以来第三次被攻击了!

  无论表面数据如何风光,但菠菜类游戏始终有极大的风险,想要入场的朋友请谨慎。我们今天不谈其他,仅从技术角度来分析,EOS开发者的现状到底如何,EOSBet为何屡次被黑客攻击,我们到底需要什么样的机制。

  1、复盘EOSBet三次被黑客攻击

  1:黑客对EOSBet的第一次攻击:

  早在游戏上线第二天,EOSBet就被黑客利用EOS网络本身缺陷,吸取了很多内存。当日团队紧急的作出修复,而且EOSIO已经在着手修复该漏洞。

  可能是对自己的代码不自信,也可能是为了防止被攻击,或是有什么隐藏的后门,EOSBet 项目代码尚未开源。可即使代码未开源,EOSBet也难逃被黑客再次攻击。

  2:黑客对EOSBet的第二次攻击:

  就在上个月,EOS上多个菠菜类DApp接连被黑客攻击,累计被薅走数百万。EOSBet也是那次攻击中损失最惨重的。

  9月14日上午11点左右,EOS账号aabbccddeefg 在未进行投注的情况下,却以中奖的方式, 在20多分钟的时间内,赢得了4.2万个EOS(总价值约为150万人民币)及投注产生的1千多个平台代币BET。

  据分析,EOSBet被攻击,是因为代码中并没有检查收到的EOS是不是eosio.token产生的EOS,黑客通过自己创建的名字同为EOS的“假币”,套取了真的EOS。

  3:黑客对EOSBet的第三次攻击:

  接连两次被攻击,EOSBet也更加注重安全审计。

  EOSBet已经将奖池的30万EOS转入冷钱包,同时将每把游戏上限由1%提升到4%,保持最大押注额不变,以保障大户的游戏体验。EOSBet表示会尽最大努力,保障最基本也是最重要的安全问题。

  可惜,第三次攻击还是发生了,而且损失金额更大! 就在刚刚,EOSBet再次被黑客攻击,直接损失了14万EOS!!!

  2、第三次黑客攻击来龙去脉

  EOSBet这次的攻击是因为下面的这段代码:

  __attribute__((eosio_action))

  void transfer(account_name from, account_name to, asset quantity, string memo){

  require_recipient(RECIPIENT_CONTRACT);

  }

  主要问题是出在没有判断用户的转账是转给了其他账户,还是转给了EOSBet的合约。

  

  简单来说,就是黑客自己创建了两个账户,攻击账户A和无关账户B,而B是一个合约账户,每次转账成功之后,B账户就会自动发个通知给EOSBet的合约说转账收到了。

  EOSBet的合约收到这个通知后,没有检查自己是否真的收到了EOS,误把账户A对账户B的转账判断成了账户A对EOSBet合约账户的转账。也就是把账户A当成了EOSBet下注了的玩家,给玩家开奖。

  黑客于是就用这个漏洞,空手套白狼,不断开奖,给自己开了14万EOS的奖!

  那么这个漏洞该如何修复呢?其实很简单,只需要加一句判断,if (to !=_self) return ; 来判断传来的转账通知是不是转给自己的。

  于是, 就因为缺少了一句判断,EOSBet这次被黑客提走14万EOS。EOS现价约为5.48USD(转换成人民币大概在38元),14万个EOS累计530万人民币!!!

  3、CPU告急,大户人家的游戏

  EOS的开发者除了要担心合约被黑客攻击之外,被爆CPU也是常有的事。

  转账是执行区块链DApp智能合约的基本功能,在以太坊上的转账是要消耗Gas的,用户支付越高的Gas费用,交易越容易被矿工优先记录和执行。EOS的转账交易虽然是免费的,但同时需要占用和消耗少量的资源来保证系统的安全。

  EOS执行交易主要是依靠三种资源:ram,带宽、CPU。

  其中ram是需要购买和消耗的,带宽和CPU是通过抵押EOS来获得的。通常DApp开发者会为用户抵押一定的带宽和CPU资源,来降低用户入场门槛。如果DApp开发者没有抵押足够的资源给用户,同时用户自己也没有抵押足够的资源的话,是无法与合约进行交互的。

  举个例子,假设全网一共抵押了100个EOS来置换CPU资源,那么抵押了1个EOS的账号则被分配全网1%的CPU。这个候,有个账号抵押了100个EOS的CPU,那么之前抵押了EOS的账号被分配的CPU就被稀释了一半。此时再来一个大户抵押10000个EOS,那么之前抵押了EOS的账号被分配的CPU就被严重稀释,导致不够资源来执行操作。

  ITE4是一种早期入场回报极高,后期砸盘极快的游戏,获得盈利要拼“入场早”和“跑得快”。该资金盘游戏上线前,有人大量质押和租赁CPU资源,导致项目上线时,各账号的CPU资源占比被大大的稀释。大部分玩家在开局时没有足够的CPU资源入场买进,而有幸买进入场的用户在项目砸盘时也没有足够的CPU资源离场,坐等被收割。

  因为EOS上CPU资源总量有限,导致大户在抵押EOS换取资源上有着很强的优势。所以最近每当有一些大型DApp搞活动或者新资金盘游戏上线时,便会有大量的EOS用于抵押CPU,稀释小户的CPU占比,导致大量DApp瘫痪。

  难怪有人说,EOS是大户人家玩的游戏。

  4、总结——开源的力量

  EOS上线仅4个月,很多开发者刚刚进入到这个领域,开发者没有太多成熟案例可以参考和借鉴,必然会经历一段踩坑期。EOSBet合约尚未开源,屡次被攻击都是因为缺少一行简单的判断代码,而酿成重大损失。

  我们一直希望开源能够让世界变得更好,这是因为我们相信透明的机制的力量,相信透明的规则能够让信任的成本降到最低,让合作的效率变得更高。

  目前大部分项目方怕被黑客攻击选择不开源,而实际的结果只能是掩耳盗铃。黑客往往能够根据 wasm 和 abi 文件还原出合约的信息,很多时候封闭的代码只会隐藏自己的错误反而给黑客可乘之机——而EOSBet就是最好的例子。

  更多专栏文章:http://www.qukuaiwang.com.cn/zhuanlan

  声明:本文由入驻区块网专栏作者撰写,观点仅代表作者本人,绝不代表区块网赞同其观点或证实其描述。

文章内容系本站作者个人观点,不代表本站对其观点赞同或支持,文章的版权归该作者所有。如需转载,请注明文章来源。本文地址:http://www.cis.net.cn/kejikuaixun/43651.html
留言与评论(共有 条评论)
验证码:

最新文章

一行代码蒸发了5,300,000元

科技快讯
EOSBet是利用区块链技术,运行在EOS公链上的一款菠菜游戏。上线两个月,盈利近百万的EOSBet昨日又因营销活动推向了一个小高潮,日活突破千人,稳坐EOSDApp当日榜首。不过刚高兴了一天的EOSBet,却因代码漏洞,再次被黑客攻击了。这是EOSBet上线以来第三次被攻击了!无论表面数据如何风光,但菠菜类游戏始终有极大的风险,想要入场的朋友请谨

DAG,不是传统区块链,却比区块链更好?

科技快讯
在图论中,如果一个有向图从任意顶点出发无法经过若干条边回到该点,则这个图是一个有向无环图(DAG图)。一个有向图只有在有拓扑序列的时候才是无循环的。区块链是一项很惊人的技术,只是当前大量的区块链技术处在待开发

区块链共同工作空间的兴起

科技快讯
区块链共同工作空间承诺为区块链技术带来社区、协作、网络、业务发展和工作生活平衡的最佳效果。有些人甚至把这项技术用于日常运作。共同工作的现象在全球范围内,所谓的零工经济在过去几年里增长了一倍,大大超过了许多传统产业。由于经济的不确定性、技术和千禧文化等有利环境的影响,每天早上人们会越来越少地穿越传统的办公大

WORLD TOKEN 打通数字货币和实体世界的钱包应用

科技快讯
WORLDTOKEN数字货币钱包(以下简称WORLD)是一款打通数字货币和实体世界的钱包应用,旨在解决用户管理多种数字货币的不便、兑换交易过程繁杂、价值传输不畅、区块链性能不足以及应用场景不足的问题,WORLD拥有独有的跨链和跨合约技术,并结合自有的高性能公链为数字货币领域提

伊朗25亿美元流向海外用于购买数字加密货币

科技快讯
伊朗议会经济委员会主席透露,伊朗有25亿美元流出,被用于境外买币。他作出此番言论之前,伊朗央行下令禁止国内的银行处理包括比特币在内的数字货币交易。25亿美元的资金外流据新闻社Ibena.ir报道,伊朗议会经济委

比特币ETF重燃希望?文克莱沃斯兄弟的代表律师出任SEC高管

科技快讯
Ropes&Gray律所的戴利亚·布拉斯(DaliaBlass)已经被推选为美国证券交易委员会(SEC)投资管理部主管。该部门负责监管以及审核交易所交易基金(ETF)。Blass的公司Ropes&Gray曾是文克莱沃斯兄弟的代表律所,帮助他们申请比特币ETF。今年早些时候,SEC以市场缺乏监管为由驳回了两个比特币ETF的申请。不过S

不忘初心,嘻哈有你--2018年区块链行业回顾

科技快讯
不知不觉今天已经是2018年的最后一个工作日,小编回想在区块链行业的日子,不得不感叹:“人生要用一辈子去经历跌宕起伏,在区块链行业只需一年就可以经历所有的跌宕起伏”。上半年区块链一片红火,可是到了下半年情况就急转直下,随着熊市的到来,越来越多的人离开了区块链。

PoS(权益证明)或导致加密银行业,而这是我们要避免的

科技快讯
前言:在加密货币市场,越来越多的项目使用了权益共识(PoS)机制或其变种——委托权益证明(DPoS),就连以太坊也在朝着这个目标在转变。尽管它们的市值总和还不足比特币的三分之一,但PoS链的宇宙已发展到我们不可忽视的程度。本文的目的不是批评或赞扬PoS机制,而是探讨其可能会带来的监管和安全挑战,因为应用PoS机制,意味着我们会遇到