• 0

  • 598

  • 收藏

2021 年迄今 DeFi 已发生 82 起安全问题,初始被盗资金超 18 亿美元

区块链资讯观点

分享区块链行业观点

2星期前

原文作者:chenchenzhu,欧科云链

区块链作为过去十年最伟大的技术发展之一,除了为传统金融、跨境支付与结算、供应链、征信与反欺诈、用户隐私等应用领域带来革新性进展外,受区块链原生思想、文化而孕育出的去中心化金融(DeFi)以颠覆者的形象崛起,旨在构建一个无需第三方、公平自主、对所有人开放的金融体系。DeFi 被认为具有无限活力和可能,有望重构金融交易和服务模式,在经历了 2 年多的蛰伏期后,DeFi 于 2020 年 6 月底爆发,迅速发展壮大,成了当前区块链世界备受瞩目、金融领域落地最大,也是采用率最高的应用之一。但随着 DeFi 短时间内吸引了成百上千万资金,也让它们成为了大量黑客攻击的目标,链上安全事故频发。

据公开资料显示,2020 年 DeFi 攻击事件达到了 60 起,损失逾 2.5 亿美元,其中至少 10 起为闪电贷攻击,包括 bZx、Balancer、Harvest、Akropolis、Cheese Bank、Value DeFi 和 Origin Protocol 等多个 DeFi 项⽬遭到攻击。

尽管仍有近 2 个月的时间 2021 年才宣告结束,但据 OKLink 不完全统计,截至 11 月 7 日,2021 年年初至今已经发生了 82 起链上安全问题,初始被盗资金约 18.16 亿美元,但其中约有 7 亿美元已经归还,被盗资金的总额达到了 11.16 亿美元。

与 2020 年对比明显的除了攻击事件显著增多外,单个项目被盗金额在量级上也有了显著提升。据 Rekt 排行榜显示,前十大 D 黑客攻击事件中,仅有 1 起发生在 2020 年。排名前三的分别是 Poly Network(6.11 亿美元)、Compound(1.47 亿美元)以及 Cream Finance(1.3 亿美元)。

数据来源:rekt.news

其中仅 Poly Network 被盗资金就超过了 2020 年全年,不过好在攻击该项目的黑客事后已归还全部被盗资金。最近一次大规模的攻击,当属于 10 月 28 日 Cream Finance 遭受到的闪电贷攻击,损失超过 1.3 亿美元,被盗的资金主要是 Cream LP 代币和其他 ERC-20 代币。据了解,这并非是 Cream Finance 遭受的初次攻击,去掉本次,仅 2021 年,Cream Finance 就因闪电贷、合约漏洞亦或是被其他 DeFi 项目连带影响,就已经遭受了 3 次攻击,损失共计 5,740 万美元。

从 2021 年年初至今的 82 起安全事件中,我们发现闪电贷是黑客最常用的手段,占到了 33 起,其次是合约漏洞,共 27 起。此外,因激励机制变更、私钥或助记词泄露(保管不当)等因素也会导致黑客攻击。接下来,我们将结合具体案例,为大家展现。

1. Cream Finance 再遭闪电贷攻击,损失 1.3 亿美元

10 月 27 日,DeFi 借贷协议 Cream Finance 遭到闪电贷攻击,攻击者从 C.R.E.A.M. Ethereum v1 市场取走约 1.3 亿美元代币。

闪电贷是指不需要抵押资产,在同一个区块内完成借款、还款的一种贷款方式。需要说明的是,闪电贷本身只是一种工具,没有好坏之分,但因为闪电贷不时出现在与 DeFi 暴雷相关的新闻中,因此在很多不明就里的人眼中,闪电贷似乎成为了恶意攻击者的帮凶,这其实是对闪电贷的误解。

事实上,闪电贷甚至可以称得上是智能合约上的一个伟大创新。由于 DeFi 存在结构性缺陷,所以在大多数抵押借贷协议里都要求用户超额质押资产,这就意味着资金利用率会变得十分低下。闪电贷的出现,大大降低了资金成本,用户可以在不需要任何抵押借款的情况下,只需付出极小的手续费(如 AAVE 上的闪电贷手续费仅为 0.09%),就能获得巨额的资金,用户在借到款后,可以利用借到的资金进行其他操作,在交易结束时,只需将借款及手续费及时归还,否则该笔交易就会回滚,犹如什么都没有发生过,因此它可以用于套利、交换抵押品和自我清算等。

针对此次 Cream Finance 攻击,攻击者从 MakerDAO 闪电贷借出 5 亿枚 DAI,接着质押兑换成 4.51 亿枚 yDAI,再将 yDAI 在 Curve ySwap 中添加流动性获得 4.47 亿枚 yDAI+yUSDC+yUSDT+yTUSD。

图片来源:OKLink

然后攻击者将 4.47 亿枚 yDAI+yUSDC+yUSDT+yTUSD 质押并获取近 4.47 亿枚 yUSD,通过在 crYUSD 中调用铸币函数,铸造了近 223.38 亿枚 crYUSD。

图片来源:OKLink

随后攻击合约创建了攻击合约 2,并调用攻击合约 2 的 flashLoanAAVE() 函数,先从 AAVE 借入 52.41 万 WETH,其中 6,000 WETH 发给攻击合约 0x961D,剩余的 WETH 存入 Cream 获得 crETH。使用攻击合约 2 借出近 4.47 亿枚 yUSD,重复两次,并以此铸造 crYUSD,铸币完成后将 crYUSD 转给攻击合约 0x961D。攻击合约 2 0xf701 第三次又借出近 4.47 亿枚 yUSD,此次直接转给攻击合约 0x961D。

图片来源:OKLink

攻击者使用 1,873 枚 WETH 在 Uniswap V3 中获得 745.30 万枚 USDC,再通过 Curve.fi 将 372.65 万枚 USDC 换成 338.33 万枚 DUSD,然后将 DUSD 换成 4.50 亿枚 yDAI+yUSDC+yUSDT+yTUSD。

图片来源:OKLink

随后将 843.15 万枚 yDAI+yUSDC+yUSDT+yTUSD 直接发送回 yUSD 抵押池,导致 Cream 协议对抵押资产 yUSD 的价值计算剧增,最终借出大量 CRETH2、xSUSHI、PERP 等共 15 种资产,并归还攻击合约 2 借出的 WETH 闪电贷。

图片来源:OKLink

最后赎回各资产成 DAI,归还攻击合约 0x961D 的闪电贷。

图片来源:OKLink

本次攻击是典型的闪电贷价格操控,通过闪电贷获取大量资金后,利用合约设计缺陷,大幅改变价格导致获利,此次是 Cream Finance 今年遭受的第四次黑客攻击。发生闪电贷攻击,实质是发起闪电贷的攻击者只是利用了闪电贷的特点,在短时间内借出资金、交易、然后存入并再次借出大量的资金,这样他们就可以人为地在某一个 DEX 里操纵特定加密资产的价格,进而从中获利。也就是说,单单就攻击者在闪电贷流程里的操作来看,其本身是合规的,但是从结果来看,这一行为损害了智能合约的公平性和其他用户的利益。

2. 史上最大的 DeFi 被盗案 Poly Network

2021 年 8 月 10 日,异构链跨链互操作协议 Poly Network 遭到攻击,使用该协议的 O3 Swap 损失惨重,据 OKLink 链上浏览器显示,30 多分钟的时间里,黑客带走了共计 6.1 亿美元的加密资产,分批转出至 3 个地址。转至 0x0d6e 的 BSC 地址的资金超 2.5 亿美元,转至 0xc8a6 的以太坊地址有超 2.7 亿美元,而转至 0x5dc3 地址的也有超 8,500 万美元。

本次攻击主要是黑客利用了 EthCrossChainManager 合约中存在的漏洞,EthCrossChainData 合约的 Keeper 权限可由 EthCrossChainManager 合约进行修改,而 EthCrossChainManager 合约的 verifyHeaderAndExecuteTx 函数可以被任何用户调用进行交易执行,并且在其内部进行 call 调用时,恶意用户又可以通过_executeCrossChainTx 函数传入自行构造的数据,这样黑客通过精心构造的数据就能把 EthCrossChainData 的 Keeper 更改为自己指定地址,从而取出 LockProxy 合约中的代币。

以下是欧科云链链上天眼团队绘制的被攻击过程。

由于此次事件涉及的 6.1 亿美元太过引人注目,事件发生后各大平台都在积极响应,试图阻止黑客利用平台特性将赃款转移,天眼团队也在合规的前提下,与安全团队同步相关攻击者信息,为追踪攻击者争取了宝贵时间。

据 Dune Analytics 数据显示,当前跨链桥的 TVL 超过了 388 亿美元,而跨链桥作为一个新兴领域,它的诞生虽然打破了链与链之间的孤岛现象,但由于其发展速度和庞大的资金体量,再加上链上项目水平参差,自然是成了黑客眼中的「香饽饽」。

7 月 11 日,跨链项目 ChainSwap 遭到黑客攻击,在该桥部署的超 20 个项目的代币都遭到黑客盗取,损失约合 440 万美元。本次安全事故发生的主要原因是每个代币在跨链转移时有代理合约,黑客调用合约时需在_chargeFee 中支付 0.005 ETH 作为费用,但这个过程没有真正的身份验证审查,只需一个签名,问题可能是_decreaseAuthQuota 函数,如果当天签名人的配额已完成,该函数就会恢复。但是每个人似乎都从默认配额开始。所以攻击者每次只需用不同的地址签名来规避这一点。然后在_receive 函数中将「volume」参数传输到「to」攻击者地址。

而就在一天后,另一知名跨链项目 AnySwap 也遭到攻击,其新推出的 V3 跨链流动性池损失 239 万 USDC 和 550 万 MIM,总损失超过了 790 万美元。根据 AnySwap 公告解释,在 BSC 上的 V3 路由器 MPC 账户下检测到两个 V3 路由器交易,这两个交易具有相同的 R 值签名,而黑客反推到这个 MPC 账户的私钥,团队已经修复代码以避免使用相同的 R 签名。

Poly NetWork 不是跨链桥安全事件的第一起,也不会是最后一起,由于 TVL 的迅速壮大,跨链桥必然会继续成为安全事件的高发地,Poly Network 的结尾虽然以黑客归还全部资产告终,但本次事件也是一次警示,即跨链桥作为更为复杂的业务场景,对合约撰写和审计的要求应更为严格,而管理员权限、私钥授权等安全问题也需更加重视。

3. BXH 或因私钥泄露被盗

10 月 30 日,多链部署的去中心化交易协议 BXH 被盗,1.39 亿美元的加密资产被洗劫一空。据了解,此次安全事故发生在 BSC 链上的 BXH 协议,出于谨慎考量,BXH 官方也暂停了 Heco、OEC 相关存取款服务。

事故发生后的第一时间,天眼团队便第一时间监控了黑客在 BSC、以太坊和比特币链上的地址,并预警交易所和钱包注意加强地址监控,避免相关恶意资金流入平台。经过复盘,天眼团队分析,黑客在 10 月 27 日部署了 0x8877 这一攻击合约,接着 10 月 29 日 BXH 管理员地址 0x5614 通过 grantRole 赋予了黑客攻击合约 0x8877 管理权限。10 月 30 日,黑客通过攻击合约的管理权限将 BXH 资金库中的资产转出。

简单理解就是,有人拿到了 BXH 管理员的私钥,再将另一个地址设置为管理员,然后通过这另一个地址把钱都提走了,此番调查结果一出,引起哗然,毕竟这样的盗币手段颇为原始,黑客都不需要攻克复杂的智能合约,仅靠私钥就提取了 1.39 亿美元的资金。

BXH 链上资产被盗,也产生了一系列的连锁反应,依赖于 BXH 流动性的相关机枪池也受到了牵连,CoinWind 和 Earn DeFi 接连关闭了充提。10 月 31 日晚,BXH 在官方媒体上公示了其在 BSC 链上的资金池剩余资产,包括 USDT、USDC、BTC、ETH、BUSD、MDX 在内,总计约 1.84 亿美元。

截至 11 月 9 日,BXH 的最新动态是,项目方表示,在持续测试、消除潜在风险,并完成私钥验证的多签升级后,项目在 OEC 上的活动已经恢复正常。

4. Rug Pull 攻击

作为 DeFi 圈中常被提及的术语,Rug Pull 指的是项目方撤出支持、DEX 流动性池或突然放弃一个项目,毫无征兆地卷走投资者的资金,Rug Pull 多发生于 DEX,是 DeFi 领域较为典型的骗局。骗子们会在流动性池中投入大量的资金,并在社交媒体上发布诱人的广告吸引投资者入局,一旦投资者将代币存入这些流动性池中,骗子就会「抽地毯般」地把池子里的代币全部提走,通常是恶意团队攻击的最后一步,也是一种常见的退出骗局。由于 Rug Pull 在技术上实施起来颇为简单,通常会是一些土狗项目(低投入、无审计、Copy Cat)在打造出所谓「一夜暴富」的假象骗散户上车后惯常的技俩。

7 月 15 日,数字收藏品平台 Bondly Finance 遭受攻击,在以太坊网络铸造了 3.73 亿枚 BONDLY,导致代币价格下跌,损失 590 万美元,此举被质疑为 Rug Pull。据项目方自身披露,攻击者通过精心策划的策略获得了 Bondly Finance CEO Brandon Smith 密码账户的访问权限,密码帐户包含他的硬件钱包的助记词恢复短语,复制后允许攻击者访问 BONDLY 智能合约,以及也被泄露的公司钱包。Brandon 保持对 Bondly 大部分企业钱包的独家访问权。这些钱包包括所有去中心化交易所流动性池代币、投资账户代币、抵押储备代币、生态基金代币、工资单、公司储备金、所有 NFT 钱包和 Opensea 储备金。

结语

随着区块链在全球范围内的迅速发展,相应的链上安全事件也在不断滋生。与去年相比,DeFi 领域的安全形势依旧严峻,链上问题不容小觑,相较于新型漏洞,我们发现大多数黑客攻击都属于已经出现过的漏洞,EVM 兼容链的崛起,使得黑客攻击目标从以太坊转移至其他链,但攻击手法相差无几,一方面项目需对自身提高要求,在开发,包括第三方安全公司在审计时需多做考虑,另一方面也显示出了 DeFi 现存的雷同项目问题,众多项目或直接 fork,或在 fork 的基础上进行创新,而这样的结果很容易带来隐匿风险或潜藏漏洞,例如此前 BSC 链上的 AutoShark Finance 和 Merlin 接连遭到闪电贷攻击,分别损失 75 万美元和 680 万美元,原因是 fork 的 Pancake Bunny,导致存在相同风险而被套利。

希望每一次安全事件都能给行业带来警示,尽管我们无法规避所有问题,但对于频繁发生的漏洞,是否应当引起重视,加强对合约审计、风控、应急等方面的落实。链上安全问题应当获得最高的重视,而不是为了盲目追求热点急于上线产品,没有做好项目安全性审查,这既是对用户资产的不负责任,也是对区块链链上生态的消耗,而用户也需增强自身的安全意识,做好 DYOR,如匿名团队、无审计、明显的 Copy Cat 类的项目,就可以纳入自己的避坑点,将初级风险规避在外。

免责声明:文章版权归原作者所有,其内容与观点不代表Unitimes立场,亦不构成任何投资意见或建议。

598

相关文章推荐

未登录头像

暂无评论