Du remède au poison : Pourquoi le permis est devenu une source de risque
1. Qu’est-ce qu’un permis ?
Commençons par une petite histoire sur l’emprunt d’argent :
Imaginez que je veuille emprunter 1 million à mon ami Jack Ma. Sans hésiter, Jack prend son téléphone et appelle la banque, confirmant son identité et donnant l’ordre d’autoriser une limite de retrait de 1 million pour moi. La banque enregistre cette autorisation et il me suffit de me rendre à la banque, de m’identifier et de retirer le montant autorisé. Si la banque ne trouve pas l’autorisation, ma demande est refusée.
Voyons maintenant comment ce processus évolue avec une autre méthode, celle de l’autorisation. Dans ce scénario, lorsque je demande 1 million à Jack, il sort un chèque, remplit le montant, le signe et me le remet. J’apporte le chèque à la banque et, même sans enregistrement d’autorisation, la banque l’encaisse sur la base de la signature de Jack.
Ceci illustre la différence entre Approve et Permit. Approve, une caractéristique essentielle de l’ERC-20, a été largement utilisée depuis le lancement d’Ethereum. Mais pourquoi le Permis a-t-il été introduit plus tard par le biais de l’ERC-2612 pour obtenir le même effet ?
2. Pourquoi le permis était-il nécessaire ?
La proposition ERC-2612 a été introduite en mars 2019 et finalisée en octobre 2022. Son développement a coïncidé avec plusieurs pics des prix du gaz Ethereum. La frénésie du marché pendant les hausses a conduit les utilisateurs à dépenser davantage en frais de gaz pour des transactions plus rapides, où même un avantage d’un bloc pouvait signifier un profit substantiel.
Cependant, ce phénomène a créé un fardeau pour les utilisateurs, car le processus de deux transactions requis pour l’approbation est devenu coûteux, en particulier pour ceux qui disposent de fonds plus modestes. L’introduction de Permit a permis une signature hors ligne, éliminant le besoin d’une autorisation immédiate sur la chaîne. Ce changement signifie que l’autorisation peut être fournie en même temps que le transfert de jetons, un peu comme si l’on encaissait un chèque sans avoir besoin de l’approbation préalable de la banque.
Bien que cette mesure semble bénéfique – elle permet à Jack d’économiser un appel téléphonique et de réduire les frais de transaction des utilisateurs – elle a involontairement ouvert la boîte de Pandore.
3. L’augmentation rapide des risques
Avant Permit, les pirates utilisaient souvent des méthodes d’hameçonnage qui demandaient aux utilisateurs de signer pour approuver les transactions, ce qui entraînait des frais d’essence et des signaux d’alerte. Même si les utilisateurs cliquaient accidentellement, le délai des transactions sur la chaîne leur permettait d’annuler l’action en effectuant une nouvelle transaction.
Le permis a cependant changé la donne. Il élimine les frais d’essence et n’exige qu’une signature, ce qui réduit la vigilance de l’utilisateur. Comme la signature est hors ligne, les pirates peuvent prendre le contrôle et exploiter la situation quand ils le souhaitent, maximisant ainsi leurs gains.
L’impact de ce changement est évident dans le nombre croissant de victimes d’hameçonnage et les montants volés. Selon @ScamSniffer :
- En 2023, les pertes dues au phishing ont atteint 295 millions de dollars.
- À la mi-2024, ce chiffre avait déjà dépassé les 314 millions de dollars.
- Au cours du troisième trimestre 2024, un incident important s’est produit : un portefeuille a été victime d’une attaque de phishing par Permit, ce qui a entraîné la perte de 12 000 $spWETH, d’une valeur d’environ 30 millions de dollars.
Les développeurs qui ont proposé Permit, dont l’objectif initial était de réduire les coûts du gaz et d’améliorer l’expérience des utilisateurs, n’avaient probablement pas prévu de tels résultats. Ce qui devait être une épée à double tranchant s’est avéré être un couteau aiguisé, tranchant les barrières de protection autour des actifs des utilisateurs.
Des méthodes similaires de signature hors ligne sont apparues, comme Permit2 de Uniswap, ce qui accroît la dépendance à l’égard de la signature hors ligne et amplifie les risques d’hameçonnage.
4. Comment se protéger
Face à cette menace imminente, les utilisateurs peuvent prendre plusieurs précautions pour limiter les pertes :
1. Accroître la sensibilisation
- Restez prudents face aux tentations de largage aérien : Les largages aériens peuvent être séduisants, mais beaucoup sont des tentatives d’hameçonnage. Vérifiez toujours la légitimité d’un airdrop auprès de plusieurs sources avant d’y participer.
- Éviter la signature à l’aveugle : Si vous entrez par inadvertance sur un site de phishing et qu’une fenêtre de transaction apparaît, examinez attentivement les détails de la transaction. Des termes tels que Permit, Permit2, Approve ou IncreaseAllowance indiquent des problèmes d’autorisation potentiels et justifient la prudence. Les portefeuilles matériels comme Keystone peuvent aider en analysant et en affichant les détails de la transaction, évitant ainsi les actions impulsives.
2. Utiliser des outils
- Renifleur d’escroquerie : Cette extension de navigateur alerte les utilisateurs avant qu’ils n’entrent dans des URL suspectes, ce qui leur permet d’interrompre rapidement les interactions.
- Révoquer : Revoke.cash affiche les enregistrements d’autorisation de jetons dans votre portefeuille, conseillant aux utilisateurs de révoquer toute autorisation suspecte ou illimitée. Le nettoyage régulier des autorisations minimise les risques.
3. Isolation des actifs et portefeuilles à signatures multiples
L’adage « ne mettez pas tous vos œufs dans le même panier » s’applique également aux actifs cryptographiques. Stockez les actifs importants dans des portefeuilles froids tels que Keystone, en utilisant de petits portefeuilles chauds pour les transactions quotidiennes. Ainsi, même si l’un des portefeuilles est compromis, tous les actifs ne sont pas en danger.
Pour plus de sécurité, les portefeuilles à signatures multiples peuvent offrir une protection supplémentaire. Les actifs ne sont accessibles qu’avec un nombre prédéterminé d’approbations du portefeuille, ce qui garantit qu’un seul portefeuille compromis n’entraînera pas une perte totale.
5. Conclusion
Bien que nous ne puissions pas nier la valeur de Permit, le nombre croissant de vols suggère que ses risques pourraient l’emporter sur ses avantages. À l’instar de la méthode ethsign, autrefois très répandue et finalement abandonnée pour des raisons de sécurité, Permit se trouve aujourd’hui à un moment critique. Les développeurs doivent réfléchir à l’opportunité d’améliorer ou d’abandonner cette méthode à l’avenir.