据消息,去中心化交易平台DODO的wCRES/USDTV2资金池被黑客攻击,转走价值近98万美元的wCRES和近114万美元的USDT。DODO表示,团队已下线相关资金池建池入口,该攻击仅影响DODOV2众筹池,除V2众筹池之外,其他资金池均安全;团队正在与安全公司合作调查,并努力挽回部分资金。更多后续消息请关注DODO官方社群公告。慢雾安全团队在第一时间跟进并分析,下面将细节分析给大家参考。攻击细节分析
加密律师:Ben.eth可能会受到美国监管机构的关注:金色财经报道,加密律师表示,Ben.eth推出的Psyop可能会受到美国监管机构的关注。Ben.eth的Twitter关注者在5月份增长了近五倍。虽然Ben.eth的支持者为代币销售的合法性辩护,但有人警告说,Ben.eth的行为可能会招致监管机构和心怀不满的投资者的愤怒。
Loevy & Loevy的合伙人Michael Kanovitz表示,Psyop的推出是SEC在针对Kim Kardashian 和Paul Pierce的行动中发现的担忧的典型例子。Kanovitz 最近通过 NFT 向 Ben.eth 发送了一封充满脏话的信,威胁要对他提起集体诉讼,指控他在Psyop预售中使用了操纵性的发布策略。[2023/5/31 11:49:50]
通过查看本次攻击交易,我们可以发现整个攻击过程非常短。攻击者先将FDO和FUSDT转入wCRES/USDT资金池中,然后通过资金池合约的flashLoan函数借出wCRES和USDT代币,并对资金池合约进行初始化操作。
大都会商业银行接近完全退出加密货币市场:金色财经报道,根据4月18日向美国证券交易委员会(SEC)提交的文件,大都会商业银行接近完全退出加密货币市场,只剩下2.785亿美元的加密货币相关存款。该文件指出,之前宣布退出加密货币相关垂直领域的工作几乎已经完成,其核心存款总额(不包括加密货币客户)在3月31日为49亿美元。
这家总部位于纽约的银行的母公司Metropolitan Bank Holding(MBH)在1月份宣布,在该行业最近的发展和监管压力下,它正在终止与加密货币相关的服务。这一决定是在前加密货币交易所FTX倒闭,其创始人Sam Bankman-Fried面临多项欺诈指控后不久做出的。[2023/4/21 14:16:51]
Celsius:今日重新开放某些托管账户中的可分配资产的提款:金色财经报道,加密借贷平台Celsius Network发推称,今日某些托管账户中的可分配资产的提款将重新开放。符合条件的用户将被通知需要采取哪些步骤来促进他们的提款。
此前消息,Celsius于2月表示符合条件的用户可提取94%的托管资产,剩余的6%能否提取将由法院决定。[2023/3/3 12:39:34]
为何存入FDO和FUSDT代币却能成功借出wCRES和USDT,并且初始化资金池合约呢?是因为资金池的闪电贷功能有漏洞吗?接下来我们对flashLoan函数进行详细分析:
英国NFT投资者提交Otherdeed退款申请遭拒,Yuga Labs或面临“无上限金额”的严重罚款:金色财经报道,英国NFT投资者Paul Price已要求Yuga Labs公司根据英国和欧盟的“远程销售法律”规定退还他去年五月购买Otherdeed的资金,但该请求遭到了Yuga Labs的拒绝,因为他们声称Otherdeed的交易单不提供任何保证或退款权利。据悉,英国和欧盟相关法规规定客户拥有14天退款窗口的权利,如果公司未能告知客户相关撤回权信息,这些客户不是仅有两周时间来获得全额退款,而是有整整一年时间来提起申诉。如果像Yuga Labs这样的NFT公司被发现违反该国远程销售规定后继续拒绝向客户退款,可能会被处以“无上限金额”的严重罚款,甚至可能被追究刑事责任。目前Paul Price表示已将此事与律师进行了交流并将相关问题提交给了Yuga Labs公司法律部门,后者迄今拒绝就此事发表评论。(decrypt)[2023/1/28 11:34:12]
通过分析具体代码我们可以发现,在进行闪电贷时会先通过_transferBaseOut和_transferQuoteOut函数将资金转出,然后通过DVMFlashLoanCall函数进行具体外部逻辑调用,最后再对合约的资金进行检查。可以发现这是正常闪电贷功能,那么问题只能出在闪电贷时对外部逻辑的执行上。通过分析闪电贷的外部逻辑调用,可以发现攻击者调用了wCRES/USDT资金池合约的init函数,并传入了FDO地址和FUSDT地址对资金池合约进行了初始化操作。
到这里我们就可以发现资金池合约可以被重新初始化。为了一探究竟,接下来我们对初始化函数进行具体的分析:
通过具体的代码我们可以发现,资金池合约的初始化函数并没有任何鉴权以及防止重复调用初始化的逻辑,这将导致任何人都可以对资金池合约的初始化函数进行调用并重新初始化合约。至此,我们可以得出本次攻击的完整攻击流程。攻击流程
1、攻击者先创建FDO和FUSDT两个代币合约,然后向wCRES/USDT资金池存入FDO和FUSDT代币。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
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。