Trois grands risques de sécurité dans la Finance décentralisée : Prêts Flash, manipulation des prix et attaques par réinjection.

Vulnérabilités de sécurité courantes dans la Finance décentralisée et mesures préventives

Récemment, un expert en sécurité a partagé un cours sur la sécurité de la Finance décentralisée, explorant les incidents de sécurité majeurs récemment rencontrés dans l'industrie Web3, analysant les raisons de ces incidents et comment les éviter, tout en résumant les vulnérabilités de sécurité courantes dans les contrats intelligents et les mesures de prévention. Cet article mettra l'accent sur trois types de vulnérabilités courantes : les prêts flash, la manipulation des prix et les attaques par réinjection.

Cobo Finance décentralisée sécurité cours (suite) : Vulnérabilités de sécurité courantes en DeFi et prévention

Prêt instantané

Les prêts flash sont en eux-mêmes une innovation de la Finance décentralisée, mais ils sont souvent exploités par des hackers pour mener des attaques :

  • L'attaquant emprunte une grande quantité de fonds par le biais d'un prêt flash, manipulant les prix ou attaquant la logique commerciale.
  • Les développeurs doivent prendre en compte si les fonctionnalités du contrat pourraient être anormales en raison de fonds énormes, ou être utilisées pour obtenir trop de récompenses lors d'une transaction.
  • Questions fréquentes : calcul des récompenses en fonction du nombre de Token, ou participation au calcul en fonction du nombre de Token dans la paire de DEX.

Au cours des deux dernières années, de nombreux problèmes sont apparus. Certains projets de Finance décentralisée semblent offrir des rendements élevés, mais en réalité, le niveau de développement est inégal. Par exemple, certains projets distribuent des récompenses en fonction des positions à des moments fixes, ce qui a été exploité par des attaquants utilisant des prêts flash pour acheter une grande quantité de jetons et obtenir la majorité des récompenses.

Manipulation des prix

La manipulation des prix est étroitement liée aux prêts éclair, et il y a principalement deux problèmes :

  1. Utiliser des données tierces pour calculer les prix, mais mauvaise utilisation ou manque de vérification.
  2. Utiliser le solde de Token de certaines adresses comme variable de calcul, et ces soldes peuvent être temporairement augmentés ou diminués.

Attaque par réentrance

Le principal risque d'appeler des contrats externes est la possibilité de prendre le contrôle du flux, entraînant des modifications inattendues des données.

Un exemple typique d'attaque par réentrance : solidity mapping (address => uint) private userBalances;

fonction retirerBalance() public { uint amountToWithdraw = userBalances[msg.sender]; (bool succès, ) = msg.sender.call.value(montantÀRetirer)(""); require(succès); userBalances[msg.sender] = 0; }

Puisque le solde de l'utilisateur est remis à zéro seulement à la fin de la fonction, il est possible d'effectuer plusieurs retraits en appelant plusieurs fois.

Pour résoudre le problème de réentrance, il faut faire attention à :

  1. Ne pas seulement empêcher la réentrance d'une seule fonction
  2. Suivre le modèle Checks-Effects-Interactions
  3. Utiliser un modificateur de protection contre la réentrance vérifié

Il est conseillé d'utiliser des pratiques de sécurité matures pour éviter de réinventer la roue.

Conseils de sécurité pour les projets

  1. Suivre les meilleures pratiques de sécurité pour le développement de contrats.
  2. Implémenter des fonctionnalités de mise à niveau et de suspension des contrats
  3. Utiliser un verrouillage temporel
  4. Établir un système de sécurité complet
  5. Améliorer la sensibilisation à la sécurité de tous les employés
  6. Prévenir les abus internes, améliorer l'efficacité tout en renforçant le contrôle des risques.
  7. Introduire les tiers avec prudence, en supposant qu'ils ne sont pas sûrs et en effectuant des vérifications.

Comment les utilisateurs peuvent évaluer la sécurité des contrats intelligents

  1. Le contrat est-il open-source
  2. Le propriétaire utilise-t-il une multi-signature décentralisée ?
  3. Vérifiez la situation des transactions existantes du contrat
  4. Le contrat est-il upgradable, y a-t-il un verrouillage temporel
  5. Accepte-t-il les audits de plusieurs institutions, les droits du propriétaire sont-ils trop étendus ?
  6. Faites attention à la fiabilité des oracles

En somme, la sécurité est essentielle dans le domaine de la Finance décentralisée. Les promoteurs de projets doivent construire un système de sécurité complet, et les utilisateurs doivent également rester vigilants et participer avec prudence.

DEFI-6.74%
Voir l'original
Cette page peut inclure du contenu de tiers fourni à des fins d'information uniquement. Gate ne garantit ni l'exactitude ni la validité de ces contenus, n’endosse pas les opinions exprimées, et ne fournit aucun conseil financier ou professionnel à travers ces informations. Voir la section Avertissement pour plus de détails.
  • Récompense
  • 6
  • Partager
Commentaire
0/400
GateUser-bd883c58vip
· 07-21 12:00
Il faut quand même laisser une porte dérobée !
Voir l'originalRépondre0
LayoffMinervip
· 07-21 02:24
Ha, c'est toujours la même chose, un lavage de minage astucieux.
Voir l'originalRépondre0
LiquidationWatchervip
· 07-21 02:19
Il y a tant de failles, à quoi bon jouer à la Finance décentralisée ?
Voir l'originalRépondre0
NestedFoxvip
· 07-21 02:18
Encore se faire prendre pour des cons.
Voir l'originalRépondre0
Layer2Observervip
· 07-21 02:08
Le code est la preuve la plus solide.
Voir l'originalRépondre0
SerumSurfervip
· 07-21 02:07
Prêts Flash, même les chiens ne s'y intéressent pas.
Voir l'originalRépondre0
Trader les cryptos partout et à tout moment
qrCode
Scan pour télécharger Gate app
Communauté
Français (Afrique)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)