Choses à savoir: |
- La croissance de l’écosystème EVM en fait une cible privilégiée pour les attaques cryptographiques.
– Il existe de nombreuses variantes et techniques utilisées par les escrocs sous l’égide de l’empoisonnement d’adresse. – Ledger explore toujours des mesures de protection innovantes pour les utilisateurs de la chaîne EVM. |
Nous avons constaté récemment une augmentation du nombre d’attaques qualifiées d’« Address Poisoning », ciblant les chaînes EVM. Cela a un impact sur nos clients qui risquent de perdre des fonds car ils finissent par faire confiance et copier/coller de mauvaises adresses. Cela a été discuté assez beaucoup par le acteurs principaux, mais le contenu en ligne est à la fois répétitif et pourtant techniquement incomplet, manquant d'exemples clairs.
Examinons donc les différents types d’empoisonnement d’adresse ! Car oui, il s’agit bien d’une famille d’attaques, avec des variations dans leur mise en œuvre.
Vanity Poisoning : forcer brutalement vos adresses
Ce premier type d’empoisonnement par adresse est le plus simple et est couvert par la plupart des articles en ligne. Pour le comprendre, nous devons d’abord parler des adresses de vanité et de nos propres limites humaines.
Adresses personnalisées
Sur les chaînes EVM, les adresses sont obtenues en hachant la clé publique du compte et en ne conservant que les 20 derniers octets (les plus à droite). Ces 20 octets sont ensuite formatés sous la forme d'une chaîne hexadécimale de 40 caractères, et c'est ce que nous manipulons tous lors de l'envoi/réception d'ETH ou de jetons.
Maintenant, les gens étant des personnes, ils ont commencé à chercher des adresses suivant un certain modèle hexadécimal, parce que cela avait un aspect plus élégant. Un exemple bien connu est Le contrat de token de 1INCH qui a l'adresse 0x111111111117dc0aa78b770fa6a738034120c302
, en commençant par plusieurs 1 😍. C'est ce que nous appelons un Adresse de vanité.
L'équipe 1inch l'a généré en dérivant et en hachant de nombreuses clés publiques, jusqu'à ce qu'elle en obtienne une qui ressemble à ce qu'elle souhaitait. Ils ont probablement utilisé un outil comme Vanité ETH pour ce faire, ce qui n'est pas difficile mais prend plutôt du temps.
"Mais attendez, cela signifie-t-il que je peux trouver la clé privée de n'importe quelle adresse Ethereum ??" pourriez-vous demander. À quoi je répondrais : j'espère que non, sinon je devrai rapidement trouver un nouvel emploi pour couvrir mon hypothèque.
En réalité, la difficulté de générer une adresse personnalisée augmente de manière non linéaire avec le nombre de caractères que vous corrigez. En utilisant Vanité ETH, il vous faudra plusieurs mois pour obtenir une adresse à 10 caractères fixes. Pour 12 caractères fixes, cela bouillonne jusqu'à plusieurs centaines d'années. Je vous laisse extrapoler combien de temps cela prendrait pour une adresse complète de 40 caractères.
Comme mes descendants auront l'air cool avec cette adresse !
L'essentiel à retenir est qu'avec suffisamment d'efforts, il est possible de générer une adresse qui suit un certain modèle sur quelques-uns de ses caractères.
Les humains examinent les octets
En tant qu'humains, nous avons tendance à n'examiner que partiellement les adresses lorsque nous les lisons. Le modèle le plus courant consiste à examiner uniquement quelques-uns des premier et dernier caractères des adresses. Bien que cela soit moins sûr que de les comparer exactement, caractère par caractère, c'est beaucoup plus agréable pour les yeux et constitue la voie de moindre résistance.
C'est aussi quelque peu encouragé par les outils dont nous disposons puisque beaucoup d'entre eux cachent la plupart des adresses.
Metamask affiche uniquement le début et la fin de votre adresse
L'attaque
Compte tenu de ce qui précède, certains mauvais acteurs ont réalisé qu’ils pouvaient :
- Recherchez une adresse d’utilisateur active qui regorge d’argent magique sur Internet.
- Générez une adresse personnalisée qui correspond aux premier et derniers octets de l'adresse utilisateur.
- Envoyez une transaction d'un montant de 0, ou presque 0, de l'adresse personnalisée à l'adresse utilisateur. C'est là le véritable empoisonnement : l'utilisateur voit désormais l'adresse personnalisée de l'attaquant dans son propre historique de transactions.
- L'attaquant attend maintenant et espère que l'utilisateur fera une erreur et copiera son adresse personnalisée en essayant de s'envoyer des fonds.
Étant donné que la gestion des octets aléatoires est difficile pour les humains, nous avons tendance à copier toute adresse qui ressemble à la nôtre lorsque nous sommes pressés, ce qui rend cette attaque assez efficace.
La génération d’adresses personnalisées prend cependant du temps, ce qui rend cette attaque plus difficile à mettre à l’échelle. Il est important de noter cependant que le processus peut être inversé pour le rendre moins cher :
- L'attaquant génère autant d'adresses personnalisées que possible qu'il contrôle.
- L'attaquant surveille toute l'activité en chaîne et toutes les adresses utilisateur actives.
- Si une adresse d'utilisateur active correspond à l'une des adresses personnalisées, démarrez le processus d'empoisonnement.
De cette manière, l’attaquant renonce à cibler un compte spécifique, mais élargit la surface d’attaque.
Attaque de transfert de jetons à valeur nulle : tromper la chaîne
Ce deuxième type d’empoisonnement est encore plus insidieux puisqu’il repose sur la création de transactions ERC20. en votre nom, et sans votre consentement !
Pour le comprendre, vous devez être familier avec les événements en chaîne, l'allocation de jetons et un peu de solidité.
Événements en chaîne
Sur les chaînes EVM, une transaction peut affecter l'état de la chaîne de plusieurs manières. La solution la plus courante consiste à déplacer l’ETH entre les adresses, ce qui modifie efficacement le solde en chaîne des comptes concernés.
Un autre changement d'état est la publication des événements. Lorsque vous regardez une transaction sur Etherscan, vous pouvez voir les événements qui ont été générés. Ces événements permettent de matérialiser les transferts de tokens (ERC20, NFT, …) en chaîne.
Lorsque vous examinez l'historique de vos transactions ERC20, vous examinez en réalité tous les Transfert (adresse indexée _from, adresse indexée _to, uint256 _value) événements qui impliquent votre adresse.
À propos de l'allocation de jetons
De nombreuses utilisations avancées des jetons ERC20 dépendent de l'autorisation de contrats tiers pour déplacer des fonds au nom d'un utilisateur. Ceci est géré via une carte d'allocations où la clé est l'adresse autorisée et la valeur est le montant maximum de fonds que cette adresse peut déplacer.
Dans la norme ERC-20 : norme de jeton l'allocation ne peut être modifiée que par l'utilisateur, en appelant la fonction approuver (adresse _spender, uint256 _value).
Virement à votre nom
La seule façon pour un attaquant d'envoyer X
la quantité de jetons au nom d'un autre utilisateur consiste à appeler la fonction transferFrom (adresse _from, adresse _to, uint256 _value). Toutefois, pour pouvoir le faire, l'utilisateur cible doit avoir déjà appelé approve({_spender: <attacker_address>, _value: X})
, leur accordant l'allocation requise.
À première vue, cela semble être une limite difficile à dépasser.
Cependant, étant donné le fonctionnement des mappages et des valeurs par défaut dans Solidity, chaque adresse a une marge de valeur. 0
sur une adresse sur deux dans la mise en œuvre standard des contrats ERC20. Ainsi, dans ces implémentations, n'importe qui est autorisé à exécuter le transfert suivant, que l'utilisateur cible lui ait ou non activement accordé une autorisation :
transferFrom({from: <user_address>, to: <attacker_address>, _value: 0})
Mieux encore, la norme ERC20 précise que :
Les transferts de valeurs 0 DOIVENT être traités comme des transferts normaux et déclencher l'événement « Transfer ».
Cela garantit que ce transfert vide générera toujours un Transfer
événement qui finira par être affiché dans l'historique des transactions de l'utilisateur.
L'attaque
En utilisant les nouvelles connaissances ci-dessus, nous pouvons effectuer l’attaque suivante :
- Tél
transferFrom
avec une valeur de0
sur des contrats ERC20 bien connus comme USDC, Matic, Uniswap… - Effectuez un transfert de l'adresse de l'utilisateur vers l'adresse de l'attaquant.
- Cela générera un événement de transfert légitime en chaîne de l'adresse de l'utilisateur à l'adresse de l'attaquant.
- Cet événement sera ensuite synchronisé par le portefeuille de l'utilisateur, et affiché comme un transfert valide.
L'attaquant a atteint son objectif : créer une transaction ERC20 légitime du compte d'une cible vers le sien.
Dans n'importe quel portefeuille standard, leur adresse sera désormais affichée dans l'historique des transactions de la cible dans le cadre d'une transaction valide. L'utilisateur a été empoisonné. Avec un peu de chance (pour l'attaquant), la cible peut utiliser par erreur la mauvaise adresse lors de transactions futures.
Voici quelques exemples de telles attaques en chaîne :
Protéger les utilisateurs
Les attaques que nous avons décrites ont un impact réel sur les utilisateurs de cryptomonnaies. Ils ne représentent également que la pointe de l’iceberg. Dans leur quête pour amener les utilisateurs à interagir avec des adresses malveillantes, les escrocs exploiteront tout type de faille technique ou humaine. Ils adaptent également très rapidement leurs stratégies aux contre-mesures que les fabricants de portefeuilles pourraient déployer.
En tant que mainteneurs du Ledger Live, nous avons la responsabilité de fournir des solutions sécurisées et d’améliorer l’expérience utilisateur. Compte tenu de la nature de ces attaques, il est très difficile de les empêcher complètement de se produire. Au lieu de cela, c'est le rôle des portefeuilles de gérer différemment les transactions toxiques pour éviter toute erreur possible de l'utilisateur.
Alors, quelle est la meilleure voie à suivre ?
La réponse simple pour nous est que vous ne devez jamais copier une adresse de votre portefeuille, sans au préalable en le vérifiant sur l'écran de confiance de votre périphérique matériel. Cette contre-mesure est disponible depuis la commercialisation du premier Nano S et ne présente aucun défaut technique connu.
Mais en rester là serait une erreur. Les gens ne sont pas des machines : nous pouvons être paresseux, nous pouvons être pressés, peut-être que nous n'avons pas notre Nano avec nous, certaines personnes je ne possède même pas d'appareil Ledger 😱. Dans la vie de tous les jours, nous suivons toujours le chemin de la moindre résistance. Dans ce cas, cela reviendrait à copier une adresse sans la vérifier minutieusement.
Dans ce contexte, nos équipes côté Produit, Développeur et Support Client ont exploré de multiples solutions. Le plus simple, mais aussi le plus efficace, a été ajouté à la dernière version de Ledger Live : masquer les transactions avec des montants absolument nuls.
Désormais, l’attaque la plus néfaste (Zero-Value Token Transfer Attack) est rendue édentée car le montant doit être absolument nul pour l’exécuter. Il s’agit également d’un changement sûr puisque 99.9 % des utilisateurs n’utilisent jamais délibérément des transactions nulles. Pour les 0.1% restants, il est bien entendu possible de continuer à afficher les transactions en modifiant les paramètres avancés de Ledger Live.
Dans l’ensemble, ce changement a un impact important, très peu d’inconvénients et un délai de commercialisation très court. Pour les autres versions des attaques d’empoisonnement d’adresse, nous explorons différentes solutions telles que les carnets d’adresses sécurisés, la détection d’adresses frauduleuses et bien d’autres encore !
Assurer l'avenir
Alors que le monde de la cryptographie continue d’évoluer, les acteurs malveillants recherchent sans relâche de nouvelles façons d’exploiter les vulnérabilités et de cibler les utilisateurs sans méfiance. Address Poisoning est un excellent exemple de telles attaques malveillantes qui exploitent les limites de la technologie et de la nature humaine. En mettant en lumière les différents types d’attaques d’empoisonnement d’adresse et en disséquant leurs mécanismes sous-jacents, nous visons à sensibiliser et à vous permettre de prendre des décisions éclairées dans votre parcours cryptographique.
Pour lutter contre ces menaces en constante évolution, il est crucial que les fournisseurs de portefeuilles, comme Ledger Live, et la communauté crypto au sens large restent vigilants, collaborent et développent des solutions innovantes pour protéger les utilisateurs. Alors que nous améliorons continuellement les mesures de sécurité et l’expérience utilisateur, nous encourageons les utilisateurs à rester informés, à faire preuve de prudence et à adopter les meilleures pratiques recommandées.
Tout comme les tentatives d’escrocs visant à vous frauder, les efforts groupés des équipes de Ledger pour vous protéger sont toujours en cours. Cela apportera des améliorations régulières à votre expérience quotidienne sur Ledger Live, alors soyez attentif aux changements dans les prochaines versions !
- Contenu propulsé par le référencement et distribution de relations publiques. Soyez amplifié aujourd'hui.
- PlatoAiStream. Intelligence des données Web3. Connaissance Amplifiée. Accéder ici.
- Frapper l'avenir avec Adryenn Ashley. Accéder ici.
- Achetez et vendez des actions de sociétés PRE-IPO avec PREIPO®. Accéder ici.
- La source: https://www.ledger.com/blog/address-poisoning
- :possède
- :est
- :ne pas
- :où
- $UP
- 10
- 12
- 1m
- 20
- 22
- 250
- 40
- a
- Capable
- A Propos
- au dessus de
- Absolute
- Compte
- hybrides
- activement
- activité
- acteurs
- présenter
- actually
- adapter
- ajoutée
- propos
- adresses
- adopter
- Avancée
- affecter
- objectif
- Tous
- déjà
- aussi
- toujours
- montant
- quantités
- an
- et de
- Une autre
- répondre
- Antidote
- tous
- chacun.e
- SONT
- sur notre blog
- AS
- At
- attaquer
- Attaques
- Tentatives
- disponibles
- éviter
- et
- Mal
- Balance
- BE
- car
- était
- va
- LES MEILLEURS
- les meilleures pratiques
- Améliorée
- jusqu'à XNUMX fois
- binance
- Bit
- Livres
- tous les deux
- plus large
- mais
- by
- Appelez-nous
- appel
- CAN
- prudence
- certaines
- chaîne
- Chaînes
- Change
- modifié
- Modifications
- en changeant
- caractère
- caractères
- moins chère
- clair
- CLIENTS
- collaborons
- lutter contre la
- Commun
- Communautés
- comparant
- complet
- contenu
- contexte
- continue
- continuellement
- contrat
- contrats
- des bactéries
- Freddi
- copier
- pourriez
- cours
- couverture
- couvert
- La création
- crucial
- Crypto
- communauté crypto
- utilisateurs de crypto
- crypto-monde
- des clients
- Support à la clientèle
- jour après jour
- décisions
- Réglage par défaut
- déployer
- décrit
- Détection
- développer
- Développeur
- différent
- difficile
- Difficulté
- DIG
- do
- Ne pas
- désavantages
- plus facilement
- Easy
- risque numérique
- Efficace
- de manière efficace
- efficace
- effort
- vous accompagner
- encourager
- encouragés
- fin
- entièrement
- ERC20
- Jetons ERC20
- ETH
- Ethereum
- Etherscan
- Pourtant, la
- événement
- événements
- Chaque
- de tous les jours
- EVM
- évolue
- exactement
- exemple
- exemples
- exécuter
- d'experience
- Exploiter
- Explorer
- Yeux
- familier
- famille
- few
- Trouvez
- Incendie
- Prénom
- Fixer
- fixé
- défaut
- suivre
- Abonnement
- suit
- Pour
- Avant
- trouvé
- De
- fonds
- avenir
- générer
- généré
- génère
- générateur
- obtenez
- donné
- donne
- Don
- objectif
- l'
- Croissance
- garantit
- ait eu
- manipuler
- manipulés
- Maniabilité
- EN COURS
- Dur
- Matériel
- Hachage
- Vous avez
- Cacher
- Histoire
- Avec optimisme
- espoirs
- Comment
- Cependant
- http
- HTTPS
- humain
- Les êtres humains
- cent
- i
- MAUVAIS
- Impact
- Impacts
- la mise en oeuvre
- important
- améliorer
- améliorations
- in
- Améliore
- Augmente
- Actualités
- technologie innovante
- instance
- plutôt ;
- interagir
- Internet
- développement
- impliquer
- impliqué
- IT
- SES
- Emploi
- chemin
- XNUMX éléments à
- en gardant
- ACTIVITES
- clés
- Genre
- Savoir
- spécialisées
- connu
- Nom
- Nouveautés
- au
- départ
- Ledger
- Ledger Live
- à gauche
- légitime
- moins
- VIE
- lumière
- comme
- LIMIT
- limites
- peu
- le travail
- Location
- Style
- recherchez-
- LOOKS
- pas à perdre
- Lot
- chance
- Les machines
- la magie
- Argent Internet magique
- a prendre une
- Décideurs
- FAIT DU
- de nombreuses
- Localisation
- Marché
- Matic
- max
- largeur maximale
- Mai..
- signifier
- les mesures
- mécanismes
- pourrait
- manquant
- erreur
- de l'argent
- mois
- PLUS
- Hypothéquer
- (en fait, presque toutes)
- Bougez
- en mouvement
- beaucoup
- plusieurs
- must
- my
- nano
- Nature
- Besoin
- n'allons jamais
- Nouveauté
- NFTs
- aucune
- Ordinaire
- noter
- maintenant
- nombre
- obtenu
- of
- on
- Sur chaîne
- activité en chaîne
- ONE
- en cours
- en ligne
- uniquement
- or
- Autre
- nos
- ande
- Overcome
- propre
- partie
- chemin
- Patron de Couture
- Personnes
- effectuer
- Platon
- Intelligence des données Platon
- PlatonDonnées
- possible
- pratique
- pratiques
- assez
- empêcher
- Prime
- Privé
- Clé privée
- Probablement
- processus
- Produit
- protéger
- Protecteur
- fournir
- fournisseurs
- public
- Clé publique
- clés publiques
- Publication
- quête
- Rapide
- vite.
- augmenter
- aléatoire
- plutôt
- atteint
- en cours
- réal
- Réalité
- réalisé
- vraiment
- recommandé
- Indépendamment
- Standard
- libérer
- restant
- répétitif
- conditions
- Résistance
- responsabilité
- Avis
- examen
- Rôle
- se ruer
- s
- des
- Escaliers intérieurs
- Arnaque
- Les escrocs
- pour écran
- Deuxièmement
- sécurisé
- sécurité
- mesures de sécurité
- Chercher
- semble
- vu
- voit
- envoyer
- Paramétres
- plusieurs
- Shorts
- devrait
- Spectacles
- Accompagnements
- Vue
- depuis
- So
- solidité
- Solutions
- quelques
- quelque peu
- groupe de neurones
- Standard
- Commencer
- j'ai commencé
- Commencez
- Région
- États
- rester
- les stratégies
- Chaîne
- tel
- suffisant
- Support
- Surface
- Prenez
- discutons-en
- Target
- ciblage
- équipe
- équipes
- Technique
- techniques
- Technologie
- que
- qui
- La
- L'État
- leur
- Les
- se
- puis
- Là.
- Ces
- l'ont
- des tiers.
- this
- complètement
- bien que?
- des menaces
- Avec
- fiable
- pointe
- à
- jeton
- Tokens
- outil
- les outils
- commerce
- métiers
- transaction
- Transactions
- transférer
- transferts
- confiance
- confiant
- peaufinage
- type
- types
- parapluie
- sous
- sous-jacent
- comprendre
- jusqu'à
- us
- Utilisation
- USDC
- utilisé
- d'utiliser
- Utilisateur
- Expérience utilisateur
- utilisateurs
- Plus-value
- Valeurs
- VANITY
- vérifier
- très
- vulnérabilités
- attendez
- Wallet
- Fabricants de portefeuilles
- Portefeuilles
- voulu
- était
- montres
- Façon..
- façons
- we
- bien connu
- Quoi
- Qu’est ce qu'
- quand
- que
- qui
- tout en
- WHO
- sera
- comprenant
- sans
- activités principales
- pourra
- années
- Oui
- encore
- Rendement
- you
- Votre
- Zendesk
- zéphyrnet
- zéro