我的位置: 主页 > 数字币群文章 > 数字币群技巧 > EOS 假充值(hard_fail 状态打击)红色预警细节披露与修复方案

EOS 假充值(hard_fail 状态打击)红色预警细节披露与修复方案

发布人:数字币群 发时间:2019-03-15 03:06 热度:
披露时间线 2019 年 3 月 10 日,我们捕获了 EOS DApp 上的一种新型打击手法,一个帐号名为 fortherest12 的打击者通过 hard_fail 状态打击手法打击了 EOS 游戏 Vegas town ,并造成了必然数量的损

披露时间线

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 模式的描述

分享给朋友: