Jarvis Networkがフラッシュローンの再入攻撃を受け、66万MATICを失った

Jarvis Networkはフラッシュローン再入攻撃の分析を受けました

2023年1月15日、Jarvis_Networkプロジェクトがハッキングされ、663101 MATICが失われました。取引データの分析を通じて、今回の攻撃にはフラッシュローンと再入侵の脆弱性が関与していることが判明しました。

! ジャービスネットワークフラッシュローン再入攻撃インシデント分析

攻撃者はremove_liquidity関数の脆弱性を利用しました。流動性を削除する際、この関数はユーザーが追加したトークンを返します。PolygonとEVMは同型チェーンであるため、MATICが契約に送金されると、契約の再入ロジックがトリガーされます。

! ジャービスネットワークフラッシュローン再入攻撃インシデント分析

getUnderlyingPrice関数の呼び出しプロセスに重点を置く。この関数は複数のコントラクトの相互作用を含み、その中にはオープンソースではないコントラクトもある。分析の結果、問題はget_virtual_price関数の返り値にあることがわかった。この関数の返り値は、再入前後で顕著な差異がある。

! ジャービスネットワークフラッシュローン再入攻撃インシデント分析

具体的には、self.D変数の更新はトークンの転送後に発生します。攻撃者が流動性を削除すると、MATICが攻撃者のコントラクトに移されます。コールバックのfallback関数が呼ばれる際、攻撃者は特定のトークンの価格を先に照会しました。self.Dの更新が転送に遅れているため、以前の価格取得に誤りが生じます。

! ジャービスネットワークフラッシュローン再入攻撃インシデント分析

! ジャービスネットワークフラッシュローン再入攻撃インシデント分析

流動性の除去プロセスには、1) ユーザーのLPトークンの焼失;2) ユーザーへのステーキング資金の送信;3) self.D値の更新が含まれます。self.Dは価格計算に使用され、流動性の追加と除去の際に更新されます。攻撃者は、大規模な流動性とself.D更新のタイミングの脆弱性を利用して、ステップ2で再入を行い、元の価格の10倍の価格で借入を行いました。

! ジャービスネットワークフラッシュローン再入攻撃インシデント分析

! ジャービスネットワークフラッシュローン再入攻撃インシデント分析

! ジャービスネットワークフラッシュローン再入攻撃インシデント分析

remove_liquidity関数は@nonreentrant('lock')デコレーターを使用して再入を防止していますが、攻撃者はクロスコントラクト貸付を通じてこの保護機構を回避しました。

! ジャービスネットワークフラッシュローン再入攻撃インシデント分析

! ジャービスネットワークフラッシュローンリエントランシー攻撃インシデント分析

今回の攻撃は、プロジェクトの変数変更ロジックとクロスコントラクト呼び出しの安全性における不足を暴露しました。同様の攻撃を防ぐために、プロジェクトチームに以下の対策を講じることをお勧めします:

  1. 厳格なセキュリティ監査を行う。
  2. 変数の変更を外部呼び出しの前に置く。
  3. 複数のデータソースを使用して価格を取得します。
  4. Checks-Effects-Interactionsのコーディング規則に従います。

! ジャービスネットワークフラッシュローン再入攻撃インシデント分析

! ジャービスネットワークフラッシュローン再入攻撃インシデント分析

これらの対策により、プロジェクトの安全性と安定性を大幅に向上させ、同様の攻撃事件が再発するのを防ぐことができます。

原文表示
このページには第三者のコンテンツが含まれている場合があり、情報提供のみを目的としております(表明・保証をするものではありません)。Gateによる見解の支持や、金融・専門的な助言とみなされるべきものではありません。詳細については免責事項をご覧ください。
  • 報酬
  • 6
  • 共有
コメント
0/400
NFTHoardervip
· 07-21 19:29
このプロジェクトのテストはあまりにも甘い、すぐに防御が崩れた。
原文表示返信0
RektDetectivevip
· 07-19 06:12
また誰かが失敗した maticの送金チェックもせず 初心者はコードを書く?
原文表示返信0
DuskSurfervip
· 07-18 23:29
まだ寝転んで契約をコピーしているのか、再入場も理解できていない~
原文表示返信0
StableGeniusvip
· 07-18 23:29
lmao また一日、またハック... 正直言って予想通りだ
原文表示返信0
HypotheticalLiquidatorvip
· 07-18 23:18
古い癖がまた出てしまった まだ再入ロックをかけないの?
原文表示返信0
failed_dev_successful_apevip
· 07-18 23:11
プロジェクトが眠っている間に、他の人はここでドアをこじ開けているんだね~
原文表示返信0
いつでもどこでも暗号資産取引
qrCode
スキャンしてGateアプリをダウンロード
コミュニティ
日本語
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)