又一例闪电贷攻击 Palmswap安全事件分析
在 2023 年 7 月 24 日,Palmswap 遭受了一次闪电贷攻击,导致失去了 901,455 USDT(约等于 901,000 美元)。由于项目的 PlpManager 合约存在漏洞,导致 USDP 计算错误,从而导致了此次攻击。
事件概述
在 2023 年 7 月 24 日,Palmswap 遭受了一次闪电贷攻击,导致损失约 901,000 美元。攻击最初是在区块 30248637 上由外部拥有的地址(EOA)0x5cf40 尝试发起的,但由于攻击者耗尽了 gas 费用而失败。
图片:失败的交易。来源:Bscscan
原始攻击者从以太坊网络的 Tornado Cash 中提取了 1 个 ETH。然后,将 1 个 ETH 兑换成 USDT 并通过跨链桥转移到币安智能链(BSC)。随后,将 USDT 兑换成 BNB 并用于创建攻击合约。然而,不幸的是,攻击者没有足够的 BNB 来覆盖这次攻击。
这让 EOA 0xf84ef 能够发现失败的交易,理解并复制了区块 30248638 的交易从而支付了正确数量的 gas 费用。
图片:成功交易。来源:Bscscan
由此可见,原始攻击未能成功完成,是因为攻击者没有额外的 0.4 BNB 来支付交易费用。
一旦 EOA 0xf84ef 成功利用漏洞,被盗资金就会被转移到了 EOA 0x0Fe74,目前仍在该地址中。
图像:被盗资金转移。来源:Bscscan
The Palmswap 团队已经联系持有被盗资金的钱包,并试图协商赏金。然而,BSC scan 似乎错误地标记了一个错误的钱包作为 Palmswap 的攻击者:
图片:链上消息提供赏金。来源:Bscscan
Palmswap 的官方 X 账户证实了其与黑客的谈判已经开始。
图片:Palmswap X 官方公告(来源:@Palmswaporg)
攻击过程
漏洞利用交易:0x62dba55054fa628845fecded658ff5b1ec1c5823f1a5e0118601aa455a30eac9
攻击者:0xf84efa8a9f7e68855cf17eaac9c2f97a9d131366
受漏洞影响的合约:0xa68f4b2c69c7f991c3237ba9b678d75368ccff8f
1.攻击者使用闪电贷借取了 3,000,000 USDT(价值 3,000,691.52 美元)。
2.通过函数 buyUSDP(),攻击者将 1,000,000 USDT 与 Vault 交换,获得了 996,769 Palm USD (USDP) 和 996,324 PALM LP (PLP)。随后,攻击者在质押 PLP 后获得了 996,324 fee PALM LP (fPLP)。
3.攻击者将剩余的 2,000,000 USDT 与 Vault 交换,得到 1,993,538 USDP,然后触发了 removeLiquidity() 函数,该函数将前一步中得到的 fPLP 与 Vault 交换,得到 1,962,472 PLP,然后进一步交换为 1,956,585 USDT(价值 1,957,036.45 美元)。由于 PlpManager 合约中 USDP 计算错误,Vault 错误地将更多的 USDT 返还给了攻击者。
图片:plpmanager.sol 源代码来源:BscScan
4.在第 3 步中,1,953,430 USDP 被交换成了 1,947,570 USDT(价值 $1,948,019.41)。
5.攻击者还清了通过闪电贷借入的最初 3,000,000 USDT,之后攻击者的钱包中还剩下 $901,445。
2023 年的闪电贷攻击
在 2023 年,已经发生了 128 起闪电贷攻击,相比之下,我们在 2022 年只记录了 101 起。随着攻击者寻求从智能合约漏洞中获取最大利润,闪电贷攻击在黑客中变得越来越受欢迎。
在此次事件发生时,闪电贷攻击已经导致 2.55 亿美元的损失,平均每起攻击导致约为 200 万美元的损失。在 7 月的前三周,我们已经记录了 22 起闪电贷攻击,造成共计 850 万美元的损失。2023 年每个月的平均闪电贷攻击次数为 18 次。目前,7 月的闪电贷事件数量正朝着创纪录的方向发展。目前,它与 2023 年 2 月持平,该月份也有 22 起攻击事件。
图表:2023 年闪电贷攻击导致的资金损失。数据来源:CertiK
图表:2023 年各月份的闪电贷攻击次数。数据来源:CertiK
结论
Palmswap 的闪电贷攻击是 CertiK 在 7 月份检测到的第二大恶意闪电贷攻击,该月份总共损失了 580 万美元。该攻击在 2023 年的恶意闪电贷攻击中排名第十。尽管 2023 年的闪电贷攻击数量没有减少,今年已经发生了 127 起,而 2022 年仅有 101 起,但当前损失的资金体量显著降低。这其中可能有几个原因。首先,2022 年上半年的市场条件导致被盗的资产在美元价值上更高。其次,由于闪电贷是一个相对较新的概念,用于防御这种攻击的安全策略仍在开发中,这意味着持有大量资金的项目成为攻击目标。2023 年的闪电贷攻击数量证明了项目方需要强大的安全措施和第三方审计。