Une mauvaise signature pourra vider votre compte sur Ethereum après l'EIP-3074

Intermédiaire4/23/2024, 5:44:08 PM
Après l'EIP-3074, une signature défectueuse pourrait épuiser le solde de votre compte Ethereum. L'article développe la manière dont les portefeuilles intègrent l'EIP-3074 et explique les façons spécifiques dont cela pourrait rendre les utilisateurs plus vulnérables ainsi que les mécanismes sous-jacents, dans le but de prévenir les erreurs irréversibles.

"Une mauvaise signature pourra vider votre compte sur Ethereum après l'EIP-3074."

Oui, c'est vrai. 3074 coauteur ici ! Permettez-moi de dissiper un peu cette préoccupation avant qu'elle ne devienne plus problématique.

Pour commencer : je ne suis pas au courant de portefeuilles qui prennent en charge la signature de données non préfixées aujourd'hui. Cela signifie qu'actuellement, aucun portefeuille ne prend en charge 3074. Peu importe combien de panneaux de contrôle vous parcourez ou de fonctionnalités avancées que vous activez. Il n'est pas possible de signer un message 3074 aujourd'hui.

Les messages que vous signez pour “vous connecter” aux dapps utilisent une norme complètement différente basée sur l'EIP-191. Cela prépose les données suivantes au message que vous signez:

“””

0x19 <0x45 (E)>

“””

C'est ce qui rend impossible de tromper quelqu'un se connectant à une dapp pour réellement signer une transaction Ethereum valide.

Les transactions sont préfixées avec des valeurs d'un seul octet :

0x01 - 2930 tx

0x02 - 1559 tx

0x03 - 4844 tx

plus d'informations ici :https://github.com/ethereum/execution-specs/tree/master/lists/signature-types

3074 prévoit d'utiliser le préfixe 0x04. Cela le distinguera de tous les autres types de données signables dans Ethereum.

Les portefeuilles devront activement opter pour permettre aux utilisateurs de signer ces messages.

Selon la manière dont les portefeuilles intègrent le 3074, ils pourraient créer une situation où leurs utilisateurs peuvent être plus facilement exploités. Pour comprendre cela, nous devons nous assurer de comprendre comment fonctionnent les signatures 3074.

Le message d'authentification sur lequel la signature est construite comporte les champs suivants. Il inclut notamment une adresse d'invocateur. C'est la seule adresse sous laquelle la signature sera considérée comme valide par AUTH.

Pour qu'un compte soit vidé, 1) le portefeuille devra permettre aux utilisateurs de signer à n'importe quelle adresse invoquante et 2) les utilisateurs ne doivent pas vérifier si l'invocateur est digne de confiance. Faites l'un ou l'autre et il n'y a pas de problème.

Pour 1), nous espérons que les portefeuilles comprennent que 3074 invocateurs sont plus proches des extensions de leur code que des contrats. Les portefeuilles ne donnent pas aux utilisateurs la liberté d'exécuter un code arbitraire avec accès à leur pk; de même, ils ne devraient pas permettre aux utilisateurs de déléguer leur compte de manière arbitraire.

Donc, si les portefeuilles intègrent de manière non sécurisée 3074etLes utilisateurs ne vérifient pas l'appelant avec lequel ils interagissent, il est possible de déléguer à un appelant malveillant.

Cependant, il est possible d'annuler en envoyant une seule tx depuis l'EOA. Cela révoque toutes les signatures AUTH "en vol".

Au minimum, les portefeuilles devraient faire de la signature d'un message 3074 une grande affaire. C'est comme exporter votre clé privée niveau grande affaire.

En supposant qu'un portefeuille intègre de manière sécurisée 3074, il est toujours possible qu'un compte soit balayé. Il s'agit d'une propriété fondamentale des transactions groupées. Il permet aussi facilement d'envoyer plusieurs opérations qu'il permet à un attaquant de vous tromper pour envoyer un lot d'actifs à une adresse qu'il contrôle.

Les portefeuilles doivent clairement afficher chaque opération que vous signez. De cette façon, il est facile de remarquer que "Je prévoyais uniquement de faire un seul échange, mais cette demande de signature me fait également effectuer une douzaine de transferts".

Il sera impossible de détecter cela si le regroupement est disponible via une signature aveugle.

Oui, 3074 place beaucoup de confiance dans les portefeuilles. Mais regardez, nous leur faisons déjà confiance pour sécuriser notre clé privée! Il n'y a pas un niveau de confiance plus élevé.

Il est possible d'intégrer et d'utiliser 3074 en toute sécurité. Si des portefeuilles ont des questions sur la façon dont ils peuvent le faire, n'hésitez pas à nous contacter. En tant qu'auteurs de 3074, nous réfléchissons actuellement à la meilleure façon d'aider cette norme dans sa prochaine phase de vie.

Au cours des dernières années, nous avons passé beaucoup de temps à développer des scénarios hypothétiques sur la façon dont cela pourrait être utilisé et abusé. Nous sommes impatients que ces idées commencent à être mises en production. Mais nous sommes également conscients que c'est la partie difficile.

Déclaration :

  1. Cet article initialement intitulé "Une mauvaise signature pourra vider votre compte sur Ethereum après l'EIP-3074" est reproduit à partir de [ clients légersTous les droits d'auteur appartiennent à l'auteur originalclients légers]. If you have any objection to the reprint, please contact the Porte Apprendrel'équipe, l'équipe s'en occupera dès que possible.

  2. Avertissement : Les points de vue et opinions exprimés dans cet article ne représentent que les opinions personnelles de l'auteur et ne constituent aucun conseil en investissement.

  3. Les traductions de l'article dans d'autres langues sont réalisées par l'équipe Gate Learn. Sauf mention contraire, la copie, la distribution ou le plagiat des articles traduits est interdite.

แชร์

เนื้อหา

Une mauvaise signature pourra vider votre compte sur Ethereum après l'EIP-3074

Intermédiaire4/23/2024, 5:44:08 PM
Après l'EIP-3074, une signature défectueuse pourrait épuiser le solde de votre compte Ethereum. L'article développe la manière dont les portefeuilles intègrent l'EIP-3074 et explique les façons spécifiques dont cela pourrait rendre les utilisateurs plus vulnérables ainsi que les mécanismes sous-jacents, dans le but de prévenir les erreurs irréversibles.

"Une mauvaise signature pourra vider votre compte sur Ethereum après l'EIP-3074."

Oui, c'est vrai. 3074 coauteur ici ! Permettez-moi de dissiper un peu cette préoccupation avant qu'elle ne devienne plus problématique.

Pour commencer : je ne suis pas au courant de portefeuilles qui prennent en charge la signature de données non préfixées aujourd'hui. Cela signifie qu'actuellement, aucun portefeuille ne prend en charge 3074. Peu importe combien de panneaux de contrôle vous parcourez ou de fonctionnalités avancées que vous activez. Il n'est pas possible de signer un message 3074 aujourd'hui.

Les messages que vous signez pour “vous connecter” aux dapps utilisent une norme complètement différente basée sur l'EIP-191. Cela prépose les données suivantes au message que vous signez:

“””

0x19 <0x45 (E)>

“””

C'est ce qui rend impossible de tromper quelqu'un se connectant à une dapp pour réellement signer une transaction Ethereum valide.

Les transactions sont préfixées avec des valeurs d'un seul octet :

0x01 - 2930 tx

0x02 - 1559 tx

0x03 - 4844 tx

plus d'informations ici :https://github.com/ethereum/execution-specs/tree/master/lists/signature-types

3074 prévoit d'utiliser le préfixe 0x04. Cela le distinguera de tous les autres types de données signables dans Ethereum.

Les portefeuilles devront activement opter pour permettre aux utilisateurs de signer ces messages.

Selon la manière dont les portefeuilles intègrent le 3074, ils pourraient créer une situation où leurs utilisateurs peuvent être plus facilement exploités. Pour comprendre cela, nous devons nous assurer de comprendre comment fonctionnent les signatures 3074.

Le message d'authentification sur lequel la signature est construite comporte les champs suivants. Il inclut notamment une adresse d'invocateur. C'est la seule adresse sous laquelle la signature sera considérée comme valide par AUTH.

Pour qu'un compte soit vidé, 1) le portefeuille devra permettre aux utilisateurs de signer à n'importe quelle adresse invoquante et 2) les utilisateurs ne doivent pas vérifier si l'invocateur est digne de confiance. Faites l'un ou l'autre et il n'y a pas de problème.

Pour 1), nous espérons que les portefeuilles comprennent que 3074 invocateurs sont plus proches des extensions de leur code que des contrats. Les portefeuilles ne donnent pas aux utilisateurs la liberté d'exécuter un code arbitraire avec accès à leur pk; de même, ils ne devraient pas permettre aux utilisateurs de déléguer leur compte de manière arbitraire.

Donc, si les portefeuilles intègrent de manière non sécurisée 3074etLes utilisateurs ne vérifient pas l'appelant avec lequel ils interagissent, il est possible de déléguer à un appelant malveillant.

Cependant, il est possible d'annuler en envoyant une seule tx depuis l'EOA. Cela révoque toutes les signatures AUTH "en vol".

Au minimum, les portefeuilles devraient faire de la signature d'un message 3074 une grande affaire. C'est comme exporter votre clé privée niveau grande affaire.

En supposant qu'un portefeuille intègre de manière sécurisée 3074, il est toujours possible qu'un compte soit balayé. Il s'agit d'une propriété fondamentale des transactions groupées. Il permet aussi facilement d'envoyer plusieurs opérations qu'il permet à un attaquant de vous tromper pour envoyer un lot d'actifs à une adresse qu'il contrôle.

Les portefeuilles doivent clairement afficher chaque opération que vous signez. De cette façon, il est facile de remarquer que "Je prévoyais uniquement de faire un seul échange, mais cette demande de signature me fait également effectuer une douzaine de transferts".

Il sera impossible de détecter cela si le regroupement est disponible via une signature aveugle.

Oui, 3074 place beaucoup de confiance dans les portefeuilles. Mais regardez, nous leur faisons déjà confiance pour sécuriser notre clé privée! Il n'y a pas un niveau de confiance plus élevé.

Il est possible d'intégrer et d'utiliser 3074 en toute sécurité. Si des portefeuilles ont des questions sur la façon dont ils peuvent le faire, n'hésitez pas à nous contacter. En tant qu'auteurs de 3074, nous réfléchissons actuellement à la meilleure façon d'aider cette norme dans sa prochaine phase de vie.

Au cours des dernières années, nous avons passé beaucoup de temps à développer des scénarios hypothétiques sur la façon dont cela pourrait être utilisé et abusé. Nous sommes impatients que ces idées commencent à être mises en production. Mais nous sommes également conscients que c'est la partie difficile.

Déclaration :

  1. Cet article initialement intitulé "Une mauvaise signature pourra vider votre compte sur Ethereum après l'EIP-3074" est reproduit à partir de [ clients légersTous les droits d'auteur appartiennent à l'auteur originalclients légers]. If you have any objection to the reprint, please contact the Porte Apprendrel'équipe, l'équipe s'en occupera dès que possible.

  2. Avertissement : Les points de vue et opinions exprimés dans cet article ne représentent que les opinions personnelles de l'auteur et ne constituent aucun conseil en investissement.

  3. Les traductions de l'article dans d'autres langues sont réalisées par l'équipe Gate Learn. Sauf mention contraire, la copie, la distribution ou le plagiat des articles traduits est interdite.

เริ่มตอนนี้
สมัครและรับรางวัล
$100