Pickle Finance被盗2000万美元的启示
注:本周六,DeFi协议Pickle Finance因其Jar策略中存在的漏洞,而被黑客盗走了2000万美元,此后,由Rekt、Stake Capital 团队成员、samczsun等白帽黑客组成的临时小队对Pickle协议内剩余易受攻击的5000万美元用户资金进行了抢救,作者Rekt对这次事件进行了总结。
金融的发酵还在继续,即使是酸黄瓜也有保质期。
Pickle Finance因为一个假“Pickle jar”漏洞而被黑客盗走了1970万DAI。
Pickle Finance已成为了这次黑客大流行病的最新受害者。
然而,这一次,有一些不同 ...
当Twitter上的人们试图接受另一次金融灾难时,Rekt 开始了调查。
我们联系了Stake Capital 团队,他们查看了代码并警告我们其他Pickle jar可能面临风险。
随后,我们迅速联系了Pickle Finance团队,并在Sketch Capital(@bneiluj,@vasa_developer)成员以及有经验的开发者@samczsun,@emilianobonassi之间建立了一个作战室。
在我们进行调查后,很明显,我们看到的是与最近几周的DeFi乐高风格黑客事件非常不同的东西。
这不是一次套利 。
攻击者对Solidity和EVM有着很好的了解,并且可能已经密切关注了一段时间的Yearn代码,因为这个漏洞与一个月前在Yearn中发现的漏洞类似。
从本质上说,Pickle Jar就是Yearn yVaults的分叉,这些Jar是由一个名为the Controller的合约控制的,该合约具有允许用户在Jar之间交换资产的功能。
不幸的是,Pickle并没有设置白名单允许哪个Jar使用这个交换功能。
黑客制造了一个假的Pickle Jar,并交换了原Jar中的资金。这是有可能的,因为
swapExactJarForJar
没有检查“白名单”jar。
Pickle Finance团队知道他们需要帮助,并非常愿意与其他人合作,以防任何进一步的损害。
Pickle曾试图调用“withdrawAll”函数,但这笔交易失败了。
这个取款请求需要通过治理DAO,而这存在12个小时的时间锁(timelock)。
只有一个Pickle多重签名组的成员有能力绕过这个时间锁,而当时他们正在睡觉。
这意味着管理者无法清空Pickle Jar,但这并不能保护他们免受另一次黑客攻击。
随后,Pickle Finance和Curve发出警告,要求用户立即从Pickle中提取资金,然而,潜在易受攻击的Pickle jar中还有5000万美元 ,而白帽团队调查了这一漏洞,并检查了剩余资金的安全性。
救援小队要么叫醒睡着的管理员,要么自己抽干这些jar内的资金。
这个小队必须克服5大挑战:
- 让Pickle Finance团队跨多个时区聚集在一起,通过将交易推到12小时时间锁(通过6个多重签名中的3个)提取资金,以拯救这些资金;
- 让成千上万的投资者提出他们的资金(并阻止他们在资金池TVL下降和APY膨胀到1000%以上时再进行再投资);
- 对其他jar进行安全检查,看看是否有可能发生更多攻击;
- 在任何人再次攻击这些jar之前,复制这种攻击,将资金转移出来;
- 在试图挽救剩余的5000万美元资金时,避免被抢先交易;
显然,与保护者相比,攻击者的动机更为一致,那白帽黑客为什么要协调这样一次艰苦的反击?
荣誉归白帽,资金却归黑客,这是不可持续的 。
要让这些白帽变黑,还需要多久时间?
分析
通过发布这些技术信息,我们意识到我们可能会引发新的黑客攻击。我们与Pickle Finance及其他开发人员讨论了潜在的后果,并确认我们不知道Pickle的任何运营分叉可能会受到模仿攻击的影响。
选择性披露会带来责任的一个方面,所以我们决定自由发布这些信息。如果有任何协议在运行Pickle的代码分叉,他们应该要意识到正在发生的事件,并采取预防措施来防止黑客模仿者。
下面的图表是由@vasa_develop创建的。
原始文件可以在 这里 找到。
关于更多详情,请参阅此处官方的 调查报告 。
看看相对较新的保险协议Cover Protocol如何处理这一事件是有趣的,这对他们的第一笔索赔来说是一笔巨大的金额。你可以在 这里 找到保险索赔的快照投票。
腌渍酸黄瓜是一个缓慢的过程。
几十年来,“敏捷开发”的倡导者一直在告诉开发人员,要快速行动,迅速失败,并发布最小的可行产品。
这些想法不适合在敌对环境中建设。
在DeFi中迅速失败是要付出巨大代价的 。
我们不需要另一种方法,我们需要一个范式转换,允许快速迭代,同时减少被攻击的可能性。
我们不要再认为“拥有审计就拥有了安全的保证”,在大多数情况下,它是应用于移动目标的检查表式安全措施的快照,这些目标通常在项目进入主网后不久就演变成了其他东西。
MixBytes(10月3日)和Haechi(10月20日)的审计是在添加ControllerV4(10月23日)之前完成的,而ControllerV4是这次攻击的关键向量之一。
未来金融界最伟大的团队,将是那些能够在快速迭代和安全迭代之间进行权衡的团队,其能够定期对其可组合的货币机器人进行持续审计和严格测试 。
审计应该是一个定期的、持续的过程,而不是在启动前打勾。新的DeFi协议会不断变化和适应,而安全审计应反映这一点。
毕竟,腌黄瓜只有在罐子里才能保持新鲜...
原文:https://rekt.ghost.io/pickle-finance-rekt/ 作者:rekt 翻译:洒脱喜