Poly Networkがハッキングされました:EthCrossChainDataコントラクトキーパーが改ざんされました

robot
概要作成中

Poly ネットワークに対するハッカーの攻撃の分析

近日、クロスチェーン相互運用プロトコルPoly Networkがハッカーの攻撃を受け、業界の広範な関心を引き起こしました。セキュリティチームの分析によると、今回の攻撃はkeeperの秘密鍵の漏洩によるものではなく、攻撃者が巧妙に構築したデータを通じて、EthCrossChainData契約のkeeperアドレスを成功裏に変更しました。

攻撃の詳細

  1. この攻撃の核心は、EthCrossChainManagerコントラクトのverifyHeaderAndExecuteTx関数が、_executeCrossChainTx関数を通じて特定のクロスチェーントランザクションを実行できることです。

  2. EthCrossChainDataコントラクトの所有権はEthCrossChainManagerコントラクトに帰属し、EthCrossChainManagerコントラクトはputCurEpochConPubKeyBytes関数を呼び出してキーパーを変更することができます。

  3. 攻撃者は、verifyHeaderAndExecuteTx関数の機能を使用して巧妙に作成されたデータを渡して、_executeCrossChainTx関数にEthCrossChainDataコントラクトのputCurEpochConPubKeyBytes関数を呼び出させ、キーパーの役割を攻撃者が指定したアドレスに変更します。

  4. keeperの役割の置き換えが完了すると、攻撃者は自由に取引を構築し、契約から任意の金額の資金を引き出すことができます。

攻撃プロセス

  1. 攻撃者はまず、EthCrossChainManagerコントラクトのverifyHeaderAndExecuteTx関数を通じてputCurEpochConPubKeyBytes関数を呼び出し、キーパーの変更に成功します。

  2. その後、攻撃者は一連の攻撃取引を実施し、契約から資金を引き出し始めました。

  3. keeperが変更されたため、他のユーザーの正常な取引が拒否されました。

  4. この攻撃パターンはBSCチェーン上だけでなく、イーサリアムネットワーク上でも類似の操作が見られました。

!

まとめ

今回の攻撃の根本的な原因は、EthCrossChainDataコントラクトのkeeperがEthCrossChainManagerコントラクトによって変更可能であり、EthCrossChainManagerコントラクトのverifyHeaderAndExecuteTx関数がユーザーから渡されたデータを実行できることにあります。攻撃者はこの設計上の脆弱性を利用し、巧妙に構築されたデータを通じてEthCrossChainDataコントラクトのkeeperアドレスを変更し、資金を盗むことに成功しました。この事件は、スマートコントラクトの設計において、権限管理と関数呼び出しの安全性が極めて重要であることを再度私たちに思い出させます。

原文表示
このページには第三者のコンテンツが含まれている場合があり、情報提供のみを目的としております(表明・保証をするものではありません)。Gateによる見解の支持や、金融・専門的な助言とみなされるべきものではありません。詳細については免責事項をご覧ください。
  • 報酬
  • 7
  • リポスト
  • 共有
コメント
0/400
GasDevourervip
· 12時間前
契約がまた奪われてしまった、ひどいことになった。
原文表示返信0
RetailTherapistvip
· 08-09 15:39
また一つ攻撃されて帰っていった
原文表示返信0
StableGeniusDegenvip
· 08-09 15:31
また涼しい~
原文表示返信0
NotSatoshivip
· 08-09 15:28
またハッカーが騒いでいる
原文表示返信0
ShibaSunglassesvip
· 08-09 15:23
またブラック・イート・ブラックですね
原文表示返信0
SorryRugPulledvip
· 08-09 15:20
またラグプル?もう慣れっこだね
原文表示返信0
RektButSmilingvip
· 08-09 15:10
また問題が発生したの?keeperも安全ではなくなったの?
原文表示返信0
いつでもどこでも暗号資産取引
qrCode
スキャンしてGateアプリをダウンロード
コミュニティ
日本語
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)