PeckShield:解析 Eleven Finance 遭闪电贷攻击的原因及过程

DeFi / 3年前 / 6492 文 / wexun

此前 Impossible Finance 的攻击者这次又利用 Eleven Finance 的漏洞,通过闪电贷攻击获利近 52 万美元。原文标题:《逻辑漏洞连环...

此前 Impossible Finance 的攻击者这次又利用 Eleven Finance 的漏洞,通过闪电贷攻击获利近 52 万美元。

原文标题:《逻辑漏洞连环击 攻击者盯上了 Eleven Finance 这块羊毛地》
撰文:PeckShield

北京时间 6 月 23 日,PeckShield「派盾」预警显示,BSC 链上收益聚合器 Eleven Finance 中与 Nerve 相关的机枪池遭到闪电贷攻击。

PeckShield 「派盾」通过追踪和分析发现,此次攻击源于 Eleven Finance 的 Emergencyburn() 计算余额错误,且未执行销毁机制,攻击者获利近 460 万美元。

有趣的是,几个小时后,昨天刚从 Impossible Finance 薅得近 50 万美元的攻击者,利用 Eleven Finance 的漏洞,通过闪电贷攻击获利近 52 万美元。

第一个攻击者创建了 4 个合约,进行了 5 次攻击。

PeckShield 以合约 0x8b29 为例简述攻击过程:

首先,攻击者从 PancakeSwap 中借出 953,869.6 BUSD,并将其中 340,631.2 BUSD 兑换 474,387.75 NRV;

随后,攻击者将 474,378.75 Nerve 和 366,962 BUSD 在 PancakeSwap 中添加流动性,获得 411,515.3 LP token;

攻击者将 411,515.3 LP token 放入 Eleven Finance 中与 Nerve 相关的机枪池获得 411,515.3 11 nrvbusd LP token;

PeckShield:解析 Eleven Finance 遭闪电贷攻击的原因及过程

当攻击者提取 Pancake LP token 时,ElevenNeverSellVault 中的 Emergencyburn() 函数本应销毁 11 nrvbusd LP token 换回 Pancake LP token,但 Emergencyburn() 并未执行 burn (销毁)这个动作,使得攻击者利用此逻辑错误获利。

该攻击者又创建了 0x01ea 合约,借出 30.9 BTCB;0xc0ef 合约借出 285.66 ETH 以及 0x87E9 借出两笔闪电贷 2,411,889.87 BUSD 和 7,693 BUSD 进行攻击。

攻击者通过利用集成的第三方合约功能进行攻击,这类问题较难检测到,例如,此前 PeckShield「派盾」帮助 Rari Capital 避免更大损失案例一样,在定位漏洞根源时,由于合约交互容易干扰安全人员的判断,PeckShield「派盾」建议,开发人员应谨慎与任意第三方协议进行交互。

DeFi 协议开发人员在集成第三方协议并将其部署到生产运行之前,应充分了解合约及其分支项目的运行情况。DeFi 协议开发人员应在项目上线前,先将其部署在测试网上进行测试并及时检查交易记录中的异常情况。

「太快了,攻击者从合约部署,到完成攻击,甚至到再次发起攻击,这一系列操作有时候快得让人有些反应不过来。」PeckShield「派盾」安全人员表示,「因此,事前审计,事中响应,事后提出及时有效的安全方案都是缺一不可的,谁都不知道攻击者会不会在下一秒发起攻击。」

站点声明:本站转载作品版权归原作者及来源网站所有,所刊发文章除注明来源外,均为用户投稿,观点仅代表作者本人,绝不代表本站赞同其观点或证实其描述。


提示:投资有风险,入市须谨慎。本资讯不作为投资理财建议。

评论列表
共0条评论
  • 这篇文章还没有收到评论,赶紧来抢沙发吧~