10

SharkTeam独家分析 | 闪电贷+提案攻击-Beanstalk Farms攻击原理及资金流向分析

 2 years ago
source link: https://www.tuoniaox.com/news/p-535871.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

SharkTeam独家分析 | 闪电贷+提案攻击-Beanstalk Farms攻击原理及资金流向分析

SharkTeam 2022-04-19 11:58
article_qmarks.svg 摘要:

Beanstalk Farms遭黑客攻击,损失超过8000万美元

2022年4月17日,算法稳定币项目Beanstalk Farms遭黑客攻击,损失超过8000万美元,包括 24830 ETH 和 3600 万 BEAN。

image.png

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

一、技术分析

攻击者地址:0x1c5dcdd006ea78a7e4783f9e6021c32935a10fb4

攻击合约地址:0x728ad672409da288ca5b9aa85d1a55b803ba97d7

被攻击合约地址:0xC1E088fC1323b20BCBee9bd1B9fC9546db5624C5

关键攻击交易:0xcd314668aaa9bbfebaf1a0bd2b6553d01dd58899c508d4729fa7311dc5d33ad7

攻击过程包含的交易如下:

image.png

攻击过程分析如下:

1. 代币兑换。

攻击者在通过UniswapV2将73 ETH兑换为212k BEAN。

交易:0xfdd9acbc3fae083d572a2b178c8ca74a63915841a8af572a10d0055dbe91d219

image.png

2. 代币授权。

攻击者将BEAN授权给Beanstalk Protocol合约。

交易:0xf1d80ba0ca6db75bedd175fd3c0bc0622faf00fdd12a0dc13dca3bc36db3669b

image.png

3. 代币存储。

攻击者将兑换得到的BEAN存入Beanstalk Protocol合约,为攻击做准备。

交易:0xf5a698984485d01e09744e8d7b8ca15cd29aa430a0137349c8c9e19e60c0bb9d

image.png

4 创建InitBip18提案合约。

交易:0xd09b72275962b03dd96205f8077fdc08bec87c0ebd07e431aadc760f31f34b01

image.png

InitBip18提案合约地址:0x259a2795624b8a17bc7eb312a94504ad0f615d1e

image.png

5 发起提案交易。

(1) 交易:0x68cdec0ac76454c3b0f7af0b8a3895db00adf6daaf3b50a99716858c4fa54c6f

image.png

这里的提案合约地址是0xe5ecf73603d98a0128f05ed30506ac7a663dbb69(简称合约0xe5ec),该地址就是InitBip18提案合约中Proposer Wallet。该合约是在交易0x677660ce489935b94bf5ac32c494669a71ee76913ffabe623e82a7de8226b460中创建的。

image.png

 (2) 交易:0x9575e478d7c542558ecca52b27072fa1f1ec70679106bdbd62f3bb4d6c87a80d

image.png

这里的提案合约地址就是上一步中的InitBip18提案合约。

6. 转账。

攻击者向合约0xe5ec转入0.25 ETH。

交易:0x3cb358d40647e178ee5be25c2e16726b90ff2c17d34b64e013d8cf1c2c358967

image.png

7. 创建提案合约0xe5ec。

交易:0x677660ce489935b94bf5ac32c494669a71ee76913ffabe623e82a7de8226b460

在交易内部,创建了提案合约0xe5ec。

image.png

8. 发起攻击。

交易:0xcd314668aaa9bbfebaf1a0bd2b6553d01dd58899c508d4729fa7311dc5d33ad7

image.png

详细的攻击过程如下:

(1) 通过闪电贷从Aave平台借入350M DAI,500M USDC以及150M USDT,从Uniswap平台借贷32.1M BEAN,从SushiSwap平台借入11.6M LUSD

image.png

(2) 将借入的DAI、USDC以及USDT全部投入到Curve DAI/USDC/USDT流动性矿池中,铸造出979,691,328个流动性代币3Crv。

image.png

(3) 将15M 3Crv兑换成15,251,318 LUSD,将964,691,328 3Crv添加流动性获得795,425,740 BEAN3CRV-f,将32,100,950 BEAN以及26,894,383 LUSD添加流动性,获取58,924,887 BEAN3CRV-f

image.png

(4) 使用上面得到的所有BEAN3CRV-f提案进行投票,使提案通过并执行。

image.png

image.png

然后获得了36,084,584 BEAN,0.5407 UNI-V2,874,663,982 NEAN3CRV-f以及60,562,844 BEANLUSD-f

image.png

(5) 移除流动性获得1,007,734,729 3Crv以及28,149,504 LUSD

image.png

(6) 归还SushiSwap闪电贷的11,678,100 LUSD以及32,197,543 BEAN,其中包含了手续费。

image.png

(7) 将剩余的16,471,404 LUSD兑换成16,184,690 3Crv。

image.png

(8) 移除流动性3Crv,得到522,487,380 USDC,365,758,059 DAI以及156,732,232 USDT。

image.png

(9) 向Aave平台分别存入350,315,000 DAI,500,450,000 USDC以及150,135,000 USDT用于偿还闪电贷以及手续费。

image.png

(10) 移除0.5407 UNI-V2的流动性,获得10,883 WETH以及32,511,085 BEAN并归还闪电贷的金额以及手续费。

image.png

(11) 向Ukraine Crypto Donation捐赠了250k USDC

image.png

(12) 将剩余的Token兑换成WETH

image.png

(13) 将所得的24,830 WETH提取出来,并转账到攻击者地址,完成攻击。

image.png

9. 混币。

攻击者将获得的ETH分批次存入混币平台Tornash.Cash,实施混币。

image.png

10. 总结。

我们回顾整个攻击过程,如下:

image.png

从时间上看,攻击者在16号做足了准备工作,隔了整1天的时间,在17号发起了攻击。这是因为提案后1天才能开始投票。

另外,从整个攻击过程看,攻击者在发起攻击的详细过程中,分析整个交易发现,投票合约中的票数是由账户中的BEAN3CRV-f代币持有量计算得到的。

image.png

攻击者利用了该漏洞,通过闪电贷获得大量代币,将这些代币投入到矿池中,临时获得大量的BEAN3CRV-f代币,从而获得了绝对的票数优势,使得自己的提案可以由自己决定,而不需要其他人的投票。最终盗取了大量的Token。

另外,分析攻击者地址的内部交易,如下:

image.png

我们发现,攻击者地址发起攻击的启动资金来自于Synapse Bridge,如下:

交易:0x1fb73ec5ed8c25b9ca7c9c3c465ab4bbca8554927094f939d96600271475e101

image.png

二、资金流向分析

通过ChainAegis ( https://www.chainaegis.com  )平台对资金流向进行监控,发现:

1. 在攻击过程中,250000 USDC转入至了乌克兰加密货币捐赠地址

image.png

2. 攻击完成后,获利的24830ETH被攻击者通过Tornado.Cash匿名交易协议转移,当前攻击者地址余额仅剩0.08ETH

image.png

image.png

三、安全建议

本次安全事件的原因在于票数是由账户持有的代币得到的,而账户持有的代币是可以通过闪电贷在一笔交易内获取到的,而且可以获取的很大的数量。SharkTeam提醒您:

(1)将投票和执行分离,保证投票和执行不在同一个区块时间,即不能在同一笔交易内同时完成投票和执行,这样也可以避免闪电贷带来的风险。

(2)增加权限,禁止合约投票,只能够通过EOA账户来投票,这样就可以规避闪电贷带来的影响。

(3)项目方以及社区成员应高度关注所有提案,对于有风险的提案, 应及时做出反应以及通知,尽可能的杜绝恶意提案的执行。

(4)在项目上线运行前,可以进行多次全面的合约审计,尽可能的保证合约的安全性。

(5)不要访问您不熟悉或不确定的网站,坚决不要将您的地址授权给任何您不确定的合约或项目。

Website: https://www.sharkteam.org/ 

Telegram: https://t.me/sharkteamorg 

Twitter:https://twitter.com/sharkteamorg 

更多区块链安全咨询与分析,点击下方链接查看

D查查|链上风险核查 https://m.chainaegis.com/

声明: 鸵鸟区块链所有发布内容均为原创或授权发布,如需转载,请务必注明文章作者以及来源:鸵鸟区块链(微信公众号:MyTuoniao),任何不尊重原创的行为鸵鸟区块链都将进行责任追究!鸵鸟区块链报道和发布内容,不构成任何投资建议。

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK