据消息,去中心化交易平台DODO的wCRES/USDTV2资金池被黑客攻击,转走价值近98万美元的wCRES和近114万美元的USDT。DODO表示,团队已下线相关资金池建池入口,该攻击仅影响DODOV2众筹池,除V2众筹池之外,其他资金池均安全;团队正在与安全公司合作调查,并努力挽回部分资金。更多后续消息请关注DODO官方社群公告。慢雾安全团队在第一时间跟进并分析,下面将细节分析给大家参考。攻击细节分析
香港投资推广署梁瀚璟:从港府层面出发,看到资产代币化是几百万亿级别的商机:金色财经报道,6月10日,香港投资推广署财经金融及金融科技主管梁瀚璟在出席界面新闻Web3闭门会时表示,2022年至今,香港在Web3领域的发展形成三波浪潮。目前Web3发展方兴未艾,常见应用包括加密货币、去中心化交易所、DID身份验证、去中心化金融服务(DeFi)、区块链游戏,以及NFT等。梁瀚璟表示,从港府层面出发,看到资产代币化是几百万亿级别的商机,区块链交易平台能够加快流量的流动性,降低上市门槛,是一个非常庞大的市场。
在梁瀚璟看来,香港发展Web3现阶段具备两方面优势。首先是高校,根据CoinDesk的区块链领域大学排名,2022年香港理工大学排名第一;全球20强中,香港有4所高校入围。另外是香港发达的拍卖市场。2020年,香港超越伦敦,成为全世界第二大的拍卖市场,“在港的几大拍卖行,例如富艺斯、苏富比,在2022年市场整体下行的时候,是保持正增长的。[2023/6/12 21:31:32]
通过查看本次攻击交易,我们可以发现整个攻击过程非常短。攻击者先将FDO和FUSDT转入wCRES/USDT资金池中,然后通过资金池合约的flashLoan函数借出wCRES和USDT代币,并对资金池合约进行初始化操作。
香港财库局许正宇:FSTB打算再拨款5000万美元,以加快Web3生态发展:金色财经报道,香港特区政府财经事务及库务局(FSTB)?局长许正宇在Aspen Digital Web3投资峰会上表示,世界各地的加密货币公司都表示越来越有兴趣将其业务转移到香港的司法管辖区。此外,FSTB 打算今年再拨款 5000 万美元,以加快 Web3 生态系统的发展。资金将用于:主要国际 Web3 活动的组织;增加青年教育讲习班的数量;成立一个工作组,研究加密货币市场的情况,并向政府报告必要的监管变化以进一步发展。[2023/3/22 13:19:54]
AMM协议JediSwap上线StarkNet主网:11月30日,自动做市商协议JediSwap发推表示已上线StarkNet主网,之后将发布细节内容。
今年1月,零知识证明技术开发公司StarkWare曾向JediSwap授予赠款,用于构建和发展新的DeFi应用程序。JediSwap表示,该项目是StarkNet上第一个无需许可的AMM协议。[2022/11/30 21:12:25]
为何存入FDO和FUSDT代币却能成功借出wCRES和USDT,并且初始化资金池合约呢?是因为资金池的闪电贷功能有漏洞吗?接下来我们对flashLoan函数进行详细分析:
美国民主党议员Lynch:我们需要保持数字货币的安全和隐私:5月27日消息,美国民主党议员Lynch表示,我们需要保持数字货币的安全和隐私。(金十)[2022/5/27 3:44: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
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。