BER:Rikkei Finance遭黑客攻击,损失已有百万美元-ODAILY

前言

北京时间2022年4月15日,知道创宇区块链安全实验室监测到DeFi协议RikkeiFinance遭到黑客攻击,被盗资金中已有2600枚BNB被转入TornadoCash。

分析

攻击事件如下图所示:

基础信息

攻击合约:

0xe6df12a9f33605f2271d2a2ddc92e509e54e6b5f

0x9ae92cb9a3ca241d76641d73b57c78f1bcf0b209

基于Solana的Cypher协议遭遇漏洞利用,智能合约被冻结:金色财经报道,由于漏洞利用或安全事件,基于Solana的去中心化交易所Cypher周一损失了40万美元的加密货币,协议贡献者在官方推文中表示,正在试图与黑客联系以协商资金返还,协议的智能合约现已被冻结。[2023/8/8 21:30:56]

攻击者地址:

0x803e0930357ba577dc414b552402f71656c093ab

恶意预言机地址:

0xa36f6f78b2170a29359c74cefcb8751e452116f9

0x99423d4dfce26c7228238aa17982fd7719fb6d7f

攻击tx:

0x93a9b022df260f1953420cd3e18789e7d1e095459e36fe2eb534918ed1687492

Gemini上以太坊日提现次数激增,创历史新高:11月17日消息,据链上分析公司Crypto Quant数据显示,截至11月16日加密交易平台Gemini上的以太坊日提现次数达12,871次,创历史新高。

此前加密交易平台Gemini官方发文表示,其理财产品Gemini Earn受到Genesis Global Capital停止赎回的影响而暂停赎回服务,Gemini正与Genesis团队合作,帮助客户尽快从Earn计划中赎回资金,将在未来几天提供更多信息。[2022/11/17 13:15:31]

0x4e06760884fd7bfdc076e25258ccef9b043401bc95f5aa1b8f4ff2780fa45d44

被攻击预言机地址:

0xd55f01b4b51b7f48912cd8ca3cdd8070a1a9dba5

Crypto.com宣布将支持LUNC的税费燃烧机制:金色财经报道,据Watcher.Guru发推称,Crypto.com宣布将支持LUNC的税费燃烧机制。[2022/9/21 7:10:00]

流程

攻击者的攻击流程如下:

1.攻击者调用external可见性的setOracleData()函数将预言机设置为自己的恶意预言机。

2.由于恶意预言机替换了原来的预言机,导致预言机输出的rTokens价格可以被攻击任意操控。攻击者向RBinance合约发送0.0001BNB获得4995533044307110.024rBNB。

3.由于兑换了大量的rBNB,所以攻击者借出346199.781USDC。

ENS将于7天之内在测试网上线Name Wrapper:9月16日消息,以太坊域名服务ENS创始人兼核心开发人员Nick Johnson表示,ENS将在7天之内在测试网推出域名封装器Name Wrapper。ENS Name Wrapper允许将ENS域名包装为ERC-1155NFT,一个父域名能够为其子域设置更多的权限。[2022/9/16 7:00:46]

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函数的可见性进行限制,导致了攻击者可以任意修改预言机地址,从而获取了从合约中代币,所以我们在写合约时一定要严格限制函数的可见性。

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

链链资讯

[0:46ms0-4:914ms