Curve这次遭遇的漏洞利用,或许为黑客们打开了新思路
随着一场漏洞利用事件的发生,DeFi 行业陷入了一场混乱。Curve Finance,这个 DeFi 行业的巨头,成为了严重「攻击」的目标,诸如 alETH/msETH/pETH 的多个稳定币池岌岌可危。据不完全统计,该漏洞利用事件已造成 Alchemix、JPEG'd、MetronomeDAO、deBridge、Ellipsis 和 CRV/ETH 池累计损失 5200 万美元,整个市场的信心被严重撼动。
Vyper 0.2.15、0.2.16 和 0.3.0 版本的重入锁失效,Vyper 官方文档安装界面推荐的也是一个错误的版本。其他使用 Vyper 编译器的项目方也赶紧进行了自查,试图确保自己不会成为下一个受害者。随着漏洞利用事件的源头被逐渐揭露,市场逐渐认识到,这次的危机并不仅意味着一次普通的黑客漏洞利用事件,更是展露出整个底层堆栈对整个 DeFi 行业潜在的巨大风险。
和以往相比,前段时间的黑客事件数量越来越少,这与市场的繁荣程度脱不开关系。DeFi summer 和 NFT summer 时期,每周都有新的十亿美元协议推出,相比之下如今的市场十分萎缩。与此同时的,黑客们找到漏洞利用或者制造大笔的攻击事件的市场机会也在逐渐萎缩,这意味着黑客需要更新的、未开发的切入口来探索。
回归「第一性原理」的黑客们在更底层的编译器上找到了一个完美的切入口,去馋食 DeFi 市场上巨大可口的「蛋糕」,更底层的编译器成为了黑客们更「聪明」的选择。就这次事件及其暴露出的相关问题,BlockBeats 采访了智能合约开发者 Box(@BoxMrChen)和 BTX 研究员 Derek(@begas_btxcap)。
Curve 事件是怎么发生的?
Aave 及 Lens 的创始人 Stani(@StaniKulechov)在社交媒体发表了自己对事件的看法:「这对 Curve 和 DeFi 来说是一个不幸的挫折。虽然 DeFi 是一个可以做出贡献的开放空间,但要做到绝对正确是很困难的,而且风险很高。在 Curve 的案例中,他们在协议级别上做对了。」
Curve 遭遇的漏洞利用事件是最古老,也许是最常见的以太坊智能合约攻击形式之一,重入攻击。重入攻击允许攻击者反复调用智能合约的某一函数,而不等该函数的前一个调用完成。这样,他们就可以不断利用漏洞提款,直至受害合约资金耗尽。
重入锁与 CEI 原则
举个简单的例子来说明重入攻击:一家银行总共拥有 10 万现金。但这家银行有一个很大的漏洞,每当人们取钱时,银行工作人员并不立即更新账户余额,而是等到一天结束时才进行核对和更新。这时有人发现了这个漏洞,他在银行开了一个账户,先存入 1000 元,然后取出 1000 元,过 5 分钟再取出 1000 元。由于银行没有实时更新余额,系统会在进行核对和更新前认为他账户还有 1000 元。通过反复操作,最终该用户取出了银行里全部的 10 万美元现金。到这天结束时银行才发现被利用了这个漏洞。
- 星际资讯
免责声明:投资有风险,入市须谨慎。本资讯不作为投资建议。