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

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

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

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

推薦する

日本政府は来年ビットコイン消費税を廃止する公式文書を発表

現在、日本ではビットコインを購入すると8%の消費税がかかります。昨日、自民党と公明党が共同で発表した...

サプライチェーンのスタートアップFluentがシード資金として165万ドルを獲得

サプライチェーンアプリケーションに取り組むブロックチェーンスタートアップのFluentは、新たなシー...

オーストラリアのソフトウェア開発者が地元の食品産業にブロックチェーンを活用

クレイジーな解説: サプライチェーン管理は常に世界的な問題であり、だからこそブロックチェーン技術は人...

米国はビットコインの台帳を検閲し、ロシアのビットコインへのアクセスを拒否できるのか?

昨日、公開アカウント「Liu Jiao Lian Pro」の「ロシア、石油・ガス輸出の支払いにビット...

ナスダック、ブロックチェーンプラットフォームを利用する6つの顧客を発表

ラスベガスで開催されたMoney20/20カンファレンスでは、多くの企業が発表を行った。 その1つが...

Bloq の創設者が不動産 DAO を作成し、ビジネス プロセスを自動化して不動産詐欺を削減

ビットコイン起業家でBloqの創設者であるジェフ・ガージク氏は、国際ブロックチェーン不動産協会(IB...

IPO競争が激化する中、カナンにとって鍵となるのは「第2位のマイニングマシン企業」としての地位を維持することだ!

暗号通貨やブロックチェーン業界からの歓喜の中、カナンの株価は上場初日のIPO価格を下回ったが、発行価...

米国大統領選挙におけるビットコインの立場は重要か?

米国大統領候補のリック・ペリー氏は、暗号通貨に対する自身の穏健な立場を表明し、ビットコインコミュニテ...

仮想資産はデジタル時代には欠かせないものなのでしょうか?

仮想資産とは何ですか?仮想資産の定義に関しては、著者はまだ合理的かつ権威ある定義を見つけていません。...

ビックカメラがビットコインの正式な取り扱いを開始、日本国内でメディアの熱狂的な報道を巻き起こす

先週の金曜日(4月7日)、日本の家電量販店大手ビックカメラは東京の2店舗でビットコイン決済の正式な受...

ブルームバーグ:ビットメインのIPO資金調達規模は30億ドルに上る可能性

ブルームバーグによると、事情に詳しい関係者は、ビットメインのIPO資金調達規模は30億ドルになる可能...

ゆっち生放送室に年末大集合!

2020年も残り12日となりましたが、 Yuchi Live Studioの第11回年末の集いが開...

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

通貨価格は大きく変動し、統合の兆しとなる可能性がある1. 市場動向<br/>今日は201...

ETH1.0から2.0へ、Web 3.0の新たな旅

この記事は元々IPFS Force Zoneによって書かれましたETH1.0から2.0へ、Web 3...

イラン電力会社、違法な仮想通貨マイニングが再び停電につながる恐れがあると警告

イラン国営電力会社は10月11日、国営通信社IRNAを通じて、違法な仮想通貨マイニング活動により今冬...