SharkTeam:Sonne Finance攻击事件分析

时间:2024-09-26 编辑: 浏览:(904)

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)项目上线前,需要由第三方专业的审计公司进行智能合约审计。

About Us

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

最新 更多 >
  • 1 BULL币Bulltoken是什么?

    什么是BULL币/Bulltoken?BULL币(又称为Bulltoken)是一种基于区块链技术的加密货币。它被设计为具有去中心化、安全和透明的特点,旨在促进智能合约和数字资产交易的发展。BULL币不仅仅是一种数字货币,还是一个社区驱动的平台,为用户提供了一系列的金融服务和创新解决方案。区块链技术的应用BULL币是基于区块链技术构建的。区块链是一种分布式账本技术,其基本原理是将数据以区块的形式链接

  • 2 ETT是什么币种,ETT币值得投资吗?

    ETT是什么币种ETT,全称为Eternal Token,是一种基于以太坊区块链的加密货币。它是由日本公司Atom Solutions推出的一种数字资产代币,采用了闪电网络(Lightning Network)技术,使其具备了极快的交易速度和低廉的交易费用。ETT的目标是成为全球最具活力和可用性的数字货币之一。ETT币值得投资吗?对于ETT币是否值得投资,还需要从多个因素进行考量。市场前景首先要考

  • 3 $ALTI币有多大潜力?$ALTI币值得长期持有吗?

    $ALTI币有多大潜力?$ALTI币值得长期持有吗?随着加密货币市场的不断发展,越来越多的人开始关注和投资加密货币。而$ALTI币作为一个新兴的加密货币,备受投资者的关注。这篇文章将探讨$ALTI币的潜力以及是否值得长期持有。什么是$ALTI币?$ALTI币是一个基于区块链技术的加密货币,它旨在成为一个去中心化的数字化资产交易平台。与传统的中心化交易平台不同,$ALTI币允许用户在一个安全、便捷的

  • 4 $CROKI币值得买吗?$CROKI币前景怎么样?

    $CROKI币值得买吗?在数字货币市场中,$CROKI币近来备受关注。作为一个较新的加密货币项目,人们对于它的前景和投资价值存在很多疑问。在决定是否购买$CROKI币之前,我们需要对其进行全面的评估和分析。潜在的优点首先,$CROKI币是由一家具有良好声誉的公司——CryptoKitties发行的。CryptoKitties是一个基于区块链技术的虚拟猫收集游戏,其玩家群体广泛且活跃。这表明$CRO

  • 5 ALT币Altcoin是什么?

    ALT币/Altcoin是什么?在加密货币领域,ALT币(或称为Alcoins)是指除了比特币之外的其他数字货币。ALT币出现的初衷是为了提供不同于比特币的特性和功能,以及满足更多用户需求。与比特币不同,ALT币基于不同的技术和协议,它们拥有独立的区块链网络,可支持各种不同的特性和应用。ALT币的名称来自于“Alternative coin(另类币)”,其目的是为了突显它们与比特币的区别。ALT币

  • 6 DFS是什么币?

    DFS是什么币?DFS(Decentralized Finance System)是一种基于区块链技术的数字货币,旨在提供去中心化金融系统。由于传统金融机构存在中心化、信用风险、高交易费用等问题,DFS通过区块链技术解决这些难题,实现了更加开放、透明和安全的金融生态。DFS的背景近年来,随着区块链技术的发展和加密货币的普及,人们开始重新审视传统金融系统的问题。中心化机构的垄断和高昂的手续费限制了金

  • 7 $BSHIBR币值得买吗?$BSHIBR币前景怎么样?

    $BSHIBR币值得买吗?在当今的数字货币市场中,有许多种类的加密货币可供选择。其中一种备受关注的是$BSHIBR币。那么,$BSHIBR币值得购买吗?它的前景如何呢?让我们来探讨一下。1. 了解$BSHIBR币$BSHIBR币是一个新近推出的加密货币,它的目标是利用区块链技术改变旅行和酒店行业。通过使用智能合约和去中心化的系统,$BSHIBR币旨在提供更加安全和廉价的旅行和酒店服务。2. 优势和

  • 8 ION是什么币?

    ION是什么币?ION是一种数字货币,它是基于区块链技术的加密货币之一。ION的目标是为用户提供快速、安全和便捷的去中心化支付解决方案。它采用了PoS(权益证明)共识机制,允许持币者参与网络的验证和记账。ION的特点和优势1. 去中心化:ION的设计目标是实现去中心化的支付解决方案,用户可以直接在网络上进行交易,无需借助第三方中介。2. 快速确认:ION的交易确认时间通常只需几秒钟。这使得ION非

  • 9 CRL币cryptelo是什么?

    什么是CRL币/Cryptelo?CRL币是Cryptelo的内部加密货币,Cryptelo是一个专注于数据安全和隐私保护的项目。CRL币的使用主要侧重于加密、访问和共享文件。加密技术为数据提供安全防护Cryptelo通过应用加密技术,为用户的数据提供了安全保护。它使用了最先进的加密算法和秘钥管理系统,确保用户的数据得到可靠的保护。用户可以将敏感文件加密后存储在Cryptelo的云端,即使遭受黑客

  • 10 $EPRINT币有多大潜力?$EPRINT币值得长期持有吗?

    $EPRINT币有多大潜力?$EPRINT币值得长期持有吗?在数字货币行业中,$EPRINT币是一种备受关注的加密数字货币。它有着巨大的潜力,而且长期持有$EPRINT币是非常值得的。 1. 发展前景和潜力$EPRINT币作为一个基于区块链技术的加密数字货币,具有很大的发展潜力。首先,区块链技术本身具有巨大的变革力量,能够解决许多现实世界中的问题。$EPRINT币在区块链技术的基础上,进一步提供了