时间:2023-07-29|浏览:188
SharkTeam对此展开了技术指标分析,并总结了安全防护方式。他们希望新项目能够以此为戒,共同保护区块链行业的安全。
一、事件分析
攻击者地址: - 0x5F259D0b76665c337c6104145894F4D1D2758B8c(MEVBot) - 0xB2698C2D99aD2c302a95A8DB26B08D17a77cedd4 - 0xb66cd966670d962C227B3EABA30a872DbFb995db
攻击者合约: - 0xeBC29199C817Dc47BA12E3F86102564D640CBf99(tx:0xc310a0af) - 0x036cec1a199234fC02f72d29e596a09440825f1C
攻击买卖: - 0xc310a0affe2169d1f6feec1c63dbc7f7c62a887fa48795d327d4d2da2d6b111d - 0x71a908be0bef6174bccc3d493becdfd28395d78898e355d451cb52f7bac38617 - 0x62bd3d31a7b75c098ccf28bc4d4af8c4a191b4b9e451fab4232258079e8b18c4 - 0x465a6780145f1efe3ab52f94c006065575712d2003d83d85481f3d110ed131d9 - 0x3097830e9921e4063d334acb82f6a79374f76f0b1a8f857e89b89bc58df1f311 - 0x47ac3527d02e6b9631c77fad1cdee7bfa77a8a7bfd4880dccbda5146ace4088f
攻击步骤: 此次事件涉及多次攻击买卖,每次买卖都利用了同一个合约系统的漏洞进行攻击。在这里我们选择其中一个池的买卖,分析攻击步骤。
1. 攻击者(0xB2698C2D)从AAVE借走3,000枚WBTC用于准备接下来的攻击。同时攻击者启动了两个合约:被清算者(0xB324581E)和清算者(0xD041709e)。 2. 攻击者(0xB2698C2D)将借走的2/3(2,000枚)WBTC存入Euler,并得到约1,975枚eWBTC。 3. 攻击者(0xB2698C2D)利用mint函数进行10倍贷款,并存入被清算者(0xB324581E)地址。此时,该地址总计有21,728eWBTC和0.000002dWBTC。 4. 攻击者(0xB2698C2D)利用repay函数还清1/3(1,000枚)WBTC的贷款。该地址总计有20,728eWBTC和0.000001dWBTC。 5. 攻击者(0xB2698C2D)再次利用mint方法,从被清算者(0xB324581E)地址中获取19,753eWBTC和0.000002dWBTC。该地址总计有40,481eWBTC和0.0000039dWBTC。 6. 攻击者(0xB2698C2D)利用donateToReserves函数捐赠被清算者(0xB324581E)地址中的10,000枚eWBTC。该地址总计有30,481eWBTC和0.0000039dWBTC。 7. 清算者(0xD041709e)启用liquidate函数清算0xB324581E地址,并获得约3,849枚WBTC。 8. 攻击者(0xB2698C2D)获得3,849枚WBTC,还清闪电贷。剩下的849枚WBTC通过[UniswapV3:WBTC]交易成11,559枚以太坊。
漏洞分析: 1. 在抵押借贷合约中,涉及到财产凭证货币转账时,需要进行身份验证以确保协议不会出现坏账损失。在Euler合约中,负责身份验证的函数是checkLiquidity。 2. 在mint、transferFrom函数中,进行了身份验证的安全检查。但在donateToReserves函数中,缺乏对身份验证的安全检查。攻击者在合成闪电贷的过程中,建立了两个合约并进行了两次mint操作,并将财产凭证捐赠给Euler。当攻击者资金链断裂时,被清算者也是清算者,即攻击者自身清算自己。
事情汇总:此次事件涉及多个攻击买卖,每个买卖涉及不同类型的池。但根源在于项目方在处理donateToReserves业务流程逻辑运算时,没有充分考虑领域模型的准确性。导致在逻辑运算时,多个领域模型交叉并发生领域模型校验系统的漏洞。
二、安全建议 针对此事件,我们在开发智能化合约时应注意以下事项: 1. 在添加新的业务逻辑功能时,要注意所有领域模型的准确性。 2. 在项目上线前,应寻求第三方专业的财务审计团队的技术协助。
关于我们 SharkTeam的愿景是全方位维护Web3全球的安全性。我们的精英团队由来自全国各地的高级安全专家和科学研究人员组成,熟悉区块链智能合约的底层基础理论,并提供专业的智能化合约财务审计、链上剖析、应急处置等业务。我们已与Polkadot、Moonbeam、polygon、OKC、HuobiGlobal、imToken、ChainIDE等区块链生态体系的重要参与者建立了长期合作伙伴关系。
Twitter:https://twitter.com/sharkteamorg Discord: