千里之堤毁于蚁穴 Fortress Protocol 惨遭攻击
前言
北京时间 2022 年 5 月 9 日,知道创宇区块链安全实验室监测到 BSC 链上借贷协议 Fortress Protocol 因预言机问题被攻击,这是最近实验室检测到的第三起预言机攻击事件,损失包括 1,048 枚 ETH 和 400,000 枚 DAI,共计约300W 美元,目前已使用 AnySwap 和 Celer 跨链到以太坊利用 Tornado 进行混币。
知道创宇区块链安全实验室第一时间跟踪本次事件并分析。

基础信息
被攻击Comtroller:0x01bfa5c99326464b8a1e1d411bb4783bb91ea629
被攻击预言机地址:0xc11b687cd6061a6516e23769e4657b6efa25d78e
攻击者地址:0xA6AF2872176320015f8ddB2ba013B38Cb35d22Ad
攻击合约:0xcD337b920678cF35143322Ab31ab8977C3463a45
tx:0x13d19809b19ac512da6d110764caee75e2157ea62cb70937c8d9471afcb061bf
漏洞分析
该项目是依旧是 Compound 的仿盘,但由于项目方在预言机实现注释了原本存在的检查导致不需要足够的 power 便可以通过0xc11b687cd6061a6516e23769e4657b6efa25d78e#submit篡改价格;

攻击者通过改变 FTS 在协议中的价格借走了其他池子中的 资产,市场中的借贷池如下:

攻击流程
1、攻击者购买了 FTS 代币并通过提案投票支持添加 FTS 作为抵押物,提案 ID为 11;

2、通过调用预言机 submit 函数改变 FTS 的价格;

3、攻击者使用 100 个 FTS 作为抵押物调用 enterMarket 进入市场;

4、由于市场价格对于 FTS 的价值计算出现问题,攻击者使用该抵押品直接调用 borrow 进行借款;

借取的资产:

5、由于 100 个 FTS 没什么价值不需要取回,而攻击者后续仍将其他用于第一步的 FTS 还在 Pancake 兑换进行了彻底的套现。

总结
本次攻击原因是 Compound 仿盘在预言机使用时出现了问题。近期大量Compound 仿盘项目被攻击,我们敦促所有 Fork 了 Compound 的项目方主动自查,目前已知的攻击主要归结于如下几个问题:

千里之堤毁于蚁穴。从内部调用可见,本次攻击者使用 getAllMarkets 依次遍历拿取了全部市场的底层资产并将 FTS 彻底套现。建议项目方对于自己有不一样的实现上一定要建立在充分的理解和足够的第三方安全审计上。一点小的误差将可能导致项目的全盘损失。
郑重声明:本文版权归原作者所有,转载文章仅为传播信息之目的,不构成任何投资建议,如有侵权行为,请第一时间联络我们修改或删除,多谢。
早报 | Lighter 24 小时交易量突破 110 亿美元;Circle Q3 财报公布;Strategy 美股市值跌破其 BTC 持仓价值
整理:ChainCatcher 重要资讯: 币安将停止币安直播平台服务,币安广场将继续提供直播服务...
24H热门币种与要闻 | Sui将推出原生稳定币USDsui;美SEC拟推出基于Howey测试的代币分类法(11月13日)
1、CEX 热门币种 CEX 成交额 Top 10 及 24 小时涨跌幅: BNB -0.78%...