Les menaces qui pèsent sur la sécurité des crypto-actifs ne sont pas liées à la technologie blockchain, mais aux interfaces tierces qui permettent d’accéder à son réseau: les appareils où sont stockés le portefeuille et les clés privées, ou encore les sites web sur lesquels les cryptomonnaies sont achetées..
Les détenteurs de crypto-actifs doivent se souvenir que dans la majorité des cas, il n’existe pas de voies de recours en cas de perte puisque ces actifs ne sont pas régulés par les gouvernements ou les banques centrales. Il incombe alors à l’utilisateur de prendre toutes les dispositions nécessaires pour protéger ses fonds ; par ailleurs, il faut souligner qu’en cas de perte de fonds, la probabilité de pouvoir récupérer ces derniers est minuscule
Les portefeuilles numériques tels que #MetaMask, Trust wallet ou Safepal , sont essentiels pour interagir avec le monde des cryptomonnaies, notamment la finance décentralisée (DeFi). Mais ces wallet sont également très sensibles aux risques de hack. Voici quelques bonnes pratiques à suivre, qui, à défaut d’éliminer totalement ce risque, vous protègeront au mieux du potentiel vol de vos actifs.
Ne divulguer jamais votre seed phrase ou phrase mnémonique
Si vous utilisez des portefeuilles comme MetaMask, vous êtes les propriétaires de vos clés privées, c’est ce que l’on appelle des #wallets non custodial. Cela a un avantage et un inconvénient majeur :
- Avantage : vous êtes les seuls responsables de vos cryptomonnaies ;
- Inconvénient : vous êtes les seuls responsables de vos cryptomonnaies.
Cette dose d’ironie vise en fait à vous faire réfléchir sur tout ce que cela implique. Certes, vous n’avez de comptes à rendre à personne, et c’est là l’une des beautés de notre écosystème. Mais si vous faites la moindre erreur, il n’y a pas de service client pour rattraper votre faute. Donc noté cette phrase dans un calpin ou dans un endroit sécurisé de votre choix .
Récupérer le lien d’une plateforme depuis CoinGecko ou CoinMarketCap
Lorsque vous vous rendez sur un protocole pour la première fois, privilégiez un accès par CoinGecko ou CoinMarketCap. Cela vous donnera à coup sûr la bonne adresse plutôt qu’un lien frauduleux trouvé via votre moteur de recherche. À moins que CoinGecko ou CoinMarketCap n’aient eux-mêmes été hackés, mais là on entre dans une autre catégorie…
Vous pourrez ensuite enregistrer ce lien dans vos favoris pour une prochaine utilisation et/ou vous servir de la saisie automatique de votre barre de recherche pour vous rendre à la bonne adresse.
Une variante de cette méthode consiste à passer par le Twitter officiel du protocole en question. Assurez-vous pour cela que le compte ait le logo « vérifié » afin de ne pas vous faire piéger par un faux profil.
Cette dernière recommandation est également valable pour les wallets de navigateur comme en témoigne l’illustration ci-dessous. En effet, le premier résultat de notre recherche « MetaMask Wallet » est une annonce redirigeant vers un faux site MetaMask, comme l’indique l’URL comportant un « A » en trop et le mauvais domaine (.co au lieu de .io). Si vous saisissez votre phrase de récupération sur celui-ci, vous pouvez être sûr de dire adieu à vos cryptomonnaies.
Figure 2 : Annonce frauduleuse en premier résultat de recherche MetaMask
La véritable adresse de MetaMask est metamask.io, pas metamaask, ou .com, ou autres variantes. Il en va de même pour xDeFi, Frame, Keplr ou encore Phantom pour ne citer qu’eux, lesquels sont souvent touchés dans des usurpations de la sorte.
Savoir détecter les tentatives d’hameçonnage (phishing)
Ici la mécanique est simple : on va jouer sur vos émotions afin de vous piéger. Dans ce cas précis, c’est souvent la peur qui est utilisée, comme avec cet email frauduleux se faisant passer pour un message officiel de MetaMask.
Figure 3 : Tentative d’hameçonnage avec un pseudo-email de MetaMask
Selon ce qui est écrit, des actions de sécurité seraient prétendument à effectuer. Or, si l’on fait un copier-coller de l’adresse située sur le bouton, on se rend compte qu’elle ne pointe pas vers le site officiel de MetaMask. Le but est donc encore une fois de voler des clés privées.
Partez du principe que s’il y a réellement une faille de sécurité, les équipes des projets ne vous enverront pas de mails, elles communiqueront directement sur leurs réseaux sociaux officiels comme Twitter.
D’ailleurs, réfléchissez à cela, comment, hors cas d’un KYC, des applications décentralisées pourraient posséder votre adresse email dans leur base de données alors que celle-ci n’est pas nécessaire pour utiliser leurs services ?
D’une façon plus générale, mais qui reste dans le même esprit, restez particulièrement vigilant sur les réseaux sociaux tels que Discord et plus encore avec Telegram. Les faux canaux de projets sont nombreux et il devient très facile de se laisser berner en étant redirigé vers une arnaque.
Ne pas toucher aux tokens sortis de nulle part
Quand on regarde nos adresses sur des explorateurs de blockchain, nous avons à peu près toutes et tous des tokens en portefeuille dont on ne sait pas d’où ils sortent.
Figure 4 : Exemple de tokens scams sur la BSC
La consigne est simple : n’y touchez pas. Ces tokens peuvent avoir une soi-disant une valeur ou non, mais bien souvent ils ont tous le même but : siphonner votre compte.
Pour ce genre d’arnaque, des personnes mal intentionnées vont envoyer aléatoirement un token à de multiples adresses dans l’espoir que quelqu’un cherche à le vendre.
La future victime cherchera alors à swaper le token en question dans un actif plus conventionnel comme de l’ETH par exemple. Elle le fera soit depuis un exchange décentralisé, soit depuis le « site du projet ». Dans les deux cas, elle donnera l’autorisation sans s’en rendre compte à un smart contract de vider son compte.
Le token en question pourra même avoir un nom semblable à une cryptomonnaie plus célèbre afin de porter à confusion. Gardez simplement à l’esprit que, si d’une manière ou d’une autre, vous n’êtes pas à l’origine de l’arrivée d’un token sur votre adresse, alors c’est probablement une arnaque.
Pour compléter ces précautions, évitez de manipuler vos cryptomonnaies lorsque vous n’êtes pas dans un état émotionnel optimal. Même les plus expérimentés d’entre nous peuvent tomber dans des pièges simples à cause de la fatigue, du stress ou de l’inattention. Penchons-nous désormais sur des précautions encore plus poussées qui vous feront écarter un maximum de risques.
Un hardware wallet en parallèle de vos portefeuilles numériques
Lorsque votre capital en cryptomonnaies commence à prendre une certaine taille, ne négligez pas cet investissement. En effet, nous avons encore eu la preuve il y a quelque temps que les portefeuilles fonctionnant comme des extensions de navigateurs ne sont pas entièrement sécurisés.
La majorité des portefeuilles numériques proposent ainsi une fonction « Connecter un #hardware wallet ». Cela vous permettra donc de les utiliser avec une clé Ledger ou Trezor pour ne citer qu’eux.
Figure 1 : Connecter un hardware wallet sur MetaMask
La force de ces outils réside dans le fait que même si quelqu’un prend le contrôle à distance de votre ordinateur, il ne pourra pas effectuer de transactions. En effet, il faudra pour cela réaliser une validation physique de cette transaction directement depuis le hardware wallet connecté.
Bien évidemment, vous ne devrez en aucun cas sauvegarder de clé privée, phrase ou fichier de récupération sur votre ordinateur pour quelconque adresse que ce soit. Et cela y compris pour un hardware wallet, un tel comportement aurait à peu près autant de sens que de mettre votre carte de crédit en photo de profil Facebook.
Les précautions plus poussées
Gérer les autorisations de votre portefeuille
Lorsque vous interagissez avec un smart contract, vous devez l’autoriser à dépenser vos tokens. Afin d’illustrer ceci, imaginez que vous souhaitez ajouter de la liquidité dans le pool ETH-USDT sur l’exchange décentralisé de votre choix. Vous aurez besoin de donner 3 autorisations :
- Une pour vos ETH ;
- Une pour vos USDT ;
- Une pour le LP token qui en résultera afin de lui faire générer du rendement.
Ces autorisations se symbolisent souvent par le bouton « Unlock » ou « Approve », à l’image de l’exemple ci-dessous où des TUSD doivent être déverrouillés avant d’être échangés contre du MATIC :
Figure 5 : Déverrouiller les TUSD sur Balancer
Dans cet exemple, en cliquant sur « Approve TUSD », 99 % des personnes signent pour des autorisations illimitées.
Le danger de cette pratique survient si le protocole se fait hacker ou rencontre un problème quelconque. Considérez ici que si vous donnez une autorisation illimitée à Balancer pour dépenser vos TUSD, un problème sur le smart contract en question met à risque TOUS les TUSD présents dans votre portefeuille sur le réseau où ils se trouvent.
La copie d’écran qui suit vous montre la liste de toutes les autorisations données par actifs sur une adresse ainsi que la quantité de token exposée sur le réseau Polygon.
Figure 6 : Autorisations données à des smart contracts sur le réseau Polygon
Les 31 dollars de l’exemple représentent la valeur totale du portefeuille exposée à des autorisations. Vous voyez également que les 16 USDC présents sur cette adresse ont une autorisation active sur 4 protocoles différents.
Les autorisations en question sont infinies, ce qui signifie que les conséquences potentielles restent les mêmes, quelle que soit la quantité présente sur le compte : tous les USDC de l’adresse sur le réseau Polygon sont exposés en cas de défaillance de l’un des 4 smart contracts. Donc si vous envoyez 1000 USDC sur cette adresse, ce seront 1016 USDC qui pourront par exemple être volés si le smart contract autorisé sur Curve venait à être hacké.
Vous retrouverez vos différentes autorisations détaillées sur les différents réseaux compatibles Ethereum Virtual Machine (EVM) en connectant votre portefeuille au site DeBank et en vous rendant dans l’onglet « Approval ». Pour retirer une autorisation, il vous faut cliquer sur « Decline ».
Une variante consiste à se rendre directement dans l’onglet « Token Approvals » sur l’explorateur de blockchain du réseau en question, ici en l’occurrence PolygonScan :
Figure 7 : Le menu Token Approvals sur PolygonScan
La logique reste la même sur les différents explorateurs de blockchains EVM compatibles. Allez sur votre adresse en utilisant la barre de recherche, puis connectez-vous à l’aide du bouton « Connect to Web3 ». Cette manipulation vous présentera l’ensemble des autorisations que vous avez accordées.
Figure 8 : Vue des différentes autorisations d’une adresse sur PolygonScan
L’option « Revoke » à droite vous permet de retirer une autorisation. Attention cependant, que ce soit via cette méthode où celle de DeBank, chaque annulation vous demande une transaction. Si le coût est non significatif sur le réseau Polygon, il en est tout autre sur Ethereum. Charge à vous alors de définir si oui ou non vous avez un intérêt financier à supprimer une autorisation en fonction du capital exposé.
L’autre possibilité est justement de ne pas accorder d’autorisations infinies, mais des autorisations limitées à la quantité de cryptomonnaie que vous souhaitez utiliser dans votre opération :
Figure 9 : Personnalisation d’une autorisation via MetaMask
Lorsque vous approuvez un smart contract par exemple avec MetaMask, cliquez sur « Edit Permission » avant de valider la transaction. Vous y verrez que par défaut l’option « Proposed Approval Limit » est cochée et qu’elle représente une quantité quasi illimitée de tokens. En choisissant plutôt « Custom Spend Limit », vous pourrez renseigner uniquement les fonds nécessaires à l’opération, gardant ainsi le reste de votre capital en sécurité.
Gardez cependant à l’esprit que ces opérations de gestion des autorisations ne sont pas sans contraintes. Car si vous annulez une autorisation, vous devrez la redonner pour remettre des actifs sur le contrat, il en va de même si vous donnez une autorisation limitée.
Comme évoqué précédemment, ces méthodes peuvent présenter des limites sur le réseau Ethereum si la taille de votre capital est limitée. Il n’y a pas de bonnes ou mauvaises réponses, c’est à vous de juger le compromis entre flexibilité, coûts et risques, et d’assumer les éventuelles conséquences de chaque option.
Posséder un hardware wallet vous met en théorie à l’abri du risque d’autorisation de smart contrat. Mais ce qui est vrai à un instant T ne le sera pas nécessairement indéfiniment, c’est pourquoi il est tout de même nécessaire d’y prêter attention.
De plus, si un protocole est hacké, vos LP Tokens peuvent très bien être en sécurité sur votre adresse, mais ne plus rien valoir, car le sous-jacent a été vidé dans le pool de liquidité de l’application mise en défaut. C’est pourquoi il est également nécessaire de faire un travail de recherche en amont afin d’éliminer les protocoles douteux.
Vérifier un smart contract avec les explorateurs de blockchain
Si vous revenez sur la copie d’écran qui vous permet de voir les #smart contracts approuvés depuis un explorateur de blockchain, vous y verrez une colonne « Contract ». Prenons le cas de l’#USDC, vous pouvez vous assurer que le smart contract est bien vérifié en cliquant dessus, il doit y avoir cette petite marque verte dans l’onglet approprié :
Figure 10 : Le smart contract de Paraswap relatif à l’USDC sur Polygon
Le petit logo « Attention » vous permettra également de voir quels bugs ont été repérés, mais cette partie n’aura de sens que pour les plus techniques d’entre vous. Cela liste les éventuelles failles, leur niveau de sévérité ainsi qu’un résumé des éventuelles conséquences qui peuvent être engendrées :
Figure 11 : Listes de potentielles failles sur le smart contract USDC de Paraswap
Vous pourrez également accéder à la page d’un smart contrat directement avant de signer l’autorisation de celui-ci. Cliquez une première fois sur l’adresse du contrat depuis MetaMask, puis une seconde fois dans l’encadré à droite de la page sur laquelle vous serez redirigés. Cette manipulation vous amènera au même point que l’exemple de l’USDC pour faire les vérifications nécessaires :
Figure 12 : Vérification d’un smart contrat avant sa signature
C’est typiquement le genre de petite habitude qui peut vous mettre à l’abri de certains types de hacks comme cela a été le cas dans l’attaque de #phishing d’OpenSea.
Consulter les audits et les potentiels antécédents de #hacks
La première chose à vérifier avant d’interagir avec un protocole de la DeFi par exemple, c’est de savoir s’il a déjà subi un hack. Pour cela, le site rekt.news met à disposition un classement peu gratifiant, vous informant également sur la méthode utilisée pour exploiter la faille au travers d’articles détaillés et disponibles en français. Cherchez ensuite à savoir si la faille a été corrigée.
Dans un second temps, renseignez-vous sur les audits de smart contracts du protocole.
Généralement, les projets vous renvoient vers leur GitBook depuis leur page d’accueil (celle de leur site Internet « vitrine », pas de leur application), cherchez-y un onglet « Doc » ou « Documentation ». Prenons l’exemple du protocole Aave, si vous recherchez « Audit » dans la barre de recherche, vous aurez accès à tous les audits de smart contracts de la plateforme.
Figure 13 : Liste des audits des smart contracts de Aave V2
Dans ce cas présent, en cliquant par exemple sur l’audit de PeckShield, vous serez renvoyé vers Github et constaterez qu’il a révélé deux points de catégorie « Informationnelles », c’est-à-dire qu’ils ne représentent pas de danger particulier.
Les erreurs ou autres irrégularités sont d’ailleurs généralement classées de cette manière, par ordre décroissant de sévérité :
- Critique ;
- Haute ;
- Moyenne ;
- Faible ;
- Informationnelle.
Un audit peut-être compliqué à lire pour un novice. Mais si vous lisez ne serait-ce que le résumé de ce qui a été trouvé, des dangers que cela peut impliquer et les éventuelles actions de correction qui ont été menées par l’équipe, alors vous aurez fait plus que 99 % des personnes.
Gardez cependant deux choses en tête, premièrement, toutes les entreprises d’audit de smart contract ne se valent pas, pour certaines il suffit de « faire le chèque » pour décrocher une certification.
L’objet de ce guide n’est pas de faire de la dénonciation, mais sans citer de noms, vous pouvez vous rendre sur Twitter et taper « # » + le nom de telle ou telle entreprise spécialisée dans le domaine. Regardez quel type de projets se vantent d’être audités par celle-ci. Quand vous voyez de nombreux shitcoins dans des laps de temps rapprochés, cela peut vous donner une indication.
Deuxièmement, une entreprise d’audit tout aussi sérieuse soit-elle ne peut se baser que sur des expériences passées. Vous ne serez jamais à l’abri qu’un hacker talentueux trouve une faille à laquelle personne n’a jamais pensé.
Ceci étant, un projet audité par plusieurs entreprises pour un même smart contract sera tout de même un gage de sérieux, si ces entités le sont elles-mêmes.
Dans le cas où vous ne trouveriez pas les informations sur le site du projet en question, libre à vous de le demander directement aux fondateurs de celui-ci. Si l’équipe est sérieuse, elle vous répondra franchement sur l’avancement des audits et n’aura aucun intérêt à « noyer le poisson » en cherchant à vous endormir avec de belles paroles.
Conclusion sur la sécurité de votre portefeuille numérique
Malgré tous ces conseils, gardez à l’esprit que personne n’est à l’abri d’un hack ou toute autre arnaque. Quelqu’un prétendant le contraire court à sa ruine.
Au-delà des failles techniques, la crédulité humaine reste souvent le maillon faible de l’équation. Ceci dit, bien que le risque 0 n’existe pas, en suivant une série de bonnes pratiques comme celles énoncées dans ce guide, il vous sera possible de limiter ce risque dans une certaine mesure et de naviguer plus sereinement dans l’écosystème complexe que sont les cryptomonnaies et la blockchain.