预言机变成链上「套利」专用工具?Fortress Loans「被薅羊毛」攻击事件分析_CHA:AIN

北京时间2022年5月9日凌晨4:34:42,CertiK安全技术团队监测到FortressLoans遭到攻击。

北京时间5月9日上午10:05,JetFuelFinance也正式确认了关于预言机操纵的消息,并发布了可疑地址和交易的链接:

目前该项目损失约1,048.1?ETH和400,000DAI。攻击者通过DAO和预言机操纵来盗取资产以完成本次攻击,并通过TornadoCash将被盗资产转出。

相关地址

攻击者地址:https://bscscan.com/address/0xA6AF2872176320015f8ddB2ba013B38Cb35d22Ad

DeFi预言机平台RedStone完成700万美元融资:金色财经报道,DeFi预言机平台RedStone完成700万美元融资,Lemniscap在Coinbase Ventures、Blockchain Capital、Distributed Global、Lattice、Arweave、Bering Waters、Maven11和SevenX Ventures的支持下领导了种子轮融资。RedStone目前为包括Ethereum、Avalanche和Polygon在内的30多个区块链提供数据馈送,将利用这笔资金加快推出其最新产品套件,以改善区块链与现实世界数据之间的连接性。[2022/8/30 12:56:38]

攻击者合约:

Moonriver宣布集成跨链数据预言机平台Band Protocol:10月7日消息,波卡生态智能合约平台Moonbeam的Kusama平行链Moonriver宣布已集成Band Protocol。Band Protocol是一个跨链数据预言机平台,聚合现实世界的数据和API,将它们连接到智能合约。该集成允许Band Protocol的价格预言机基础设施Moonriver生态系统中DeFi协议上的现有部署提供无需许可且安全的数据馈送,这些部署包括稳定币掉期、去中心化交易所、游戏、借贷协议以及NFT项目。(CryptoDaily)[2021/10/7 20:11:05]

https://bscscan.com/address/0xcd337b920678cf35143322ab31ab8977c3463a45

Chainlink预言机推出链上注册表Feed Registry:9月5日,Chainlink预言机推出链上注册表Feed Registry,映射了Chainlink Price Feeds的当前通证合约地址。智能合约可以通过一个通用的注册表合约从任何Chainlink Price Feed获取价格数据,并极大降低开发混合型智能合约应用时的集成难度。[2021/9/6 23:02:32]

被攻击的预言机相关合约:https://bscscan.com/address/0xc11b687cd6061a6516e23769e4657b6efa25d

④同时,攻击者将FTS存入贷款合约作为抵押品。

ZWS预言机宣布获得IOST基金会战略投资:近日,ZWS预言机宣布获得IOST基金会战略投资。ZWS此前曾获上市公司优炫软件(430208)、安策资本、九鼎等投资。双方将在区块链技术研发和气象环境衍生金融领域展开深度合作。

ZWS预言机可为智能合约提供及时、准确的外部气象环境数据。预言机将广泛的应用在气象环境相关的智能合约保险、物流贸易智能合约和极端天气预警、减灾等场景。宙斯气象系统(ZWS)是利用区块链技术,进行全球分布式气象环境数据收集的社会化观测解决方案。

IOST是一个由红杉、经纬、真格等全球一线美元投资机构支持的,为在线服务提供商而开发的企业级区块链应用平台,全球Top 4的DApp公链平台,也是安全、高效的全品类DeFi平台。IOST基金会于近日正式推出“DeFi激励计划”,投入总计700万美元的孵化基金,支持优秀DeFi团队与孵化优质DeFi项目,专注于IOST的DeFi生态构建。[2020/8/21]

⑤提案通过后,攻击者执行提案,将FTS的抵押系数从0更新到70000000000000,以便在后续步骤中利用其获利。

⑥此外,攻击者通过预言机相关chain合约中的非限制性函数`submit()`更新了贷款合约使用的价格预言机,该函数缺少对签名的有效验证,因此该更新会被成功执行。

⑦通过更新,攻击者的抵押品的价值被大幅提高,所以攻击者能够从贷款合约中借到大量的其他代币。

⑧攻击者将借来的代币转换为ETH和DAI,并将其存入TornadoCash。

漏洞①

第一个漏洞是治理合约的一个设计缺陷。

治理合约可以执行成功提案,以修改借贷相关的配置。然而,要成功执行提案,投票所需的最低FTS代币是40万。由于FTS代币的价格很低,攻击者仅用大约11个ETH就交换了超过40万个FTS代币。

有了这些FTS代币,攻击者可以随意创建一个恶意提案并成功执行。

漏洞②

第二个漏洞是chain合约用以更新价格的“submit”系数有一个缺陷——允许任何人更新价格。

L142中的必要语句被注释掉了。因此该合约在更新价格时并未验证该调用已收集到足够的签名。

USDT在两次攻击交易后被转移到攻击者地址。

230万USDT被发送到EthereumtoanySwap(Multichain)。

77万USDT通过cBridge(CelerNetwork)发送到以太坊。

所有的USDT通过Unswap兑换成ETH和DAI,并发送至TornadoCash。

北京时间5月9日凌晨00:30左右,Fortress的代币价格暴跌。很快项目团队即在telegram中说明:项目出了一些问题,目前正在调查中。

但这次攻击可能开始得比我们想象中更早。

攻击者第一次开始「试探」是在北京时间4月20日凌晨1:41:59,他们部署了一个未验证的合约。在?"踩点"之后接下来的几周里,攻击者持续通过一系列的交易与Fortress进行交互,并部署未经验证的合约,这一行为直到此次攻击事件的前几天才消停。

攻击者部署了合约后,他们又启动了一系列的交易——允许他们创建和资助一个外部拥有的地址,向FortressGovernorAlpha合约提出恶意提案并自己进行投票,随后将FTS代币的抵押品设置得极高,使得FTS价值增加,用其借取大量其他代币,然后换成ETH和DAI。

攻击合约在完成攻击后已自毁,目前资金在通过cBridge(CelerNetwork)桥和Multichain交换桥后被转移到以太坊链,并在一系列后续交易中被发送到Tornado?Cash。

写在最后

本次攻击事件本应通过安全审计来有效地避免。

针对漏洞①,由于治理代币的价格和有多少代币在流通是未知的,因此发现这个风险并不容易,但可以通过一定的风险发现来警告潜在的相关攻击行为。

针对漏洞②,审计可以发现关键验证的缺失,避免任何人都有可能通过提交功能来操纵价格。

预言机操纵造成的攻击并非仅此一例,日前CertiK发布的受盗资金更为庞大。

加密领域安全风险层出不穷,项目团队应尽可能提高相关警惕并时刻关注安全事件以自查,并及时完善和审计合约代码。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

水星链

[0:15ms0-0:699ms