This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
Poly Network ハッキングの詳細が明らかに: EthCrossChainManager の脆弱性が鍵となる
Poly Networkがハッカーの攻撃を受ける:分析が攻撃の詳細を明らかにする
近日、クロスチェーン相互運用プロトコルのPoly Networkがハッカーの攻撃を受け、業界で広く注目されています。セキュリティチームはこの事件について深く分析し、攻撃者の具体的な手法を明らかにしました。
攻撃コア
分析によると、今回の攻撃の核心はEthCrossChainManagerコントラクトのverifyHeaderAndExecuteTx関数にあります。この関数は、_executeCrossChainTx関数を通じて具体的なクロスチェーン取引を実行することができます。攻撃者はこのメカニズムを利用して、システム内の重要なkeeperの役割を巧妙に変更しました。
攻撃の詳細
EthCrossChainDataコントラクトの所有者はEthCrossChainManagerコントラクトです。これにより、後者は前者のputCurEpochConPubKeyBytes関数を呼び出して、コントラクトのkeeperを変更することができます。
verifyHeaderAndExecuteTx 関数は、_executeCrossChainTx 関数を内部的に呼び出すことで、ユーザー指定のクロスチェーントランザクションを実行できます。
攻撃者は、verifyHeaderAndExecuteTx関数を使用して慎重に作成されたデータを渡します。これにより、_executeCrossChainTx関数はEthCrossChainDataコントラクトを呼び出すputCurEpochConPubKeyBytes関数を実行し、キーパーの役割を攻撃者が指定したアドレスに変更します。
keeperの役割のアドレスを成功裏に置き換えた後、攻撃者は自由に取引を構築し、契約から任意の金額を引き出すことができます。
!
攻撃の影響
攻撃が完了した後、keeperが変更されたため、他のユーザーの正常な取引が拒否されました。この攻撃はBSCチェーンだけでなく、イーサリアムネットワークでも類似の操作が発生しました。
まとめ
今回の攻撃の根本的な原因は、EthCrossChainDataコントラクトのkeeperがEthCrossChainManagerコントラクトによって変更可能であり、後者のverifyHeaderAndExecuteTx関数がユーザーが入力したデータを実行できる点にあります。攻撃者はこの設計上の脆弱性を利用し、特定のデータを構築してkeeperを変更しました。以前の噂にあったkeeperの秘密鍵の漏洩ではありませんでした。
この事件は、特にクロスチェーン操作を含む複雑なシステムにおいて、スマートコントラクトのセキュリティの重要性を再度浮き彫りにしました。開発者は、契約の権限構造をより慎重に設計し、同様の攻撃を防ぐために包括的なセキュリティ監査を行う必要があります。