# クロスチェーンプロトコルの脆弱性が重大なセキュリティ事件を引き起こす最近、有名なクロスチェーン相互運用プロトコルがハッキング攻撃を受け、業界で広く注目されています。専門のセキュリティチームによる分析では、今回の攻撃は鍵の漏洩によるものではなく、攻撃者が契約の脆弱性を利用して巧妙に重要なパラメータを変更したことが明らかになりました。## 攻撃コアこの攻撃の核心は、EthCrossChainManagerコントラクトのverifyHeaderAndExecuteTx関数にあります。 この機能は、_executeCrossChainTx機能を通じて特定のクロスチェーントランザクションを実行できます。 EthCrossChainData コントラクトの所有者は EthCrossChainManager コントラクトであるため、後者は前者の putCurEpochConPubKeyBytes 関数を呼び出してコントラクトのキーパーを変更できます。攻撃者はverifyHeaderAndExecuteTx関数に精巧に設計されたデータを渡すことによって、_executeCrossChainTx関数の実行をトリガーし、EthCrossChainDataコントラクトのputCurEpochConPubKeyBytes関数を呼び出して、keeper役割を攻撃者が指定したアドレスに変更しました。このステップを完了すると、攻撃者はトランザクションを構築し、コントラクトから任意の金額を引き出すことができます。## 攻撃プロセス1. 攻撃者はまず、EthCrossChainManagerコントラクトのverifyHeaderAndExecuteTx関数を通じてputCurEpochConPubKeyBytes関数を呼び出し、キーパーを変更します。2. その後、攻撃者は契約から資金を引き出す一連の攻撃取引を実施し始めました。3. keeperが変更されたため、他のユーザーの正常な取引が拒否されて実行されませんでした。4. 類似の攻撃手法もイーサリアムネットワーク上で実施されており、プロセスは大体同じです。! [](https://img-cdn.gateio.im/social/moments-c660956f1d8fcf8ee3fea90e7eb2c75f)## イベントの啓示この事件は、スマートコントラクト設計における重要な脆弱性を明らかにしました。EthCrossChainDataコントラクトのkeeperはEthCrossChainManagerコントラクトによって変更可能であり、後者のverifyHeaderAndExecuteTx関数はユーザー入力データを実行することができます。このような設計は攻撃者に機会を提供します。今回の攻撃はkeeperの秘密鍵の漏洩によるものではなく、契約設計に脆弱性が存在したためです。これは、クロスチェーンプロトコルを設計する際に、権限管理やデータ検証メカニズムをより慎重に考慮し、同様のセキュリティ事件が再発しないようにする必要があることを私たちに思い出させます。ブロックチェーン業界全体にとって、この事件はセキュリティ監査の重要性を再確認させるものでした。一見完璧に見えるプロトコルでさえ、見落とされた脆弱性が存在する可能性があります。継続的なセキュリティチェックと脆弱性の修正は、ユーザー資産の安全を保証するために極めて重要です。
クロスチェーンプロトコル契約の脆弱性がハッカーに攻撃され、安全設計が再び警鐘を鳴らす
クロスチェーンプロトコルの脆弱性が重大なセキュリティ事件を引き起こす
最近、有名なクロスチェーン相互運用プロトコルがハッキング攻撃を受け、業界で広く注目されています。専門のセキュリティチームによる分析では、今回の攻撃は鍵の漏洩によるものではなく、攻撃者が契約の脆弱性を利用して巧妙に重要なパラメータを変更したことが明らかになりました。
攻撃コア
この攻撃の核心は、EthCrossChainManagerコントラクトのverifyHeaderAndExecuteTx関数にあります。 この機能は、_executeCrossChainTx機能を通じて特定のクロスチェーントランザクションを実行できます。 EthCrossChainData コントラクトの所有者は EthCrossChainManager コントラクトであるため、後者は前者の putCurEpochConPubKeyBytes 関数を呼び出してコントラクトのキーパーを変更できます。
攻撃者はverifyHeaderAndExecuteTx関数に精巧に設計されたデータを渡すことによって、_executeCrossChainTx関数の実行をトリガーし、EthCrossChainDataコントラクトのputCurEpochConPubKeyBytes関数を呼び出して、keeper役割を攻撃者が指定したアドレスに変更しました。このステップを完了すると、攻撃者はトランザクションを構築し、コントラクトから任意の金額を引き出すことができます。
攻撃プロセス
攻撃者はまず、EthCrossChainManagerコントラクトのverifyHeaderAndExecuteTx関数を通じてputCurEpochConPubKeyBytes関数を呼び出し、キーパーを変更します。
その後、攻撃者は契約から資金を引き出す一連の攻撃取引を実施し始めました。
keeperが変更されたため、他のユーザーの正常な取引が拒否されて実行されませんでした。
類似の攻撃手法もイーサリアムネットワーク上で実施されており、プロセスは大体同じです。
!
イベントの啓示
この事件は、スマートコントラクト設計における重要な脆弱性を明らかにしました。EthCrossChainDataコントラクトのkeeperはEthCrossChainManagerコントラクトによって変更可能であり、後者のverifyHeaderAndExecuteTx関数はユーザー入力データを実行することができます。このような設計は攻撃者に機会を提供します。
今回の攻撃はkeeperの秘密鍵の漏洩によるものではなく、契約設計に脆弱性が存在したためです。これは、クロスチェーンプロトコルを設計する際に、権限管理やデータ検証メカニズムをより慎重に考慮し、同様のセキュリティ事件が再発しないようにする必要があることを私たちに思い出させます。
ブロックチェーン業界全体にとって、この事件はセキュリティ監査の重要性を再確認させるものでした。一見完璧に見えるプロトコルでさえ、見落とされた脆弱性が存在する可能性があります。継続的なセキュリティチェックと脆弱性の修正は、ユーザー資産の安全を保証するために極めて重要です。