Back to Blog

セキュリティチェック:EVM互換チェーンは通用するか?

Code Auditing
January 4, 2024

2023年11月、BlockSecのCEOである周亜欽教授は、DRK Labが主催する初のWeb3 Scholars Summitに招待され、参加しました。カンファレンス中、周教授はEVM(Ethereum Virtual Machine)の脆弱性検出におけるBlockSecの取り組みと成果を発表しました。また、EVM互換チェーンのセキュリティ確保に特化して開発されたBlockSecの自動差分ファジングツールを紹介しました。本記事では、講演内容を要約します。

はじめに

Defillamaのデータ統計によると、現在238のL1およびL2パブリックチェーンが存在し、そのうち144はEVM互換です。しかし、これらのEVM互換チェーンの実装中にセキュリティ上の問題は存在しないのでしょうか?という疑問が生じます。当社の調査の結果、その答えは「はい」です。この懸念に対応するため、BlockSecは自動化された差分ファジングセキュリティツールをローンチしました。これらのEVM互換チェーンの背後にある真実を探求する旅に、ぜひご参加ください。

仮想マシンの脆弱性

Figure 1: Ethereum Virtual Machine (EVM) のワークフロー図
Figure 1: Ethereum Virtual Machine (EVM) のワークフロー図

Ethereum Virtual Machine (EVM) を例にとると、Virtual ROM、Program Counter、Stack、Memory、World State (永続的) を含むスタックベースのアーキテクチャを採用しています。

仮想マシンは、スマートコントラクトのコンパイル済みバイナリコードを解釈および実行するエンジンとして機能します。多くのブロックチェーンプラットフォームの中核コンポーネントは仮想マシンであり、特にEthereum Virtual Machine (EVM) は注目に値します。したがって、仮想マシンはスマートコントラクトの実行、トランザクションの処理、ブロックチェーンの整合性の確保において重要な役割を果たします。

EVM自体も、プログラマーによって書かれたソフトウェアプログラムであることがわかっています。しかし、EVMに問題がないことをどのように保証できるでしょうか?結局のところ、人間が書いたコードにはバグが存在する可能性があります。

そして、EVMにバグが発生すると、ブロックチェーン上のエコシステムに壊滅的な結果をもたらします。実際、EVMは過去に多くの深刻な脆弱性に遭遇しています。

例えば、2020年には、プリコンパイルされたコントラクト(すなわち、CVE-2020-26241)[1]によって引き起こされた脆弱性インシデントが発生しました。Geth (0x00...04) プロトコルにあるdataCopyプリコンパイルコントラクトは、呼び出し時に浅いコピーを実行しました。大量のデータをコピーする際に、完全なデータではなくポインターのみがコピーされました。これにより、悪意のあるスマートコントラクトが変更されるべきではないデータを変更できるようになり、異なるバージョンの仮想マシンが同じスマートコントラクトを実行する際にデータの一貫性が失われました。もう一つの例は、2021年に特定のEVM互換チェーンがEthereumと同期してアップグレードされなかったことです。Gethの古いバージョンには、プリコンパイルされたコントラクト呼び出しにおける入力および出力データのメモリ領域が重なる脆弱性(CVE-2021-39137)[2]がありました。攻撃者はこの脆弱性を悪用し、チェーンフォークを引き起こしました。

BlockSec の対策

EVM の脆弱性をタイムリーに発見するにはどうすればよいでしょうか?課題は何でしょうか?

  1. まず、仮想マシンの複雑な設計により、その操作ロジックを完全に理解できるツールを見つけることは困難です。各専門分野は専門化を必要とし、多くの開発者はその操作ロジックを理解し、効果的な予防策を講じるために十分な労力を費やすことができない可能性があります。
  2. さらに、多くのL1/L2の新しいパブリックチェーンはEVM仮想マシンをカスタマイズしており、新たなセキュリティ問題を引き起こす可能性があります。

明らかに、EVM仮想マシンのこれらの問題を特定するために、手動監査だけに頼るのは困難です。

適応し、それに応じて対応しましょう!これらの課題を踏まえ、BlockSecはこれらの問題に正面から立ち向かうための自動化システムを開発しました!

差分ファジング

BlockSecでは、専門家チームが差分ファジングと呼ばれる巧妙なアプローチを採用しています。異なるバージョンの仮想マシンで同じテストケースを実行し、出力結果を比較することで、潜在的な脆弱性や不整合を発見することができます。この方法により、従来のテスト方法が見落としがちな微妙な違いを効果的に特定し、システムの全体的なセキュリティを向上させることができます。

Figure 2: 差分ファジングのワークフロー
Figure 2: 差分ファジングのワークフロー

基本的な動作原理:

差分ファジングを実施するには、同一の入力をテストケースとして準備する必要があります。これらのテストケースは、差分ファジングエンジンに投入されます。異なるバージョンの仮想マシンで同じテストケースを実行した結果を比較することで、潜在的な問題を発見できます。

具体的な実装手順:

差分ファジングのテストケースは、トランザクションメタデータとプリステートの2つの部分で構成する必要があります。しかし、これらのトランザクションをどのように生成するのでしょうか?この課題に取り組むために、2つのアプローチがあります。

  1. 過去のトランザクションの再利用:ブロックチェーン上で発生した過去のトランザクションを取得し、差分ファジングエンジンで異なるバージョンの仮想マシンで実行することができます。しかし、この方法だけに依存することには限界があります。過去のトランザクションは「通常」すぎることが多く、セキュリティテストではコーナーケース、つまり異常なシナリオを発見する必要があります。そこで、2番目のアプローチを考案しました。
  2. カバレッジ誘導ファジング:これまで観測されなかったバイトコードと過去に存在しなかったトランザクションをゼロから生成し、トランザクションとスマートコントラクトのコードをミューテートして仮想マシンに投入します。様々な次元からテストケースの有効性と網羅性を確保します。

これらのトランザクションが生成されたら、差分ファジングエンジンに投入され、結果が比較されます。

結果の比較は、単なる単純な数値比較ではなく、仮想マシンの永続ストレージと非永続ストレージの両方におけるデータの一貫性も包括的に考慮します。本記事ではこれ以上の詳細には触れません。

ケーススタディ

Figure 3: Aurora VM におけるプリコンパイルされたコントラクト *ModExp* の問題の例
Figure 3: Aurora VM におけるプリコンパイルされたコントラクト ModExp の問題の例

差分ファジングを通じて、Aurora VM で発見した仮想マシンの脆弱性ケースを共有したいと思います。具体的には、ModExp プリコンパイルされたスマートコントラクトに関する問題です。

数値 x を y 乗するモジュラ指数計算を行う際、この操作には計算リソースが必要であることがわかっています。正しい実装では、モジュラ指数計算には複数のイテレーションが含まれるため、ガス計算はイテレーション数を考慮します。しかし、ガス計算に問題が生じる特定のシナリオがあります。それは、指数 y が 0 の場合、すなわちゼロ次べき乗操作を示します。この場合、イテレーション数はゼロになり、非常に小さいガス値になります。しかし、実際には計算にはリソースが必要です。

結論

現在、BlockSecがローンチした差分ファジングツールは、rbpfubpfAurora-engineneon-evmMoonbeamrevmEvmOSfevmPolygon-zkevm など、様々なブロックチェーン仮想マシンの環境で実行をサポートしており、継続的に拡張しています。

このツールにより、14件の新しい脆弱性を発見し、2件のCVE(CVE-2021–46102 および CVE-2022–23066)を申請し、130万ドル以上のバグバウンティを獲得しました。

現在、BlockSecが提供する包括的なEVMチェーンセキュリティソリューション(監査サービス+差分ファジングツール)は、EOSおよびFileCoinに認識され、採用されており、それらのエコシステムのセキュリティと健全な発展に貢献していく予定です。

参照

[1] 0x4 プリコンパイルにおける浅いコピーは EVM メモリ破損につながる可能性がある

[2] datacopy による RETURNDATA 破損

BlockSec について

BlockSec は、2021年に世界的に著名なセキュリティ専門家グループによって設立された、先駆的なブロックチェーンセキュリティ企業です。同社は、Web3の世界のセキュリティとユーザビリティを向上させ、その大規模な採用を促進することに尽力しています。そのために、BlockSecはスマートコントラクトおよびEVMチェーンのセキュリティ監査サービス、セキュリティ開発および脅威のプロアクティブなブロックのためのPhalconプラットフォーム、資金追跡および調査のためのMetaSleuthプラットフォーム、そしてWeb3ビルダーが仮想通貨の世界で効率的にサーフィンするためのMetaDock拡張機能を提供しています。

現在までに、同社はMetaMask、Uniswap Foundation、Compound、Forta、PancakeSwapなど300社以上の著名なクライアントにサービスを提供し、Matrix Partners、Vitalbridge Capital、Fenbushi Capitalなどの著名な投資家から2回の資金調達ラウンドで数千万米ドルを受け取っています。

✉️ビジネスコンサルティング:[email protected]

BlockSecのTwitterアカウント:https://twitter.com/BlockSecTeam

PhalconのTwitterアカウント:https://twitter.com/Phalcon_xyz

Sign up for the latest updates
Drift Protocol Incident: Multisig Governance Compromise via Durable Nonce Exploitation
Security Insights

Drift Protocol Incident: Multisig Governance Compromise via Durable Nonce Exploitation

On April 1, 2026 (UTC), Drift Protocol on Solana suffered a $285.3M loss after an attacker exploited Solana's durable nonce mechanism to delay the execution of phished multisig approvals, ultimately transferring administrative control of the protocol's 2-of-5 Squads governance with zero timelock. With full admin privileges, the attacker created a malicious collateral market (CVT), inflated its oracle price, relaxed withdrawal protections, and drained USDC, JLP, SOL, cbBTC, and other assets through 31 rapid withdrawals in approximately 12 minutes. This incident highlights how durable nonce-based delayed execution can decouple signer intent from on-chain execution, bypassing the temporal assumptions that multisig security implicitly relies on.

Weekly Web3 Security Incident Roundup | Mar 23 – Mar 29, 2026
Security Insights

Weekly Web3 Security Incident Roundup | Mar 23 – Mar 29, 2026

This BlockSec weekly security report covers eight DeFi attack incidents detected between March 23 and March 29, 2026, across Ethereum and BNB Chain, with total estimated losses of approximately $1.53M. Incidents include a $679K flawed burn mechanism exploit on the BCE token, a $512K spot-price manipulation attack on Cyrus Finance's PancakeSwap V3 liquidity withdrawal, a $133.5K flash-loan-driven referral reward manipulation on a TUR staking contract, and multiple integer overflow, reentrancy, and accounting error vulnerabilities in DeFi protocols. The report provides detailed vulnerability analysis and attack transaction breakdowns for each incident.

Newsletter -  March 2026
Security Insights

Newsletter - March 2026

In March 2026, the DeFi ecosystem experienced three major security incidents. Resolv Protocol lost ~$80M due to compromised privileged infrastructure keys, BitcoinReserveOffering suffered ~$2.7M from a double-minting logic flaw, and Venus Protocol incurred ~$2.15M following a donation attack combined with market manipulation.

Best Security Auditor for Web3

Validate design, code, and business logic before launch. Aligned with the highest industry security standards.

BlockSec Audit