Poly Networkがハッカーに侵入され、keeperが改ざんされて資金が流出した

robot
概要作成中

Poly Networkのハッキングインシデントの分析

近日、クロスチェーン相互運用プロトコルのPoly Networkがハッカーの攻撃を受け、業界で広く注目を集めています。セキュリティチームはこの事件について詳細に分析し、攻撃者は巧妙に構築されたデータを通じてEthCrossChainData契約のkeeperを指定されたアドレスに変更したと考えています。以前流布されていたkeeperの秘密鍵漏洩説ではありません。

攻撃の詳細

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

  2. EthCrossChainData コントラクトの所有者は EthCrossChainManager コントラクトであり、後者は前者の putCurEpochConPubKeyBytes 関数を呼び出してキーパーを変更できます。

  3. EthCrossChainManagerコントラクトのverifyHeaderAndExecuteTx関数は、内部で_executeCrossChainTx関数を呼び出して、ユーザー指定のクロスチェーントランザクションを実行できます。 攻撃者はこれを悪用して、慎重に細工されたデータを渡して、_executeCrossChainTx関数がEthCrossChainDataコントラクトのputCurEpochConPubKeyBytes関数を呼び出すようにし、キーパーロールを攻撃者が指定したアドレスに変更します。

  4. keeper 役割のアドレス置換が完了すると、攻撃者は自由に取引を構築し、コントラクトから任意の数量の資金を引き出すことができます。

攻撃プロセス

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

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

  3. 攻撃が完了した後、keeperが変更されたため、他のユーザーの正常な取引が拒否されて実行されませんでした。

  4. 類似の攻撃パターンがイーサリアムネットワークでも発生しており、攻撃者は同じ手法を用いてkeeperを変更し、攻撃を実施しました。

!

まとめ

今回の攻撃の鍵は、EthCrossChainData コントラクトの keeper が EthCrossChainManager コントラクトによって変更可能であることにあり、EthCrossChainManager コントラクトの verifyHeaderAndExecuteTx 関数は _executeCrossChainTx 関数を通じてユーザーが提供したデータを実行できることです。攻撃者はこの設計上の脆弱性を利用し、特定のデータを構築して EthCrossChainData コントラクトの keeper を変更しました。これは以前の推測であった keeper の秘密鍵の漏洩ではありません。この事例は、スマートコントラクトの安全設計の重要性を再度浮き彫りにし、業界に貴重な経験と教訓を提供しました。

原文表示
このページには第三者のコンテンツが含まれている場合があり、情報提供のみを目的としております(表明・保証をするものではありません)。Gateによる見解の支持や、金融・専門的な助言とみなされるべきものではありません。詳細については免責事項をご覧ください。
  • 報酬
  • 4
  • 共有
コメント
0/400
RugPullAlarmvip
· 07-20 15:15
純オンチェーンデータが語る、大きな損失はない
原文表示返信0
SchrodingerAirdropvip
· 07-20 15:11
また安全事件が発生したのか、ふふ
原文表示返信0
MetaDreamervip
· 07-20 14:50
またkpがやられた いつまで続くのか
原文表示返信0
GasFeeLadyvip
· 07-20 14:47
smh... キーパーの妥協は正直言って起こるのを待っていた。あの参入ポイントを確認しなければならない。
原文表示返信0
いつでもどこでも暗号資産取引
qrCode
スキャンしてGateアプリをダウンロード
コミュニティ
日本語
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)