2019 年 3 月 10 日,我们捕获了 EOS DApp 上的一种新型攻击手法,一个帐号名为 fortherest12 的攻击者通过 hard_fail 状态攻击手法攻击了 EOS 游戏 Vegas town ,并造成了一定数量的损失。
区块链无效解决方案示例:为什么都不起作用?
如今,人们出于各种原因诉诸区块链。从我在2017年中期开始进行智能合约安全审核以来,已经看到了这一切。Allin blockchain似乎是合乎逻辑且有益的,但实际上存在一些问题。
-表露时间线-
2019 年 3 月 10 日,我们捕捉了 EOS DApp 上的一种新型进击手段,一个帐号名为 fortherest12 的进击者经由过程 hard_fail 状况进击手段进击了 EOS 游戏 Vegas town ,并形成了肯定数目标丧失。
2019 年 3 月 10 日,我们注重到涌现了数目更多的 hard_fail 范例进击。
2019 年 3 月 11 日,我们表露了相干的进击手段,然则没有表露详细的进击细节,并实时联系了相干的生意业务所以及项目方。
2019 年 3 月 12 日,我们宣布赤色预警,提示生意业务所和钱包须要对 EOS 生意业务实行状况举行校验,必要时可停息充提体系。
2019 年 3 月 13 日,预警取得 EOS New York 及 Block.one 的 BM 等核心成员响应及承认。
2019 年 3 月 14 日,细节正式公然。
-破绽细节-
参考官方文档,能够得知 EOS 生意业务的实行状况存在多种,响应的种别及响应的形貌分别为:
executed:生意业务准确实行,没有触发 error handler
soft_fail:生意业务客观失利(没有实行),但准确触发 error handler
hard_fail:生意业务客观失利,但没有触发 error handler
delayed:生意业务耽误/deferred/在行列中待实行
expired:生意业务逾期
此次的进击手段就是利用了上述状况中的 hard_fail 状况举行进击,在之前的开发过程当中,很多开发者都未曾碰到过这类生意业务实行状况,通例的区块浏览器上也没法查询到相干的生意业务,形成了开发者缺乏对这类生意业务状况的认知。开发中的惯常头脑也是只需合约才提议延时生意业务。然则,经由过程 cleos 中的详细参数设置 delay-sec 参数:
纵然运用非合约帐号也能一般提议 delay 生意业务,针对运用中间化开奖的 DApp 项目方或运用中间化治理的生意业务所及钱包,假如没有对 EOS 生意业务的实行状况举行校验,就有大概涌现 “假充值” 进击,进击者不须要支付任何本钱,却能够取得大批的 EOS。这是一种全新的进击手段,而且也是人人非常轻易疏忽的点,然则致使的伤害倒是庞大的。关于这类手段,我们已捕捉到实在进击,并胜利阻挠了一同丧失金额以人民币亿为单元的进击及多起巨额丧失。但遗憾的是,照样存在几起被胜利进击的事宜,这个超出了我们的才能,我们的客户或同伴只是这个生态里的一小部分罢了。
基于上述情况,我们于 3 月 12 日宣布了我们的赤色预警,但因为我们的翻译不够严谨,在 EOS 社区引发了惊愕,让 EOS 社区误以为这是 EOS 的破绽,我们对此致以歉意。EOS 社区的一些成员以为,只需生意业务所及钱包做好相干的搜检,并不会涌现此类问题。然则我们很难请求一切程序员都能写出最好平安实践的代码,当涌现不严谨的校验体式格局便会致使进击发作。
经由我们的剖析,我们更倾向于 transaction status 属于 EOS 的一种特征(features),汗青上曾涌现多例与特征相干的 “假充值” 破绽。
如我们主导表露的:
USDT 子虚转账平安⻛险剖析
以太坊代币“假充值”破绽细节表露及修复计划
及我们介入表露的:
XRP 官方表露的假充值破绽及相干剖析
这些问题都不是链本身本身的破绽,然则因为链本身本身的特征的缘由,以及开发者对此类特征校验的不严谨从而致使了进击的发作。这就是我们为何会宣布赤色预警。这不是吓唬(FUD),更像是一种轻易被人疏忽的进击手段。此类进击手段之前在 EOS 上没有雷同的进击案例,但在我们宣布相干的进击手段后,依据我们团结 EOSPark 的数据剖析体系发明,已有十几个帐号入手下手分别对 DApp、生意业务所以及钱包作出进击测试,这些帐号有:
bobukulabobu;cuancuan2323;testsuperdex;zhangjiayiba;justjiezhan1;wnze2qwdiyne
havls3k3iyge;ha11w4zzmpge;wkdoptxcjvdn;xmqukuailian;allosauruses;ccholr1ub2ku
walletthomas;fuckhakcer.x;johnwickteam;eosiotokenio;peospeospeos;eczpfezhvnrk;
等等其他帐号。
个中不乏进击胜利的帐号。因而,我们继承发出后续预警,提示相干项目方做好提防措施。除此之外,Twitter 帐号 Whale Alert 也关注到了此类进击行为。Whale Alert 官方帐号在 3 月 11 日宣布推文称帐号 fuckhacker.x 转账 1 万亿 EOS,随后被官方证明为子虚生意业务。可见此次进击涉及局限之广。应引发充足的注重。
-修复计划-
针对此范例的生意业务,相干项目方以及生意业务所及钱包须要对 EOS 转账的实行状况举行校验,确保生意业务实行状况为 “executed”,除此之外,在区块不可逆的情况下,也要做到以下几点防备其他范例的 “假充值” 进击的发作。
推断 action 是不是为 transfer
推断合约账号是不是为 eosio.token 或别的 token 的官方合约账号
推断代币称号及精度
推断金额
推断 to 是不是是本身平台的充币账号
-跋文 Q A-
Q:节点开启 read only 形式能提防此类进击吗?
A:依据官方文档对 read only 形式的形貌
节点开启 read only 形式后能够查询到线上纪录并存在的确认的生意业务。而此类进击手段是先发出 defer 生意业务,defer 生意业务是在链上保留的实在存在的生意业务,随后这笔生意业务才会转变成 hard_fail,所以开启 read only 形式并不能防备此类进击手段。生意业务的状况是从 delay 转变成 hard_fail,并非回滚,这是须要注重的处所。
Q:为何我在其他的区块浏览器上,如 EOSX 等不能查询到 hard_fail 生意业务?
A:现有的查询生意业务是经由过程 EOS 的汗青插件 history plugin 来查询的,而依据 history plugin 的代码完成。
能够发明,除了 executed 和 soft_fail 生意业务外其他生意业务都没法查询到。
Q:是不是运用 history plugin 猎取生意业务即可防止此类进击?
A:没法保证,差别的节点 history plugin 插件的完成体式格局不一,不消除节点提供方本身修正 history plugin 完成,致使查询到的生意业务存在除 exectued 及 soft_fail 外的其他状况。
Q:生意业务所及钱包等项目方平台该怎样设置他们本身的节点免受进击?
A:运用默许的 history plugin 设置,除此之外搜检 EOS 转账的生意业务状况,确保生意业务实行状况为 “executed”。同时,也须要推断以下几点防备其他范例的 “假充值”:
推断 action 是不是为 transfer
推断合约账号是不是为 eosio.token 或别的 token 的官方合约账号
推断代币称号及精度
推断金额
推断 to 是不是是本身平台的充币账号
这些点都是曾在汗青上涌现过问题的点,我们以为 EOS 生态是一个很壮大,天真的全新的生态,从 EOS 主网启动以来,我们介入了很多的平安应急事宜,开发者想在这个生态内平安的生长的确是一件充溢应战的事变。须要做好各方面的平安搜检,才确保资产不受丧失。
我们愿望浏览此文的 EOS 生态中的用户不要模拟文中的进击手段,我们无意对 EOS 社区形成惊愕。慢雾平安团队本着为 EOS 生态带来更多的平安感为主旨,实时表露相干平安事宜细节,目标是为了 EOS 生态中的更多成员取得平安保证。相干项目方应实时做好充提体系的平安保证,落实对应的风控战略,保证本身财富的平安。
相干参考 How to monitor state with State History Plugin: https://developers.eos.io/eosio-nodeos/docs/how-to-monitor-state-with-state-history-plugin
官方文档对 nodeos 三种形式的形貌: https://developers.eos.io/eosio-nodeos/docs/read-modes
USDT 子虚转账平安⻛险剖析: https://mp.weixin.qq.com/s/CtAKLNe0MOKDyUFaod4_hw
以太坊代币“假充值”破绽细节表露及修复计划: https://mp.weixin.qq.com/s/3cMbE6p_4qCdVLa4FNA5-A
XRP 官方表露的假充值破绽及相干剖析: https://developers.ripple.com/partial-payments.html
EOS 新型进击手段之 hard_fail 状况进击:https://mp.weixin.qq.com/s/qsqqPB24fEjBgnq3Xr3xjQ
EOS 智能合约最好平安开发指南:
https://github.com/slowmist/eos-smart-contract-security-best-practices
EOSPark;IMEOS;jerry@EOSlive 钱包
(作者:慢雾平安团队;泉源:慢雾科技)
比特币:www.btcmoney.cc
比特币; https://www.btcmoney.cc/detail/23779.html
加入新手交流群:每天早盘分析、币种行情分析
添加助理微信,一对一专业指导:chengqing930520
上一篇:
《纽约时报》或设计尝试区块链出书
下一篇:
区块链无效解决方案示例:为何都不起作用?
加入新手交流群:每天早盘分析、币种行情分析,添加助理微信
一对一专业指导:chengqing930520
最新资讯
提供比特币数字货币以太坊eth,莱特币ltc,EOS今日价格、走势、行情、资讯、OKEX、币安、火币网、中币、比特儿、比特币交易平台网站。
2021 数字货币 网站地图