了解使EOS.IO“无法使用”两个小时的漏洞

9月13日,一名攻击者淹没了EOSIO网络,从博彩dApp中耗尽了110,000美元的EOS。在此过程中,许多面向用户的应用程序由于拥塞而无法使用。以下是黑客如何做到的细节。

网络拥塞漏洞的基础知识

四天前,攻击者将EOS网络推入“高拥塞模式”,作为智能合约利用的一部分。该操作暂时使一些免费的网络资源不可用,使得网络上的许多应用程序对于较小的令牌持有者“不可用”超过两个小时。

虽然网络仍然可以访问(例如,块浏览器仍然可以工作),但许多人“被阻止发布更新”或“在链上做任何积极的事情”,除非他们支付过高昂的网络资源。

一位社区成员表示,在网络拥堵的高峰时期,网络需要近12个EOS才能进行一次无费交易。对于上下文,大多数区块链直接向交易附加费用。 EOSIO允许用户放置他们的令牌以换取网络资源。

攻击者能够在最近打开的资源交易所中租用大量网络资源。利用这些资源来选择哪些有效交易将包含在区块链中以操纵博彩dApp结果。

在此期间,博彩dApp的维护人员没有足够的EOS来使他们的合约脱机(或者根本采取任何预防措施)。这使得攻击者可以腾出30,000个EOS的智能合约,以租用网络资源的300 EOS为代价。

识别攻击者

从8月17日开始,用户“mumachayinmm”开始对各种博彩dApp进行测试。经过短短一个月的测试,mumachayinmm在网络资源中租用了相当于145万的EOS。

以前,这将需要约580万美元的代币。但REX是一项于5月推出的新服务,它允许用户将EOS用于安全和投票目的,同时销售他们的股权所赋予的网络资源。在REX之后,网络资源中的145万EOS仅需1200美元。

攻击者帐户上的资源资料来源:Bloks.io

9月13日,mumachayinmm开始淹没EOSIO成千上万的交易。

垃圾邮件交易一些攻击者的垃圾邮件交易样本。来源:Bloks.io博彩dApp漏洞背后的技术细节

EOSPlay是一款去中心化博彩dApp,提供博彩和骰子等游戏。使服务可利用的是它为这些游戏生成随机数的方式。

EOSPlay使用EOSIO区块链作为其熵源,而不是使用安全的随机源。不幸的是,可以操纵区块链的信息。

例如,在比特币矿工身上找到一个区块可以自行选择包含哪些交易,只要它们是合法交易。从理论上讲,如果dApp使用比特币上的交易进行计算,那么大型矿工可以对其进行游戏。

在EOSIO上,操纵区块链的一种类似方法是增持足够的网络资源,以包括所有其他用户所需的交易。

具体而言,攻击者所做的是将延期交易放入每个区块,Dexaran是一位受人尊敬的智能合约开发商。这些块是EOSPlay用于计算随机数的块。

通过垄断网络资源,攻击者可以在合约之前计算随机数。 Dexaran说,如果这个数字是一个失败的数字,那么延期交易开始了“无限循环”,将随机数生成推向下一个区块。

这次演习让mumachayinmm一次又一次地在EOSPlay上获胜。

非法EOS奖金非法奖金中有数以万计的EOS。来源:Bloks.ioEOSPlay在攻击期间无助

更糟糕的是,当EOSIO的保守模式被触发时,博彩dApp背后的维护者没有投入足够的EOS来支付合约运营成本。这是对维护者的疏忽。

由于网络资源被垄断,维护人员需要拥有足够的流动EOS来确保停止合约的交易能够通过。看起来他们手上没有令牌,允许攻击者在合约耗尽时等待他们的时间。

这些垃圾邮件攻击并非EOS独有。如果富有的代币持有者希望为它们付费,比特币和以太坊等网络也容易受到垃圾邮件攻击(尽管在大多数情况下它们的价格过高)。

Block.one高管回应

Block.one首席技术官和EOSIO的创始人丹尼尔拉里默(Daniel Larimer)带着Twitter消除围绕网络拥塞攻击的“FUD”。他断言网络“按预期工作”:

然而,这些断言与Larimer在2018年5月发表的评测相冲突,而他正在宣传EOSIO的“无效”设计:

“在EOSIO上,无论单个用户愿意花多少钱,他们都无法让整个网络饱和。”

然而,这正是这次攻击中发生的事情。攻击者通过花费1,200美元来破坏网络。

Block.one首席执行官布兰登·布鲁默(Brendan Blumer)也采取社交媒体来捍卫EOSIO。但是,在社区成员的压力下,他对具体行动相当模糊。

他声称,如果用户使用EOS,他们将始终可以访问网络资源。但是,这笔金额会有很大差异,当付费客户全部使用时,有必要付费以维持相同的访问级别,Blumer说。

提出的问题

最近的漏洞引发了对EOSIO区块链的严重质疑。活跃的社区成员Jared Moore问道:如果网络面临资源成本突然飙升的风险,那么开发人员应该拥有多少液态EOS来确保他们受到保护?他指出,如果没有指导,dApp开发人员将继续容易受到这些攻击。

另一个问题是访问。随着EOS获得更多使用,网络最终可能会进入一个持续“高拥塞模式”的状态,另一位发烧友表示。

这意味着开发人员和企业,而不是小型用户,将主宰网络资源的访问权限,以解决网络构建者的问题。摩尔说,这些同样的公司也可以垄断网络上的资源,实质上是成为守门人。

从好的方面来看,这样的情况会让EOS像拥有土地一样,另一位评测员说,通过它赋予所有者权利的网络资源给予令牌价值。

Dexaran是一名安全工程师,也是ERC-223令牌标准的创建者,提出了以下建议,以减轻未来对dApp的拥塞攻击:

他说:“计算你需要将多少EOS存入'储备'账户以确保即使在严酷的拥堵期间也可以获得合约,这将是一件好事。”

另一位社区成员表示需要更好的方法来计算不同网络条件下的固定EOS需求:

“这里的关键问题是,当网络相对闲置时,社区已经习惯了他们收到的免费交易量。我们需要更好地估计在不同的网络条件下你需要多少EOS。“

他接着描述了如何在网络上处理质押的问题。

“我也有一个非常大的问题,即EOSIO没有优先考虑'质押'交易。当这些情况发生时,应该允许尝试投入更多EOS的人(每个帐户一次)作为优先交易。当我支付了巨额的EOS费用时,当我被锁定并且不能为我的账户分配更多时,这是荒谬的。即使我愿意,我也不能“为此付出更多”。“

设计公共区块链是一项复杂的业务。事情会出错。现在,在任何区块链上构建有用的应用程序是非常昂贵的。 Block.one高管应该带头使开发经验更容易,风险更小,为大规模采用铺平道路,而不是维持“没有错”的强硬立场。

目前按市值排名第7的EOS在过去24小时内上涨0.88%。 EOS的市值为38亿美元,24小时交易量为1.86亿美元。

K线走势图由CryptoCompare提供

EOS在过去24小时内上涨0.88%。

提起下:分析,EOS,黑客,价格观察相关新闻故事钱币提到人们提到的公司提到

资讯来源:由0x资讯编译自CRYPTOSLATE。版权归作者所有,未经许可,不得转载
提示:投资有风险,入市需谨慎,本资讯不作为投资理财建议。请理性投资,切实提高风险防范意识;如有发现的违法犯罪线索,可积极向有关部门举报反映。
你可能还喜欢