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

评论

所有评论

推荐阅读

  • 长三角一体化大模型发布 AI将为区域发展提供决策支撑

    长三角一体化大模型发布与场景应用链接大会在上海召开。会上,由中国区域经济50人论坛成员、上海财经大学长三角与长江经济带发展研究院执行院长张学良教授团队牵头建设的长三角一体化大模型(YRD-P1)正式发布。张学良表示,YRD-P1模型是在多年城市与区域科学研究积累的基础上构建的专用大模型。模型依托持续积累的政策文本、统计数据、学术成果、产业链信息及地理空间数据,面向长三角区域进行深度定制开发,强调知识体系的系统性、权威性和可溯源性,致力于为区域协调发展提供更加智能、精准、可持续的决策支撑工具。

  • 天普股份:公司涉嫌信息披露违规 股票将于1月12日复牌

    天普股份公告,公司因涉嫌信息披露违规,收到中国证监会下发的《立案告知书》和上海证券交易所的监管警示。公司股票将于2026年1月12日开市起复牌。公司目前生产经营活动正常,但股票价格短期波动较大,累计涨幅较大,已严重偏离上市公司基本面,存在巨大交易风险。2025年前三季度公司实现营业收入2.3亿元,同比下降4.98%;实现归属于上市公司股东的净利润1785.08万元,同比下降2.91%。

  • 日本首相考虑解散众议院,美元兑日元涨幅迅速走高

    日本首相考虑解散众议院。美元兑日元涨幅迅速扩大至 0.66%,报 157.95,创最近一年新高。

  • “美联储传声筒”Nick Timiraos:2025年私营部门雇主平均每月新增6.1万个就业岗位,这是自2003年所谓“无就业复苏”以来,私营部门就业增长最为疲弱的时期。

    “美联储传声筒”Nick Timiraos:2025年私营部门雇主平均每月新增6.1万个就业岗位,这是自2003年所谓“无就业复苏”以来,私营部门就业增长最为疲弱的时期。

  • 失业率意外下降重挫降息预期 债券交易员转看年中行动

    美国国债下跌,交易员几乎抹去了对美联储本月晚些时候降息的押注。此前,12月失业率的降幅超出预期,抵消了总体就业人数增长疲软的影响。周五报告发布后,美国政府债券价格下跌,推高了各期限收益率,涨幅多达3个基点。债券交易员维持了2026年全年总共降息两次的预测,预计首次降息将在年中进行。Natixis North America美国利率策略主管John Briggs表示:“对我们而言,美联储更关注失业率,而不是总体数据中的噪音。因此在我看来,这对美国利率略微利空。”此前,受10月1日至11月12日长达六周的政府停摆影响,9月、10月和11月的劳工报告推迟发布。此次就业数据提供了首份能够反映宏观经济就业趋势的“干净”读数。美联储是否进一步降息,被认为取决于未来几个月劳动力市场的表现。此前,为应对劳动力市场疲软,美联储在过去三次会议上均下调了短期贷款利率的目标区间。然而,部分官员仍对通胀高于目标感到担忧,这被视为限制了进一步宽松的步伐。

  • 高盛:美联储1月很可能按兵不动 但2026年剩余时间会降息两次

    金十数据1月9日讯,高盛资产管理公司多行业固定收益投资部门主管林赛·罗森纳评美国非农:再见了,一月!美联储目前很可能会维持现状,因为劳动力市场已显示出初步的稳定迹象。失业率的改善表明,11月的大幅上升只是由于个别员工因“推迟离职”政策而提前离职以及数据失真所致,并非系统性疲弱的迹象。我们预计美联储目前会保持不变的政策立场,但预计2026年剩余时间里还会再降息两次。

  • 市场交易员仍预期美联储将在2026年放松货币政策约50个基点。

    市场交易员仍预期美联储将在2026年放松货币政策约50个基点。

  • 互换市场认为美联储1月降息概率为零

    金十数据1月9日讯,美国失业率的下降使美联储在 1 月份降息的计划落空,目前利率互换合约认为这种情况发生的概率为零。

  • 美国12月非农就业数据不及预期 失业率微降难掩劳动力市场恶化趋势

    美国劳工统计局周五公布的数据显示,12月新增就业岗位5万个,低于经济学家预测的6万个。失业率降至4.4%,而11月为4.6%。在11月和10月数据因政府停摆受到严重影响后,此次发布的数据提供了数月来最完整的美国就业市场图景。11月新增就业人数数据被下修至5.6万个,初值为6.4万个。此次数据发布进一步证实了劳动力市场的恶化迹象,联邦政府劳动力削减和私营部门招聘放缓已对其造成冲击。美联储在过去三次会议上均下调了美国借贷成本,将其基准目标利率区间维持在3.5-3.75%的三年低点。美联储鲍威尔在12月曾暗示进一步降息的门槛很高,称目前的借贷成本已“处于良好位置”。但疲软的12月数据可能使美联储在本月晚些时候的下次会议上暂停降息周期的理由变得复杂。美联储还对近期劳工统计局数据的准确性提出了担忧,鲍威尔认为,美国经济每月新增就业岗位比就业报告所声称的少6万个。

  • 市场交易员预计美联储在1月降息的可能性几乎为零。

    市场交易员预计美联储在1月降息的可能性几乎为零。