# Poly Networkへのハッキング攻撃の詳細な分析最近、クロスチェーン相互運用プロトコルPoly Networkがハッカーの攻撃を受け、広く注目を集めています。セキュリティチームはこの事件について詳細な分析を行い、攻撃者が精巧に構築されたデータを通じてEthCrossChainData契約のkeeper役割を変更したと考えており、以前の噂であったkeeperの秘密鍵の漏洩が原因ではないとしています。## 攻撃コアこの攻撃の核心は、EthCrossChainManagerコントラクトのverifyHeaderAndExecuteTx関数が、_executeCrossChainTx関数を通じて特定のクロスチェーントランザクションを実行できることです。 EthCrossChainData コントラクトの所有者は EthCrossChainManager コントラクトであるため、後者は EthCrossChainData コントラクトの putCurEpochConPubKeyBytes 関数を呼び出して、コントラクトのキーパーを変更できます。攻撃者はverifyHeaderAndExecuteTx関数を通じて慎重に設計されたデータを渡すだけで、_executeCrossChainTx関数を実行し、EthCrossChainDataコントラクトのputCurEpochConPubKeyBytes関数を呼び出すことができ、keeperの役割を攻撃者が指定したアドレスに変更します。keeperの役割のアドレスが置き換えられた後、攻撃者は自由に取引を構築し、コントラクトから任意の金額の資金を引き出すことができます。## 攻撃プロセス1. 攻撃者はまず、EthCrossChainManagerコントラクトのverifyHeaderAndExecuteTx関数を通じてputCurEpochConPubKeyBytes関数を呼び出し、キーパーの役割を変更します。2. その後、攻撃者は一連の攻撃取引を実施し、契約から資金を引き出し始めました。3. 攻撃が完了した後、keeperが変更されたため、他のユーザーの正常な取引が拒否されました。4. 類似の攻撃手法もイーサリアムネットワーク上で実施されており、その過程はBSC上の攻撃と似ています。! [](https://img-cdn.gateio.im/social/moments-c660956f1d8fcf8ee3fea90e7eb2c75f)## まとめ今回の攻撃の根本原因は、EthCrossChainDataコントラクトのkeeperがEthCrossChainManagerコントラクトによって変更できることにあり、EthCrossChainManagerコントラクトのverifyHeaderAndExecuteTx関数が_executeCrossChainTx関数を介してユーザーが入力したデータを実行できることにあります。攻撃者はこの脆弱性を利用して、特定のデータを構築し、成功裏にEthCrossChainDataコントラクトのkeeperを自分が制御するアドレスに変更することで、コントラクトの資金を不正に引き出しました。この出来事は、特にクロスチェーン操作や重要な役割管理を含む複雑なシステムにおいて、スマートコントラクトのセキュリティ監査の重要性を再度強調しています。開発チームは、同様のセキュリティ脆弱性が悪用されないように、契約の権限管理メカニズムをより慎重に設計し、実装する必要があります。
Poly Networkのハッキングの詳細な分析:EthCrossChainDataコントラクトキーパーの役割が改ざんされています
Poly Networkへのハッキング攻撃の詳細な分析
最近、クロスチェーン相互運用プロトコルPoly Networkがハッカーの攻撃を受け、広く注目を集めています。セキュリティチームはこの事件について詳細な分析を行い、攻撃者が精巧に構築されたデータを通じてEthCrossChainData契約のkeeper役割を変更したと考えており、以前の噂であったkeeperの秘密鍵の漏洩が原因ではないとしています。
攻撃コア
この攻撃の核心は、EthCrossChainManagerコントラクトのverifyHeaderAndExecuteTx関数が、_executeCrossChainTx関数を通じて特定のクロスチェーントランザクションを実行できることです。 EthCrossChainData コントラクトの所有者は EthCrossChainManager コントラクトであるため、後者は EthCrossChainData コントラクトの putCurEpochConPubKeyBytes 関数を呼び出して、コントラクトのキーパーを変更できます。
攻撃者はverifyHeaderAndExecuteTx関数を通じて慎重に設計されたデータを渡すだけで、_executeCrossChainTx関数を実行し、EthCrossChainDataコントラクトのputCurEpochConPubKeyBytes関数を呼び出すことができ、keeperの役割を攻撃者が指定したアドレスに変更します。keeperの役割のアドレスが置き換えられた後、攻撃者は自由に取引を構築し、コントラクトから任意の金額の資金を引き出すことができます。
攻撃プロセス
攻撃者はまず、EthCrossChainManagerコントラクトのverifyHeaderAndExecuteTx関数を通じてputCurEpochConPubKeyBytes関数を呼び出し、キーパーの役割を変更します。
その後、攻撃者は一連の攻撃取引を実施し、契約から資金を引き出し始めました。
攻撃が完了した後、keeperが変更されたため、他のユーザーの正常な取引が拒否されました。
類似の攻撃手法もイーサリアムネットワーク上で実施されており、その過程はBSC上の攻撃と似ています。
!
まとめ
今回の攻撃の根本原因は、EthCrossChainDataコントラクトのkeeperがEthCrossChainManagerコントラクトによって変更できることにあり、EthCrossChainManagerコントラクトのverifyHeaderAndExecuteTx関数が_executeCrossChainTx関数を介してユーザーが入力したデータを実行できることにあります。攻撃者はこの脆弱性を利用して、特定のデータを構築し、成功裏にEthCrossChainDataコントラクトのkeeperを自分が制御するアドレスに変更することで、コントラクトの資金を不正に引き出しました。
この出来事は、特にクロスチェーン操作や重要な役割管理を含む複雑なシステムにおいて、スマートコントラクトのセキュリティ監査の重要性を再度強調しています。開発チームは、同様のセキュリティ脆弱性が悪用されないように、契約の権限管理メカニズムをより慎重に設計し、実装する必要があります。