Back to Blog

冒涜ツール脆弱性に関する短評

Code Auditing
2022年9月21日
5 min read

Wintermuteは1億6000万ドル以上の損失を被る脆弱性により悪用されました。根本原因は、Wintermuteプロジェクトの秘密鍵が、Wintermuteが秘密鍵とイーサリアムアカウントを生成するために使用していたProfanityツールの脆弱性により侵害されたことです。

本ブログでは、Profanityの脆弱性の根本原因と、その脆弱性がどのように悪用されるかを説明します。

イーサリアムアドレス

イーサリアムアドレスは、公開鍵のKeccak-256ハッシュから生成され、16進数で表されます。公開鍵は楕円曲線乗算を用いて秘密鍵から生成され、これは元に戻せません。秘密鍵から公開鍵を取得することはできます。しかし、公開鍵から秘密鍵を取得するには、総当たり攻撃なしでは不可能です。秘密鍵の長さは256ビットであることに注意してください。公開鍵から対応する秘密鍵を見つけるには、最大 2^256 回の計算が必要です。

一言で言えば、秘密鍵/公開鍵とイーサリアムアドレスの関係は、以下の図に示されています。

脆弱性の根本原因

Profanityの目的は、アドレスの先頭5桁がゼロであるなど、特殊なイーサリアムアドレスを見つけることです。この目的のために、Profanityは以下の方法を採用します。

詳細な実装は若干異なる場合があります。

private_key の長さは256ビット(2^256通りの値)ですが、秘密鍵の生成に脆弱性があります。具体的には、シード(ステップ1)はわずか32ビットであり、ステップ1のシードからステップ2のprivate_keyへのプロセスは決定論的です。

ここにどのようなセキュリティ上の影響があるのでしょうか?

悪用方法

例えば、多くの価値ある資産を持つイーサリアムアドレスがあるとします。その秘密鍵を取得できれば、そのアカウントを所有し、すべての資産を転送することができます。しかし、前述したように、秘密鍵を見つけるには 2^256 の空間全体を総当たり攻撃する必要があり、これはほぼ不可能です。

しかし、イーサリアムアドレスがProfanityツールから生成された場合はどうでしょうか?より低い難易度で秘密鍵を見つけるために総当たり攻撃を行うことができます。シードを0から 2^32-1 まで指定し、同じ公開鍵(およびイーサリアムアドレス)を生成できる秘密鍵を見つけるまで同じプロセスを繰り返すだけです。最大 2^32 * loop_threashold 回の計算で済むため、強力なGPUクラスターがあれば数時間または数日/数週間で完了できます。

しかし、これはまだ最適化されたアルゴリズムです。詳細については、Slowmistの記事を参照してください。

まとめ

DeFiプロジェクトを安全にすることは容易ではありません。コード監査に加えて、コミュニティはプロジェクトの状況を積極的に監視し、攻撃が発生する前にブロックするなどのプロアクティブな方法を取るべきだと考えています。

BlockSecについて

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

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

公式ウェブサイト:https://blocksec.com/

公式Twitterアカウント:https://twitter.com/BlockSecTeam

Sign up for the latest updates
約387万 USDの損失:Autheo NetworkとUNCXへのハッキング | BlockSecウィークリー
Security Insights

約387万 USDの損失:Autheo NetworkとUNCXへのハッキング | BlockSecウィークリー

この週次レポートでは、2026年10月12日–2026年10月18日に発生した3件のセキュリティインシデントを取り上げます。推定損失額の合計は約387万 USDです。Autheo Networkでは秘密鍵の侵害により約176万 USD、Qubic Walletでは脆弱なシード生成により約130万 USDの損失が発生しました。また、Ethereum、BNB Chain、Base、Robinhood Chain上のUNCX NetworkのSmart Token Vesting V2コントラクトでは、会計処理上の誤りにより約80.7万 USDの損失が発生しました。重点的に取り上げるUNCXの分析では、シェア総数の計算に欠陥があり、異なるトークン対シェア比率で作成されたベスティングのトランシェが混同された結果、共通プールからの過剰な引き出しが可能になった仕組みを説明します。

約54万2,000ドルの損失:MakerDaoBotへの攻撃 | BlockSec週間ニュース
Security Insights

約54万2,000ドルの損失:MakerDaoBotへの攻撃 | BlockSec週間ニュース

本レポートは2026/10/05~10/11にEthereumで発生したセキュリティ事故1件を扱う。推定損失は約54.2万ドル。攻撃コントラクトは悪意あるアダプターを展開し、アクセス制御のないMakerDaoBot関数に渡して、ボット内部のMakerDAO残高への操作権限を付与させた。アダプターは旧ETH-Aオークション4件を決済し、ETH-A担保200単位をWETHに変換。攻撃コントラクトがWETHをETHに戻し、攻撃者へ200 ETHを送金した。

約4.18億ドル損失:Bitget、NEAR Intentsのエクスプロイト | BlockSec Weekly
Security Insights

約4.18億ドル損失:Bitget、NEAR Intentsのエクスプロイト | BlockSec Weekly

本隔週セキュリティレポートは、2026年9月21日から10月4日までの8件のインシデントを記録し、Ethereum、BNB Chain、Solana、Bitcoin、TRON、XRP Ledger、Zcash、Avalanche、NEARなどで約4億1840万ドルの損失が発生。詳細分析では、Bitgetの3.875億ドルのサードパーティ製品脆弱性と、NEAR Intentsの387万ドルの返金検証欠陥および状態ロールバック欠落を取り上げる。

Best Security Auditor for Web3

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

BlockSec Audit
冒涜ツール脆弱性に関する短評