MetaTrust:Raft遭攻击损失360万,黑客骚操作几乎全部送进黑洞

2023年11月11日上午02:59:23,UTC+8:00,MetaScout探测到在Ethereum上的稳定币协议Raft遭受了一次闪电贷攻击,结果导致6.7百万枚稳定币$R被铸造,协议损失了360万美元。根本原因是在铸造份额代币时发生的精度计算问题,黑客利用这一问题获取额外的份额代币。
MetaTrust Labs对这次攻击进行了深入的研究和分析,揭示了黑客如何利用漏洞发起攻击。

01

稳定币协议 Raft

About The Stablecoin Protocol Raft

Raft是一个DeFi协议,通过存入流动性质押代币(LSDs)作为抵押,提供了一种资本高效的借贷方式,同时保留了质押奖励。https://raft.fi/
MetaTrust:Raft遭攻击损失360万,黑客骚操作几乎全部送进黑洞
截至撰写本文时,其总锁定价值(TVL)在今天的攻击后下降了46%,为700万美元。$R的价格下降了99.6%,为0.0036美元。
MetaTrust:Raft遭攻击损失360万,黑客骚操作几乎全部送进黑洞

02

相关合约及交易

Smart Contracts & Transactions

交易
https://etherscan.io/tx/0xfeedbf51b4e2338e38171f6e19501327294ab1907ab44cfd2d7e7336c975ace7
攻击者
0xc1f2b71a502b551a65eee9c96318afdd5fd439fa
攻击合约
0x0a3340129816a86b62b7eafd61427f743c315ef8
受攻击合约
InterestRatePositionManager: 0x9ab6b21cdf116f611110b048987e58894786c244

03

攻击步骤

Attacking Steps

1. 通过闪电贷从AAVE借入6000枚$cbETH;
2. 将总计6001枚$cbETH转移到InterestRatePositionManager合约;
3. 清算InterestRatePositionManager合约上预先创建的仓位0x011992114806e2c3770df73fa0d19884215db85f;
MetaTrust:Raft遭攻击损失360万,黑客骚操作几乎全部送进黑洞
4. 将raft抵押代币的索引设置为6,003,441,032,036,096,684,181,即InterestRatePositionManager合约的$cbETH余额,并由于步骤2的捐款而放大了上1000倍;
MetaTrust:Raft遭攻击损失360万,黑客骚操作几乎全部送进黑洞
5. 通过使用divUp函数计算份额时,通过仅1 wei 的$cbETH就铸造1 wei份额。注意,当分子非零时,无论分母有多大,divUp函数的最小返回值都为1:
MetaTrust:Raft遭攻击损失360万,黑客骚操作几乎全部送进黑洞
6. 重复第5步60次,以获得60 wei份额,即10,050$cbETH;
7. 通过只有90 wei $rcbETH-c兑换6003$cbETH;
MetaTrust:Raft遭攻击损失360万,黑客骚操作几乎全部送进黑洞
8. 借入6.7百万$R,即利润,并最终在不同的Dapps中交换为价值360万美元的1575枚$ETH,其中包括:
– 在Balancer上将210万$R兑换为200万$sDAI
– 在Balancer上将120万$R兑换为115万$DAI
– 在Uniswap上将20万$R兑换为8.6万$USDC
MetaTrust:Raft遭攻击损失360万,黑客骚操作几乎全部送进黑洞
9. 令人大跌眼镜的是,黑客将1570枚$ETH烧给了黑洞地址,这意味着黑客一分利润都没拿到。
MetaTrust:Raft遭攻击损失360万,黑客骚操作几乎全部送进黑洞

04

根本原因

Root Cause

根本原因是在铸造份额代币时发生的精度计算问题,黑客利用这一问题获取额外的份额代币。由于$cbETH的捐款放大了index,导致黑客的份额价值更高,因此黑客仅仅用了一点$rcbETH-c就兑换了6003枚$cbETH并借入大量$R。

05

关键代码

Key Code

MetaTrust:Raft遭攻击损失360万,黑客骚操作几乎全部送进黑洞

06

资产损失

Asset Loss

360万美元

07

资金流向

Fund Flow

1570$ETH由于黑客的误操作而被烧掉。
MetaTrust:Raft遭攻击损失360万,黑客骚操作几乎全部送进黑洞
截至目前撰写本文时,攻击者的钱包中有140万$R代币(价值4.6千美元)。
MetaTrust:Raft遭攻击损失360万,黑客骚操作几乎全部送进黑洞

08

安全建议

Security Recommendations

1. 考虑在利率计算的情况下检查潜在的四舍五入问题,如在边缘情况下是否可以被恶意用户操纵,正如Raft攻击案例情形。
2. 建议在发生紧急情况时采取监控系统并暂停协议的措施。或者,整合一个内存池阻塞系统将是有益的。这个系统可以在攻击者执行攻击时有效地检测内存池中的攻击交易,以进行预防性阻塞,避免损失。


关于MetaTrust Labs
MetaTrust Labs是新加坡南洋理工大学孵化的领先Web3人工智能安全工具和代码审计服务提供商。我们提供先进的AI解决方案,赋予开发者和项目相关者保护Web3应用程序和智能合约的能力。我们的综合服务包括AI安全扫描、代码审计、智能合约监控和交易监控。在MetaTrust Labs,我们致力于保护Web3领域,使构建者能够充满信心和可靠地进行创新。
Website: https://metatrust.io/
Twitter: https://twitter.com/MetatrustLabs



↓ ↓ 加入开发者社区一起聊聊安全这件事

原文始发于微信公众号(MetaTrust Labs):MetaTrust:Raft遭攻击损失360万,黑客骚操作几乎全部送进黑洞

版权声明:admin 发表于 2023年11月11日 下午9:21。
转载请注明:MetaTrust:Raft遭攻击损失360万,黑客骚操作几乎全部送进黑洞 | CTF导航

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...