Pickle Finance遭攻击损失近2000万美元DAI,未经严格审计的DeFi路在何方?_DAI:JAR

这一周,“科学家”们很忙。11月14日,黑客攻击ValueDeFi的MultiStablesVault池子,获得近740万美金的DAI;11月17日,黑客攻击OriginProtocol凭空铸造2050万枚OUSD。

昨日凌晨2时37分,当人们还在熟睡之时,黑客攻击DeFi协议PickleFinance,捞得近2000万美元的DAI。

加密货币再次登上央视DeFi沦为“科学家”的提款机?

11月18日,比特币冲击18,000美元,加密货币再次登上央视,此前,加密货币被誉为去中心化的金融工具首次登上央视。

德国早期投资公司Picus Capital宣布成立加密和Web3投资部门:12月7日消息,德国早期科技投资公司Picus Capital宣布成立加密和Web3投资部门Picus.xyz,致力于支持加密货币和Web3业务。此外,Picus.xyz还计划以股权融资和数字Token的形式为加密项目提供投资,虽然目前该部门尚未披露相关融投资信息,但Picus Capital此前已经投资了Web3游戏工作室Nefta和泛欧数字衍生品交易平台D2X。[2022/12/7 21:28:36]

据央视报道,从投资回报率的角度来看,加密货币是今年真正的“头号”投资产品。“彭博银河加密货币指数”上涨约65%,超过金价逾20%的涨幅,也超过全球股市、债市和大宗商品市场的收益率。涨幅较高的一个关键原因是以太坊币价暴涨,涨幅达到169.40%。

南非超市巨头Pick n Pay接受比特币支付:金色财经报道,南非最大的连锁超市之一Pick n Pay现在允许客户通过任何支持闪电网络的应用程序使用比特币付款。据《泰晤士报》报道,在过去五个月中,这种支付方式在10家商店进行了测试,现已在全国 39 家商店推出。[2022/11/1 12:06:14]

央视解释道:“以太坊币价格攀升得益于去中心化金融工具的使用增加,以及疫情肆虐后各国出台的巨额刺激措施,让投资者选择了比特币、以太坊等加密货币进行保值。”

一方面,加密货币市场频频发出利好消息;另一方面,DeFi项目因未经严格审计频遭攻击。

据悉,今年9月10日酸黄瓜PickleFinance启动流动性挖矿,9月14日V神发推文赞赏该项目,使其代币价格暴涨10倍。而遭到此次攻击后,酸黄瓜损失近价值2000万的DAI,同时24小时内其代币腰斩。

CoinmarketCap数据显示,PickleFinance代币的价格在24小时内,从22.7美元跌到10.2美元,它的市值在未销毁的情况下,24小时内蒸发了1220万美元。

Animoca旗下游戏开发商Grease Monkey Games获得Epic Mega Grant资金支持:8月19日消息,Animoca Brands旗下独立游戏开发商Grease Monkey Games已获得游戏巨头Epic Games激励计划Epic Mega Grant的资金支持,所获资金将用于继续开发其赛车链游Torque Drift 2。

Epic Mega Grant是Epic Games于2019年推出的虚幻引擎激励计划,旨在加快全球各地使用虚幻引擎、3D图形工具和开源软件的优秀团队与个人的工作进度。今年2月,Animoca Brands宣布已完成对独立游戏开发商Grease Monkey Games的100%收购。(Cointelegraph)[2022/8/19 12:36:11]

Paxos与PicPay合作面向巴西用户推出加密货币交易功能:金色财经报道,美元稳定币USDP发行方Paxos宣布已与巴西金融科技应用PicPay合作推出加密货币交易功能,将数字资产带给PicPay的3000万活跃用户。PicPay用户现在可以购买、出售和持有比特币、以太坊和USDP(Paxos完全受监管的美元支持的稳定币)。

PicPay还将支持加密货币支付功能,并将在今年晚些时候推出。(paxos.com)[2022/8/11 12:17:33]

发生了什么?

PeckShield通过追踪和分析发现,攻击者通过StrategyCmpdDaiV2.getSuppliedUnleveraged()函数查询资产余额1972万美元;随后,攻击者利用输入验证漏洞将StrategyCmpdDaiV2中的所有DAI提取到PickleJar:这个漏洞位于ControllerV4.swapExactJarForJar()函数中,其中包含两个既定的伪Jar。在未验证既定Jar的情况下,此步骤会将存入的所有DAI提取到PickleJar,并进行下一轮部署。接下来,攻击者调用earn()函数将提取的DAI部署到StrategyCmpdDaiV2中。在内部缓冲区管理中,黑客调用了三次earn()函数,在StrategyCmpdDaiV2中生成共计950,818,864.8211968枚cDAI;第一次调用earn()函数存入1976万枚DAI,铸造903,390,845.43581639枚cDAI;第二次调用earn()函数存入98.8万枚DAI,铸造45,169,542.27179081枚cDAI;第3次调用earn()函数存入4.9万枚DAI,铸造2,258,477.11358954枚cDAI;

白帽黑客:Pickle Finance攻击者通过伪造jar来窃取资金:11月22日消息,就Pickle Finance因漏洞损失近2000万美元一事,白帽黑客、DeFi Italy联合创始人Emiliano Bonassi表示,攻击者部署了“邪恶jar ”,这是一种智能合约,具有传统jar的相同界面,但是却做坏事。然后,攻击者在他的“邪恶jar ”和真正的cDAI jar之间交换了资金,偷走了价值2000万美元的存款。(Cointelegraph)[2020/11/22 21:38:31]

随后,攻击者调用ControllerV4.swapExactJarForJar()函数,利用任意代码执行将StrategyCmpdDaiV2中的所有cDAI提取出来,这一步中,_execute()函数有两个参数:_target和_data,_target指的是目标地址,即图中橘色所示部分;_target是一个加白的地址,攻击者没办法任意控制此地址,此处他们利用的是CurveProxyLogic,该加白的合约(能通过262行approvedJarConverter的检查。也就是说,能被完全控制的是参数_data,即图中紫色所示部分,_data中包含_execute()函数可调用的add_liquidity()函数,以及传给add_liquidity()的所有参数。

此时,咱们回到橘色框里的curve、curveFunctionSig、curvePoolSize、curveUnderlyingIndex、underlying,其中curve是一个地址,它表示橘色框里倒数第二行中的curve.call()函数可以执行任意一个合约,因此,攻击者把curve设置成StrategyCmpdDaiV2,curveFunctionSig表示除了刚刚指定合约外,还可以指定要调用此合约的函数,通过此操作攻击者成功调用StrategyCmpdDaiV2.withdraw()函数。

接下来就是组织蓝色框中的函数StrategyCmpdDaiV2.withdraw()的参数_asset,蓝色框中的_asset实际上是橘色框框里的liquidity,liquidity由传入函数add_liquidity()的underlying得来,underlying是另一个伪造的合约地址,它的balanceOf()函数会返回cDAI的地址。攻击者将cDAI的地址设置成liquidity,然后,liquidity被打包到callData里再传给withdraw()函数,使得withdraw()函数取出的_asset就是cDAI的地址。值得注意的是,如果want==_asset,蓝色框里的函数就不执行,此设计的目的在于want是不允许被取出的,所以攻击者刻意取出对应的cDAI。

最后,执行回ControllerV4.swapExactJarForJar()函数,所提取的cDAI被存入恶意的_toJar.在_toJar.deposit()函数里,所有950,818,864.8211968枚cDAI立即转入黑客地址。

未经严格审计的DeFi能走多远?

针对此次PickleFinance被攻击事件,其审计公司Haechi发推文称,今年10月对其代码进行了一次审计,但是攻击者利用的漏洞发生在新创建的智能合约中,而不是接受安全审计的智能合约中。与此次漏洞攻击相关的代码存在于controller-v4.sol中的swapExactJarForJar,而非此前审计的controller-v3.sol中,该智能合约不包含swapExactJarForJar。

对此,PeckShield相关负责人表示:“有一些DeFi项目在做过第一次智能合约安全审计后,可能会为了快速上线主网,省略审计新增的智能合约,这种省略或能争取短时的利益,但就像此次攻击一样最终因小失大。DeFi们在上线之前一定要确保代码进行彻底地审计和研究,防范各种可能发生的风险。”

未经严格审计即上线的DeFi项目能走多远?

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

水星链

[0:15ms0-1:96ms