Points clés
Dans le monde de Web3, les autorisations illimitées peuvent créer des vulnérabilités, à la merci des hackers par le biais de vulnérabilités de contrats intelligents ou d'attaques d'ingénierie sociale.
Vérifiez régulièrement et retirez les autorisations inutiles pour éliminer les accès non autorisés aux actifs.
Utilisez des outils comme le portefeuille Web3 de Binance pour protéger vos fonds et restez attentif aux risques de sécurité de Web3.
Dans le domaine de la finance décentralisée, quel est le coût d'ignorer une autorisation ? Bien que les contrats intelligents puissent simplifier les transactions, leur interaction pose également des risques de sécurité spécifiques, surtout lorsque les utilisateurs accordent un accès illimité à des tiers pour gérer leurs fonds. Dans un précédent article de blog, nous avons discuté des risques des autorisations de contrats intelligents et des comptes externes (EOA). Cet article explorera en profondeur d'autres risques d'autorisation et comment protéger les actifs contre les menaces, en mettant l'accent sur la chaîne Ethereum Virtual Machine (EVM).
Introduction aux risques d'autorisation EVM
De nombreux utilisateurs pensent qu'en participant à des projets très connus ou audités, ils assurent la sécurité de leurs fonds. Mais peu importe la sophistication du design du projet, aucune immunité absolue contre les attaques de hackers n'existe, surtout dans le domaine décentralisé. Si une application ou une plateforme en qui vous aviez confiance est compromise, les autorisations illimitées permettront au contrat intelligent de contrôler sans restriction les actifs de votre portefeuille, augmentant ainsi le risque.
Les utilisateurs ont souvent tendance à accorder des autorisations aux contrats intelligents pour leur commodité, puis à les oublier, augmentant ainsi les risques potentiels. Avec le temps, ces autorisations oubliées deviennent des vulnérabilités cachées, pouvant être exploitées par des attaquants à tout moment. Une fois que la sécurité du projet est menacée, les hackers peuvent vous contourner et utiliser ces autorisations illimitées pour vider vos fonds. Ne pas limiter ou retirer régulièrement les autorisations, c'est comme oublier de verrouiller la porte, exposant vos actifs à de grands risques. Ainsi, il est crucial de gérer prudemment les autorisations dans l'écosystème Web3.
Vous pourriez vouloir savoir comment la sécurité d'un projet est menacée. Deux méthodes courantes existent : exploiter les vulnérabilités dans le code du contrat intelligent ou manipuler les développeurs par des attaques d'ingénierie sociale. Les deux peuvent ouvrir la porte aux attaquants, leur permettant d'accéder aux fonds des utilisateurs sans autorisation.
Exploitation des vulnérabilités des contrats intelligents
Les contrats intelligents sont le pilier de la blockchain, prenant en charge des fonctionnalités telles que la création de jetons, le prêt, le staking et le pontage. Cependant, tout code logiciel peut avoir des vulnérabilités. Ces vulnérabilités sont les principales cibles des attaquants, en particulier pour les projets populaires avec une grande base d'utilisateurs ou d'importants volumes de fonds.
Voici le processus général de ce type d'attaque.
Chercher une cible appropriée : les hackers ciblent généralement des projets connus, analysent leur contrat intelligent et recherchent des vulnérabilités exploitables. Grâce à la transparence de la blockchain, ce processus nécessite non seulement des compétences, mais aussi de la patience, pour rechercher minutieusement les erreurs de codage ou les négligences logiques.
Trouver une vulnérabilité : une fois la vulnérabilité trouvée, l'attaquant peut accéder au contrat du projet sans autorisation. À ce stade, leur objectif est plus clair : vider les fonds. Cela signifie vider les pools de liquidités et les réserves de prêts, ou interagir directement avec les utilisateurs du contrat victime.
Fuite de fonds : si un utilisateur accorde une autorisation illimitée au contrat victime, le risque augmente considérablement. Grâce à cette autorisation, le contrat peut accéder sans restriction aux jetons du portefeuille de l'utilisateur. L'attaquant peut alors exécuter des fonctions telles que transferFrom() pour retirer plusieurs fois le solde des jetons. Tant que l'autorisation illimitée est valide, tout nouvel dépôt dans le même portefeuille est également exposé au risque.
À moins de retirer l'autorisation, les fonds existants de l'utilisateur et les actifs futurs peuvent être volés. Les autorisations illimitées semblent pratiques, mais peuvent rapidement devenir une vulnérabilité grave. Il est donc essentiel de vérifier régulièrement et de retirer les autorisations inutiles ou moins utilisées pour les contrats intelligents. Prendre le temps de renouveler les autorisations est beaucoup plus sûr que de faire face au risque de perte de fonds.
Attaque d'ingénierie sociale
Bien que les contrats intelligents puissent avoir des vulnérabilités, l'erreur humaine présente souvent un risque plus grand. Les attaquants ciblent les développeurs ou les propriétaires de projets, exploitant leur confiance pour obtenir un accès aux systèmes sensibles. Une méthode courante est l'escroquerie de logiciels malveillants, où des individus malveillants trompent des personnes pour qu'elles téléchargent des programmes malveillants. Une fois installés, ces programmes peuvent voler des clés privées, accéder à des portefeuilles ou manipuler des contrats, vidant ainsi les fonds du projet et les soldes des utilisateurs. Par conséquent, l'ingénierie sociale constitue une menace sérieuse pouvant affecter l'ensemble de l'écosystème.
Cas réel
Vulnérabilité dans la mise à jour de contrat intelligent : protocole LI.FI
Il existe une vulnérabilité dans la mise à jour du contrat intelligent de la plateforme LI.FI, permettant aux attaquants d'appeler n'importe quel contrat sans vérification appropriée. Grâce à cela, les attaquants peuvent utiliser les portefeuilles qui ont accordé une autorisation illimitée de jetons au contrat LI.FI pour extraire des fonds sans autorisation supplémentaire de l'utilisateur. Étant donné que des vulnérabilités peuvent survenir à tout moment, les utilisateurs doivent toujours agir avec prudence et retirer régulièrement les autorisations pour garantir la sécurité de leurs fonds.
Attaque sur des signataires multiples : Radiant Capital
Des acteurs malveillants ont compromis les appareils de trois signataires multiples, prenant ainsi le contrôle du portefeuille multi-signatures de Radiant Capital. Grâce à cet accès, ils ont transféré la propriété du portefeuille à eux-mêmes et ont forcé la mise à jour du contrat du pool de prêts. Grâce à cette mise à jour, ils ont pu extraire tous les fonds du pool de prêts et des portefeuilles des utilisateurs ayant accordé des autorisations illimitées. Par conséquent, les utilisateurs n'ayant pas encore retiré leurs autorisations illimitées sont toujours à risque, en particulier sur certaines blockchains.
Ce cas montre qu'il est très dangereux de ne pas retirer les autorisations après qu'un projet a été compromis. Comme indiqué dans l'image ci-dessous, cet utilisateur de portefeuille Web3 a accordé une autorisation illimitée au contrat du pool de prêts de Radiant Capital, qui a été compromis. Ce type d'autorisation "illimitée" signifie que le contrat peut retirer des jetons sans restriction du portefeuille de l'utilisateur.
Tant que l'autorisation est valide, un attaquant peut extraire de manière répétée des BUSC-USD du portefeuille de l'utilisateur. De plus, étant donné que le contrat conserve l'autorisation d'extraire des fonds, tout nouvel argent déposé dans le portefeuille est également à risque. Ce cas avertit les utilisateurs que, lorsque le projet est compromis, ils doivent vérifier et retirer rapidement les autorisations concernées pour protéger la sécurité de leurs actifs.
Attaque d'ingénierie sociale : Monoswap
L'attaquant se fait passer pour un investisseur en capital-risque et cible les développeurs de Monoswap dans le cadre d'une arnaque ciblée. Il invite les développeurs à participer à une conférence téléphonique prétendument consacrée à des opportunités de financement, les incitant à installer une version malveillante contrefaite de l'application de messagerie Kakaotalk. Ce qu'il ne sait pas, c'est que l'attaquant en profite pour installer un botnet sur son ordinateur de bureau, pouvant accéder aux portefeuilles et contrats liés à Monoswap.
Grâce à cet accès, des individus malveillants ont extrait la majorité des positions de liquidité mises en jeu, causant de lourdes pertes au protocole et à ses utilisateurs. Cet événement montre que nous devons toujours adopter des protocoles de sécurité stricts et authentifier la légitimité des applications ou des canaux de communication avant d'accorder l'accès à des systèmes sensibles.
Méthodes d'auto-protection
Dans le monde de Web3, rester vigilant est la clé pour garantir la sécurité des actifs. Bien qu'aucun système ne puisse garantir un risque nul, prendre des mesures proactives peut néanmoins réduire considérablement les menaces potentielles. Voici des méthodes d'auto-protection :
Accorder des autorisations avec prudence
Essayez de ne pas donner d'autorisation de jetons illimitées, même pour des projets réputés. Limiter les autorisations augmente la sécurité supplémentaire, garantissant que, lorsque le projet est compromis, l'attaquant ne peut pas utiliser cette autorisation pour voler vos actifs.
Retirer régulièrement les autorisations qui ne sont plus utilisées
Apprenez à vérifier régulièrement et à retirer les autorisations de jetons pour les contrats que vous n'utilisez plus. Une simple étape peut réduire le risque que des attaques malveillantes ou des vulnérabilités accidentelles affectent vos actifs.
Effectuer une diligence raisonnable
Avant d'autoriser un contrat, prenez le temps de le vérifier à l'aide d'outils de sécurité réputés tels que honeypot.is. Bien que ces outils ne garantissent pas une sécurité absolue, ils fournissent des aperçus précieux sur les risques potentiels, ce qui est bien mieux que de ne rien vérifier du tout. Adoptez ces habitudes pour construire une barrière solide contre les menaces potentielles et naviguez en toute sécurité dans le monde de Web3.
Utiliser le portefeuille Web3 de Binance
Utilisez des outils fiables tels que le portefeuille Web3 de Binance pour protéger votre portefeuille. Ce portefeuille priorise la sécurité des utilisateurs et est doté de fonctionnalités puissantes pour faire face aux menaces courantes de Web3, y compris les abus d'autorisation.
Lorsque le projet est compromis, le portefeuille Web3 de Binance prend rapidement des mesures pour protéger les utilisateurs. Le système envoie immédiatement des alertes de sécurité et des notifications dans l'application, incitant les utilisateurs à retirer les autorisations à risque ou à protéger la sécurité de leurs actifs. Avant de retirer complètement les autorisations des contrats intelligents à risque, le système rappellera continuellement aux utilisateurs, via des fenêtres pop-up persistantes, de prendre des mesures pour protéger leurs fonds.
Ces mesures de protection proactives aident les utilisateurs à rester informés et à réagir rapidement, réduisant ainsi les pertes potentielles.
Restez informé des nouveautés
Dans le domaine en constante évolution de la DeFi, le savoir est la meilleure défense. Vous pouvez vous tenir au courant des dernières nouvelles de sécurité, des développements de projets et des vulnérabilités émergentes via l'Académie Binance. Pour en savoir plus sur les menaces potentielles, veuillez consulter notre série Détecter les arnaques. Ces ressources offrent des aperçus précieux pour vous aider à identifier les arnaques et à vous protéger contre de nouveaux risques, garantissant ainsi un voyage sûr dans votre écosystème.
Conclusion
Dans le monde de Web3, il suffit d'adopter quelques habitudes simples pour améliorer considérablement la sécurité des actifs. Vérifiez régulièrement vos autorisations, utilisez des outils fiables comme le portefeuille Web3 de Binance et restez informé grâce à des ressources comme l'Académie Binance. Ces étapes, bien que petites, peuvent efficacement protéger vos fonds et vous permettre de profiter sereinement des possibilités infinies offertes par la finance décentralisée.