Cointime

扫码下载App
iOS & Android

SharkTeam:Sonne Finance攻击事件分析

2024年5月15日,Sonne Finance遭受攻击,项目方损失超过2千万美元。

SharkTeam对此事件第一时间进行了技术分析,并总结了安全防范手段,希望后续项目可以引以为戒,共筑区块链行业的安全防线。

攻击者:0xae4a7cde7c99fb98b0d5fa414aa40f0300531f43

攻击合约:0x02fa2625825917e9b1f8346a465de1bbc150c5b9

目标合约:0xe3b81318b1b6776f0877c3770afddff97b9f5fe5

攻击交易:0x9312ae377d7ebdf3c7c3a86f80514878deb5df51aad38b6191d55db53e42b7f0

攻击过程如下:

1. 闪电贷 35,569,150 VELO,并将这些VELO Token转移(transfer)至soVELO合约中

因为是直接转账(捐赠),没有铸造soVELO Token。因此,soVELO合约中,totalCash增加了35,569,150 VELO, soVELO的totalSupply不变。

2. 攻击者新建合约0xa16388a6210545b27f669d5189648c1722300b8b,在新合约中对目标合约发起攻击,攻击过程如下:

(1)向新合约中转入2 soVELO

(2)将soWETH和soVELO声明为抵押物

(3)从soWETH借贷265,842,857,910,985,546,929 WETH

从以上borrow函数的执行过程中,根据getAccountSnapshot函数的返回值,发现:

对于soWETH合约,新合约余额为0,借贷额为0,兑换率(exchangeRate)为208,504,036,856,714,856,032,085,073

对于soVELO合约,新合约余额为2,即抵押了2wei的 soVELO,借贷额为0,兑换率(exchangeRate)为17,735,851,964,756,377,265,143,988,000,000,000,000,000,000

exchangeRate计算如下:

抵押1wei的soVELO,可以借贷不超过17,735,851,964,756,377,265,143,988 VELO,而借贷265,842,857,910,985,546,929 WETH,至少需要抵押265,842,857,910,985,546,929 soWETH,

soWETH的价格:soWETHPrice = 2,892,868,789,980,000,000,000,

soVELO的价格:soVELOPrice = 124,601,260,000,000,000

抵押1wei的soVELO可借贷的WETH数量如下:

1 * exchangeRate * soVELOPrice / soWETHPrice = 763,916,258,364,900,996,923

约763 WETH。仅需1wei的soVELO抵押就足以支持本次借贷。

借贷265,842,857,910,985,546,929 WETH(约265 WETH)换算成抵押物soVELO,至少需要抵押的soVELO数量为:

265,842,857,910,985,546,929 * soWETHPrice / soVELOPrice / exchangeRate = 0.348

即1wei的soVELO抵押物即可。

实际上2wei的soVELO抵押物,在借贷时只用到了1wei

(4)赎回标的资产,即35,471,603,929,512,754,530,287,976 VELO

exchangeRate = 17,735,851,964,756,377,265,143,988,000,000,000,000,000,000

赎回35,471,603,929,512,754,530,287,976 VELO需要的抵押物soVELO的数量为

35,471,603,929,512,754,530,287,976 * 1e18 / exchangeRate = 1.99999436

在计算时,因为计算采用了截断取整而不是四舍五入,实际计算的所需抵押物为1wei的soVELO。

实际抵押物为2wei的soVELO,其中1wei用于上面的借贷265WETH,剩下的1wei用于赎回35M VELO

(5)将借贷的265 WETH以及赎回的35M VELO 转账给攻击合约

3. 反复3次(共4次)创建新合约,重复攻击。

4. 最后,偿还闪电贷。

以上攻击过程中利用了2个漏洞:

(1)捐赠攻击:向soVELO合约直接转账(捐赠)VELO Token,改变了exchangeRate,使得攻击者可以在只有1wei soVELO的抵押物的情况下,借贷出约265 WETH

(2)计算精度问题:利用计算过程中的精度损失以及被修改的exchangeRate,在只抵押了1wei soVELO的情况下,可以赎回35M VELO

针对本次攻击事件,我们在开发过程中应遵循以下注意事项:

(1)项目在设计和开发过程中,要保持逻辑的完整性和严谨性,尤其存款、质押、更新状态变量以及计算过程中乘除法计算结果的取舍问题,要尽可能多考虑一些情况,使得逻辑完整,没有漏洞。

(2)项目上线前,需要由第三方专业的审计公司进行智能合约审计。

SharkTeam的愿景是保护Web3世界的安全。团队由来自世界各地的经验丰富的安全专业人士和高级研究人员组成,精通区块链和智能合约底层理论。提供包括风险识别与阻断、智能合约审计、KYT/AML、链上分析等服务,并打造了链上智能风险识别与阻断平台ChainAegis,能有效对抗Web3世界的高级持续性威胁(Advanced Persistent Threat,APT)。已与Web3生态各领域的关键参与者,如Polkadot、Moonbeam、polygon、Sui、OKX、imToken、Collab.Land、TinTinLand等建立长期合作关系。

官网:https://www.sharkteam.org

Twitter:https://twitter.com/sharkteamorg

Telegram:https://t.me/sharkteamorg

Discord:https://discord.gg/jGH9xXCjDZ

评论

所有评论

推荐阅读

  • 日本央行行长植田和男:目前没有立即加息的必要

    Cointime 报道,4月28日,日本央行行长植田和男:目前没有立即加息的必要。

  • 字节、智谱、阿里入选《时代》AI影响力十强

    Cointime 报道,4月28日,《时代》今日公布“2026年最具影响力10家人工智能公司”名单。与单纯比较模型能力不同,这份名单更强调对产业、技术路径与社会影响的综合塑造力。入选公司有字节跳动、亚马逊、智谱、OpenAI、Alphabet、Meta、Anthropic、阿里巴巴、Mistral和Hugging Face。其中,国内公司占据三席,分别为字节、智谱和阿里。(东新社)

  • 中共中央政治局会议:全面实施“人工智能+”行动,发展智能经济新形态,完善人工智能治理

    Cointime 报道,4月28日,中共中央政治局4月28日召开会议,分析研究当前经济形势和经济工作。会议强调,要加快建设现代化产业体系,保持制造业合理比重。纵深推进全国统一大市场建设,深入整治“内卷式”竞争。全面实施“人工智能+”行动,发展智能经济新形态,完善人工智能治理。进一步深化国资国企改革。系统应对外部冲击挑战,提高能源资源安全保障水平,以高质量发展的确定性应对各种不确定性。(东新社)

  • Arthur Hayes:更关心美联储主席提名人沃什关于资产负债表的言论,而非短期利率走向

    Cointime 报道,4月28日, BitMEX创始人Arthur Hayes在Bitcoin 2026大会上谈到美联储时表示,“当凯文·沃什被提名为美联储SEC主席时,所有人都开始抓狂,因为在他担任美联储理事的任期内——我认为是从08年金融危机后直到本届总统之前——他一直对美联储非常庞大的资产负债表持批评态度。他曾公开表示,他认为美联储的资产负债表太大了,他必须想办法缩小它,与此同时,他也能够降低利率。现在,如果你读过我的文章,你就知道我是货币数量比其价格更重要的坚定拥护者。所以,我更关心他关于资产负债表的言论,而不是短期利率的走向。因此,如果市场认为,因为沃什在美联储的所作所为,系统中流通的美元流动性将会减少,那么他们就会看空比特币和其他风险资产。这就是我们在媒体上看到的关于沃什5月接任后将出现的鹰派美联储的讨论。现在,我不这么认为。我相信,本质上美联储会用储备、国债和回购进行置换,并将它们放入商业银行系统,而他们将在新法规的帮助下做到这一点,这些法规涉及银行如何在其资产负债表上持有资产以及他们需要为这些资产持有多少资本。最后,我认为要理解沃什在美联储会做什么或不会做什么,最重要的一点是,他有一个非常实质性的硬性约束,那就是他需要与财政部的斯科特·贝森特合作,确保他对美联储资产负债表的任何操作都不会损害贝森特出去出售数十亿、上万亿美元债券的能力。”

  • 消息称Meta为撤销收购Manus做准备 腾讯等投资者计划配合

    Cointime 报道,4月28日,据华尔街日报援引知情人士称,在中国发改委下属外商投资安全审查工作机制办公室依法对外资收购Manus项目作出禁止投资的决定后,Meta正在为不得不撤销该收购交易做准备。知情人士称,如果Meta推进撤销该交易的进程,包括腾讯、红杉中国以及真格基金在内的多家Manus前亚洲投资者已计划进行配合。

  • 美国现货比特币ETF昨日净流出2.632亿美元

    Cointime 报道,4月28日,据Farside Investors监测数据,美国现货比特币ETF昨日净流出2.632亿美元。

  • 美国现货以太坊ETF昨日净流出5040万美元

    Cointime 报道,4月28日,据Farside Investors监测数据,美国现货以太坊ETF昨日净流出5040万美元。

  • 日本央行维持利率不变 符合预期

    Cointime 报道,4月28日,日本央行连续第三次会议将目标利率维持在0.75%不变,符合市场预期。

  • DeFi United已募集超13.2万枚ETH 可完全覆盖Kelp DAO被攻击损失

    Cointime 报道,4月28日最新数据显示,Aave为应对Kelp DAO被盗事件发起的DeFi United已经募集到超3亿美元的13.2万枚ETH,已经完全覆盖Kelp DAO被攻击增发的2.92亿美元rsETH损失。目前的主要救助者有:Arbitrum DAO 追回的30765枚ETH;Consensys和起创始人Joseph Lubin提供的30000枚ETH;Mantle的30000枚ETH;Aave DAO的25000枚ETH;Aave创始人Stani Kulechov的5000枚ETH;Ether.Fi的5000枚ETH;Lido的2500枚ETH;Kelp的2000枚ETH Golem Foundation的1000枚ETH;Aave工程高级副总Emilio Frangella的500枚ETH;BGD Labs和起联创Ernesto的350枚ETH。

  • 伊朗据称已开始使用废弃油罐储存石油

    Cointime 报道,4月28日,据华尔街日报,由于美国海军实施封锁、谈判仍陷僵局,伊朗正急于寻找新的石油储存方法,以避免毁灭性停产。随着石油在国内堆积,伊朗正在重启被称为“垃圾储存”的废弃场地,使用简易容器,并试图通过铁路继续出口。这些非常规措施旨在推迟基础设施危机的发生,并削弱美国在霍尔木兹海峡对峙中的筹码。