クロスチェーンプロトコル契約の脆弱性がハッカーに攻撃され、安全設計が再び警鐘を鳴らす

robot
概要作成中

クロスチェーンプロトコルの脆弱性が重大なセキュリティ事件を引き起こす

最近、有名なクロスチェーン相互運用プロトコルがハッキング攻撃を受け、業界で広く注目されています。専門のセキュリティチームによる分析では、今回の攻撃は鍵の漏洩によるものではなく、攻撃者が契約の脆弱性を利用して巧妙に重要なパラメータを変更したことが明らかになりました。

攻撃コア

この攻撃の核心は、EthCrossChainManagerコントラクトのverifyHeaderAndExecuteTx関数にあります。 この機能は、_executeCrossChainTx機能を通じて特定のクロスチェーントランザクションを実行できます。 EthCrossChainData コントラクトの所有者は EthCrossChainManager コントラクトであるため、後者は前者の putCurEpochConPubKeyBytes 関数を呼び出してコントラクトのキーパーを変更できます。

攻撃者はverifyHeaderAndExecuteTx関数に精巧に設計されたデータを渡すことによって、_executeCrossChainTx関数の実行をトリガーし、EthCrossChainDataコントラクトのputCurEpochConPubKeyBytes関数を呼び出して、keeper役割を攻撃者が指定したアドレスに変更しました。このステップを完了すると、攻撃者はトランザクションを構築し、コントラクトから任意の金額を引き出すことができます。

攻撃プロセス

  1. 攻撃者はまず、EthCrossChainManagerコントラクトのverifyHeaderAndExecuteTx関数を通じてputCurEpochConPubKeyBytes関数を呼び出し、キーパーを変更します。

  2. その後、攻撃者は契約から資金を引き出す一連の攻撃取引を実施し始めました。

  3. keeperが変更されたため、他のユーザーの正常な取引が拒否されて実行されませんでした。

  4. 類似の攻撃手法もイーサリアムネットワーク上で実施されており、プロセスは大体同じです。

!

イベントの啓示

この事件は、スマートコントラクト設計における重要な脆弱性を明らかにしました。EthCrossChainDataコントラクトのkeeperはEthCrossChainManagerコントラクトによって変更可能であり、後者のverifyHeaderAndExecuteTx関数はユーザー入力データを実行することができます。このような設計は攻撃者に機会を提供します。

今回の攻撃はkeeperの秘密鍵の漏洩によるものではなく、契約設計に脆弱性が存在したためです。これは、クロスチェーンプロトコルを設計する際に、権限管理やデータ検証メカニズムをより慎重に考慮し、同様のセキュリティ事件が再発しないようにする必要があることを私たちに思い出させます。

ブロックチェーン業界全体にとって、この事件はセキュリティ監査の重要性を再確認させるものでした。一見完璧に見えるプロトコルでさえ、見落とされた脆弱性が存在する可能性があります。継続的なセキュリティチェックと脆弱性の修正は、ユーザー資産の安全を保証するために極めて重要です。

ETH2.68%
原文表示
このページには第三者のコンテンツが含まれている場合があり、情報提供のみを目的としております(表明・保証をするものではありません)。Gateによる見解の支持や、金融・専門的な助言とみなされるべきものではありません。詳細については免責事項をご覧ください。
  • 報酬
  • 4
  • 共有
コメント
0/400
SundayDegenvip
· 07-14 15:39
やはりゼロデイ保護を追加する必要がありますね。
原文表示返信0
GasGrillMastervip
· 07-14 15:36
また問題が発生しました。逃げます、逃げます。
原文表示返信0
RooftopVIPvip
· 07-14 15:29
また屋上でショーをするのね
原文表示返信0
TokenCreatorOPvip
· 07-14 15:22
クラシックな操作...初心者収穫機ですね
原文表示返信0
いつでもどこでも暗号資産取引
qrCode
スキャンしてGateアプリをダウンロード
コミュニティ
日本語
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)