メタトラスト研究所、ダニエル・タン著
01
まとめ
北京時間の2024年1月3日、ArbitrumのRadiantプロトコルがフラッシュローンによる攻撃を受けた。ハッカーは #Radiant プロトコルに対して 3 回の攻撃を実行し、合計 1,902 ETH (450 万ドル相当) が損失しました。根本的な原因は、新しい $USDC 市場で増幅および悪用された「burn」関数の数学的丸めの問題であり、ハッカーが追加の $USDC を引き出すことを可能にしました。 MetaTrust Labs はこの攻撃について詳細な調査と分析を実施し、ハッカーがどのように脆弱性を悪用して攻撃を開始したかを明らかにしました。
02
レンディング プロトコル Radiant プロトコル
Radiant は、Arbitrum、BNBChain、Ethereum などの複数のチェーン上で実行される分散型の非保管貸付プロトコルです。
攻撃後も、Radiant プロトコルにロックされていた総額は 3 億 1,300 万ドルのままでしたが、これはプロジェクト チームが攻撃を受けた後、さらなる損失を防ぐためにすぐにプロトコルを一時停止したためです。
03
タイムライン
04
貿易
04
貿易
0xc5c4bbddec70edb58efba60c1f27bce6515a45ffcab4236026a5eeb3e877fc6d0x2af556386c023f7ebe7c662fd5d1c6cc5ed7fba4723cbd75e00faaa98cd142430x1ce7e9 a9e3 b6dd3293c9067221ac3260858ce119ecb7ca860eac28b2474c7c9b
05
資産の損失
3 件の攻撃トランザクションにより、合計 1,902 ETH 以上、450 万米ドル以上の損失が発生しました。この記事の執筆時点では、1,902 $ETH がまだハッカーのウォレット (0x826d5f4d8084980366f975e10db6c4cf1f9dde6d) に保管されていました。
アタッカー
0x826d5f4d8084980366f975e10db6c4cf1f9dde6d
攻撃契約
0x39519c027b503f40867548fb0c890b11728faa8f
攻撃を受けている契約
ラジアント: 貸出プール: 0xf4b1486dd74d07706052a33d31d7c0aafd0659e1rUSDCn: 0x3a2d44e354f2d88ef6da7a5a4646fd70182a7f55
06
攻撃の前に何が起こったのか
攻撃の 15 秒前、プロジェクト関係者は Arbitrum 上に新しい USDC マーケットを作成したばかりで、ハッカーは新しい USDC マーケットとやり取りした最初の人物でした。
07
攻撃ステップ
最初の攻撃トランザクション 0x1ce7e9a9e3b6dd3293c9067221ac3260858ce119ecb7ca860eac28b2474c7c9b を例に挙げます。 1. AAVE からフラッシュローン機能を通じて 300 万 USDC を借りる 2. Radiant Pool に 200 万 $USDC を入金する このとき、liquidityIndex は 1e27 です
3. Radiant Lending Pool で 200 万ドルのフラッシュ ローンを作成し、liquidityIndex を 1.8e36 に拡大します。 4. ステップ 3 を 151 回繰り返して、liauidityIndex を 2.7e38 (初期値の 270000000000 倍) に拡大します。
5. Radiant Pool から 90.6 $ETH (215,000 ドル相当) を借り、これがこの攻撃の利益です; 6. 新しい契約 (0xd8b591) を作成します; 7. 新しい契約に対して無制限の USDC を承認し、543,000 $USDC を新しい契約に送金します契約を締結し、新しい契約を使用して次の手順を実行します。543K $USDC を新しい契約に転送し、新しい契約を使用して次の手順を実行します。8. 543K $USDC を Radiant プールに入金し、2 wei トークンを作成します。 amountScaled は 2 トークン Coin、543600000002*1e27/271800000000999999999999998631966035920=2;
9. Radiant プールから 407K $USDC を引き出し、amountScaled が 1、407700000000*1e27/271800000000999999999999998631966035920=1.5 であり、数学的な四捨五入の問題があるため、トークンの 1 wei のみを燃焼します。 amountScaled は uint256 型の変数であり、1.5 を 1 に変換することに注意してください。
10. 271K $USDC を Radiant プールに入金し、amountScaled が 1 のトークンをミントします (271800000001*1e27/271800000000999999999999998631966035920=1 以降) 11. Radiant プールから 407K $USDC を引き出し、amountScal のみを破棄します。トークンの 1 に変換されます。 12. ステップ 10 と 11 を最大 18 回繰り返し、ハッカーが以前に新しい市場に入金した $USDC を新しい市場から排出します。 13. 2 $WETH を 4.73K $USDC に、3.23K $USDC を 1.36 $WETH に変換します。 14. AAVE のフラッシュ ローンを返済するために、元本として 350 万 USDC を使用し、手数料として 15,000 USDC を使用します。 15. 90 ETH の利益。
08
根本的な原因
根本的な理由は、ハッカーが新しく作成されたネイティブ USDC マーケットと最初にやり取りし、Radiant プロトコルのフラッシュ ローン機能を悪用して流動性インデックスを増幅し、数学的丸め問題を悪用して融資プールから資産を盗んだことです。
09
キーコード
メタトラスト・ラボについて
MetaTrust Labs は、シンガポールの南洋理工大学によって設立された、Web3 人工知能セキュリティ ツールとコード監査サービスの大手プロバイダーです。当社は、開発者とプロジェクト関係者が Web3 アプリケーションとスマート コントラクトを保護できるようにする高度な AI ソリューションを提供します。当社の包括的なサービスには、AI セキュリティ スキャン、コード監査、スマート コントラクト モニタリング、トランザクション モニタリングが含まれます。 AI を統合することで、安全なエコシステムを確保し、ユーザーと開発者間の信頼を強化します。
全てのコメント