风险提示:理性看待区块链,提高风险意识!
漏洞解析:零成本瘫痪EOS或”稳赢”所有竞猜DApp
首页 > 币界资讯 > 区块链知识 2019-01-17 07:30:00

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安全盾这样的风控机制,减少或避免因阻塞攻击造成资产损失。

844786822_4329334592_fd98ed582cad0f9154f7463d79cbcb1c

(block.one官方新版本1.6.0发布说明

https://github.com/EOSIO/eos/releases/tag/v1.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

(图三:交易阻塞攻击后的出块情况)

从块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官方推荐的随机数生成方案(包含链下随机种子),做好安全布控或搭建风控系统,排查潜在被攻击的风险。

上一篇: 技术指南:基于Fabric-SDK-Go的Web项目实战
下一篇: 以太坊君士坦丁堡升级漏洞解析
推荐专栏
web3首席知识博主
一位相信价值投资的币圈KOL。稳定盈利的缠论野生交易员 #BTC行情分析师 #价值投资 #链上数据分析
爱Web 3,爱生活,爱科技,爱炒币的老韭菜
热门币种
更多
币种
价格
24H涨跌幅
BTC比特币
¥264,723.74
37,091.22 USDT
+0.1%
ETH以太坊
¥14,416.22
2,019.90 USDT
-0.12%
USDT泰达币
¥7.20
1.01 USDT
0%
BNB币安币
¥1,625.40
227.74 USDT
+0.36%
XRP瑞波币
¥4.32
0.60460 USDT
+0.37%
USDC
¥7.14
1.00 USDT
+0.03%
SOLSolana
¥398.85
55.89 USDT
+1.54%
OKBOK币
¥398.61
55.85 USDT
-1.64%
ADA艾达币
¥2.68
0.37580 USDT
-1.16%
DOGE狗狗币
¥0.55160
0.07730 USDT
-1.52%
热搜币种
更多
币种
价格
24H涨跌幅
Terra Classic
¥0.00
9.402E-5 USDT
-18.95%
Gala
¥0.18
0.025374 USDT
-4.66%
dYdX
¥22.58
3.1918 USDT
-0.91%
比特股
¥0.05
0.006964 USDT
+4.28%
PancakeSwap
¥15.52
2.1936 USDT
-2.74%
Conflux
¥1.08
0.1524 USDT
-2.87%
Filecoin
¥31.45
4.4454 USDT
-0.69%
FTX Token
¥29.82
4.2155 USDT
+16.96%
Yield Guild Games
¥2.55
0.3608 USDT
-0.52%
Shiba Inu
¥0.00
8.14E-6 USDT
-2.51%
比特币
¥262,381.44
37091.22 USDT
+0.1%
比原链
¥0.07
0.010011 USDT
-4.38%
最新快讯
更多
汇丰、恒生、渣打、富邦华一四家外资银行入围首批“数字人民币”业务试点名单
2023-11-28 19:06:57
摩根大通和Apollo计划建立代币化“企业主网”
2023-11-28 19:03:57
Nansen2公测版本上线,新增链上数据异动、智能搜索等功能
2023-11-28 18:59:52
西班牙公民需在明年3月底前申报其海外平台上加密货币持仓
2023-11-28 18:53:43
Nansen2已公开测试
2023-11-28 18:53:38
dYdX基金会:主网启动以来超过1645万DYDX被质押
2023-11-28 18:52:07
NicCarter等比特币倡导者发文:比特币挖矿是清洁能源和平衡电网的关键工具
2023-11-28 18:47:58
下载币界网APP