# Poly Networkのハッキングインシデントの分析最近、クロスチェーン相互運用プロトコルのPoly Networkがハッカー攻撃を受け、業界内で広く注目を集めています。セキュリティチームの分析によると、今回の攻撃はkeeperの秘密鍵の漏洩によるものではなく、攻撃者が巧妙に構成したデータによってEthCrossChainData契約のkeeperアドレスを変更したことが原因です。## 攻撃コアこの攻撃の核心は、EthCrossChainManagerコントラクトのverifyHeaderAndExecuteTx関数が、_executeCrossChainTx関数を通じて特定のクロスチェーントランザクションを実行できることです。 EthCrossChainData コントラクトの所有者は EthCrossChainManager コントラクトであるため、後者は前者の putCurEpochConPubKeyBytes 関数を呼び出して、コントラクトのキーパーを変更できます。攻撃者は verifyHeaderAndExecuteTx 関数を利用して、精巧に構築されたデータを渡し、_executeCrossChainTx 関数を呼び出して EthCrossChainData コントラクトの putCurEpochConPubKeyBytes 関数を実行させることで、keeper 役割を攻撃者が指定したアドレスに変更します。このステップを完了すると、攻撃者はトランザクションを構築し、コントラクトから任意の金額の資金を引き出すことができます。## 攻撃プロセス1. 攻撃者はまず、EthCrossChainManagerコントラクトのverifyHeaderAndExecuteTx関数を通じてputCurEpochConPubKeyBytes関数を呼び出すことにより、キーパーを変更しました。2. その後、攻撃者は一連の攻撃取引を実施し、契約から資金を引き出しました。3. 攻撃が完了した後、keeperが変更されたため、他のユーザーの正常な取引が拒否されました。4. この攻撃パターンはBSCだけでなく、イーサリアムネットワークでも類似の操作が発生しています。! [](https://img-cdn.gateio.im/social/moments-c660956f1d8fcf8ee3fea90e7eb2c75f)## まとめこの攻撃の核心は、EthCrossChainData コントラクトのキーパーを EthCrossChainManager コントラクトによって変更でき、後者の verifyHeaderAndExecuteTx 関数が _executeCrossChainTx 関数を通じてユーザーから渡されたデータを実行することです。 攻撃者は、この設計上の脆弱性を悪用して、攻撃の目的を達成するために特定のデータを構築することにより、EthCrossChainDataコントラクトのキーパーアドレスを変更しました。この事件は再びクロスチェーンプロトコルのセキュリティの重要性を浮き彫りにし、開発者に対してスマートコントラクトを設計する際には特に重要な役割の権限変更機能においてより慎重になる必要があることを思い出させます。また、ユーザーにとっても、クロスチェーンサービスを利用する際には警戒を怠らず、関連するセキュリティの動向に注意を払う必要があります。
Poly Networkがハッキングされ、EthCrossChainDataコントラクトの脆弱性が悪用されました
Poly Networkのハッキングインシデントの分析
最近、クロスチェーン相互運用プロトコルのPoly Networkがハッカー攻撃を受け、業界内で広く注目を集めています。セキュリティチームの分析によると、今回の攻撃はkeeperの秘密鍵の漏洩によるものではなく、攻撃者が巧妙に構成したデータによってEthCrossChainData契約のkeeperアドレスを変更したことが原因です。
攻撃コア
この攻撃の核心は、EthCrossChainManagerコントラクトのverifyHeaderAndExecuteTx関数が、_executeCrossChainTx関数を通じて特定のクロスチェーントランザクションを実行できることです。 EthCrossChainData コントラクトの所有者は EthCrossChainManager コントラクトであるため、後者は前者の putCurEpochConPubKeyBytes 関数を呼び出して、コントラクトのキーパーを変更できます。
攻撃者は verifyHeaderAndExecuteTx 関数を利用して、精巧に構築されたデータを渡し、_executeCrossChainTx 関数を呼び出して EthCrossChainData コントラクトの putCurEpochConPubKeyBytes 関数を実行させることで、keeper 役割を攻撃者が指定したアドレスに変更します。このステップを完了すると、攻撃者はトランザクションを構築し、コントラクトから任意の金額の資金を引き出すことができます。
攻撃プロセス
攻撃者はまず、EthCrossChainManagerコントラクトのverifyHeaderAndExecuteTx関数を通じてputCurEpochConPubKeyBytes関数を呼び出すことにより、キーパーを変更しました。
その後、攻撃者は一連の攻撃取引を実施し、契約から資金を引き出しました。
攻撃が完了した後、keeperが変更されたため、他のユーザーの正常な取引が拒否されました。
この攻撃パターンはBSCだけでなく、イーサリアムネットワークでも類似の操作が発生しています。
!
まとめ
この攻撃の核心は、EthCrossChainData コントラクトのキーパーを EthCrossChainManager コントラクトによって変更でき、後者の verifyHeaderAndExecuteTx 関数が _executeCrossChainTx 関数を通じてユーザーから渡されたデータを実行することです。 攻撃者は、この設計上の脆弱性を悪用して、攻撃の目的を達成するために特定のデータを構築することにより、EthCrossChainDataコントラクトのキーパーアドレスを変更しました。
この事件は再びクロスチェーンプロトコルのセキュリティの重要性を浮き彫りにし、開発者に対してスマートコントラクトを設計する際には特に重要な役割の権限変更機能においてより慎重になる必要があることを思い出させます。また、ユーザーにとっても、クロスチェーンサービスを利用する際には警戒を怠らず、関連するセキュリティの動向に注意を払う必要があります。