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

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

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週目マイニングマシン市場リリース

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

推薦する

白鹿鉱業レポート(2019.03.28)

このメジャーアップデート• DCRを増やす1.PoWコンセンサスメカニズム1.1 POWコンセンサス...

韓国銀行がブロックチェーン研究軍に加わり、政府と業界の協力を呼び掛ける

韓国銀行(BOK)の公式ウェブサイトで公開された新しい調査レポートによると、韓国銀行はブロックチェー...

グラフィックチュートリアル: DODO を採掘して最初の採掘ボーナスを獲得する方法を教えます

8月30日、分散型取引プラットフォーム「Uniswap」の取引量が初めてCoinbaseを上回った。...

ブロックチェーンはIoTのセキュリティ問題を解決し、先週のDDoS攻撃による混乱を一掃するのに役立つ可能性がある

クレイジーレビュー:先週、中国の電子機器メーカー、杭州パンダ社が製品の問題によりDDoS攻撃を引き起...

米ドルシルクロードのエージェントがマネーロンダリングの罪を認める

82万ドル相当のビットコインを盗んだ米国シークレットサービスのエージェントが昨日、マネーロンダリング...

ビル・ゲイツは態度を変え、ダン・ビンはビットコインを購入、ビットコインは主流の金融資産になるのか?

私はビットコインを所有しておらず、ビットコインに対して弱気でもありません。 「私はすでにビットコイン...

ビットコインのリスクに注意してください(ファイナンシャルアドバイザー)

(原題:ビットコインに潜むリスクにご注意(ファイナンシャルアドバイザー))ビットコインは数年前から...

アルトコイン市場は「爆発的な回復」を迎えるのでしょうか?アナリストはこれら3つの指標に注目している

3つのテクニカル指標を注意深く監視している仮想通貨トレーダーは、アルトコイン市場は現在「驚異的な局面...

ノースカロライナ州MTA規制、一部のビットコイン事業を免除

12月10日、米国ノースカロライナ州は、米国の他の州で発生した問題を回避するために、州の資金送金法(...

ヴィニー・リンガム:2017年、政府はビットコインの最大の購入者となる

ビットコインの価格上昇により、各国政府は前例のない「デジタル商品の争奪戦」に突入し、ビットコインの備...

バイデン政権は投資家を保護し、違法取引を防ぐために暗号通貨の監視を強化したいと考えている

ワシントン・ポスト紙は火曜日、仮想通貨市場の最近の不安定さを受け、バイデン政権、議員、中央銀行総裁ら...

米国債利回りは数年ぶりの高水準に急上昇し、ビットコインは2%下落、ドージコインはトレンドに反して17%上昇した。

連邦準備制度理事会(FRB)のレイエル・ブレイナード理事が中央銀行がバランスシートの規模を迅速に縮小...

昨日ビットメインに何が起こったのか、パート 5 (メインランド アークの謎)

昨日Bitmainに何が起こったのですか?詹克団が顧客の機械を拘束し、従業員に職場復帰を要求するなど...

ブロックチェーンはどれくらい人気がありますか? 10の主要取引所がすでにブロックチェーン技術の研究に参加している

私たちはブロックチェーンについて、「銀行がブロックチェーンを採用している」というフレーズを使って報道...

採掘しているのは「国家の力」ですか?ベラルーシ、原子力発電でビットコインを採掘する計画を発表

ベラルーシ大統領アレクサンドル・ルカシェンコ過去1年間の長期にわたる弱気相場で鉱業からの利益は減少し...