前言
北京时间2022年4月15日,知道创宇区块链安全实验室监测到DeFi协议RikkeiFinance遭到黑客攻击,被盗资金中已有2600枚BNB被转入TornadoCash。
分析
攻击事件如下图所示:
Strike已在萨尔瓦多为其国际实体设立了新总部:金色财经报道,数字支付公司Strike已在萨尔瓦多为其国际实体设立了新总部。但Strike表示,尽管监管方面的不确定性导致Bittrex等其他加密货币公司退出美国市场,但其主要总部仍在芝加哥。目前,Strike有一个美国实体负责监督国内市场的运营,还有一个位于萨尔瓦多的实体负责监督全球运营。
金色财经此前报道,比特币支付提供商Strike的创始人兼首席执行官JackMallers表示,正在将其应用从目前的美国、萨尔瓦多和阿根廷基地扩展到65个以上的国家。[2023/5/25 10:38:45]
基础信息
攻击合约:
0xe6df12a9f33605f2271d2a2ddc92e509e54e6b5f
0x9ae92cb9a3ca241d76641d73b57c78f1bcf0b209
攻击者地址:
0x803e0930357ba577dc414b552402f71656c093ab
恶意预言机地址:
投资管理平台Friktion为机构客户提供低担保加密贷款:金色财经报道,基于Solana的投资组合管理平台Friktion首次为机构客户推出了加密货币贷款产品。
该借贷产品将包括从初级贷款到高级贷款的分档池。初级贷款将提供11%至17%的较高年化收益率,以回报高级贷款人对贷款违约的保护。贷款池也将具有多样化的借款人,以减少交易对手的风险。高级贷款池中的贷款人可以获得8%至10%的年化收益率。(the block)[2022/11/6 12:22:15]
0xa36f6f78b2170a29359c74cefcb8751e452116f9
0x99423d4dfce26c7228238aa17982fd7719fb6d7f
攻击tx:
0x93a9b022df260f1953420cd3e18789e7d1e095459e36fe2eb534918ed1687492
0x4e06760884fd7bfdc076e25258ccef9b043401bc95f5aa1b8f4ff2780fa45d44
瑞典央行任命比特币怀疑论者Erik Thedéen为新任行长:6月18日消息,瑞典央行(Riksbank)表示,已于周五任命比特币怀疑论者、现任国家金融监管机构FSA负责人Erik Thedéen为新任行长。Thedéen将于2023年1月1日上任,并参加2023年2月的货币政策会议,任期为6年。
Thedéen的任命遭到了加密行业内部的质疑。加密货币分析师兼交易员Eric Wall在推特上表示,在市场受到一系列坏消息冲击的情况下,新行长的任命是“最糟糕”的。Wall此前曾批评Thedéen是“无知的”。(BeInCrypto)[2022/6/18 4:37:34]
被攻击预言机地址:
0xd55f01b4b51b7f48912cd8ca3cdd8070a1a9dba5
流程
攻击者的攻击流程如下:
1.攻击者调用external可见性的setOracleData()函数将预言机设置为自己的恶意预言机。
2.由于恶意预言机替换了原来的预言机,导致预言机输出的rTokens价格可以被攻击任意操控。攻击者向RBinance合约发送0.0001BNB获得4995533044307110.024rBNB。
支付公司Strike允许美国用户以最低0.50美元价格定投比特币:12月10日消息,支付公司Strike周四宣布推出一种美元成本平均 (DCA) 产品,除夏威夷和纽约的用户外,美国用户可以用低至0.50 美元价格定投比特币,无需任何费用,支持每月、每周、每天和每小时进行。Strike 创始人兼首席执行官Jack Mallers表示:定投功能使我们的用户能够为世界上表现最好的资产部署最可靠、最高效的投资策略之一。此前报道,Strike在10月宣布允许其美国用户将他们的全部或部分薪水转换为BTC。(coindesk)[2021/12/10 7:29:58]
3.由于兑换了大量的rBNB,所以攻击者借出346199.781USDC。
现场 | Parity CTO Fredrik Harrysson:平行链很快会启动:金色财经报道,由Web3基金会主办的Web3大会10月30日在上海举行。Parity首席技术官Fredrik Harrysson在会上透露,波卡平行链很快会启动,目前在Rococo测试,Rococo是专为平行链建立的无激励的测试网。Fredrik Harrysson还介绍了substrate。他表示,在开发substrate之前接触了很多企业了解它们需求,其中之一是链下工作机制,链下工作机制让区块链可以触达环境信息。同时企业不希望把所有信息公开例如web请求等,平行链满足它们需求,而且还可以共享安全性。Parity首席执行官Jutta Steiner在会上还介绍了Parity布局,Parity有生态发展部门、孵化器、专门负责DeFi的小组。[2020/10/30]
4.攻击者将借出的346199.781USDC兑换成776.298WBNB。
5.攻击者重复第三步和第四步操作分别借出3.033BTCB、52275.873DAI、297082.798BSC-USD、299822.459BUSD并兑换成相应的WBNB。
6.将兑换的共2571.201BNB转移到攻击者账户上。
7.最后攻击者再次调用setOracleData()还原预言机状态。
另外一次攻击的手法相同,只是先将BNB兑换成BUSD再转去RBinance获得rBUSD。
细节
问题点就在于Cointroller中的SimplePriceOracle.sol(https://bscscan.com/address/0xd55f01b4b51b7f48912cd8ca3cdd8070a1a9dba5#code)合约,其setOracleData的可见性为external,可以被外部调用。
修改预言机前的正常价格为416247538680000000000。
将rToken0x1578的预言机修改为恶意预言机0xa36f。
设置恶意预言机后将rToken价格提升到416881147930000000000000000000000。
后续处理
攻击者将盗取的BNB分批次转入TornadoCash中。
RikkeiFinance官方称将全额补偿漏洞利用攻击中受影响的所有用户。
总结
由于合约没有对setOracleData函数的可见性进行限制,导致了攻击者可以任意修改预言机地址,从而获取了从合约中代币,所以我们在写合约时一定要严格限制函数的可见性。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。