冒とく的な表現の欠陥を悪用して、Wintermute のハッキングが単純なラップトップで 48 時間以内に複製された

ブロックチェーン テクノロジー プロバイダーの Amber Group は、基本的なラップトップを使用して 48 時間以内に Wintermute のハッキングを再現しました。 アンバー・グループの報告によると、

「1 GB の RAM を搭載した Macbook M16 を使用して、データセットを事前計算しました。 10時間… 実装を完了し、0 時間以内に 0000000x6fe514a32a076abdcdfcc85243c899de48b の秘密鍵を解読することができました。」

  ハック Profanity ツールで作成されたバニティ アドレスに起因するものであり、ユーザーは特定の文字を使用して特定のイーサリアム アドレスを生成できます。 Wintermute の場合、アドレスには XNUMX つの先行ゼロが含まれていました。 バニティ アドレスを使用すると、アカウントに同様の文字を使用できるため、ブロックチェーン上のパブリック アドレスを簡単に識別できます。

先頭にゼロがいくつかあるイーサリアム アドレスのもう XNUMX つの影響は、ブロックチェーンに情報を保存するために必要なスペースが減るため、ガス料金が削減されることです。 ただし、アドレスの生成に使用される暗号化プロセスからランダム性の要素を削除すると、セキュリティが低下します。

最初の分析では、1,000 GPU で 50 つの先行ゼロで始まるアドレスの可能なすべての秘密鍵を生成するのに、わずか 48 日かかることが示唆されました。 ただし、Amber Group は現在、XNUMX 台のラップトップを使用して XNUMX 時間以内に達成できると主張しています。

暗号の説明

冒涜 イーサリアム エコシステム用のアドレス生成ツールです。 コードベースは GitHub から簡単にダウンロードでき、2017 年から利用できます。ただし、現在のコードベース バージョンには、ツールの使用を勧める警告が含まれています。 ツールの作成者、 ジョグセは、15 年 2022 月 XNUMX 日に次のメッセージを readme.md ファイルに追加しました。

「このツールを現状のまま使用しないことを強くお勧めします。 このリポジトリは、この重大な問題に関する追加情報ですぐにさらに更新されます。」

さらに、ユーザーがコードベースをコンパイルできないようにするために、コア バイナリが削除されました。

Profanity は、ローカルの「単純なアルゴリズムによる OpenCL による GPU パワー」を使用して、ユーザーが設定したルールに一致するアドレスが見つかるまで、イーサリアムの秘密鍵と公開鍵を生成します。 たとえば、ユーザーが「AAA」で終わる Ethereum アドレスを作成したい場合、これらの文字を接尾辞として持つアドレスを生成するまで機能し続けます。

ルールセットに詳述されている条件に一致しないアドレスが生成されると、Profanity は「秘密鍵に 1 を追加し、ルールに一致するアドレスが見つかるまで新しい Ethereum アドレスを導出します」。

Ethereum アドレスは、通常、楕円曲線暗号を使用してローカルで生成されます。 イーサリアム アドレスを生成するとき、秘密鍵が過去に別のアドレスに使用されていないかどうかを確認する計算はありません。 ただし、これは考えられる Ethereum アドレスの数が非常に多いためです。

このビデオは、真のマグニチュードを説明しています 256ビット暗号化 イーサリアムの暗号化で使用されます。 があるという点でも簡単に比較できます。 大体 世界には 2^76 粒の砂がありますが、2^160 の可能性がある Ethereum アドレスです。

ただし、Ethereum アドレスの任意の文字が事前に決定されている場合、秘密鍵を生成するための計算は非常に簡単になり、可能なアドレスの数は劇的に減少します。

エクスプロイト

Amber Grouped は、Profanity メソッドの欠陥は、32 ビット シードを使用してアドレスを生成することにあると説明しました。

「ランダムな秘密鍵を生成するために、Profanity はまずランダム デバイスを使用してシードを生成します。 しかし残念なことに、シードは 32 ビットであり、秘密鍵として直接使用することはできません。」

32 ビットのシードは、決定論的関数を使用する疑似乱数ジェネレーター (PRNG) を介して供給されます。 この PRNG メソッドは、Profanity 内で使用されるすべての有効な公開鍵シードを決定する簡単な方法になります。

「可能な初期鍵ペアは 2^32 しかないため (d_0,0、Q_0,0)、各ラウンドの反復は可逆的であるため、Profanity によって生成された公開鍵から秘密鍵をクラックすることが可能です。」

Amber Group が使用した方法は、アドレスの公開鍵を取得し、可能性のある不適切な公開鍵を事前に計算し、OpenCL を使用して公開鍵を計算し、計算された公開鍵を比較し、一致が見つかったら秘密鍵を再構築するというものでした。

この方法は単純であるため、Amber Group は「あなたのアドレスが Profanity によって生成された場合、あなたの資金は安全ではない」ことを推奨しています。

アンバー・グループは語った CryptoSlate より優れた暗号化アルゴリズムが必要かどうかに関して、「答えは明らかにイエスです...業界は、このタイプの設計がいかに脆弱であるかを理解しています。」

ソース: https://cryptoslate.com/wintermute-hack-replicated-on-simple-laptop-in-under-48-hours-by-exploiting-profanity-flaw/