Analyse des trois principales vulnérabilités de la Finance décentralisée : Prêts Flash, manipulation des prix et attaques par réinjection.

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

Récemment, un expert en sécurité a partagé des connaissances sur la sécurité de la Finance décentralisée avec les membres de la communauté. Il a passé en revue les événements de sécurité majeurs survenus dans l'industrie Web3 au cours de l'année écoulée, a exploré les raisons de ces événements et les méthodes pour les éviter, a résumé les vulnérabilités de sécurité courantes des contrats intelligents et les mesures préventives, et a donné quelques conseils de sécurité.

Les types courants de vulnérabilités DeFi incluent les prêts flash, la manipulation des prix, les problèmes de permission des fonctions, les appels externes arbitraires, les problèmes de fonction fallback, les vulnérabilités de la logique métier, la fuite de clés privées, la réentrance, etc. Cet article se concentre sur ces trois types : les prêts flash, la manipulation des prix et les attaques par réentrance.

Prêt éclair

Le prêt flash est lui-même une innovation de la Finance décentralisée, mais lorsqu'il est exploité par des hackers, il peut permettre d'emprunter d'énormes sommes d'argent sans coût pour mener des attaques. Les attaques courantes sont souvent accompagnées de prêts flash, où l'attaquant emprunte d'importantes sommes d'argent pour manipuler les prix ou attaquer la logique commerciale.

Les développeurs doivent prendre en compte si les fonctionnalités du contrat peuvent être affectées par des fonds massifs, ou être exploitées pour interagir avec plusieurs fonctions dans une seule transaction afin d'obtenir des bénéfices indus.

Certains projets distribuent des récompenses à des moments fixes en fonction des avoirs, mais sont exploités par des attaquants utilisant des prêts flash pour acheter de grandes quantités de tokens et obtenir la majorité des récompenses. D'autres projets calculent le prix des tokens, ce qui peut être influencé par des prêts flash. Les équipes de projet doivent être vigilantes face à ces problèmes.

Manipulation des prix

Le problème de manipulation des prix est étroitement lié aux prêts flash, principalement de deux types :

  1. Lors du calcul des prix, des données tierces sont utilisées, mais une utilisation incorrecte ou un manque de vérification entraînent une manipulation malveillante des prix.

  2. Utiliser le nombre de tokens de certaines adresses comme variable de calcul, et le solde de tokens de ces adresses peut être temporairement augmenté ou diminué.

Attaque par réentrance

Le principal risque d'appeler des contrats externes est qu'ils peuvent prendre le contrôle du flux, entraînant des modifications inattendues des données. Par exemple:

solidity mapping (address => uint) private userBalances;

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

Puisque le solde n'est mis à zéro qu'à la fin de la fonction, les appels répétés peuvent toujours réussir à extraire.

Les attaques par réentrance sont variées et peuvent impliquer plusieurs fonctions ou contrats. Pour résoudre le problème de réentrance, il faut faire attention à:

  1. Ne pas seulement empêcher la réentrée d'une fonction unique
  2. Suivre le modèle de codage Checks-Effects-Interactions
  3. Utiliser un modificateur anti-reentrance éprouvé

Il est conseillé d'utiliser des pratiques de sécurité éprouvées et d'éviter de réinventer la roue.

Conseils de sécurité pour les projets

  1. Le développement de contrats suit les meilleures pratiques de sécurité

  2. Les contrats peuvent être mis à niveau et suspendus : détecter rapidement et réduire les pertes.

  3. Utiliser un verrouillage temporel : donner du temps pour vérifier et réagir

  4. Établir un système de sécurité complet : éviter les risques de manière globale.

  5. Améliorer la sensibilisation à la sécurité de tous les employés

  6. Prévenir les actes répréhensibles internes, tout en améliorant l'efficacité et en renforçant la gestion des risques.

  7. Introduire des tiers avec prudence : vérifier la sécurité en amont et en aval

Comment les utilisateurs peuvent juger de 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 l'état des transactions du contrat

  4. Le contrat est-il évolutif et y a-t-il un verrouillage temporel ?

  5. Accepte-t-il des audits par plusieurs institutions, les droits du propriétaire sont-ils excessifs ?

  6. Attention à la fiabilité des oracles

En somme, la sécurité est primordiale dans le domaine de la Finance décentralisée. Les équipes de projet et les utilisateurs doivent rester vigilants et prendre les mesures nécessaires pour réduire les risques.

Cobo Finance décentralisée sécurité cours (bas) : vulnérabilités de sécurité courantes en Finance décentralisée et prévention

DEFI-2.62%
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
  • 2
  • Partager
Commentaire
0/400
StableGeniusDegenvip
· Il y a 18h
Il faut encore recommencer à apprendre la sécurité depuis le début, c'est stressant.
Voir l'originalRépondre0
DAOplomacyvip
· Il y a 18h
théâtre de la sécurité à son meilleur... les mêmes anciennes vulnérabilités, le même ancien désalignement des stakeholders à vrai dire
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)