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

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

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

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

预言机SupraOracles宣布与元宇宙3D游戏Age of Tanks (AOT) 达成合作:2月16日,据官方消息,预言机 SupraOracles 宣布与元宇宙 3D 回合制策略游戏 Age of Tanks (AOT) 达成合作,SupraOracles可以提供下一代跨链预言机解决方案,让AOT智能合约和区块链应用程序更高效地运行。这极大地帮助了任何未来的AOT开发计划,Supraoracles的Oracle工具集被用于为AOT神秘战争宝箱盲盒模型生成随机稀有物品和特征。[2022/2/16 9:55:08]

漏洞交易

https://bscscan.com/tx/0x13d19809b19ac512da6d110764caee75e2157ea62cb70937c8d9471afcb061bf

预言机Umbrella Network与跨链协议Synapse Network达成合作:1月15日,官方消息,预言机Umbrella Network与跨链协议Synapse Network达成合作,SNP-USD 价格信息作为第2层数据在Umbrella Network的去中心化预言机上实时发布。[2022/1/16 8:52:11]

相关地址

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

攻击者合约:

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

Life预言机协议:正在探索如何把真实数据存储在Filecoin网络:北京时间2021年5月18日15时,Life预言机协议官方发布博客表示正在探索如何把真实数据存储在Filecoin网络。Life去中心化数据预言机协议启动于2017年,旨在实现区块链与现实世界的数据可信交互。Life是一个集成了智能合约、加密算法、通证经济以及各种API的综合性去中心化预言机网络。生态参与者可依靠智能硬件采集设备进行海量数据收集,后端接入Life完成数据的加密存储、确权和自由流转。目前Life与可信硬件厂商的合作开发已经进展到了最后的阶段,相关可信硬件(数据采集设备)已经研发完成,不久将会上市。Life技术团队目前正基于Filecoin网络完善相关的API,以实现可信硬件采集的数据可直接上传至Filecoin网络。[2021/5/19 22:20:00]

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

Filecoin将集成Chainlink预言机:据官方消息,Filecoin将集成Chainlink预言机,以创造端到端的开发堆栈,实现Filecoin和特殊用例的智能合约间的双向通讯。[2021/3/24 19:14:42]

攻击步骤

①攻击者从TornadoCash收到ETH,并用收到的部分ETH购买FTS代币用于投票和抵押。

②然后,攻击者提交了一个提案,改变贷款合约中FTS代币的抵押系数。

③攻击者使用购买的FTS代币对其提案投了赞成票。因为Fortressloans的治理合同的法定票数是400,000FTS——小于攻击者持有的金额,所以该提案被通过。

去中心化预言机Band将于7月中旬启动主网第1阶段:7月7日消息,根据开发进度,BandChain团队预计主网第1阶段测试版将会在7月中旬启动,届时会向用户介绍如何使用该测试版主网。

目前,全球已有超过48个活跃验证节点,抵押了超过8100万BAND代币,验证节点由来自世界的区块链基建安全开发公司,验证服务提供商,生态伙伴、社区节点共同运营。

2020年5月27日,BandChain团队对外公布主网0阶段上线,迈出布局跨链去中心化预言机(Oracle)网络的第一步。BandChain团队已完成许多关键的里程碑,包括将BAND代币从以太坊迁移到BandChain,启用验证节点等。现在,团队准备启动主网第1阶段,将预言机功能带入BandChain主网。主网在0阶段的重点是推出BandChain的基础层,实现帐户创建,代币转移和验证节点权益,管理专业创世验证节点,其他网络参与者,钱包和交易平台。

主网第1阶段将支持无需许可创建可定制的数据Oracle脚本,该脚本可以查询Web2.0上的任意开放的数据源或API。第1阶段已经在Devnet上运行,已与合作产品整合,正在进行内部测试和代码审核。

随着第一阶段代码库的补丁和更新完成,项目正接受区块链安全公司的严格安全审核,确保BandChain第一阶段的安全性以及公开发布的有序进行。(Medium)[2020/7/7]

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

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

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

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

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

合约漏洞分析

漏洞①

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

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

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

漏洞②

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

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

资产去向

78万+228万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交换桥后被转移到以太坊链,并在一系列后续交易中被发送到TornadoCash。

写在最后

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

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

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

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

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

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

金智博客

[0:31ms0-3:919ms