イーサリアムへの攻撃によって引き起こされたフォークイベントの技術的分析

イーサリアムへの攻撃によって引き起こされたフォークイベントの技術的分析

2021年8月27日北京時間20時50分頃(ブロック高13107518)、イーサリアムが突然フォークしました。 Geth のコード バージョンの変更とフォークの原因となったトランザクション (0x1cb6fb36633d270edefc04d048145b4298e67b8aa​​82a9e5ec4aa1435dd770ce4) を分析することで、Ethereum フォークの根本的な原因が明らかになりました。Geth の古いバージョンでは、プリコンパイルされたコントラクト呼び出しを処理する際に、コーナー ケースでのパラメーター値の処理が考慮されていなかったため、重複コピーが発生し、異常な戻り値が発生していました。この脆弱性 (CVE-2021-39137) は Geth の担当者に提出されました。詳細はまだ明らかにされていないが、攻撃者はすでにこの脆弱性を悪用して攻撃を実行している。私たちはタイムリーな分析と開示が必要だと信じており、私たちの分析がコミュニティに必要な理解と支援を提供できることを願っています。

攻撃分析

当社のオンライン分析ツールを使用すると、次のことがわかります。

図1

このトランザクションは、慎重に構築された STATICCALL を実行しました。攻撃者は、addr を 0x04 (事前コンパイルされたコントラクト dataCopy)、inOffset を 0、inSize を 32、retOffset を 7、retSize を 32 に設定しました。

図2

STATICCALL のターゲット アドレスはプリコンパイルされたコントラクトなので、図 2 の RunPrecompiledContract が実行されます。

図3

図4

図 3 および 4 のコードを見ると、プリコンパイルされたコントラクト 0x04 によって実行される実際のロジックは、単に (ポインター) を返すだけであることがわかります。

図5

図6

図5はSTATICCALLの実行プロセスを示しています。 753 行目は、プリコンパイルされたコントラクトを実行するためのエントリ ポイントです。 751行目のargsはEVMのメモリ内のinOffset〜inOffset + inSize領域のポインタを指しています。つまりargsはMem[0:32]を指しています。

図6と、プリコンパイルされたコントラクト0x04 (dataCopy)の以前の分析によると、753行目の戻り値retはargsとまったく同じポインターであり、Mem[0:32]を指していることがわかります。

  • Geth のバージョン 1.10.7 (バグあり) では、762 行目では、ret が指す値を EVM のメモリ内の retOffset ~ retOffset + retOffset 領域に割り当てます。つまり、Mem[0:32] の値を Mem[7:7+32] に割り当てます。 retはMem[0:32]へのポインターなので、今回はMemory.SetがMem[7:32]の値を変更し、retが指す値を変更します。したがって、771 行目で返される ret は、プリコンパイルされたコントラクト実行の終了時の ret ではなくなります。

  • Geth のバージョン 1.10.8 (バグなし) では、行 766 が追加されました: ret = common.CopyBytes (ret)。これは、Mem[0:32] の値のディープ コピーを作成し、それを ret に割り当てます。次に、767 行目で実行される Memory.Set は Memory のみを変更し、ret は変更しません。 771 行目に返された ret が正しい ret です。

要約する

攻撃プロセス全体を精査し、Geth のソースコードを分析した結果、根本的な原因は、古いバージョンの Geth では、プリコンパイルされたコントラクトの呼び出しを処理する際に異常な値の処理が考慮されていなかったため、攻撃者が脆弱性を悪用して重複コピーを実装し、戻り値に影響を与え、最終的にフォークにつながったと考えています。 Geth は BSC、HECO、Polygon などのパブリック チェーンの基盤となっているため、この脆弱性の影響は非常に広範囲にわたります。現在、さまざまなパブリックチェーンが次々とアップグレードやパッチをリリースしています。また、インフラストラクチャのセキュリティを確保するために、関連するすべてのノードに対して、できるだけ早くアップグレードとパッチ適用を行うよう呼びかけています。


<<:  VeryHash 8月4週目マイニングマシン市場リリース

>>:  電気窃盗犯罪を取り締まろう!マレーシア警察がビットコイン採掘機数千台を破壊

推薦する

Alibaba Cloud ECS にマイニングトロイの木馬が埋め込まれた問題の解決プロセスを共有

Alibaba Cloud ECS サーバーは現在、多くの Web サイトの顧客によって使用されてい...

初心者必読 |乾季に採掘する際に注意すべきことは何ですか?

最近、ブロックチェーンの好ましい政策が次々と発表される中、多くの友人が試してみたいと熱望し、マイニン...

ビットコイン市場は会議後に回復、「トランプ合意」はまだ有効か?

2024年のビットコインカンファレンスの開催に伴い、BTCの価格は上昇を続けています。この期間中、...

共和党大統領候補とビットコインがどちらも止められない理由

ビットコインと共和党大統領候補ドナルド・トランプの共通点は何でしょうか?どちらもそれぞれの分野では新...

中国経済週刊: グラフィック カードの価格が異常なほど上昇していますが、茅台酒を購入するよりもグラフィック カードを購入するほうが良いのでしょうか?

記者 張燕 |北京レポート趙建飛氏は、数か月前に数百ドルをためらったせいで、今では新しいグラフィック...

スコットランドはブロックチェーンの未来の拠点としての地位を確立する計画

クレイジーコメント:スコットランドは、技術リソース、専門的才能、政策や規制において独自の優位性を持っ...

コインゾーントレンド: 今週のビッグデータに基づくビットコインの価格動向 (2016-11-14)

4800の長い境界と短い境界がクリーンアップされています1. 市場動向<br/>今日、...

ビットコインの計算能力は史上最高を記録したが、マイナーは本当に儲かっているのだろうか?

ビットコインのハッシュレートが過去最高を記録しているにもかかわらず、マイナーたちは依然として利益を上...

ドイツの電気料金がマイナス

マイナスの電気料金一般的に、発電所は電気を発電して販売することで収入を得ており、ユーザーは電気の使用...

ビットコインは詐欺か、それとも未来か?ウォール街のボスはこう見ている

テンセント証券ニュース:米国の金融ウェブサイトMarketWatchによると、暗号通貨は最近ホットな...

カナダのマイニング企業HIVE Blockchainが仮想通貨マイニング施設の買収を発表、世界の電力消費量は50MWに増加

BlockBeatsによると、3月30日、カナダのバンクーバーに本社を置く上場マイニング企業HIVE...

EIP 1559 は Ethereum フォークキャンディをもたらすでしょうか?鉱山会社が最終的にそれを支持することを選択した理由

出典: バビットハスとゲオルギオス・コンスタントポロス著元のタイトル: 「EIP 1559 はイーサ...

ハードディスクマイニングが急成長:Chiaコインは10EBのストレージ規模を超え、減速の兆候は見られない

原題:ハードディスクマイニングが活況:Chiaコインは10EBのストレージ規模を超え、依然として減速...

ビットコイン採掘事故:草の根の富の夢が打ち砕かれるとき

出典: 三聯生活週刊鉱山業界で金の採掘をするとき、彼らは富を求める草の根の極端な欲求と直感、何も持っ...