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

评论

所有评论

推荐阅读

  • 俄美元首通话 普京称俄目前不可能恢复与乌谈判

    10月10日,俄罗斯总统助理乌沙科夫当地时间10日凌晨介绍了俄美两国领导人通话的有关情况。乌沙科夫表示,普京在通话中详细介绍了俄罗斯为回应乌克兰武装部队实施的恐怖袭击而采取的措施。普京表示,乌克兰方面试图破坏俄罗斯国家杜马选举并对民众实施袭击,导致立即恢复谈判的可能性遭到破坏。普京还指出,乌克兰方面试图阻止俄罗斯军队推进的企图没有任何成功的前景,俄军目前完全掌握战场主动权,并正在持续向前推进。普京强调,由于乌克兰方面的立场,特别是其试图破坏俄杜马选举的行为,目前不可能恢复与乌克兰的谈判。特朗普已指示将普京在通话中传递的信息转达给乌克兰代表团。乌沙科夫称,关于举行普京与特朗普双边会晤的问题,双方目前尚未进行具体讨论。(央视新闻)

  • Telegram 内置 Gram 钱包更名为 Money 并向全体用户开放

    10月9日,Telegram 已将其原仅向部分用户开放的钱包服务“Gram wallet”更名为“Money”,并正式向全平台超过十亿用户全面推出。“Money”是针对 Gram 代币的内置钱包,支持存储、转账以及购买平台礼物与收藏级用户名。 此外,配套交易平台“Walt”提供超过 300 种资产服务,涵盖代币化股票、贵金属、永续合约及理财收益项目。用户可通过“Walt”向“Money”钱包进行即时划转且免收网络手续费。官方同时提示,加密资产投资存在相应风险。

  • Blockchain.com 寻求批准开展预测市场和加密货币衍生品交易

    10月9日,加密资产平台 Blockchain.com 已向美国商品期货交易委员会(CFTC)提交申请,寻求获得指定合约市场(DCM)和期货佣金商(FCM)牌照,以向美国用户提供事件合约(预测市场)及加密货币衍生品交易服务。

  • 贝森特:美国本周可能查扣约 10 亿美元与伊朗相关的加密货币

    美国财政部长贝森特周四在 Newsmax 于华盛顿举办的 NPolicy Summit 上表示,我们本周可能会查扣 10 亿美元的加密货币,并称「我们知道它在哪里,我们正在孤立他们」。贝森特表示,特朗普政府对伊朗的举措已从「极限施压」转为「绝对孤立」,措施包括海上封锁、限制航空出行及切断陆路通道,阿联酋和阿曼正与美方合作,美方也在与巴基斯坦和土耳其合作切断所有进出伊朗的陆路通道。

  • Zcash 开发团队计划于明年 1 月引入抗量子签名以保护公开支付

    隐私加密货币 Zcash(ZEC)开发团队计划于明年 1 月在网络中引入后量子签名操作码,以支持基于哈希的签名技术,从而抵御潜在的量子计算攻击。该方案主要针对透明(公开)支付池,目前约有 70% 的 ZEC 存放于该池中。尽管开发者将 1 月定为目标期限,但具体的网络激活时间尚未最终确定。 该升级旨在防止攻击者利用现有公钥反向推导私钥并伪造支付授权。此外,Zcash 节点验证程序 Zakura 还推出了一项基于私密信息检索(PIR)的钱包工具,允许用户在查询多地址余额时不向服务器泄露地址间的关联性。此前,以太坊研究员 Justin Drake 曾警告人工智能可能加速破解传统加密算法,并呼吁加密货币持有者应对潜在的安全威胁。

  • BTC突破83000美元

    行情显示,BTC突破83000美元,现报83017.3美元,24小时涨幅达到0.66%,行情波动较大,请做好风险控制。

  • 中共中央、国务院:全面实施“人工智能+”行动

    10月9日,中共中央、国务院印发《关于发展新质生产力的意见》。意见提到,全面实施“人工智能+”行动。推进人工智能对传统产业的改造,加快推进智能网联新能源汽车、人工智能手机和电脑、人形机器人等新一代智能终端场景应用。加快人工智能等数智技术创新,突破基础理论和核心技术,强化算力、算法、数据等高效供给。因地制宜、分业施策布局国家人工智能行业应用中试基地和高价值应用场景,大力推动人工智能在各行业应用。构建技术监测、风险预警、应急响应体系,确保人工智能安全、可靠、可控。

  • 美国政府相关钱包近三日向Coinbase Prime存入17733枚BTC及750枚WBTC

    10月9日,据Lookonchain监测,过去三天内,与美国政府相关的钱包已向Coinbase Prime存入了17,733枚BTC(价值14.8亿美元)和750枚WBTC(价值6200万美元)。 根据Arkham的标记数据,这些钱包目前仍持有价值254亿美元的加密资产,其中仅比特币的价值就达253亿美元。

  • ETH跌破2500美元

    行情显示,ETH跌破2500美元,现报2499.87美元,24小时跌幅达到2.55%,行情波动较大,请做好风险控制。

  • ETH突破2500美元

    行情显示,ETH突破2500美元,现报2500.13美元,24小时跌幅达到2.21%,行情波动较大,请做好风险控制。