Radiant Protocol はハッキングされ、開始から数秒以内に 450 万ドルを失いました。

ForesightNews

その理由は、新しい USDC 市場では、「書き込み」関数の数学的丸めの問題が増幅および悪用され、ハッカーが追加の USDC を抽出できるようになるためです。

撰文:Daniel Tan

北京時間の2024年1月3日、ArbitrumのRadiantプロトコルがフラッシュローンによる攻撃を受けた。ハッカーは #Radiant プロトコルに対して 3 回の攻撃を実行し、合計 1,902 ETH (450 万ドル相当) が損失しました。根本的な原因は、新しい $USDC 市場で、「書き込み」関数の数学的丸めの問題が増幅されて悪用され、ハッカーが追加の $USDC を引き出すことができたことです。

MetaTrust Labs はこの攻撃について詳細な調査と分析を実施し、ハッカーがどのように脆弱性を悪用したかを明らかにしました。

レンディング プロトコル ラジアント プロトコル

Radiant は、Arbitrum、BNBChain、Ethereum などの複数のチェーン上で実行される分散型の非保管貸付プロトコルです。

攻撃後も、Radiant プロトコルにロックされていた総額は 3 億 1,300 万ドルのままでしたが、これはプロジェクト チームが攻撃を受けた後、さらなる損失を防ぐためにすぐにプロトコルを一時停止したためです。

## タイムライン

## 貿易

0xc5c4bbddec70edb58efba60c1f27bce6515a45ffcab4236026a5eeb3e877fc6d

0x2af556386c023f7ebe7c662fd5d1c6cc5ed7fba4723cbd75e00faaa98cd14243

0x1ce7e9a9e3b6dd3293c9067221ac3260858ce119ecb7ca860eac28b2474c7c9b

資産の損失

3 件の攻撃トランザクションにより、合計 1,902 ETH 以上、450 万米ドル以上の損失が発生しました。この記事の執筆時点では、1,902 $ETH がまだハッカーのウォレット (0x826d5f4d8084980366f975e10db6c4cf1f9dde6d) に保管されていました。

アタッカー

0x826d5f4d8084980366f975e10db6c4cf1f9dde6d

攻撃契約

0x39519c027b503f40867548fb0c890b11728faa8f

攻撃を受けている契約

Radiant: 貸出プール:

0xf4b1486dd74d07706052a33d31d7c0aafd0659e1

rUSDCn:

0x3a2d44e354f2d88ef6da7a5a4646fd70182a7f55

攻撃の前に何が起こったか

攻撃の 15 秒前、プロジェクト関係者は Arbitrum 上に新しい USDC マーケットを作成したばかりで、ハッカーは新しい USDC マーケットとやり取りした最初の人物でした。

攻撃ステップ

最初の攻撃トランザクション 0x1ce7e9a9e3b6dd3293c9067221ac3260858ce119ecb7ca860eac28b2474c7c9b を例に挙げます。

  1. フラッシュ ローン機能を通じて AAVE から 300 万米ドルの USDC を借ります。

  2. 2M $USDC を Radiant Pool に入金すると、liquidityIndex は 1e27 になります。

  1. Radiant Lending Pool で 200 万ドルのフラッシュ ローンを作成し、liquidityIndex を 1.8e36 に拡大します。

  2. 手順 3 を 151 回繰り返して、liauidityIndex を 2.7e38 (初期値の 270000000000 倍) に拡大します。

  1. Radiant Pool から 90.6 $ETH、215,000 ドル相当を借ります。これがこの攻撃による利益です。

  2. 新しい契約を作成します (0xd8b591)。

  3. 新しい契約の無制限の USDC を承認し、543K $USDC を新しい契約に転送し、新しい契約を使用して次の手順を実行します。543K $USDC を新しい契約に転送し、新しい契約を使用して次の手順を実行します;

  4. 543K $USDC を Radiant プールにデポジットし、2 wei トークンを鋳造します。 amountScaled が 2 トークンであるため、543600000002*1e27/271800000000999999999999998631966035920=2;

  1. Radiant プールから 407K $USDC を引き出し、amountScaled が 1、407700000000*1e27/2718000000009999999999999998631966035920=1.5 で数学的な四捨五入の問題があるため、1 wei のトークンのみを燃焼します。 amountScaled は uint256 型の変数であり、1.5 を 1 に変換することに注意してください。

  1. 271K $USDC を Radiant プールに入金し、amountScaled が 1 のミント トークンを入金します。なぜなら、271800000001*1e27/271800000000999999999999998631966035920=1 だからです。

  2. Radiant プールから 407K $USDC を引き出し、amountScaled が 1 のトークンのみを破棄します。

  3. ステップ 10 と 11 を最大 18 回繰り返し、ハッカーが以前に新しい市場に入金した $USDC を新しい市場から排出します。

  4. 2 $WETH を 4.73K $USDC に、3.23K $USDC を 1.36 $WETH に変換します。

  5. AAVE のフラッシュ ローンを返済するために、元本として 350 万 USDC を使用し、手数料として 15,000 USDC を使用します。

  6. 90 ETH の利益。

## 根本的な原因

根本的な理由は、ハッカーが新しく作成されたネイティブ USDC マーケットと最初にやり取りし、Radiant プロトコルのフラッシュ ローン機能を悪用して流動性インデックスを増幅し、数学的丸め問題を悪用して融資プールから資産を盗んだことです。

## キーコード

免責事項:このページの情報は第三者から提供される場合があり、Gateの見解または意見を代表するものではありません。このページに表示される内容は参考情報のみであり、いかなる金融、投資、または法律上の助言を構成するものではありません。Gateは情報の正確性または完全性を保証せず、当該情報の利用に起因するいかなる損失についても責任を負いません。仮想資産への投資は高いリスクを伴い、大きな価格変動の影響を受けます。投資元本の全額を失う可能性があります。関連するリスクを十分に理解したうえで、ご自身の財務状況およびリスク許容度に基づき慎重に判断してください。詳細は免責事項をご参照ください。
コメント
0/400
コメントなし