首页 > 百科 > CoinBene交易所|EOS DApp 已成黑客提款机?慢雾安全团队支招
慢雾科技  

CoinBene交易所|EOS DApp 已成黑客提款机?慢雾安全团队支招

摘要:文章来源: 慢雾科技 作者:唐飞虎本文盘点了近期 EOS Dapps 上影响较大的安全事件以及漏洞解读,同时以开发者的角度对 EOS 生态和「Code is L

文章来源: 慢雾科技
作者:唐飞虎

本文盘点了近期 EOS Dapps 上影响较大的安全事件以及漏洞解读,同时以开发者的角度对 EOS 生态和「Code is Law」进行点评,严格执行 Code is law,会增加用户监督门槛,开发者故意埋下漏洞的行为也难以谴责追诉。而过分的人治,又会成为民粹的温床,打击开发者审计合约的动力。

自主网上线以来,一场最大型的 EOS 合约漏洞攻击正在上演且追随者无数,涉及到的项目包括 EOSBet、newdex 等众多头部项目,项目方累计损失 11 万个 EOS (约价值人民币 400 万)。目前尚不能判断这一系列事件是由一人还是多人所为,主要涉及到的账号包括:「guydgnjygige」, 「imeosmainnet」, 「iloveloveeos」, 「aabbccddeefg」及众多疑似小号,如「chinasichuan」, 「cityhangzhou」, 「cityhongkong」, 「guangxichina」, 「guydgnjygige」, 「lloolloolloo」, 「meadwestvaco」, 「nbcuniversal」, 「ooooo11ooooo」, 「shunwanggame」, 「sichuanchina」, 「surveymonkey」, 「wolframalpha」, 「slowmistsafe」, 「helloboy1234」...

第一个中招的游戏 - https://luckyos.io/

主要涉及到的黑客账号「guydgnjygige」。
该账号创建于 6 月 9 日,最初以 0.0001 EOS 的小额转账附带 Memo (注:一般的 EOS 转账必须填写发起方和接收方账户名,MEMO 作为备注信息是选填的。)打广告的形式,推广一款叫 EOS Game World 的山寨 FOMO3D 的游戏。https://gameworldeos.github.io/ 该网站现已停运,网站的社交媒体链接已导向 dapp.pub。

后期该账号主要投注各类骰子、乐透类菠菜项目,并通过预测各项目的随机数产生,产生收益。

8 月 27 日,Luckyos 旗下的石头剪刀布游戏被成功攻破。

EOS DApp 已成黑客提款机?慢雾安全团队支招

该黑客找到了剪刀的随机数产生规律,于是通过持续在指定时间出石头,来赢得奖励,并指出有 38% 的概率获胜。

EOS DApp 已成黑客提款机?慢雾安全团队支招

自此,该黑客对破解其他菠菜游戏产生了浓厚的兴趣,不断的尝试挑战破解新的游戏,并通过小额转账 Memo 指点了 http://rollgame.github.io 的开发者。

EOS DApp 已成黑客提款机?慢雾安全团队支招

第二个中招的游戏 - DEOSBET

10 日,黑客又利用类似的漏洞,攻击了 DEOSBET,并且连续赢了 24 次,累计接近 2.4 万美元。

EOS DApp 已成黑客提款机?慢雾安全团队支招

第三个中招的游戏 - EOS Happy Slot

https://happyeosslot.com/

主要涉及到的黑客账号 imeosmainnet 。

另一名账号为 imeosmainnet 的黑客对 Happy Eos Slot 老虎机项目的攻击是在 9 月 12 日凌晨,利用重放攻击(Replay Attacks,这种攻击会不断恶意或欺诈性地重复一个有效的数据传输),导致项目方损失了 5000 个 EOS。

攻击方法是黑客首先赌了较小的金额,并在 transfer 方法中加入了钩子开关,transfer 过程可以被黑客预留的钩子中断,所以 reveal 被卡死,当 reveal 被卡死时候,并且这时候 bet 是仍然可以被调用的,重放攻击就成立了。黑客选择默认关闭开关,当检测到得到五倍以上的开奖金额之后,就再发一笔数额较大的金额,并开启开关,从而每一次都可以获得数倍的回报。

由于 happyeosslot 使用了一种新的智能股权协议,项目的盈亏会直接作用在币价上,在收到黑客攻击之后,happyeosslot 的企业经营系数也是随之降低到了 0.1。

有趣的是,老虎机小游戏 https://www.luckywith.me/slots 大部分参考了 Happy EOS Slot 的合约代码,而在 Happy 家被黑客 imeosmainnet 攻击的前两个小时,Lucky 家突然暂停了旗下的老虎机项目。Lucky 家的官方解释是 EOS 主网节点波动严重,等主网稳定后再开放。直至发稿,Lucky 家的老虎机仍未重新上线。

而黑客 imeosmainnet 非法获得了 EOS 之后,立刻转入了 fcoin 交易所。黑客的最初几笔资金来自火币和 zb 兑换中心。但从记录表明,并未看出 imeosmainnet 与 guydgnjygige 的关系,可以猜测,这两个账号背后是不同的人。

该项目目前已经重新上线。

第四个中招的游戏 - FairDice

https://dapp.pub/dice/

主要涉及到的黑客账号 iloveloveeos 。

继 Happy 家失窃,一众程序员正夸赞 dapp.pub 旗下的 FairDice 的代码并潜心学习的时候,突然发现黑客也开始对 Fairdice 下手,并已成功了几笔。

这一次攻击的手法也是重放攻击,由于 FairDice 的随机数算法和时间相关,因此多次同一笔下注在不同时间开奖可以获得不同的结果,黑客正是利用了这一点,拒绝了所有失败的开奖结果,从而可以让自己的下注总是获胜。

EOS DApp 已成黑客提款机?慢雾安全团队支招

https://www.reddit.com/r/eos/comments/9f5o6a/dapppubfairdice_version_2_is_back_an_opensourced/
Fair 的代码增加了安全机制,每次获胜的金额不得超过合约奖池的 1%,并且我们发现及时,立即 Call 醒了开发者,才没有让损失继续扩大。

第五个中招的游戏,也是损失最惨重的 - EOSBet

主要涉及到的黑客账号 aabbccddeefg 。

EOSBet 是建立在 EOS 上的一个掷骰子的 DApp, 被攻击时在 DAppRadar 上排名第四。七日交易量约 860 万 EOS,交易笔数 137 万余笔。

EOS DApp 已成黑客提款机?慢雾安全团队支招

EOSBet 项目尚未开源,却也难逃离攻击。9 月 14 日上午 11 点左右,aabbccddeefg 在未进行投注的情况下,却以中奖的方式 , 在 20 多分钟的时间内,赢得了 4.2 万个 EOS(总价值约为 150 万人民币)及投注产生的 1 千多个平台代币 BET。
据分析,EOSBet 被攻击,是因为代码中并没有检查收到的 EOS 是不是 eosio.token 产生的 EOS,黑客通过自己创建的名字同为 EOS 的「假币」,套取了真的 EOS。

EOS DApp 已成黑客提款机?慢雾安全团队支招

在获得了 EOS 之后,黑客分别给 guydgnjygige 和 cctvworldcup 两个账号各转账了 1 万个 EOS。

EOS DApp 已成黑客提款机?慢雾安全团队支招

第六个中招的游戏 - EOS.win/dice
随后相同手法又被用在了 EOS.win 上,导致各项目方产生惊恐,纷纷关闭了自己的项目。

第七个中招的是去中心化交易所- newdex

主要涉及到的黑客账号 oo1122334455 。

9 月 14 日下午两点,EOS 账户“oo1122334455”用同样方法发行了 10 亿个 EOS 假币,分配给了 dapphub12345 账户,再由 dapphub12345 转账给了 iambillgates 账户,并利用假 EOS 挂单进行币币交易,委托买入 IPOS、BLACK、IQ、ADD,并转给 xx1234512345 和 x12345x12345,最终由 xx1234512345 将非法得来的 Token 挂单卖得 4 千多个 EOS,并充值到 Bitfinex。

整个黑客攻击事件最无奈的便是,作为一个去中心化的交易所,在遭遇了假币之后,不得不通过中心化的手段来强制下架了交易对。此次事件,共造成了 Newdex 用户 11803 个 EOS 损失。

EOS DApp 已成黑客提款机?慢雾安全团队支招

账户安全提醒

事件发生后,大家纷纷通过转账时的 Memo,给黑客账号留言致敬或蹭黑客账号热点来发布小广告。

更有诈骗账号假装 EOSBet 官方,不断的向黑客账号发出索赔要求。

EOS DApp 已成黑客提款机?慢雾安全团队支招

点评 EOS 生态

EOS 自主网上线两个多月以来因其 TPS 超越各大主流公链而受到 dapp 开发者的青睐。EOS 上的 dapp 数量也呈现井喷式增长。EOS 公链本身的安全性,以及合约开发如何设计安全规范,也越来越引起开发者的重视。

「掷骰子」可以视作 dapp 开发的最小可用模型,而这次黑客攻击事件,将 EOS 开发者生态不健全的问题翻到了台面。如果这类 dapp 的安全性都不能保证,大家畅想的 killer dapp 更是无从谈起。目前 EOS 上几乎每一个类似项目都受到了不同程度的攻击。一方面是 EOS 合约的表达能力较强,使得很多开发者对可能存在的漏洞缺乏全面的考虑,另一方面是开发者刚刚进入这个领域,缺少必要的安全攻防经验。EOS 合约开发者们各自为阵,大部分项目方为了安全起见选择不开源,而实际的结果只能是掩耳盗铃。黑客往往能够根据 wasm 和 abi 文件还原出合约的信息,很多时候封闭的代码只会隐藏自己的错误反而给黑客可乘之机。EOS 上目前也缺乏一些类似 ERC20 和 OpenZepplin 这样的标准库,来给开发者提供一些合约设计上的参考。

作为 EOS Dapp 开发者,不仅要自掏腰包购买 ram,带宽,辛苦踩坑。合约上线后还面临着被用户维权,被黑客薅,被 BP 丢块。最后还可能面临着被 BM 降维打击的风险(EOS Bank 所提供的服务就直接被官方加入进了 rex 里)。可以说是生态中最苦逼的一波人。

截止目前,黑客还有一些攻击手法没有被完全揭示,黑客可能还留藏着一些底牌,等待项目做大之后再使用,以下是我们总结的一些给 Dapp 开发者的忠告:

跟随社区的忠告,当友商被攻击时及时 update 信息,确认自己的合约是否有类似的漏洞。

添加风控功能,防止黑客在短时间内盗取大量 EOS。

总是使用 defer transcation,阻止黑客的钩子攻击。

种子只使用一次,避免被重放攻击。

EOS 核心仲裁法庭(ECAF)

EOS 在社区治理方面与以太坊区块链有很大的不同,率先创建了仲裁法庭机制来服务于社区,作为社区的日常管理。当出现争议时,社区成员便可以向 ECAF 提出诉求,等待社区仲裁。

仲裁员通常由社区公民投票任命,而撤销仲裁员的任命需要三大权力机构(BP、社区、法庭)中的两方批准方可执行。一般情况下一个案件仅指定一名仲裁员,而特殊情况则需由一名高级仲裁员领导的三人小组进行审理。

任何社区成员都可以在线上提交仲裁申请,https://eoscorearbitration.io/file-a-claim/,并按照案件涉及的损失金额来支付仲裁费用。目前法庭裁决过的申请主要为盗取账号进行非法转账,申请人需要提供自己拥有该账号的证明,其他账号进行了非法转账的证据。这类案件尚不能直接追回损失,法庭的裁决只是对非法账号进行冻结,所有 BP 不再执行与该账号相关的任何操作。

所有案件中,大家最关心的便是前段时间出事的区块链游戏 EOS 狼人杀了,该项目团队于 7 月 26 日及 7 月 29 日分别发布了两个声明,声称被黑客 eosfomoplay1 非法盗取 60686.4190 EOS,并建议中奖者 guztknrygqge 通过 EOS 核心仲裁法庭申请仲裁。该事件一直被外界认为是狼人杀团队监守自盗的行为,认为 eosfomoplay1 的黑客账号属于狼人杀团队。

EOS DApp 已成黑客提款机?慢雾安全团队支招

该案件在 ECAF 的案件编号是#ECAF00000339,紧急处理的结果是所有 BP 不再执行 eosfomoplay1 账号以及与其公钥私钥相关的任何交易,即冻结该账号,等待案件的进一步审查。

EOS DApp 已成黑客提款机?慢雾安全团队支招

截止目前,该账号非法所得的 EOS 依旧冻结在其中,理论上讲,如果证据确凿,且 ECAF 通过裁决,判断这笔 EOS 应转入给受害者,是可以追回的。只不过目前尚未有过成功追讨的案例。
另一个例子是,Happyeosslot 就曾经将合约抵押贷款 refund 返回的 eos 当成是开奖,从而给 eosio.stack 账户开出过一笔大奖:
https://github.com/EOSIO/eos/issues/5480

Code is Law?
代码是项目的骨架和齿轮,尽管各个项目的目标或许是做最公平的 Gambling、或许是为了盈利赚大钱;尽管各个项目对外有着明确的玩法规则,但拨开外衣,最本质客观的规则还是运行在各个节点机器上的代码。

从道德上来讲,黑客攻击了项目合约转走了「非法」所得;但从代码这一「规则」角度,黑客的攻击,也可以视作合约所允许的一种「玩法」,黑客精妙地发掘了「裏メニュー(隐藏菜单)」,并赢得了「奖励」。

「立法」总会落后于现实。规则是死的,而人总是会犯错,因此我们需要累积前人智慧作为指导。

由于代码的知识门槛,严格执行 Code is law,会增加用户监督门槛,开发者故意埋下漏洞的行为也难以谴责追诉。而过分的人治,又会成为民粹的温床,打击开发者审计合约的动力。

从整个公链的利益考虑,此次的黑客攻击,虽然惨痛,但仲裁法庭不应该干涉,而是应该敦促制定一套安全标准,规范未来项目的开发;也让 ECAF 真正成为生态的重要一环。

我们一直希望开源能够让世界变得更好,这是因为我们相信透明的机制的力量,相信透明的规则能够让信任的成本降到最低,让合作的效率变得更高。而基于客观规则的行为,如果因此受到惩罚,那么无疑会助长更多对规则的破坏和不公正的行为。但我们也支持在现在生态还处于比较原始的阶段,仲裁法庭利用自身的专业知识一起构建更安全的规则,维护广大用户群体的利益,让 EOS 公链的生态变得更好。

免责声明
世链财经作为开放的信息发布平台,所有资讯仅代表作者个人观点,与世链财经无关。如文章、图片、音频或视频出现侵权、违规及其他不当言论,请提供相关材料,发送到:2785592653@qq.com。
风险提示:本站所提供的资讯不代表任何投资暗示。投资有风险,入市须谨慎。
世链粉丝群:提供最新热点新闻,空投糖果、红包等福利,微信:juu3644。