By:慢雾安全团队
据慢雾区情报,2020年11月22日,以太坊DeFi项目PickleFinance遭受攻击,损失约2000万DAI。慢雾安全团队第一时间跟进相关事件并进行分析,以下为分析简略过程。
攻击流程简析
1、项目的Controller合约中的swapExactJarForJar函数允许传入两个任意的jar合约地址进行代币的兑换,其中的_fromJar,_toJar,_fromJarAmount,_toJarMinAmount都是用户可以控制的变量,攻击者利用这个特性,将_fromJar和_toJar都填上自己的地址,_fromJarAmount是攻击者设定的要抽取合约的DAI的数量,约2000万DAI。
Move生态NFT AMM项目Mobius确认Discord遭黑客入侵:6月5日消息,据官方消息,Move 生态 NFT AMM 项目 Mobius 的 Discord 操作帐户被黑客入侵,导致服务器受损。官方表示,用户链上资产不会受影响,请避免点击任何其它链接。我们将很快建立一个新的 Discord 服务器。[2023/6/5 21:16:39]
2、使用swapExactJarForJar函数进行兑换过程中,合约会通过传入的_fromJar合约和_toJar合约的token()函数获取对应的token是什么,用于指定兑换的资产。而由于_fromJar合约和_toJar合约都是攻击者传入的,导致使用token()函数获取的值也是可控的,这里从_fromJar合约和_toJar合约获取到的token是DAI。
Trader Joe 现已推出集中性 AMM Liquidity Book V2.1:4月7日消息,去中心化交易协议 Trader Joe 现已推出集中性 AMM Liquidity Book V2.1,具体包括:Autopools、Autopool Receipts、sJOE、Permissionless Pools、Fees now compound、迁移到新的 V2.1 流动性池 与 Maker 式限价订单。
此前报道,4 月 1 日,Trader Joe 宣布即将在 Avalanche、Arbitrum 和 BNBChain 上发布集中性 AMM Liquidity Book V2.1。[2023/4/7 13:50:14]
3.此时发生兑换,Controller合约使用transferFrom函数从_fromJar转入一定量的ptoken,但是由于fromJar合约是攻击者控制的地址,所以这里转入的ptoken是攻击者的假币。同时,因为合约从_fromJar合约中获取的token是DAI,然后合约会判断合约里的资金是否足够用于兑换,如果不够,会从策略池中赎回一定量的代币,然后转到Controller合约中。在本次的攻击中,合约中的DAI不足以用于兑换,此时合约会从策略池中提出不足的份额,凑够攻击者设定的2000万DAI。
ZigZag Exchange:alpha版本Mammoth池已部署至StarkNet的Goerli测试网:2月20日消息,以太坊L2 ZK Rollup订单簿DEX ZigZag Exchange发推称,其alpha版本Mammoth池已经部署在StarkNet的Goerli测试网上。StarkNet上的第一个Balancer AMM允许任何人在使用自定义代币组合创建池时以无许可的方式上线交易对。
此外,新的UI即将推出,下一个新增的将是做市商vault。白名单上的做市商将能够从池中提取流动性,并将其用于ZigZag的StarkNet订单簿,以确保任何规模的交易员的订单簿都保持厚度和流动性,从而将流动性CEX的体验带入ZigZag。[2022/2/20 10:04:17]
4.兑换继续,Controller合约在从策略池里提出DAI凑够攻击者设定的2000万DAI后,会调用_fromJar的withdraw函数,将攻击者在第三步转入的假ptokenburn掉,然后合约判断当前合约中_toJar合约指定的token的余额是多少,由于_toJar合约指定的token是DAI,Controller合约会判断合约中剩余DAI的数量,此时由于第三步Controller合约已凑齐2000万DAI,所以DAI的余额是2000万。这时Controller合约调用_toJar合约的deposit函数将2000万DAI转入攻击者控制的_toJar合约中。到此,攻击者完成获利。
“Value DeFi遭闪电贷攻击”系该协议中基于AMM的预言机bug导致:据PeckShield分析,“Value DeFi遭闪电贷攻击”是由于该协议中基于AMM的oracle(即Curve)中的一个bug。攻击步骤如下:
1.黑客从Aave进行了8万枚ETH的闪电贷;
2.在UniswapV2用WETH兑换了1.16亿枚DAI;
3.在UniswapV2将从Aave获得的8万枚ETH兑换成3100万USDT;
4.将2500万枚DAI存入Vault DeFi,铸造2490万枚pooltoken(给攻击者),以及2495.6万枚新3crv(由Vault DeFi托管);
5.在Curve将9000万枚DAI兑换为9028.5万枚USDC;
6.在Curve将3100万枚USDT兑换为1733万枚USDC;
7.销毁2490万枚铸造的池代币,以赎回3308.9万枚3crv代币,而不是24.956万枚(喂价被操纵)。
8.在Curve将1733万枚USDC兑换回3094万枚USDT;
9.在Curve将9028.5万枚USDC兑换回9092.7万枚DAI;
10.通过销毁33.089万枚3crv来赎回3311万枚DAI,从3pool中清除流动性。[2020/11/15 20:52:13]
总结
此次攻击中,攻击者通过调用Controller合约中的swapExactJarForJar函数时,伪造_fromJar和_toJar的合约地址,通过转入假币而换取合约中的真DAI,完成了一次攻击的过程。
往期回顾
闪电贷重入攻击,OUSD损失700万美金技术简析
如何使用闪电贷从0撬动百万美元?ValueDeFi协议闪电贷攻击简要分析
无中生有?DeFi协议Akropolis重入攻击简析
Acala创世已通过慢雾科技安全审计
BithumbGlobal入驻慢雾区,发布「安全漏洞与威胁情报赏金计划」
慢雾导航
慢雾科技官网
https://www.slowmist.com/
慢雾区官网
https://slowmist.io/
慢雾GitHub
https://github.com/slowmist
Telegram
https://t.me/slowmistteam
https://twitter.com/@slowmist_team
Medium
https://medium.com/@slowmist
币乎
https://bihu.com/people/586104
知识星球
https://t.zsxq.com/Q3zNvvF
火星号
http://t.cn/AiRkv4Gz
链闻号
https://www.chainnews.com/u/958260692213.htm
本文来源于非小号媒体平台:
慢雾科技
现已在非小号资讯平台发布68篇作品,
非小号开放平台欢迎币圈作者入驻
入驻指南:
/apply_guide/
本文网址:
/news/9558989.html
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表非小号的观点或立场
上一篇:
币安为何推出第三条链?这对BNB意味着什么?
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。