イベント概要
2025年2月21日午後2時16分11秒(UTC)、BybitのEthereumコールドウォレット(0x1db92e2eebc8e0c075a02bea49a2935bcd2dfcf4[1])が悪意のある契約アップグレードにより盗まれました。 BybitのCEOベン・ゾウ氏の声明[2]によると、攻撃者はフィッシング攻撃を通じてコールドウォレットの署名者を騙し、悪意のあるトランザクションに誤って署名させたとのこと。彼は、取引が正当な操作を装っていたと述べました。Safe{Wallet} インターフェースには通常の取引が表示されていましたが、実際に Ledger デバイスに送信されたデータは悪意のあるコンテンツで改ざんされていました。攻撃者は3つの有効な署名を取得し、Safeマルチ署名ウォレットの実装契約を悪意のある契約に置き換えて資金を盗みました。この脆弱性により約14億6,000万ドルの損失が発生し、Web3.0史上最大のセキュリティインシデントとなりました。
攻撃取引記録
安全なウォレット実装契約を悪意のある契約にアップグレードします。
https://etherscan.io/tx/0x46deef0f52e3a983b67abf4714448a41dd7ffd6d32d32da69d62081c68ad7882
Bybit コールドウォレットから資金を送金するための複数のトランザクション:
- 401,346 ETH[3]
- 15,000 cmETH[4]
- 8,000ミリETH[5]
- 90,375 stETH[6]
- 90USDT[7]
メインアドレス
- Bybitマルチシグネチャコールドウォレット(被害者)[8]
- 攻撃者の最初の攻撃活動アドレス[9]
- 悪意のある契約の実施[10]
- 安全な「デリゲートコール」プロセスで使用される攻撃契約[11]
攻撃プロセス
1. 攻撃者は、攻撃の 3 日前 (2025 年 2 月 18 日、UTC 時間) に 2 つの悪意のある契約を展開しました。
- これらの契約には資金を送金するためのバックドア機能が含まれています。[12]
- 契約のアップグレードを可能にするためにストレージスロットを変更するコード[13]
2. 2025年2月21日、攻撃者は3つのマルチシグウォレットの所有者(署名者)を騙して悪意のあるトランザクションに署名させ、Safe実装契約をバックドアを含む以前に展開された悪意のある契約にアップグレードしました[14]:https://etherscan.io/tx/0x46deef0f52e3a983b67abf4714448a41dd7ffd6d32d32da69d62081c68ad7882
3. 攻撃トランザクションの「operation」フィールドの値は「1」であり、GnosisSafe コントラクトが「delegatecall」を実行することを示しています。一方、「0」は「Call」を意味します。
4. トランザクションは、攻撃者がデプロイした別のコントラクトへのデリゲート呼び出しを実行しました(0x96221423681a6d52e184d440a8efcebb105c7242[15])。コントラクトには「transfer()」関数が含まれており、呼び出されるとコントラクトの最初のストレージスロット「uint256 _transfer」が変更されます。
GnosisSafe コントラクトでは、最初のストレージ スロットに「masterCopy」アドレスが含まれています。これは、GnosisSafe コントラクトの実装コントラクト アドレスです。
攻撃者は、Gnosis Safe コントラクトの最初のストレージ スロットを変更することで、実装コントラクト アドレス (つまり、「masterCopy」アドレス) を変更することができました。
トランザクションの詳細から、攻撃者が「masterCopy」アドレスを 0xbDd077f651EBe7f7b3cE16fe5F2b025BE2969516 に設定していることがわかります。これには、以下で説明する「sweepETH()」および「sweepERC20()」関数が含まれています。
5. 攻撃者が使用する契約アップグレード方法は従来とは異なるものであり、発見されないように特別に設計されています。 Bybit 署名者の観点から見ると、署名されたデータは、疑惑を呼ぶ可能性のある「アップグレード」関数ではなく、単純な「transfer(address, uint256)」関数呼び出しのように見えます。
6. アップグレードされた悪意のある実装コントラクト[16]には、バックドア関数「sweepETH()」と「sweepERC20()」が含まれていました。これらの関数を呼び出すことで、攻撃者はコールドウォレット内のすべての資産を転送し、最終的に14億ドル相当のETHを盗みました。
脆弱性分析
この侵害の根本的な原因は、フィッシング攻撃が成功したことでした。攻撃者はウォレット署名者を騙して悪意のあるトランザクションデータに署名させ、最終的には契約の悪意のあるアップグレードにつながります。このアップグレードにより、攻撃者はコールドウォレットを制御し、その資金をすべて転送できるようになりました。現時点では、フィッシング攻撃の具体的な計画や実行方法はまだ不明です。
脆弱性発生から2時間後、BybitのCEOであるベン・ジョウ氏がXプラットフォームでのライブ放送で説明したところによると、インシデント発生時、Bybitチームはコールドウォレットからホットウォレットへの通常の資産移転プロセスを実行しており、同氏はSafeマルチ署名トランザクションの最後の署名者だったという。彼は、取引が偽装されていたことを明確に指摘しました。Safe{Wallet} インターフェース上のすべての署名者が見たアドレスと取引データは正しい内容として表示され、URL は Safe{Wallet} によって正式に検証されていました。しかし、取引データが署名のためにLedgerハードウェアウォレットに送信されたとき、実際の内容は改ざんされていました。 Ben Zhou氏はまた、Ledgerデバイスのインターフェースで取引の詳細を再確認しなかったとも述べています。攻撃者が Safe{Wallet} インターフェースをどのように改ざんしたかはまだ不明です。 Arkham[17]が公開した情報によると、オンチェーンアナリストの@zachxbtは、攻撃がLAZARUSハッカーグループによって計画され実行されたことを示す確固たる証拠を提出した。
学んだ教訓
この事件は、2024年10月16日に発生したRadiant Capitalの侵害事件(文献1[18]、文献2[19])を彷彿とさせ、約5000万ドルの盗難につながった。当時、攻撃者は開発者のデバイスに侵入し、Safe{Wallet} フロントエンド インターフェースを改ざんして正当な取引データを表示するようにしていましたが、実際にハードウェア ウォレットに送信されたデータは悪意のあるコンテンツでした。このタイプの改ざんは、手動インターフェースレビューまたは Tenderly シミュレーション テストでは検出できませんでした。攻撃者は当初、信頼できる元請負業者を装い、マルウェア(macOSに永続的なバックドアを確立する)を含む圧縮PDFファイルをTelegramメッセージ経由で標的に送信することで、デバイスへのアクセスを獲得した。
Bybit 事件におけるインターフェース改ざんの根本的な原因はまだ確認されていませんが、デバイスの侵害が重要な要因である可能性があります (Radiant Capital 事件と同様)。どちらの事件でも、攻撃が成功するための 2 つの主要な前提条件、つまりデバイスの侵害とブラインド署名が明らかになりました。このような攻撃の頻度が増加していることを考えると、次の 2 つの攻撃方法と緩和戦略の分析に重点を置く必要があります。
1. デバイスがハッキングされる:
ソーシャル エンジニアリングを通じてマルウェアを拡散し、被害者のデバイスに侵入することは、Web3.0 分野における大規模攻撃の主な手段であり続けています。国家レベルのハッカー集団(LAZARUS GROUP など)は、初期防御ラインを突破するためにこの手法をよく使用します。デバイスの侵害により、セキュリティ制御が事実上回避される可能性があります。
緩和戦略:
- デバイスのセキュリティを強化する: 厳格なエンドポイント セキュリティ ポリシーを策定し、CrowdStrike などの EDR ソリューションを導入します。
- 専用署名デバイス: 分離された環境で専用デバイスを使用してトランザクション署名を実行し、多目的デバイスが公開されるリスクを回避します。
- 一時的なオペレーティング システム: 重要な操作 (マルチ署名トランザクションなど) 用に非永続的なオペレーティング システム (一時的な仮想マシンなど) を構成して、クリーンなオペレーティング環境を確保します。
- フィッシング シミュレーション演習: セキュリティ意識を高めるために、高リスクの役割 (暗号資産オペレーターやマルチ署名署名者など) に対してフィッシング攻撃シミュレーションを定期的に実施します。
- レッド チーム攻撃および防御訓練: 攻撃者の戦術をシミュレートして、既存のセキュリティ制御の有効性を評価し、それに応じて強化します。
2. ブラインド署名の脆弱性:
ブラインド署名とは、ユーザーがトランザクションの詳細を完全に検証せずにトランザクションに署名することを意味し、その結果、悪意のあるトランザクションが誤って承認されることになります。このような安全でない操作は DeFi ユーザーの間では一般的であり、大量の資産を管理する Web3.0 機関にとって特に危険です。ハードウェアウォレットLedgerは最近この問題について議論しました(参考文献1[20]、参考文献2[21])。 Bybitの事件では、悪意のあるインターフェースが取引の真意を隠蔽し、改ざんされたデータがLedgerデバイスに送信され、署名者がデバイス側で詳細を検証しなかったため、最終的に脆弱性が発生しました。
緩和戦略:
- 検証されていない Dapps を避ける: 信頼できるプラットフォームのみとやり取りし、ブックマークを通じて公式プラットフォームにアクセスし、フィッシング リンクを避けます。
- ハードウェア ウォレットの 2 回目の検証: Ledger またはその他のデバイスの画面でトランザクションの詳細 (受信アドレス、金額、関数呼び出し) を項目ごとに確認し、期待どおりであることを確認します。
- トランザクションのシミュレーション: 署名する前に、トランザクションをシミュレートしてその結果を観察し、その正確性を確認します。
- 非ビジュアル インターフェースの使用: サードパーティのグラフィカル インターフェースへの依存を減らすには、コマンド ライン ツール (CLI) を選択します。CLI は UI 操作のリスクを軽減し、トランザクション データのより透過的なビューを提供します。
- 異常終了: トランザクションのいずれかの部分に異常がある場合、署名プロセスは直ちに終了され、調査が開始されます。
- デュアルデバイス検証メカニズム: 署名する前に、別のデバイスを使用してトランザクション データを個別に検証します。デバイスは、ハードウェア ウォレットに表示されるデータと一致する、読み取り可能な署名付き検証コードを生成する必要があります。
Radiant CapitalとWazirX2[22]の数千万ドルの損失に続き、BybitはWeb3.0史上最大の盗難の被害者となった。こうした攻撃の頻度と複雑さはますます増大しており、業界の運用セキュリティにおける重大な欠陥が露呈しています。攻撃者は価値の高いターゲットを組織的に狙っています。敵対者の能力が向上するにつれて、集中型取引所 (CEX) と Web3.0 機関はセキュリティ保護レベルを包括的に向上させ、外部の脅威の反復的な進化に対して警戒する必要があります。
[1] :https://etherscan.io/address/0x1db92e2eebc8e0c075a02bea49a2935bcd2dfcf4
[2] :https://x.com/Bybit_Official/status/1892986507113439328
[3] :https://etherscan.io/tx/0xb61413c495fdad6114a7aa863a00b2e3c28945979a10885b12b30316ea9f072c
[4] :https://etherscan.io/tx/0x847b8403e8a4816a4de1e63db321705cdb6f998fb01ab58f653b863fda988647
[5] :https://etherscan.io/tx/0xbcf316f5835362b7f1586215173cc8b294f5499c60c029a3de6318bf25ca7b20
[6] :https://etherscan.io/tx/0xa284a1bc4c7e0379c924c73fcea1067068635507254b03ebbbd3f4e222c1fae0
[7] :https://etherscan.io/tx/0x25800d105db4f21908d646a7a3db849343737c5fba0bc5701f782bf0e75217c9
[8] :https://etherscan.io/address/0x1db92e2eebc8e0c075a02bea49a2935bcd2dfcf4
[9] :https://etherscan.io/address/0x0fa09c3a328792253f8dee7116848723b72a6d2e
[10] :https://etherscan.io/address/0xbdd077f651ebe7f7b3ce16fe5f2b025be2969516
[11]:https://etherscan.io/address/0x96221423681A6d52E184D440a8eFCEbB105C7242#コード
[12] :https://etherscan.io/address/0xbdd077f651ebe7f7b3ce16fe5f2b025be2969516
[13] :https://etherscan.io/address/0x96221423681A6d52E184D440a8eFCEbB105C7242#コード
[14] :https://etherscan.io/address/0xbdd077f651ebe7f7b3ce16fe5f2b025be2969516
[15] :https://etherscan.io/address/0x96221423681A6d52E184D440a8eFCEbB105C7242
[16] :https://etherscan.io/address/0xbdd077f651ebe7f7b3ce16fe5f2b025be2969516
[17]:https://x.com/arkham/status/1893033424224411885
[18] :https://medium.com/@RadiantCapital/radiant-post-mortem-fecd6cd38081
[19]: https://medium.com/@RadiantCapital/radiant-capital-incident-update-e56d8c23829e
[20]: https://www.ledger.com/academy/topics/ledgersolutions/what-is-clear-signing
[21] :https://www.youtube.com/watch?v=-O7aX6vUvs8
[22]: https://wazirx.com/blog/wazirx-cyber-attack-key-insights-and-learnings