Comment les protocoles DeFi sont-ils piratés ?


Le secteur de la finance décentralisée se développe à un rythme effréné. Il y a trois ans, la valeur totale bloquée dans DeFi n’était que de 800 millions de dollars. En février 2021, ce chiffre était passé à 40 milliards de dollars ; en avril 2021, il a atteint la barre des 80 milliards de dollars ; et maintenant c’est plus de 140 milliards de dollars. Une croissance aussi rapide sur un nouveau marché ne pouvait qu’attirer l’attention de toutes sortes de pirates et de fraudeurs.

Selon un rapport de la société de recherche sur la cryptographie, depuis 2019, l’industrie DeFi a perdu environ 284,9 millions de dollars en raison de piratages et d’autres attaques par exploit. Les hacks de l’écosystème Blockchain sont un moyen idéal d’enrichissement du point de vue d’un hacker. Parce que ces systèmes sont anonymes, ils ont de l’argent à revendre et tout piratage peut être testé et réparé à l’insu de la victime. Au cours des quatre premiers mois de 2021, les pertes se sont élevées à 240 millions de dollars. Et ce ne sont que les cas connus du public. Nous estimons les pertes réelles à des milliards de dollars.

En rapport: Aperçu des hacks, exploits et braquages ​​cryptographiques en 2020

Comment l’argent est-il volé dans les protocoles DeFi ? Nous avons analysé des dizaines d’attaques de pirates et identifié les problèmes les plus courants qui conduisent à des attaques de pirates.

Utilisation abusive de protocoles tiers et erreurs de logique métier

Toute attaque commence avant tout par l’analyse de la victime. La technologie Blockchain offre de nombreuses opportunités pour le réglage et la simulation automatiques de scénarios de piratage. Pour qu’une attaque soit rapide et invisible, l’attaquant doit avoir les compétences de programmation nécessaires et la connaissance du fonctionnement des contrats intelligents. La boîte à outils typique d’un pirate informatique lui permet de télécharger sa propre copie complète d’une blockchain à partir de la version principale du réseau, puis de régler complètement le processus d’une attaque comme si la transaction se déroulait dans un réseau. réel.

Ensuite, l’attaquant doit étudier le modèle économique du projet et les services externes utilisés. Les erreurs dans les modèles mathématiques de la logique métier et les services tiers sont deux des problèmes les plus courants exploités par les pirates.

Les développeurs de contrats intelligents ont souvent besoin de plus de données pertinentes au moment d’une transaction qu’ils ne peuvent en avoir à un moment donné. Ils sont donc contraints d’utiliser des services externes, par exemple des oracles. Ces services ne sont pas conçus pour fonctionner dans un environnement non fiable, leur utilisation implique donc des risques supplémentaires. Selon les statistiques d’une année civile (depuis l’été 2020), le type de risque donné représentait le plus petit pourcentage de pertes – seulement 10 piratages, entraînant des pertes totalisant environ 50 millions de dollars.

En rapport: Le besoin radical de mettre à jour les protocoles de sécurité de la blockchain

Erreurs de codage

Les contrats intelligents sont un concept relativement nouveau dans le monde informatique. Malgré leur simplicité, les langages de programmation pour les contrats intelligents nécessitent un paradigme de développement complètement différent. Souvent, les développeurs n’ont tout simplement pas les compétences de codage nécessaires et commettent des erreurs grossières qui entraînent d’immenses pertes pour les utilisateurs.

Les audits de sécurité n’éliminent qu’une partie de ce type de risque, car la plupart des sociétés d’audit du marché n’assument aucune responsabilité quant à la qualité du travail qu’elles effectuent et ne s’intéressent qu’à la qualité de leur travail. aspect financier. Plus de 100 projets ont été piratés en raison d’erreurs de codage, entraînant un volume total de pertes d’environ 500 millions de dollars. Un excellent exemple est le piratage dForce qui a eu lieu le 19 avril 2020. Les pirates ont utilisé une vulnérabilité dans la norme de jeton ERC-777 en conjonction avec une attaque de réentrance et s’en sont tirés avec 25 millions de dollars.

En rapport: L’audit par défaut pour les projets DeFi est un must pour la croissance de l’industrie

Prêts flash, manipulation de prix et attaques de mineurs

Les informations fournies au contrat intelligent ne sont pertinentes qu’au moment de l’exécution d’une transaction. Par défaut, le contrat n’est pas à l’abri de toute manipulation externe des informations qu’il contient. Cela rend tout un spectre d’attaques possibles.

Les prêts flash sont des prêts non garantis, mais impliquent l’obligation de restituer la crypto empruntée au cours de la même transaction. Si l’emprunteur ne restitue pas les fonds, la transaction est annulée (roll back). De tels prêts permettent à l’emprunteur de recevoir de grandes quantités de crypto-monnaie et de les utiliser à ses propres fins. En règle générale, les attaques de prêts flash impliquent une manipulation des prix. Un attaquant peut d’abord vendre un grand nombre de jetons empruntés au sein d’une transaction, réduisant ainsi leur prix, puis effectuer un ensemble d’actions à une valeur de jeton très faible avant de les racheter.

Une attaque de mineur est un analogue d’une attaque de prêt flash sur des blockchains fonctionnant sur la base de l’algorithme de consensus Proof of Work. Ce type d’attaque est plus complexe et coûteux, mais il peut contourner certaines des couches de protection des prêts flash. Voici comment cela fonctionne : l’attaquant loue des capacités de minage et forme un bloc contenant uniquement les transactions dont il a besoin. Dans le bloc donné, ils peuvent d’abord emprunter des jetons, manipuler les prix, puis restituer les jetons empruntés. Puisque l’attaquant forme indépendamment les transactions qui sont entrées dans le bloc, ainsi que leur séquence, l’attaque est en fait atomique (aucune autre transaction ne peut être « coincée » dans l’attaque), comme dans le cas des prêts flash. Ce type d’attaque a été utilisé pour pirater plus de 100 projets, avec des pertes totalisant environ 1 milliard de dollars.

Le nombre moyen de hacks a augmenté au fil du temps. Début 2020, un vol coûtait des centaines de milliers de dollars. À la fin de l’année, les montants s’élevaient à des dizaines de millions de dollars.

En rapport: Les exploits de contrats intelligents sont plus éthiques que le piratage… ou pas ?

Incompétence du développeur

Le type de risque le plus dangereux concerne le facteur d’erreur humaine. Les gens se tournent vers DeFi pour de l’argent rapidement. De nombreux développeurs sont peu qualifiés mais essaient toujours de précipiter les projets. Les contrats intelligents sont open source et donc facilement copiés et modifiés à petite échelle par des pirates. Si le projet d’origine contient les trois premiers types de vulnérabilités, elles affectent des centaines de projets clonés. RFI SafeMoon en est un bon exemple, car il contient une vulnérabilité critique qui s’est superposée à plus d’une centaine de projets, entraînant des pertes potentielles de plus de 2 milliards de dollars.

Cet article a été co-écrit par Vladislav Komissarov et Dmitri Michounine.

Les points de vue, pensées et opinions exprimés ici sont uniquement la propriété des auteurs et ne reflètent pas nécessairement ni ne représentent les points de vue et opinions de TUSEN.

Vladislav Komissarov est le CTO de BondAppetit, un protocole de prêt DeFi avec un stablecoin adossé à des actifs du monde réel avec un revenu périodique fixe. Il a plus de 17 ans d’expérience dans le développement Web.

Dmitri Michounine est le fondateur et CTO de HashEx. Plus de 30 projets mondiaux s’exécutent sur des intégrations blockchain conçues par HashEx. Plus de 200 contrats intelligents ont été audités en 2017-2021.

Laisser un commentaire