内容简介:(图片来源于网络)01月11日起,区块链安全公司 PeckShield 率先披露了 EOS.Win 等一系列EOS竞猜类游戏遭到了新型交易阻塞攻击事件。不同于以往频发的随机数或交易回滚攻击等合约层的攻击行为,这是一种利用底层公链缺陷而发起的攻击行为。PeckShield 研究人员进行深入分析后发现,这是存在于主网层的致命拒绝服务漏洞,攻击者可发起大量垃圾延迟交易导致 EOS 全网超级节点(BP)无法打包其它正常交易,即通过阻断打包正常用户的交易进而瘫痪 EOS 网络。
(图片来源于网络)
01月11日起,区块链安全公司 PeckShield 率先披露了 EOS.Win 等一系列EOS竞猜类游戏遭到了新型交易阻塞攻击事件。不同于以往频发的随机数或交易回滚攻击等合约层的攻击行为,这是一种利用底层公链缺陷而发起的攻击行为。PeckShield 研究人员进行深入分析后发现,这是存在于主网层的致命拒绝服务漏洞,攻击者可发起大量垃圾延迟交易导致 EOS 全网超级节点(BP)无法打包其它正常交易,即通过阻断打包正常用户的交易进而瘫痪 EOS 网络。
同时,该漏洞也对链上竞猜类游戏造成致命威胁。目前已经有EOS.Win、FarmEOS、影骰、LuckBet、GameBet、EOSDice、STACK DICE等多款热门游戏遭到攻击。由于该漏洞本质上属于底层主网问题,任何DApp游戏,只要依赖如账号余额或时间等相关链上因素产生随机数,都存在被攻击的可能。
PeckShield 安全人员已确认并复现该问题,并认为这是迄今为止 EOS 主网出现的最为致命的高危拒绝服务漏洞,可被黑客用来大面积攻击现有DApp,直接会影响现有几乎全部 EOS 竞猜类 DApp 的正常开奖,进而严重制约 EOS DApp 生态的发展,甚至可能导致主网瘫痪。
PeckShield安全团队第一时间(01月11日)通知了 block.one 团队,并配合进一步修复处理。同时PeckShield团队通过媒体发出预警,且积极配合block.one 团队进行漏洞修复处理。截止发稿前,block.one 已经发布漏洞补丁,并联合超级节点实施了主网升级。但PeckShield认为该补丁并不能确保 DApp 免疫该漏洞,除了 EOS 主网升级之外,还需 DApp 开发者进一步就随机数生成问题进行处理,去除可控变量如账号余额或时间等因素参与随机数生成,并引入类似DAppShield安全盾这样的风控机制,减少或避免因阻塞攻击造成资产损失。
(block.one官方新版本1.6.0发布说明)
下面PeckShield技术团队先详解CVE-2019-6199漏洞对EOS主网的影响:
交易阻塞攻击攻击原理:
一般的交易发送与执行过程如图所示:用户通过 cleos 客户端或其他方式将交易请求发送给 API 节点,在 API 节点处理后,最终到达超级节点进行打包出块。
(图一:普通交易发送流程)
问题出在,EOS 公链允许正在执行的交易里发送延迟交易(即在指定未来某个时间执行的交易),从而绕过 API 节点的验证,直接加入超级节点待执行队列,同时会将这些交易信息同步给其他 BP 节点,如图所示:
(图二:合约内延迟交易发送流程)
这样一来,攻击者便可在一个被执行的交易中发出大量垃圾延迟交易,且在每个延迟交易中都做无限循环操作,从而使得超级节点执行这些垃圾延迟交易时,都会执行超时,进而耗光可用 CPU 时间,无法打包其它正常交易,最终导致 EOS 主网瘫痪。
攻击成本预估:
如果攻击者大量的延迟交易都成功执行且上链,必然花费攻击者大量的CPU 资源。然而 EOS 主网对于 BP 执行超时的交易不上链,导致交易中出现的状态修改全部回滚,不会产生任何帐号的 CPU 消耗成本,但却实实在在消耗了 BP 节点的 CPU 执行时间,使得出块时间内无法打包正常交易。因此,攻击者实施攻击所需消耗的仅为发送大量延迟交易的那个交易的 CPU 成本。以当前CPU抵押价 50ms/EOS 计算,抵押一个 EOS 足以阻塞主网几秒,且 CPU 抵押机制可在24小时后重置,意味着攻击者可以用抵押的同一批 EOS 每天攻击一次,接连持续攻击,最终抵押的 EOS 又可以全部赎回,因此其攻击成本近乎为0。
验证性攻击测试:
基于以上分析,我们做了短暂的验证性测试。测试交易中分别发送100个和300个延迟交易,每个延迟交易中都是执行无限循环直到超时。300个延迟交易执行后的影响如下图所示:
(图三:交易阻塞攻击后的出块情况)
从块36981513开始到块36981782结束,共269个块,大约134秒,BP产生的块中仅部分包含大量交易,其他大部分块中交易数在0~2之间。而发送100个和300个延迟交易的CPU消耗仅为4.82 和 16.5 ms,按 50 ms/EOS计算,抵押大约0.4 EOS 就能完成一次发送300个延迟交易的攻击。当然 CPU 的价格波动比较大,计算不够准确,但不难看出,黑客若妄图实施攻击,致使 EOS 主网瘫痪的成本并不高。
潜在危害及影响:
因为这个是公链层面的漏洞,不同于以往 DApp 合约层的安全事件影响,该漏洞一旦被利用,危害的会是基于主网生态上的每一个参与者,包括超级节点、DApp 开发者,乃至每一个用户。
PeckShield 最新推出的安全盾风控平台 DAppShield,会就黑客攻击特征做分析,从而就可能存在的安全风险向广大 DApp 开发者发送预警及防御举措建议。EOS.Win 是第一个利用此漏洞实施攻击的成功案例,此后,FarmEOS、影骰、LuckBet、GameBet、EOSDice、STACK DICE等多款游戏接连被攻击。而且根据攻击者的过往链上行为,黑客很可能会向全网实施“撒网式”批量攻击,预计给整个 EOS 生态内的众多 DApp 都带来持续威胁。在此之前,希望广大开发者应高度警惕,应及时采用block.one官方推荐的随机数生成方案(包含链下随机种子),做好安全布控或搭建风控系统,排查潜在被攻击的风险。
(作者:PeckShield,内容来自链得得内容开放平台“得得号”;本文仅代表作者观点,不代表链得得官方立场)
以上所述就是小编给大家介绍的《零成本瘫痪EOS或"稳赢"所有竞猜DApp:详解CVE-2019-6199》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- TronWow遭攻击详解: 黑客能稳赢且回报率高达97倍
- EOS竞猜类游戏遭黑客攻击背后:Block.one官方悄然更新
- EOS平台DApp数据分析报告:竞猜类DApp贡献93%交易额 合约漏洞致损失超11万EOS | 链塔智库
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
PERL學習手札.
簡信昌 / 上奇科技 / 20040816 / NT$ 390
1. 關於Perl 當你翻開這本書的時候,你也就進入了一個奇幻的世界。Perl確實是一種非常吸引人的程式語言,而之所以這麼引人入勝的原因不單單在於他的功能,也在於他寫作的方式,或說成為一種程式寫作的藝術。即使你只是每天埋首於程式寫作的程式設計師,也不再讓生活過份單調,至少你可以嘗試在程式碼中多一些變化。而且許多Perl的程式設計師已經這麼作了,這也是Perl的理念-「There is mor......一起来看看 《PERL學習手札.》 这本书的介绍吧!