北京时间2022年5月9日凌晨4:34:42,CertiK安全技术团队监测到FortressLoans遭到攻击。
北京时间5月9日上午10:05,JetFuelFinance也正式确认了关于预言机操纵的消息,并发布了可疑地址和交易的链接:
目前该项目损失约1,048.1ETH和400,000DAI。攻击者通过DAO和预言机操纵来盗取资产以完成本次攻击,并通过TornadoCash将被盗资产转出。
Arbitrum生态资产管理协议Factor已集成DIA预言机:4月11日消息,Arbitrum 生态资产管理协议 Factor 宣布已集成 DIA 预言机,将为 GRAIL、AAVE 与 JOE 等 20 多种 Token 提供喂价服务。[2023/4/11 13:57:27]
漏洞交易
https://bscscan.com/tx/0x13d19809b19ac512da6d110764caee75e2157ea62cb70937c8d9471afcb061bf
相关地址
攻击者地址:https://bscscan.com/address/0xA6AF2872176320015f8ddB2ba013B38Cb35d22Ad
ADAM与ETC展开合作并成为其生态首个预言机:据官方消息,2022年8月17日,数据加密计算网络ADAM正式官宣与ETC展开生态合作。ADAM以第一个预言机项目身份入驻ETC生态并将为其生态内优质项目提供安全、高效和精准的链上数据服务。
ADAM是基于Web3.0的数据加密计算网络,拥有批量化数据加密传输功能,不仅能够连接实现世界与区块链系统,还能够实现各大公链生态数据信息无障碍流转;
ETC(Ethereum Classic)是原始非分支以太坊链的延续,并存在以保留“代码就是法律”的原则。ETC坚信,区块链一旦开始运行,它的发展方向就不被任何中心团队所左右,而是按照参与整个网络人员的共识和全网算力的共识所决定。[2022/8/17 12:31:03]
攻击者合约:
https://bscscan.com/address/0xcd337b920678cf35143322ab31ab8977c3463a45
预言机SupraOracles宣布与去中心化NFT平台StartFi达成合作:2月10日消息,SupraOracles宣布与StartFi建立合作伙伴关系,这是一个完全去中心化的NFT平台,能让NFT开发人员创建和通过INO出售原始数字资产。
StartFi为NFT制造商、买家和卖家提供了一种安全可靠的方式来拥有Net和参与不断变化的动态NFT市场。
使用SupraOracles,StartFi Platform可以获取STFI的USDT价格,StartFi Marketplace可以使用该价格和其他通证配对,向消费者展示准确和最新的定价。[2022/2/10 9:42:50]
被攻击的预言机相关合约:https://bscscan.com/address/0xc11b687cd6061a6516e23769e4657b6efa25d
Layer 2计算预言机网络CUDOS完成1000万英镑融资:据官方消息,全球计算网络CUDOS宣布已通过多轮融资完成总额超1000万英镑的资金募集。参与资金募集的主要战略投资方包括?Moonrock Capital、GBV、Spincrypto Capital、Coinvision Research、BlackDragon Research、MoonWhale Ventures、OutlierVentures、DoublePeak、Psquare Capital、CSP DAO、Crypto Snack、Exnetwork Capital、DuckDAO、Brilliance Ventures、BMW Capital和Floem Capital。
CUDOS平台是跨链去中心化计算网络,致力于赋能Web 3.0的基础设施。其底层分布式计算平台CUDO已拥有用户超过14万,遍布145个国家,总算力超过50万万亿次浮点运算(TFLOPS)。
CUDOS提供图灵完备的Layer-2(第2层)计算预言机解决方案,为区块链开发者搭建起通往数据、API和计算能力的链外世界的桥梁,能够帮助DeFi等区块链应用和服务提升性能、降低成本。CUDOS于去年11月入选Algorand基金会“2.5亿ALGO奖励计划”,计划2021年二季度上线测试网络。[2021/2/26 17:56:46]
攻击步骤
Chainlink收购隐私预言机解决方案DECO:根据Coindesk的报道,去中心化预言机Chainlink以未公开的价格收购了康奈尔大学的隐私预言机解决方案DECO,这是继2018年底Chainlink宣布收购TownCrier后的第二次收购案。DECO是由美国计算机和网络安全公司–RSA的前首席科学家AriJuel,与其他IC3的学生和教授共同创建的隐私预言机解决方案,而AriJuel也随着Chainlink的收购,加入了ChainlinkLabs。此外,Chainlink创办人SergeyNazarov和AriJuel已经开始起草第二份Chainlink白皮书(两人于2017年撰写了原版Chainlink白皮书)。[2020/8/29]
①攻击者从TornadoCash收到ETH,并用收到的部分ETH购买FTS代币用于投票和抵押。
②然后,攻击者提交了一个提案,改变贷款合约中FTS代币的抵押系数。
③攻击者使用购买的FTS代币对其提案投了赞成票。因为Fortressloans的治理合同的法定票数是400,000FTS——小于攻击者持有的金额,所以该提案被通过。
④同时,攻击者将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发布的受盗资金更为庞大。
加密领域安全风险层出不穷,项目团队应尽可能提高相关警惕并时刻关注安全事件以自查,并及时完善和审计合约代码。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。