破译 BONq DAO 的 1.2 亿美元漏洞
文章开头分享一个区块链安全和智能合约审计的交流群:741631068
概括:
2023 年 2 月 1 日,BONq DAO 遭到预言机攻击。攻击者通过预言机操纵技术完全改变了 AllianceBlock 的 $ALBT 代币价格,估计损失约 1.2 亿美元。
BONq DAO:
Bonq 是一个非托管、去中心化和超额抵押的借贷平台,允许用户以自己的代币为抵押进行借贷。用户可以通过将自己的数字资产锁定在一个仅由用户控制的智能合约中,并铸造一种与欧元挂钩的低波动性支付硬币 BEUR,从而获得其流动性。
Bonq 协议由 Bonq DAO 管理。治理决策由 DAO 董事、DAO 成员和持有 BNQ 的 BNQ 代币持有者做出。 有关 Bonq DAO 的更多信息,请访问官方文档。
Tellor:
Tellor 是一种不可变的、分散的 Oracle 协议,它激励一个开放的、无需许可的数据报告和数据验证网络,确保数据可以由任何人提供并由每个人检查。BONq DAO 使用 Tellor 作为他们的价格预言机。
有关 Tellor 的更多信息,请访问官方文档。
漏洞分析及影响:
链上详情: Attacker’s Address: 0xcAcf2D28B2A5309e099f0C6e8C60Ec3dDf656642 Attacker’s Contract: 0xed596991ac5f1aa1858da66c67f7cfa76e54b5f1 TellorFlex Contract: 0x8f55D884CAD66B79e1a131f6bCB0e66f4fD84d5B BONq DAO Contract: 0x4248fd3e2c055a02117eb13de4276170003ca295
攻击交易: 0x31957ecc43774d19f54d9968e95c69c882468b46860f921668f2c55fadd51b19 攻击交易: 0xa02d0c3d16d6ee0e0b6a42c3cc91997c2b40c87d777136dedebe8ee0f47f32b1
攻击原因:
攻击的根本原因是 BONq 协议错误地将其WALBT / BEUR trove 与 Tellor Oracle 集成在一起。它立即使用报告给TellorFlexOracle的最新数据点。任何人都可以质押 10 个 TRB 代币并在 Tellor Oracle 中更新代币的价格。如果报告不良数据,报告者将不得不冒失去股份的风险。
攻击步骤:
1.攻击者首先在 TellorFlex 预言机上质押了 10 TRB,在那里他们将 WALBT 代币的价格错误地报价为 5000000 美元。然后他创建了一个 Trove,将 0.1 WALBT 代币转移到 Trove。
- 由于 BONq 合约使用来自 Oracle 的操纵数据,现在价格非常高。结果,攻击者借了 1 亿美元的 $BEUR 代币,并使用 Uniswap 将其转换为 USDC。 然后,他创建了第二个 WALBT 资产Trove ,并向其转移了 13.2 个 WALBT 代币。
- 在随后的交易中,攻击者再次在 TellorFlex 上从不同地址质押 10 TRB,但这次他报告的 WALBT 代币价格为 0.0000001 美元。
- 然后他以低代币价格清算了多个 WALBT 代币 troves ,他刚刚更新了这些代币。
- 两笔交易完成后,攻击者最终成功窃取了 1.138 亿个 WALBT 代币和 9800 万个 BEUR 代币。
怎么才能避免这次攻击?
Tellor Oracle 系统的不正确集成会消耗代币的即时价格反馈,这就是这里的问题。应在经过足够长的时间后使用价格源。
漏洞利用后:
Bonq Protocol 宣布他们已暂停该协议,目前正在研究解决方案。他们还在Mirror上发布了关于此事件的社区更新。
资金状况:
BEUR 代币被兑换成稳定币(53.4 万美元)并与 1.138 亿 WALBT 桥接到以太坊。2 月 3 日,攻击者开始通过 Tornado Cash 转移资金。 此时,攻击者目前钱包中还剩 18 美元。
版权声明
本文仅代表作者观点,不代表区块链技术网立场。
本文系作者授权本站发表,未经许可,不得转载。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。