当前位置:首页 > 知识 >

预言机安全漏洞何时得到解决RikkeiFinance遭受黑客攻击的情况分析

2022年4月15日11点18分,北京时间CertiK监控审计团队RikkeiFinance被攻击,约701万元(2,671)BNB)资产损失。

由于缺乏对函数`setOracleData`的权限控制,攻击者将预言机修改为恶意合同,并从合同中提取USDC、BTCB、DAI、USDT、BUSD和BNB的权限。攻击者随后将这些代币全部交易为BNB,并通过tornado.cash将这些BNB转移一空。

攻击步骤: ①攻击者向rBNB合约发送了0.0001个BNB以铸造4995533044307111个rBNB。 ②通过公共函数攻击者`setOracleData`将预言机设置为恶意预言机。 ③由于预言机已被替换,预言机输出rTokens价格被操纵。 ④攻击者以被操纵的价格借了346,199USDC。 ⑤攻击者将在步骤4中获得的USDC换成BNB,并将BNB发送到攻击合同中。 ⑥攻击者重复步骤4和5,耗尽了BTCB、DAI、USDT和BUSD。 ⑦攻击者使用函数`setOracleData`再次改变预言机,还原了该预言机的状态。

合同漏洞分析: SimplePrice预言机:https://bscscan.com/address/0xd55f01b4b51b7f48912cd8ca3cdd8070a1a9dba5#code Cointroller:https://bscscan.com/address/0x00aa3a4cf3f7528b2465e39af420bb3fb1474b7b#code 资产地址:Rtoken 0x157822ac5fa0efe98daa4b0a55450f4a182c10ca 新的(有问题的)预测机:0xa36f6f78b2170a29359c74cefcb8751e452116f9 原价:416247538680000000000 更新后的价格:416881147930000000000000000000000 RikketFinance是利用Cointroller中的SimplePrice计算价格的预言机。然而,函数`setOracleData`没有权限控制,也就是说它可以被任何用户调用。攻击者使用自己的(恶意的)预言机来替换原有的预言机,并将rToken价格从416247538000000升至4168114793000000000。

资产去向: 攻击者在两次交易中获得了2671枚BNB(价值约701万人民币)。攻击者已使用tornado.cash转移所有代币。

其他细节: 漏洞交易: ●https://bscscan.com/tx/0x4e06760884fd7bfdc076e25258ccef9b043401bc95f5aa1b8f4ff2780fa45d44 ●https://bscscan.com/tx/0x93a9b022df260f1953420cd3e18789e7d1e095459e36fe2eb534918ed1687492

相关地址: ●攻击者地址: 0x803e0930357ba577dc414b552402f71656c093ab ●攻击者合同: 0x9aE92CB9a3cA241D76641D73B57c78F1bCF0B209 0xe6df12a9f33605f2271d2a2ddc92e509e54e6b5f ●恶意预言机: https://bscscan.com/address/0x99423d4dfce26c7228238aa17982fd7719fb6d7f https://bscscan.com/address/0xa36f6f78b2170a29359c74cefcb8751e452116f9 ●被攻击预言机地址: https://bscscan.com/address/0xd55f01b4b51b7f48912cd8ca3cdd8070a1a9dba5#code

写在最后: 相关风险可通过安全审计发现。CertiK技术团队在此提醒大家,限制函数的访问权限是不可忽视的一步。

猜你喜欢

关注我们

微信二维码

微信