Cointime

Download App
iOS & Android

ブラストチェーンを巡る9,700万ドルの戦いでは、某国のハッカーは馴染みがないのでしょうか?

Validated Project

背景

Blast は、Blur の創設者である Pacman (Tieshun Roquerre、別名 Tieshun) によって立ち上げられたイーサリアム レイヤー 2 ネットワークであり、2 月 29 日にメインネットを立ち上げました。

攻撃されたプロジェクト Munchables は、Blast が開催した Bigbang コンペティションで優勝した高品質なプロジェクトでした。

Blast 担当者は、Blast メインネット上で ETH を約束したユーザーに通常のポイントを発行します。

ユーザーがBlastエコシステム上のDeFiプロジェクトに参加することを奨励するために、Blast担当者は推奨する高品質のプロジェクトを選択し、ユーザーがより迅速なポイント増加とゴールドポイントを取得するためにDeFiに2回目のETHを約束することを奨励します。数人のユーザーが、Blast メインネットワーク上で約束された ETH を、新しく作成された DeFi プロジェクトに約束しました。

これらの DeFi プロジェクトの成熟度とセキュリティはまだ調査されておらず、これらの契約にユーザーの数千万ドル、さらには数億ドルを保護するのに十分なセキュリティ上の考慮事項があるかどうかも検討されていません。

イベント概要

Blast メインネットがオンラインになってから 1 か月も経たないうちに、2024 年 3 月 21 日に SSS トークン (Super Sushi Samurai) に対する攻撃が発生しました。トークン コントラクトに転送ロジック エラーがあり、攻撃者がその SSS トークンを増やすことができました。指定口座の残高がゼロになったため、プロジェクトは最終的に 1,310 ETH (約 460 万ドル) 以上を失いました。

SSS トークン攻撃から 1 週間も経たないうちに、Blast に対してさらに大規模な攻撃が発生し、Munchables プロジェクトは攻撃者によって 17413.96 ETH (総額約 6,250 万米ドル) とともに一掃されました。

攻撃トランザクションが発生してから 30 分後、プロジェクト契約の 73.49 WETH もハッキングされた別のアドレスによって盗まれました。

現時点では、プロジェクト当事者の契約アドレスにはまだ 7,276 WETH、7,758,267 USDB、および 4 ETH が保管されており、これらはいつハッカーの手に渡る可能性があり、ハッカーはすべての資金を奪う権限を持っています。プロジェクト全体の費用は約 9,700 万ドルに達し、リスクにさらされています。

事件直後、X(Twitter)の著名なオンチェーン探偵であるZachXBT氏は、今回の攻撃の根本原因は某国からのハッカーの雇用にあると指摘した。

「某国のハッカー」がどのようにして1億ドル近い価値の攻撃を完了させたのかを詳しく見てみましょう。

現場復旧

  • 被害者らが声を上げる

[UTC+0] 2024 年 3 月 26 日 21:37 (攻撃の 5 分後)、マンチャブルは X (Twitter) に攻撃を受けていると公式に投稿しました。

オンチェーン探偵ザックの調査によると、攻撃者はゲーム開発の仕事をしに来たということです。彼は非常に乱暴で、本当に中国のハッカーのようでした。私たちは一ヶ月以内に彼を解雇しました。彼はまた、私たちに自分のチームの一人を雇わせようとしました友人たち、彼もおそらくハッカーだったでしょう。ハッカーでした。」

この攻撃によりコミュニティユーザーに多大な損害が発生したため、直ちにオンチェーン調査を開始しましたが、今回は「某国のハッカー」による攻撃内容を詳しく見ていきましょう。

  • 最初のシーン

[UTC+0] 2024 年 3 月 26 日 21:32、17413.96 ETH に関わる攻撃が発生しました。

この攻撃トランザクションは Blastscan を通じて確認できます: https://blastscan.io/tx/0x9a7e4d16ed15b0367b8ad677eaf1db6a2a54663610696d69e1b4aa1a08f55c95

破損したコントラクト (0x29..1F) は、ユーザーがプレッジした資金を保管するプロキシ コントラクトであり、攻撃者がプレッジ コントラクトのロック解除機能を呼び出し、すべての権限チェックを通過し、コントラクト内の資金を転送したことがわかります。すべての ETH は攻撃者アドレス 1 (0x6E..c5) に送信されます。

攻撃者は引き出し動作と同様のロック解除関数を呼び出し、破損したコントラクト (0x29..1F) の ETH の大部分を奪い取ったようです。

プロジェクトの当事者は金庫の鍵を閉め忘れましたか?

破損したコントラクト (0x29..1F) には、ロック解除に関連する 2 つのチェックがあります。1 つずつ見てみましょう。

まず、権限の検証プロセス中に、現在の msg.sender、つまりハッカー アドレス 1 (0x6E..c5) が登録されているかどうかを確認するために、コントラクトの isRegistered メソッド (0x16..A0) が呼び出されたことがわかりました。 :

答えは「検証に合格しました」です。

これには、コントラクト (0x16..A0) とそれに対応する最新の論理コントラクト (0xe7..f1) が含まれます。

[UTC+0] 2024 年 3 月 24 日 08:39 (攻撃の 2 日前) に、コントラクト (0x16..A0) に対応する論理コントラクトがアップグレードされました。

論理契約アップグレード トランザクション:

https://blastscan.io/tx/0x9c431e09a80d2942319853ccfdaae24c5de23cedfcef0022815fdae42a7e2ab6

ロジック コントラクトは 0xe7..f1 に更新されます。

元の論理コントラクト アドレスは、0x9e..CD です。

https://blastscan.io/tx/0x7ad050d84c89833aa1398fb8e5d179ddfae6d48e8ce964f6d5b71484cc06d003

現時点では、ハッカーがエージェント契約のロジック実装契約を更新し、0x9e..CD を悪意のある 0xe7..f1 に変更し、検証権限のバイパスを完了したと考えられます。

本当か?

Web3.0 では、推測したり他人の意見を聞いたりする必要はなく、自分自身で答えを得るテクノロジーを習得するだけで済みます。

2 つのコントラクト (オープンソース コントラクトではない) を比較すると、元の 0x9e..CD コントラクトと更新された 0xe7..f1 コントラクトの間には明らかな違いがいくつかあることがわかりました。

0xe7..f1 の初期化関数部分は次のように実装されます。

0x9e..CD の初期化関数部分は次のように実装されます。

攻撃者が元の論理コントラクト (0x9e..CD) のレジスタとして攻撃者アドレス (0x6e..c5) を設定し、他に 2 つの攻撃者アドレス 0xc5..0d と 0xbf. も存在することがわかります。87 はまた、フィールド 0 は初期化時にブロック時刻に設定されますが、フィールド 0 の使い方については後述します。

実際、私たちの予想に反して、バックドアによる実際のロジック コントラクトは最初から存在しており、その後の更新は正常でした。

待ってください。このアップデートは 2024 年 3 月 24 日 [UTC+0] 08:39 (攻撃の 2 日前) に表示されました。つまり、このインシデントの前に、ロジック コントラクトはバックドアのないコントラクトになっていました。なぜですか? 攻撃者は完了できますか?攻撃は後ですか?

これはデリゲートコールのため、実際の状態ストレージの更新はコントラクト (0x16..A0) 内にあり、その結果、ロジック コントラクトが後でバックドアなしでロジック コントラクト 0xe7..f1 に更新されたとしても、コントラクト (0x16. .A0) はまだ復元されません。

確認してみましょう:

コントラクト内の対応するスロット (0x16....A0) に数値があることがわかります。

これにより、攻撃者は isRegistered メソッドのチェックに合格できます。

その後、攻撃者はバックドアがすでに仕掛けられているという事実を隠すために、バックドア コントラクトを通常のコントラクトに変更します。

さらに、ロック解除プロセスには 2 番目の検証も含まれます。

ロック時間チェックに関しては、ロックされた資産が期限切れになる前に転送されないことを確認する部分です。

攻撃者は、ロック解除が呼び出されたときのブロック時間が、必要なロック有効期限 (フィールド 3) よりも長いことを確認する必要があります。

検証のこの部分には、破損したコントラクト (0x29..1F) と、対応する論理コントラクト 0xf5..cd が含まれます。

2024 年 3 月 21 日 [UTC+0] 11:54 (攻撃の 5 日前) のトランザクションでは、

https://blastscan.io/tx/0x3d08f2fcfe51cf5758f4e9ba057c51543b0ff386ba53e0b4f267850871b88170

破損したコントラクト (0x29..1F) コントラクトの元の論理コントラクトは 0x91..11 であり、そのわずか 4 分後の時刻であることがわかります。

https://blastscan.io/tx/0xea1d9c0d8de4280b538b6fe6dbc3636602075184651dfeb837cb03f8a19ffc4f

0xf5..cd にアップグレードされました。

また、2 つのコントラクトを比較すると、攻撃者が以前と同様に初期化関数でもトリックを行っていることがわかります。

0xf5..cd の初期化関数の部分的な実装:

0xf5..cd にアップグレードされました。

また、2 つのコントラクトを比較すると、攻撃者が以前と同様に初期化関数でもトリックを行っていることがわかります。

0xf5..cd の初期化関数の部分的な実装:

0x91..11 の初期化関数の部分的な実装:

同じ手口を再度使用してETHの量やロック解除時間を改ざんし、通常の契約書に置き換えて他者を欺いたことが明らかであり、プロジェクトチームとセキュリティ研究者がデバッグしていたところ、、表示される論理的なコントラクトはすべて正常であり、コントラクトはすべて非オープンソースのコントラクトであるため、問題の核心を明確に理解することはさらに困難です。

これまでのところ、17413 ETH に関わるこの取引と攻撃者がどのように実行したかはわかっていますが、この事件の背後にある情報はこれだけなのでしょうか?

上記の分析では、実際にハッカーがコントラクトに 3 つのアドレスを組み込んでいることがわかりました。

0x6e..c5 (攻撃者のアドレス 1)

0xc5..0d (攻撃者のアドレス 2)

0xbf..87 (攻撃者のアドレス 3)

ただし、上で見つけた攻撃トランザクションでは 0x6e..c5 しか確認できませんでしたが、他の 2 つのアドレスは何をしたのでしょうか?そして、address(0)、_dodoApproveAddress、および _uniswapV3Factorty にはどのような秘密が隠されているのでしょうか?

  • 2番目のシーン

まず、同じ方法で 73.49 WETH を盗んだ攻撃者のアドレス 3 (0xbf..87) を見てみましょう。

https://blastscan.io/tx/0xfc7bfbc38662b659bf6af032bf20ef224de0ef20a4fd8418db87f78f9370f233

そして、gas の送信元アドレス (0x97..de) を攻撃し、0xc5..0d (攻撃者アドレス 2) と 0xbf..87 (攻撃者アドレス 3) の両方に手数料を支払います。

ガスソースアドレス (0x97..de) を攻撃する 0.1 ETH のソースは、owlto.finance (クロスチェーンブリッジ) から来ています。

0xc5..0d(攻撃者アドレス2)は手数料を受け取った後は攻撃をしませんでしたが、実は裏の計画を抱えていたので見ていきましょう。

実際、救出後の公式トランザクションによると、被害を受けた契約の元のアドレス (0x29..1F) は 73.49 WETH だけではなく、攻撃が終了するまでまだ 7276.5 WETH と 7758267 USDB が存在していました。

実際、救出後の公式トランザクションによると、被害を受けた契約の元のアドレス (0x29..1F) は 73.49 WETH だけではなく、攻撃が終了するまでまだ 7276.5 WETH と 7758267 USDB が存在していました。

救助協定:

https://blastscan.io/tx/0x1969f10af9d0d8f80ee3e3c88d358a6f668a7bf4da6e598e5be7a3407dc6d5bb

攻撃者は元々これらの資産を盗むことを計画しており、アドレス 0xc5..0d (攻撃者アドレス 2) が元々 USDB を盗むために使用されていたことがわかります。

ここの _dodoApproveAddress は 0x0000000000000000000000004300000000000000000000000000000000000003 です

usdbのアドレスです

0xbf..87 (攻撃者のアドレス 3) このアドレスは次のものを盗むために使用されます。

0xbf..87 (攻撃者のアドレス 3) このアドレスは次のものを盗むために使用されます。

ここの _uniswapV3Factory は 0x00000000000000000000000430000000000000000000000000000000000004 です。

ウェスの住所です

そして、0x6e..c5 (攻撃者のアドレス 1) は、ネイティブ資産 ETH であるアドレス (0) を盗む役割を果たします。

field0 を設定すると、攻撃者は次のロジックを通じて対応する資産を盗むことができます。

質問

  • なぜ攻撃者はすべての資産を盗まなかったのでしょうか?

理論的には、彼はすべての資産、つまり残りのWETHとUSDBを盗むことができます。

0xbf..87 (攻撃者のアドレス 3) は 73.49 WETH のみを盗みました。0xbf..87 (攻撃者のアドレス 3) は実際に 7350 WETH をすべて奪うことができます。0xc5..0d (攻撃者のアドレス 2) を使用することもできます) は 7758267 USDB をすべて奪いました、なぜ少量のWETHを摂取しただけで停止したのかはわかりませんが、有名なチェーン探偵による詳細な内部調査が必要になる可能性があります。

0xbf..87 (攻撃者のアドレス 3) は 73.49 WETH のみを盗みました。0xbf..87 (攻撃者のアドレス 3) は実際に 7350 WETH をすべて奪うことができます。0xc5..0d (攻撃者のアドレス 2) を使用することもできます) は 7758267 USDB をすべて奪いました、なぜ少量のWETHを摂取しただけで停止したのかはわかりませんが、有名なチェーン探偵による詳細な内部調査が必要になる可能性があります。

https://blastscan.io/tx/0xfc7bfbc38662b659bf6af032bf20ef224de0ef20a4fd8418db87f78f9370f233

  • なぜ攻撃者は 17413ETH をイーサリアムメインネットに転送しなかったのでしょうか?

誰もが知っているように、Blast メイン ネットワークは集中型の方法でこれらの ETH を傍受し、ユーザーに重大な損失を引き起こすことなく永続的にここに留まらせることが可能ですが、これらの ETH がイーサリアム メイン ネットワークに入ると、傍受する方法はありません。それ。

私たちは現在のBlastクロスチェーンブリッジを評価しました.公式のクロスチェーンブリッジの数に制限はありませんが、脱出するまでに14日を必要とし、Blast当局が迎撃計画を準備するのに十分な時間です。

サードパーティのクロスチェーン ブリッジは、攻撃者の料金源と同様に、ほぼリアルタイムで入金され、クロスチェーンを迅速に完了できます。

実際、攻撃者は最初の瞬間 (攻撃から 2 分以内) にクロスチェーンを実行しました。

https://blastscan.io/tx/0x10cf2f2b884549979a3a1dd912287256229458ef40d56df61738d6ea7d9d198f

さらに、資金がイーサリアムのメインネットワークに到着するまでに 20 秒かかりました 理論的には、クロスチェーンブリッジが手動で介入する前に、攻撃者はクロスチェーンを継続し、チェーン間で大量の ETH を転送することができます。

一度に 3 ETH しか使用できない理由については、Blast から ETH までのクロスチェーン ブリッジの流動性制限が理由です。

一度に 3 ETH しか使用できない理由については、Blast から ETH までのクロスチェーン ブリッジの流動性制限が理由です。

Blast をサポートする別のクロスチェーン ブリッジは、さらに少ないサポートをサポートします。

このクロスチェーン取引後、攻撃者は他のクロスチェーン操作を継続しませんでしたが、理由は不明ですが、「某国のハッカー」がブラストから資金を引き出すための十分な準備をしていなかったものと思われます。

攻撃後に何が起こったのか

コミュニティ ユーザー Nearisbuilding からのフィードバックに基づいて、彼は攻撃者の身元情報をさらに見つけ、攻撃者に資金の返還を促す方法を見つけました。

https://twitter.com/Nearisbuilding/status/1772812190673756548

最終的に、暗号化コミュニティの注目と努力により、「某国のハッカー」は、身元暴露を恐れたのか、上記 3 つの攻撃者アドレスの秘密鍵をプロジェクト チームに提供し、すべて返却しました。プロジェクトチームは救済取引も実施し、破損した契約書からすべての資金を複数署名契約書に移して保管する。

コメント

全てのコメント

Recommended for you

  • AIが地域開発の意思決定支援を行うとする長江デルタ統合モデルを発表した。

    長江デルタ統合モデル発表・応用連携会議が上海で開催された。会議では、中国地域経済50フォーラムメンバーで、上海財経大学長江デルタ・長江経済ベルト発展研究所執行長の張学良教授チームが主導する長江デルタ統合モデル(YRD-P1)が正式に発表された。張学良教授は、YRD-P1モデルは長年の都市・地域科学研究の蓄積に基づいて構築された専門的な大規模モデルであると述べた。継続的に蓄積された政策文書、統計データ、学術成果、産業チェーン情報、地理空間データを基盤とし、長江デルタ地域向けに深くカスタマイズされ、知識システムの体系性、権威性、追跡可能性を重視し、協調的な地域発展のために、よりインテリジェントで正確、かつ持続可能な意思決定支援ツールを提供することに尽力している。

  • 天埔株:同社は情報開示規制に違反した疑いがあり、1月12日に株式の取引が再開される。

    天埔株式会社は、中国証券監督管理委員会(CSRC)から「立件通知書」を受領し、上海証券取引所から情報開示違反の疑いで規制警告を受けたと発表した。同社株式の取引は2026年1月12日に再開される。同社の生産・運営は現在正常だが、株価は短期的な変動が大きく、累積で大幅な上昇を見せており、同社のファンダメンタルズから大きく乖離し、大きな取引リスクをもたらしている。2025年第1四半期および第2四半期の営業収益は2億3000万元で、前年同期比4.98%減、上場会社株主に帰属する純利益は1785万8000元で、前年同期比2.91%減となった。

  • 日本の首相が衆議院解散を検討、USD/JPYが急上昇。

    日本の首相は衆議院の解散を検討している。ドルは円に対して急上昇し、0.66%上昇の157.95円となり、過去1年間で最高値を更新した。

  • 連銀の代弁者であるニック・ティミラオス氏は、民間部門の雇用主が2025年までに毎月平均6万1000人の雇用を増やすと予測しており、これは2003年のいわゆる「失業回復」以来、民間部門の雇用増加が最も弱い時期となる。

    連銀の代弁者であるニック・ティミラオス氏は、民間部門の雇用主が2025年までに毎月平均6万1000人の雇用を増やすと予測しているが、これは2003年のいわゆる「失業回復」以来、民間部門の雇用増加が最も弱い時期となる。

  • 失業率が予想外に低下したことで金利引き下げへの期待は大幅に弱まり、債券トレーダーらは年央の動きに目を向けるようになった。

    米国債は、トレーダーが今月下旬の連邦準備制度理事会(FRB)による利下げへの期待を事実上払拭したことで下落した。これは、12月の失業率が予想以上に低下し、雇用全体の伸び悩みを相殺したことを受けたものだ。金曜日の雇用統計発表後、米国債価格は下落し、全年限の利回りが最大3ベーシスポイント上昇した。債券トレーダーは、2026年中に2回の利下げが実施されるという予想を維持し、最初の利下げは年央に実施されると予想している。ナティクシス・ノース・アメリカの米国金利戦略責任者、ジョン・ブリッグス氏は、「我々にとって、FRBは全体的なデータに含まれるノイズよりも失業率を重視している。したがって、これは米国金利にとって若干弱気材料だ」と述べた。9月、10月、11月の雇用統計は、10月1日から11月12日までの6週間にわたる政府閉鎖のため発表が遅れた。今回の雇用統計は、マクロ経済の雇用動向を反映した初の「クリーン」な指標となる。 FRBが追加利下げに踏み切るかどうかは、今後数ヶ月の労働市場の動向次第とみられる。労働市場の弱さを受け、FRBは過去3回の会合で短期貸出金利の目標レンジを引き下げた。しかし、一部の当局者はインフレ率が目標を上回ることを依然として懸念しており、これが追加緩和のペースを抑制しているとみられている。

  • ゴールドマン・サックス:FRBは1月に金利を据え置く可能性が高いが、2026年の残りの期間にさらに2回金利を引き下げるだろう。

    1月9日、金石データは、ゴールドマン・サックス・アセット・マネジメントのマルチセクター債券投資責任者であるリンゼイ・ローゼナー氏が、米国の非農業部門雇用者数について「さようなら、1月!」と述べたと報じました。労働市場が安定化の兆しを見せていることから、FRB(連邦準備制度理事会)は当面現状維持の可能性が高いでしょう。失業率の改善は、11月の急上昇は「退職遅延」政策とデータの歪みによる個々の従業員の早期退職によるものであり、システム全体の弱体化の兆候ではないことを示唆しています。FRBは当面政策スタンスを維持すると予想されますが、2026年の残りの期間にさらに2回の利下げを実施すると予想しています。

  • 市場トレーダーは依然として、連邦準備制度理事会が2026年に金融政策を約50ベーシスポイント緩和すると予想している。

    市場トレーダーは依然として、連邦準備制度理事会が2026年に金融政策を約50ベーシスポイント緩和すると予想している。

  • スワップ市場では、FRBが1月に利下げを行う可能性はゼロだとみられている。

    1月9日の金石データによると、米国の失業率の低下により、連邦準備制度理事会の1月の金利引き下げ計画は頓挫し、金利スワップ契約では現在、金利引き下げの確率はゼロであると示されている。

  • 米国の12月の非農業部門雇用者数は予想を下回り、失業率はわずかに低下したものの、労働市場の悪化傾向を隠すことはできなかった。

    米国労働統計局が金曜日に発表したデータによると、12月の雇用者数は5万人増加し、エコノミスト予想の6万人を下回った。失業率は11月の4.6%から4.4%に低下した。11月と10月のデータは政府閉鎖の影響を大きく受けていたため、このデータは数ヶ月ぶりに米国の雇用市場の全体像を示している。11月の雇用者数増加数は、当初の推定値6万4000人から5万6000人に下方修正された。このデータは、連邦政府の人員削減と民間部門の雇用減速の影響を受けた労働市場の悪化の兆候をさらに裏付けている。連邦準備制度理事会(FRB)は過去3回の会合で米国の借入コストを引き下げ、政策金利の目標レンジを3年ぶりの低水準である3.5~3.75%に維持した。パウエルFRB議長は12月、現在の借入コストは「良好な水準にある」と述べ、追加利下げの閾値は高いことを示唆した。しかし、12月の弱いデータは、今月末に開催される次回会合で利下げサイクルを停止するというFRBの主張を複雑化させる可能性がある。FRBはまた、労働統計局(BLS)の最新データの正確性についても懸念を表明した。パウエル議長は、米国経済の月間雇用者数は雇用統計で示されているよりも6万人少ないと示唆した。

  • 市場トレーダーは、連邦準備制度理事会が1月に金利を引き下げる可能性は事実上ゼロだと予想している。

    市場トレーダーは、連邦準備制度理事会が1月に金利を引き下げる可能性は事実上ゼロだと予想している。