EIP-3074後、1つの悪い署名でアカウントから資金を引き出すことができるようになります

EIP-3074以降、誤った署名により、あなたのイーサリアムアカウントの残高が減少する可能性があります。この記事では、ウォレットがEIP-3074をどのように統合しているか、ユーザーをより脆弱にする具体的な方法やそれを防ぐための基礎となるメカニズムについて詳しく説明しています。

EIP-3074後、1つの悪い署名であなたのアカウントをすべて排出できるようになります。

はい、これは本当です。3074共著者です!もっと深刻になる前に、この懸念を少し解消させてください。

開始するにあたり: 現時点では、接頭辞が付いていないデータに署名をサポートするウォレットは私の知る限り存在しません。つまり、現在は3074をサポートするウォレットはありません。どれだけコントロールパネルをナビゲートしたり、高度な機能をオンにしたとしても関係ありません。現時点では3074のメッセージに署名することはできません。

「ログイン」するためにDAppsにサインするメッセージは、EIP-191に基づいた完全に異なる標準を使用します。これにより、サインするメッセージには以下のデータが前置されます:

“””

0x19 <0x45 (E)> <イーサリアム署名メッセージ:\n” + len(message)> <署名するデータ>

“””

それがDAppにログインしようとする人をだますことが不可能になる理由です。有効なイーサリアム取引に実際に署名する

トランザクションは単一バイト値で接頭辞付けされます:

0x01 - 2930 tx

0x02 - 1559 tx

0x03 - 4844 tx

詳細はこちら:https://github.com/ethereum/execution-specs/tree/master/lists/signature-types

3074は、接頭辞0x04を使用する予定です。これにより、Ethereum内の他の種類の署名可能データと区別されます。

ウォレットは、これらのメッセージに署名するユーザーを許可するために積極的にオプトインする必要があります。

ウォレットが3074をどのように統合するかによっては、ユーザーがより簡単に悪用される状況を作成する可能性があります。これを理解するには、3074署名がどのように機能するかを理解する必要があります。

署名が構築される認証メッセージには、以下のフィールドが含まれています。重要なのは、呼び出し者アドレスが含まれていることです。このアドレスの下でのみ、署名がAUTHによって有効と見なされます。

アカウントが排出されるには、1)ウォレットはユーザーが任意の呼び出し者アドレスにサインすることを許可する必要があり、2)ユーザーは呼び出し者が信頼できるかどうかを検証していない必要があります。どちらかを行うと、問題は発生しません。

1)については、3074の呼び出し元は契約よりもコードの拡張機能に近いと考えています。ウォレットはユーザーに自分のpkへのアクセス権を持つ任意のコードを実行する自由を与えません。同様に、ユーザーにアカウントを任意に委任することを許可すべきではありません。

だから、ウォレットが不安全に3074を統合する場合そしてユーザーは、やり取りしている呼び出し元を検証しないため、悪意のある呼び出し元に委任する可能性があります。

ただし、EOA から単一のトランザクションを送信することで取り消すことが可能です。これにより、すべての「in-flight」AUTH 署名が取り消されます。

最低限、ウォレットは3074メッセージの署名を重要視すべきです。これは、プライベートキーをエクスポートするような重要なことです。

ウォレットが安全に3074を統合していると仮定しても、アカウントをスイープすることは可能です。これはバッチtxsの基本的な特性です。それは複数の操作を送信することを容易にするだけでなく、攻撃者がコントロールするアドレスに資産のバッチを送信するようにあなたをだますことも可能にします。

ウォレットは、署名する各操作を明示する必要があります。これにより、「単一の取引を行う予定だったのに、この署名リクエストでは12回の転送も行わなければならないようだ」と気づきやすくなります。

バッチ処理がブラインド署名を介して利用可能な場合、これを検出することは不可能になります。

はい、3074はウォレットに多くの信頼を置いています。しかし、すでに彼らにプライベートキーを安全に預けて信頼しています!信頼度がもっと高いものはありません。

3074を安全に統合して使用することが可能です。どのウォレットでもこれを行う方法について質問がある場合は、お気軽にお問い合わせください。3074の著者として、現在、この標準を次の段階で最良に支援できる方法を模索しています。

ここ数年、私たちはそれがどのように使用される可能性があるか、そして乱用される可能性があるかについて、仮想のシナリオを開発するのに多くの時間を費やしてきました。これらのアイデアが実用化され始めることを楽しみにしています。しかし、これが難しい部分であることを認識しています。

ステートメント:

  1. この記事のタイトルは「One bad signature will be able able to drain your account on Ethereum after EIP-3074」を転載したものです。ライトクライアントAll copyrights belong to the original authorライトクライアント]. If you have any objection to the reprint, please contact the ゲートラーンチーム、チームはできるだけ早く対処します。

  2. 免責事項:この記事で表現される見解および意見は、著者個人の見解を表すものであり、投資アドバイスを構成するものではありません。

  3. 他の言語への記事の翻訳は、Gate Learnチームによって行われます。特に言及されていない限り、翻訳された記事のコピー、配布、または盗用は禁止されています。

株式

内容

EIP-3074後、1つの悪い署名でアカウントから資金を引き出すことができるようになります

中級4/23/2024, 5:44:08 PM
EIP-3074以降、誤った署名により、あなたのイーサリアムアカウントの残高が減少する可能性があります。この記事では、ウォレットがEIP-3074をどのように統合しているか、ユーザーをより脆弱にする具体的な方法やそれを防ぐための基礎となるメカニズムについて詳しく説明しています。

EIP-3074後、1つの悪い署名であなたのアカウントをすべて排出できるようになります。

はい、これは本当です。3074共著者です!もっと深刻になる前に、この懸念を少し解消させてください。

開始するにあたり: 現時点では、接頭辞が付いていないデータに署名をサポートするウォレットは私の知る限り存在しません。つまり、現在は3074をサポートするウォレットはありません。どれだけコントロールパネルをナビゲートしたり、高度な機能をオンにしたとしても関係ありません。現時点では3074のメッセージに署名することはできません。

「ログイン」するためにDAppsにサインするメッセージは、EIP-191に基づいた完全に異なる標準を使用します。これにより、サインするメッセージには以下のデータが前置されます:

“””

0x19 <0x45 (E)> <イーサリアム署名メッセージ:\n” + len(message)> <署名するデータ>

“””

それがDAppにログインしようとする人をだますことが不可能になる理由です。有効なイーサリアム取引に実際に署名する

トランザクションは単一バイト値で接頭辞付けされます:

0x01 - 2930 tx

0x02 - 1559 tx

0x03 - 4844 tx

詳細はこちら:https://github.com/ethereum/execution-specs/tree/master/lists/signature-types

3074は、接頭辞0x04を使用する予定です。これにより、Ethereum内の他の種類の署名可能データと区別されます。

ウォレットは、これらのメッセージに署名するユーザーを許可するために積極的にオプトインする必要があります。

ウォレットが3074をどのように統合するかによっては、ユーザーがより簡単に悪用される状況を作成する可能性があります。これを理解するには、3074署名がどのように機能するかを理解する必要があります。

署名が構築される認証メッセージには、以下のフィールドが含まれています。重要なのは、呼び出し者アドレスが含まれていることです。このアドレスの下でのみ、署名がAUTHによって有効と見なされます。

アカウントが排出されるには、1)ウォレットはユーザーが任意の呼び出し者アドレスにサインすることを許可する必要があり、2)ユーザーは呼び出し者が信頼できるかどうかを検証していない必要があります。どちらかを行うと、問題は発生しません。

1)については、3074の呼び出し元は契約よりもコードの拡張機能に近いと考えています。ウォレットはユーザーに自分のpkへのアクセス権を持つ任意のコードを実行する自由を与えません。同様に、ユーザーにアカウントを任意に委任することを許可すべきではありません。

だから、ウォレットが不安全に3074を統合する場合そしてユーザーは、やり取りしている呼び出し元を検証しないため、悪意のある呼び出し元に委任する可能性があります。

ただし、EOA から単一のトランザクションを送信することで取り消すことが可能です。これにより、すべての「in-flight」AUTH 署名が取り消されます。

最低限、ウォレットは3074メッセージの署名を重要視すべきです。これは、プライベートキーをエクスポートするような重要なことです。

ウォレットが安全に3074を統合していると仮定しても、アカウントをスイープすることは可能です。これはバッチtxsの基本的な特性です。それは複数の操作を送信することを容易にするだけでなく、攻撃者がコントロールするアドレスに資産のバッチを送信するようにあなたをだますことも可能にします。

ウォレットは、署名する各操作を明示する必要があります。これにより、「単一の取引を行う予定だったのに、この署名リクエストでは12回の転送も行わなければならないようだ」と気づきやすくなります。

バッチ処理がブラインド署名を介して利用可能な場合、これを検出することは不可能になります。

はい、3074はウォレットに多くの信頼を置いています。しかし、すでに彼らにプライベートキーを安全に預けて信頼しています!信頼度がもっと高いものはありません。

3074を安全に統合して使用することが可能です。どのウォレットでもこれを行う方法について質問がある場合は、お気軽にお問い合わせください。3074の著者として、現在、この標準を次の段階で最良に支援できる方法を模索しています。

ここ数年、私たちはそれがどのように使用される可能性があるか、そして乱用される可能性があるかについて、仮想のシナリオを開発するのに多くの時間を費やしてきました。これらのアイデアが実用化され始めることを楽しみにしています。しかし、これが難しい部分であることを認識しています。

ステートメント:

  1. この記事のタイトルは「One bad signature will be able able to drain your account on Ethereum after EIP-3074」を転載したものです。ライトクライアントAll copyrights belong to the original authorライトクライアント]. If you have any objection to the reprint, please contact the ゲートラーンチーム、チームはできるだけ早く対処します。

  2. 免責事項:この記事で表現される見解および意見は、著者個人の見解を表すものであり、投資アドバイスを構成するものではありません。

  3. 他の言語への記事の翻訳は、Gate Learnチームによって行われます。特に言及されていない限り、翻訳された記事のコピー、配布、または盗用は禁止されています。

今すぐ始める
登録して、
$100
のボーナスを獲得しよう!