# Poly ネットワークに対するハッカーの攻撃の分析近日、クロスチェーン相互運用プロトコルPoly Networkがハッカーの攻撃を受け、業界の広範な関心を呼び起こしました。セキュリティ専門家チームはこの事件を深く分析し、攻撃者は私鍵の漏洩を通じて攻撃を実施したのではなく、契約の脆弱性を利用して重要なパラメータを変更したと考えています。## 攻撃コア攻撃者はEthCrossChainManagerコントラクトのverifyHeaderAndExecuteTx関数を通じて、精巧に構築されたデータを渡し、成功裏にEthCrossChainDataコントラクトのkeeperアドレスを変更しました。この操作により、攻撃者はコントラクト資金を引き出す権限を獲得しました。## 攻撃の詳細1. この攻撃の核心は、EthCrossChainManagerコントラクトのverifyHeaderAndExecuteTx関数が、_executeCrossChainTx関数を通じて特定のクロスチェーントランザクションを実行できることです。2. EthCrossChainDataコントラクトの所有者はEthCrossChainManagerコントラクトであるため、後者は前者のputCurEpochConPubKeyBytes関数を呼び出してキーパーを変更できます。3. 攻撃者は、verifyHeaderAndExecuteTx関数を使用して特別に細工されたデータを渡して、_executeCrossChainTx関数にキーパーアドレスを変更する操作を実行させます。4. keeperアドレスの置き換えに成功した後、攻撃者は取引を構築し、契約から任意の量の資金を引き出すことができます。## 攻撃プロセス1. 攻撃者はまず、EthCrossChainManagerコントラクトのverifyHeaderAndExecuteTx関数を通じてputCurEpochConPubKeyBytes関数を呼び出し、キーパーを変更します。2. その後、攻撃者は新しいkeeper権限を利用して、複数の資金引き出し操作を実施しました。3. 攻撃が完了した後、keeperが変更されたため、他のユーザーの正常な取引が拒否されて実行されませんでした。4. 類似の攻撃パターンがイーサリアムネットワーク上でも再現されています。! [](https://img-cdn.gateio.im/social/moments-c660956f1d8fcf8ee3fea90e7eb2c75f)## まとめ今回の攻撃の核心は、EthCrossChainData契約のkeeperがEthCrossChainManager契約によって変更可能であり、後者のverifyHeaderAndExecuteTx関数がユーザーから渡されたデータを実行できることです。攻撃者はこのメカニズムを利用して、特定のデータを構築することにより、keeperアドレスを成功裏に変更し、契約資金の制御権を獲得しました。この出来事は、特にクロスチェーン操作などの複雑なシナリオにおいて、スマートコントラクトのセキュリティ監査の重要性を再度浮き彫りにしました。契約の論理を全面的かつ厳格にチェックする必要があり、潜在的なセキュリティリスクを防ぐためです。
Poly Networkハッカー攻撃分析:契約の脆弱性が原因でクロスチェーン資金が盗まれた
Poly ネットワークに対するハッカーの攻撃の分析
近日、クロスチェーン相互運用プロトコルPoly Networkがハッカーの攻撃を受け、業界の広範な関心を呼び起こしました。セキュリティ専門家チームはこの事件を深く分析し、攻撃者は私鍵の漏洩を通じて攻撃を実施したのではなく、契約の脆弱性を利用して重要なパラメータを変更したと考えています。
攻撃コア
攻撃者はEthCrossChainManagerコントラクトのverifyHeaderAndExecuteTx関数を通じて、精巧に構築されたデータを渡し、成功裏にEthCrossChainDataコントラクトのkeeperアドレスを変更しました。この操作により、攻撃者はコントラクト資金を引き出す権限を獲得しました。
攻撃の詳細
この攻撃の核心は、EthCrossChainManagerコントラクトのverifyHeaderAndExecuteTx関数が、_executeCrossChainTx関数を通じて特定のクロスチェーントランザクションを実行できることです。
EthCrossChainDataコントラクトの所有者はEthCrossChainManagerコントラクトであるため、後者は前者のputCurEpochConPubKeyBytes関数を呼び出してキーパーを変更できます。
攻撃者は、verifyHeaderAndExecuteTx関数を使用して特別に細工されたデータを渡して、_executeCrossChainTx関数にキーパーアドレスを変更する操作を実行させます。
keeperアドレスの置き換えに成功した後、攻撃者は取引を構築し、契約から任意の量の資金を引き出すことができます。
攻撃プロセス
攻撃者はまず、EthCrossChainManagerコントラクトのverifyHeaderAndExecuteTx関数を通じてputCurEpochConPubKeyBytes関数を呼び出し、キーパーを変更します。
その後、攻撃者は新しいkeeper権限を利用して、複数の資金引き出し操作を実施しました。
攻撃が完了した後、keeperが変更されたため、他のユーザーの正常な取引が拒否されて実行されませんでした。
類似の攻撃パターンがイーサリアムネットワーク上でも再現されています。
!
まとめ
今回の攻撃の核心は、EthCrossChainData契約のkeeperがEthCrossChainManager契約によって変更可能であり、後者のverifyHeaderAndExecuteTx関数がユーザーから渡されたデータを実行できることです。攻撃者はこのメカニズムを利用して、特定のデータを構築することにより、keeperアドレスを成功裏に変更し、契約資金の制御権を獲得しました。
この出来事は、特にクロスチェーン操作などの複雑なシナリオにおいて、スマートコントラクトのセキュリティ監査の重要性を再度浮き彫りにしました。契約の論理を全面的かつ厳格にチェックする必要があり、潜在的なセキュリティリスクを防ぐためです。