
Explication simple de la logique fondamentale du phishing Web3 : phishing par autorisation, différence entre Permit et Permit2
TechFlow SélectionTechFlow Sélection

Explication simple de la logique fondamentale du phishing Web3 : phishing par autorisation, différence entre Permit et Permit2
Arrêtez, rendez-moi l'argent.
Rédaction : Bo Cai
J'ai juste signé, alors pourquoi mon argent a disparu ? « L'hameçonnage par signature » devient actuellement la méthode préférée des pirates dans l'écosystème Web3. Récemment, j'ai vu Yu Xian et de nombreuses sociétés de portefeuilles et de sécurité diffuser sans cesse des connaissances sur ce type d'attaque, mais chaque jour, des utilisateurs continuent à tomber dans le piège.
Selon moi, l'une des raisons principales est que la plupart des gens ne comprennent pas bien la logique fondamentale des interactions avec les portefeuilles, et pour ceux qui n'ont pas de compétences techniques, la barrière d'apprentissage est trop élevée. C'est pourquoi j'ai décidé de créer une explication illustrée du fonctionnement de l'hameçonnage par signature, en utilisant un langage aussi simple que possible afin que même les non-techniciens puissent comprendre.
Tout d'abord, sachez que lorsque vous utilisez un portefeuille, il n'existe que deux types d'opérations : « signer » et « interagir ». Pour résumer simplement : une signature se produit hors chaîne (off-chain), sans frais de gaz ; une interaction se produit sur la blockchain (on-chain) et nécessite des frais de gaz.
Généralement, la signature sert à prouver votre identité, par exemple lors de la connexion à un portefeuille. Si vous souhaitez échanger un token sur Uniswap, vous devez d'abord connecter votre portefeuille. À ce moment-là, vous devez signer un message disant au site web : « Je suis bien le propriétaire de ce portefeuille ». Ensuite, vous pouvez utiliser Uniswap. Cette étape n'apporte aucun changement aux données ou à l'état de la blockchain, donc elle ne coûte rien.

En revanche, une interaction intervient lorsque vous effectuez un véritable échange sur Uniswap. Vous devez d'abord payer une transaction pour dire au contrat intelligent du token USDT : « J'autorise Uniswap à déplacer 100 USDT depuis mon compte », cette étape s'appelle une autorisation (approve). Ensuite, vous payez une autre transaction pour dire au contrat intelligent d'Uniswap : « Je veux maintenant échanger mes 100 USDT contre un token Bo Cai, vous pouvez procéder ». Ainsi, l'échange est complété.

Maintenant que nous avons clarifié la différence entre signature et interaction, examinons comment fonctionne l'hameçonnage. Je vais présenter trois méthodes différentes : hameçonnage par autorisation, hameçonnage par signature Permit, et hameçonnage par signature Permit2. Ces trois cas sont très fréquents.
Commençons par l'hameçonnage par autorisation, l'une des méthodes les plus classiques dans Web3. Comme son nom l'indique, il exploite le mécanisme d'autorisation (approve). Dans notre exemple précédent avec Uniswap, l'autorisation consiste à dire au contrat intelligent : « J'autorise ce contrat à déplacer X quantité de mes tokens ». Les pirates peuvent alors créer un faux site web, habilement conçu comme un projet NFT légitime, avec un gros bouton au centre : « Réclamez votre airdrop ». Mais en réalité, quand vous cliquez dessus, votre portefeuille affiche une demande d'autorisation transférant vos tokens vers l'adresse du pirate. Si vous validez, le pirate atteint son objectif.

Cependant, cet hameçonnage présente un inconvénient : il implique des frais de gaz. Aujourd'hui, beaucoup d'utilisateurs sont méfiants dès qu'il s'agit de dépenser de l'argent. En y regardant de plus près sur un site inconnu, on peut facilement repérer quelque chose d'anormal. Il reste donc relativement facile à éviter.
Passons maintenant au sujet principal : l'hameçonnage via les signatures Permit et Permit2, qui constituent aujourd'hui les zones les plus sensibles en matière de sécurité des actifs Web3. Pourquoi sont-ils si difficiles à détecter ? Parce que chaque fois que vous utilisez une DApp, vous devez signer pour vous connecter à votre portefeuille. Cette action est devenue tellement routinière que beaucoup pensent automatiquement : « C'est sans risque ». Ajoutez à cela l'absence de frais et le fait que peu d'utilisateurs comprennent ce que signifie réellement chaque signature.
Examinons d'abord le mécanisme Permit. Permit est une extension du standard ERC-20 concernant l'autorisation. Par exemple, l'USDT que nous utilisons quotidiennement suit ce standard. En résumé, Permit permet de signer pour autoriser quelqu'un à déplacer vos tokens. Lors d'une autorisation classique (Approve), vous payez une transaction pour dire au contrat intelligent : « Tu peux déplacer X quantité de mes tokens ». Avec Permit, c'est différent : vous signez un message (une « promesse ») destiné à une personne spécifique, indiquant : « J'autorise [X] à déplacer X quantité de mes tokens ». Ensuite, cette personne transmet ce message au contrat intelligent et paie elle-même les frais de gaz pour exécuter l'opération. Vos fonds sont alors transférés, alors que vous n'avez fait que signer. Un pirate peut ainsi créer un site de phishing où le bouton de connexion est remplacé par une demande de signature Permit, et récupérer ainsi facilement vos actifs.

Et qu'en est-il de Permit2 ? Contrairement à Permit, Permit2 n'est pas une fonctionnalité du standard ERC-20, mais une innovation lancée par Uniswap pour améliorer l'expérience utilisateur. Dans notre exemple précédent, pour échanger des USDT contre un token Bo Cai sur Uniswap, vous devez d'abord autoriser (approve) une fois, puis effectuer l'échange — deux opérations distinctes, donc deux frais de gaz. Uniswap a donc proposé une solution : « Autorise-nous une fois pour toutes, et ensuite, à chaque échange, tu signes simplement, et nous gérons le reste ». Ce système permet aux utilisateurs de ne payer qu'une seule fois les frais de gaz. Et surtout, cette signature étant off-chain, ce n'est pas vous qui payez directement : le contrat Permit2 paie à votre place, en déduisant les frais du montant final reçu.

Cependant, pour être victime d'un hameçonnage Permit2, il faut avoir déjà utilisé Uniswap et avoir accordé une autorisation illimitée au contrat Permit2. Or, Uniswap utilise cette autorisation illimitée par défaut, donc un grand nombre d'utilisateurs y sont exposés. De la même manière, si un pirate parvient à vous faire signer, il peut transférer vos tokens (seulement ceux pour lesquels vous avez donné l'autorisation).
En résumé : l'hameçonnage par autorisation consiste à payer une transaction pour dire au contrat intelligent : « J'autorise le pirate à prendre mes tokens ». L'hameçonnage par signature consiste à signer un document autorisant quelqu'un à manipuler vos actifs, que le pirate utilisera ensuite pour payer lui-même la transaction et transférer vos tokens. Actuellement, Permit et Permit2 sont les vecteurs principaux de l'hameçonnage par signature. Permit est une extension du standard ERC-20, tandis que Permit2 est une fonctionnalité introduite par Uniswap.
Maintenant que nous comprenons le principe, comment nous protéger ?
1. Avant tout, développez une conscience aiguë de la sécurité. À chaque interaction avec votre portefeuille, vérifiez attentivement ce que vous êtes en train de faire.
2. Séparez clairement votre portefeuille contenant de gros montants de celui utilisé pour naviguer sur la blockchain. En cas d'attaque, cela limitera les pertes.
3. Apprenez à reconnaître les formats de signature Permit et Permit2. Dès que vous voyez l'un de ces éléments, soyez extrêmement vigilant :
-
Interactive : site web interactif
-
Owner : adresse du titulaire
-
Spender : adresse du bénéficiaire autorisé
-
Value : quantité autorisée
-
Nonce : nombre aléatoire
-
Deadline : date d'expiration

Bienvenue dans la communauté officielle TechFlow
Groupe Telegram :https://t.me/TechFlowDaily
Compte Twitter officiel :https://x.com/TechFlowPost
Compte Twitter anglais :https://x.com/BlockFlow_News










