# Poly Networkのセキュリティ脆弱性分析:攻撃者はどのように契約の脆弱性を利用して権限を改ざんするのか最近、クロスチェーン相互運用プロトコルPoly Networkが重大なセキュリティ事件に見舞われ、業界の広範な関心を引き起こしました。セキュリティ専門家の分析によると、今回の攻撃は秘密鍵の漏洩によるものではなく、攻撃者がスマートコントラクト内の脆弱性を巧みに利用したためです。このイベントの核心は、EthCrossChainManager コントラクトの verifyHeaderAndExecuteTx 関数の設計上の欠陥にあります。 この関数は、内部_executeCrossChainTx関数を通じてユーザー指定のクロスチェーントランザクションを実行できます。 攻撃者はこれを悪用して、特定のデータを構築して_executeCrossChainTx関数にEthCrossChainDataコントラクトのputCurEpochConPubKeyBytes関数を呼び出させ、キーパーロールによって攻撃者が制御するアドレスを改ざんしました。具体的な攻撃プロセスは以下の通りです:1. 攻撃者はまず、EthCrossChainManagerコントラクトのverifyHeaderAndExecuteTx関数を呼び出し、慎重に作成されたデータを渡します。2. この関数は_executeCrossChainTx内部で実行され、EthCrossChainData コントラクトの putCurEpochConPubKeyBytes 関数を呼び出します。3. putCurEpochConPubKeyBytes関数が実行され、キーパーロールのアドレスが攻撃者によって指定されたアドレスに変更されます。4. keeperが置き換えられた後、攻撃者は操作権を取得し、自由に取引を構築して契約から資金を引き出すことができます。5. 攻撃が完了した後、keeperが変更されたため、他のユーザーの正常な取引が拒否され始める。この攻撃手法はBSCとイーサリアムチェーンの両方で利用されています。攻撃の鍵は、EthCrossChainDataコントラクトのkeeperがEthCrossChainManagerコントラクトによって変更可能であり、後者はユーザーが入力した任意のデータを実行できることです。この設計には深刻なセキュリティ上の欠陥があり、攻撃者に好機を提供しています。! [](https://img-cdn.gateio.im/social/moments-c660956f1d8fcf8ee3fea90e7eb2c75f)この事件は、スマートコントラクトの安全性が重要であることを再度示しています。開発チームは、コントラクトを設計する際に、さまざまな攻撃シナリオを十分に考慮し、重要な関数の呼び出し権限を厳しく制限し、包括的な安全監査を実施する必要があります。また、分散型プロジェクトも緊急事態に対応するために、より洗練されたガバナンスメカニズムを構築する必要があります。
Poly Networkスマートコントラクト脆弱性分析:攻撃者がどのようにkeeper役割を改ざんして資金を取得するか
Poly Networkのセキュリティ脆弱性分析:攻撃者はどのように契約の脆弱性を利用して権限を改ざんするのか
最近、クロスチェーン相互運用プロトコルPoly Networkが重大なセキュリティ事件に見舞われ、業界の広範な関心を引き起こしました。セキュリティ専門家の分析によると、今回の攻撃は秘密鍵の漏洩によるものではなく、攻撃者がスマートコントラクト内の脆弱性を巧みに利用したためです。
このイベントの核心は、EthCrossChainManager コントラクトの verifyHeaderAndExecuteTx 関数の設計上の欠陥にあります。 この関数は、内部_executeCrossChainTx関数を通じてユーザー指定のクロスチェーントランザクションを実行できます。 攻撃者はこれを悪用して、特定のデータを構築して_executeCrossChainTx関数にEthCrossChainDataコントラクトのputCurEpochConPubKeyBytes関数を呼び出させ、キーパーロールによって攻撃者が制御するアドレスを改ざんしました。
具体的な攻撃プロセスは以下の通りです:
攻撃者はまず、EthCrossChainManagerコントラクトのverifyHeaderAndExecuteTx関数を呼び出し、慎重に作成されたデータを渡します。
この関数は_executeCrossChainTx内部で実行され、EthCrossChainData コントラクトの putCurEpochConPubKeyBytes 関数を呼び出します。
putCurEpochConPubKeyBytes関数が実行され、キーパーロールのアドレスが攻撃者によって指定されたアドレスに変更されます。
keeperが置き換えられた後、攻撃者は操作権を取得し、自由に取引を構築して契約から資金を引き出すことができます。
攻撃が完了した後、keeperが変更されたため、他のユーザーの正常な取引が拒否され始める。
この攻撃手法はBSCとイーサリアムチェーンの両方で利用されています。攻撃の鍵は、EthCrossChainDataコントラクトのkeeperがEthCrossChainManagerコントラクトによって変更可能であり、後者はユーザーが入力した任意のデータを実行できることです。この設計には深刻なセキュリティ上の欠陥があり、攻撃者に好機を提供しています。
!
この事件は、スマートコントラクトの安全性が重要であることを再度示しています。開発チームは、コントラクトを設計する際に、さまざまな攻撃シナリオを十分に考慮し、重要な関数の呼び出し権限を厳しく制限し、包括的な安全監査を実施する必要があります。また、分散型プロジェクトも緊急事態に対応するために、より洗練されたガバナンスメカニズムを構築する必要があります。