RES:狸猫换太子 —— DODO 被黑分析_CARES

据消息,去中心化交易平台DODO的wCRES/USDTV2资金池被黑客攻击,转走价值近98万美元的wCRES和近114万美元的USDT。DODO表示,团队已下线相关资金池建池入口,该攻击仅影响DODOV2众筹池,除V2众筹池之外,其他资金池均安全;团队正在与安全公司合作调查,并努力挽回部分资金。更多后续消息请关注DODO官方社群公告。

慢雾安全团队在第一时间跟进并分析,下面将细节分析给大家参考。

攻击细节分析

通过查看本次攻击交易,我们可以发现整个攻击过程非常简单。攻击者先将FDO和FUSDT转入wCRES/USDT资金池中,然后通过资金池合约的flashLoan函数借出wCRES和USDT代币,并对资金池合约进行初始化操作。

为何存入FDO和FUSDT代币却能成功借出wCRES和USDT,并且初始化资金池合约呢?是因为资金池的闪电贷功能有漏洞吗?

金色财经行情播报丨BTC多头反击,均线MA5承压:据火币行情显示,今日凌晨BTC下探8700USDT后多头反击开始反弹,随后小幅上行蓄势整理,16时再度拉升突破平台,多头发起反击。日线图均线MA5构成压力;4小时图多头蓄势,但价格距均线MA30较近,多头恐承压;1小时拉升后窄幅整理。截至18:30,主流币的具体表现如下:[2020/5/27]

接下来我们对flashLoan函数进行详细分析:

通过分析具体代码我们可以发现,在进行闪电贷时会先通过_transferBaseOut和_transferQuoteOut函数将资金转出,然后通过DVMFlashLoanCall函数进行具体外部逻辑调用,最后再对合约的资金进行检查。可以发现这是正常闪电贷功能,那么问题只能出在闪电贷时对外部逻辑的执行上。

通过分析闪电贷的外部逻辑调用,可以发现攻击者调用了wCRES/USDT资金池合约的init函数,并传入了FDO地址和FUSDT地址对资金池合约进行了初始化操作。

金色财经联合多家企业发起“企业战疫扶持计划”:新冠肺炎疫情牵动人心,区块链企业众志成城,防控疫情。在防控疫情的同时,金色财经已联合20家企业发起“企业战疫扶持计划”,为全国区块链创新企业快速复工与成长,以行业联合力量,帮助创新企业打赢“疫情攻坚战”。

同舟共济,共迎牛市。金色财经希望联合号召更多的发起企业参与到互帮互助的行列中,共同为区块链创新企业提供帮助,本次活动征集爱心企业截止到3月15日,报名企业需要满足有1.“战疫扶持礼包”企业产品优惠政策;2.与发起单位共同传播条件。详情见原文链接。[2020/3/3]

到这里我们就可以发现资金池合约居然可以被重新初始化。为了一探究竟,接下来我们对初始化函数进行具体的分析:

通过具体的代码我们可以发现,资金池合约的初始化函数并没有任何鉴权以及防止重复调用初始化的逻辑,这将导致任何人都可以对资金池合约的初始化函数进行调用并重新初始化合约。至此,我们可以得出本次攻击的完整攻击流程。

金色晨讯 | 2月6日隔夜重要动态一览:21:00-7:00关键词:日本央行、美联储、俄罗斯、数字资产法案、以太坊2.0、USDT

1. 日本央行等六家中央银行将于4月举行数字货币讨论会议。

2. 美联储理事:美联储正在研究央行数字货币。

3. 俄罗斯数字资产法案或于下月通过。

4. 美国法院驳回United American针对比特大陆的诉讼。

5. 前法国央行行长:建立央行数字货币仍需10年。

6. 华尔街区块链联盟要求美国国税局考虑对小额加密支付免税。

7. 以太坊2.0抵押合约将于春季启动。

8. 超1.02亿枚USDT在未知钱包销毁。

9. BTC现报9643美元,近24小时上涨4.90%,市值为1754.78亿美元。[2020/2/6]

攻击流程

1、攻击者先创建FDO和FUSDT两个代币合约,然后向wCRES/USDT资金池存入FDO和FUSDT代币。

金色财经现场报道 天使投资人薛蛮子:区块链是长期的投资 短期不可暴富:金色财经现场报道,在火币Pro举办的Blockchain Festival千人大会上,天使投资人薛蛮子现身并进行了演讲:越南有170万大学生,而且和很多国家相比,越南人是最勤快的人,火币很有眼光把布局放在这个国家。过去的年代,我们用小灵通,现在不一样了,信息发达,在美国发生了什么,在几秒钟内,你的国家就知道发生了什么。投资区块链,要坚定,要耐心,是长期的投资而不是短期投机,短期不可暴富,这个行业充满了泡沫,宁可失去机会千万别赔钱。公司必须解决刚需、痛点、高频的问题,不能是空气币。[2018/5/24]

2、接下来攻击者调用wCRES/USDT资金池合约的flashLoan函数进行闪电贷,借出资金池中的wCRES与USDT代币。

3、由于wCRES/USDT资金池合约的init函数没有任何鉴权以及防止重复调用初始化的逻辑,攻击者通过闪电贷的外部逻辑执行功能调用了wCRES/USDT资金池合约的初始化函数,将资金池合约的代币对由wCRES/USDT替换为FDO/FUSDT。

4、由于资金池代币对被替换为FDO/FUSDT且攻击者在攻击开始时就将FDO和FUSDT代币存入了资金池合约,因最终通过了闪电贷资金归还的余额检查而获利。

总结

本次攻击发生的主要原因在于资金池合约初始化函数没有任何鉴权以及防止重复调用初始化的限制,导致攻击者利用闪电贷将真币借出,然后通过重新对合约初始化将资金池代币对替换为攻击者创建的假币,从而绕过闪电贷资金归还检查将真币收入囊中。

参考攻击交易:

https://cn.etherscan.com/tx/0x395675b56370a9f5fe8b32badfa80043f5291443bd6c8273900476880fb5221e

往期回顾

铸币疑云——PaidNetwork被盗细节分析

慢雾招募令:寻区块链安全弄潮儿

可避天灾,难免人祸——Furucombo被黑分析

王者开局偶遇猪队友——简析AlphaFinance&Cream被黑

BitMart入驻慢雾区,发布「安全漏洞与威胁情报赏金计划」

慢雾导航

慢雾科技官网

https://www.slowmist.com/

慢雾区官网

https://slowmist.io/

慢雾GitHub

https://github.com/slowmist

Telegram

https://t.me/slowmistteam

Twitter

https://twitter.com/@slowmist_team

Medium

https://medium.com/@slowmist

币乎

https://bihu.com/people/586104

知识星球

https://t.zsxq.com/Q3zNvvF

火星号

http://t.cn/AiRkv4Gz

链闻号

https://www.chainnews.com/u/958260692213.htm

免责声明:作为区块链信息平台,本站所发布文章仅代表作者个人观点,与链闻ChainNews立场无关。文章内的信息、意见等均仅供参考,并非作为或被视为实际投资建议。

本文来源于非小号媒体平台:

慢雾科技

现已在非小号资讯平台发布68篇作品,

非小号开放平台欢迎币圈作者入驻

入驻指南:

/apply_guide/

本文网址:

/news/9754467.html

免责声明:

1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险

2.本文版权归属原作所有,仅代表作者本人观点,不代表非小号的观点或立场

上一篇:

盘点零知识证明代表性项目:如何影响和塑造区块链生态系统?

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

区块博客

[0:46ms0-3:326ms