Sécurité et défense en Finance décentralisée : Guide de prévention des Prêts Flash, manipulation des prix et attaques par réentrées

robot
Création du résumé en cours

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é DeFi avec les membres de la communauté. Il a passé en revue les événements de sécurité majeurs rencontrés par l'industrie Web3 au cours de l'année écoulée, a exploré les raisons de ces événements et comment les éviter, a résumé les vulnérabilités de sécurité courantes des contrats intelligents et les mesures préventives, et a également donné quelques conseils de sécurité aux porteurs de projets et aux utilisateurs ordinaires.

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

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

Prêt flash

Le prêt éclair est une innovation de la Finance décentralisée, mais il est souvent exploité par des hackers :

  • L'attaquant emprunte une grande quantité de fonds via un prêt éclair pour manipuler les prix ou attaquer la logique commerciale.
  • Les développeurs doivent prendre en compte si les fonctionnalités du contrat peuvent être anormales en raison de fonds énormes ou être exploitées pour obtenir des récompenses indues.
  • Certains projets n'ont pas pris en compte l'impact des prêts flash lors de leur conception, ce qui a entraîné le vol de fonds.

Au cours des deux dernières années, les prêts flash ont suscité de nombreux problèmes. Certains projets DeFi à rendement élevé, en raison de niveaux de développement inégaux, présentent de nombreuses failles. Par exemple, certains projets distribuent des récompenses à des moments fixes en fonction des avoirs, et des attaquants exploitent des prêts flash pour acheter de grandes quantités de jetons afin d'obtenir la plupart des récompenses. D'autres projets, qui calculent les prix à l'aide de tokens, peuvent être affectés par des prêts flash. Les équipes de projet doivent rester vigilantes face à ces problèmes.

Manipulation des prix

Les problèmes de manipulation des prix sont étroitement liés aux prêts flash, et il en existe principalement deux types:

  1. Utiliser des données tierces pour calculer le prix, mais une mauvaise utilisation ou un manque de contrôle peuvent entraîner une manipulation malveillante des prix.

  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 lié à l'appel de contrats externes est qu'ils peuvent prendre le contrôle du flux, entraînant des modifications inattendues des données. Par exemple :

solidité mapping (address => uint) private userBalances;

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

Étant donné que le solde de l'utilisateur est remis à zéro uniquement à la fin de la fonction, les appels répétés permettront toujours de retirer le solde.

Les attaques par réinjection se présentent sous différentes formes et peuvent impliquer plusieurs fonctions ou contrats. Pour résoudre les problèmes de réinjection, il faut prêter attention à :

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

Il est préférable d'utiliser les meilleures pratiques de sécurité existantes plutôt que de réinventer la roue. Les solutions matures sont plus sûres et fiables que les nouvelles solutions développées en interne.

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. 采用 un mécanisme de verrouillage temporel
  4. Augmenter les investissements en sécurité, établir un système de sécurité complet.
  5. Sensibiliser tous les employés à la sécurité
  6. Prévenir les actes malveillants internes, tout en renforçant la gestion des risques tout en améliorant l'efficacité.
  7. Introduire des tiers avec prudence et effectuer des vérifications de sécurité.

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

  1. Vérifiez si le contrat est open source
  2. Vérifiez si le propriétaire utilise une multi-signature décentralisée
  3. Vérifiez l'état des transactions existantes du contrat
  4. Déterminer si le contrat est upgradable et s'il y a un verrouillage temporel.
  5. Vérifiez si le contrat a été audité par plusieurs institutions, si les droits de l'Owner sont trop étendus.
  6. Suivre l'utilisation des oracles

En somme, dans l'écosystème de la Finance décentralisée, les porteurs de projet et les utilisateurs doivent maintenir une grande conscience de la sécurité, prendre les mesures de prévention nécessaires et collaborer pour préserver le développement sain de l'écosystème.

DEFI6.2%
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
  • 3
  • Partager
Commentaire
0/400
ImpermanentPhobiavip
· Il y a 11h
Hacker et Prêts Flash, c'est vraiment excitant.
Voir l'originalRépondre0
SnapshotBotvip
· Il y a 12h
Le projet de fête continue de se faire prendre pour des cons tous les jours.
Voir l'originalRépondre0
OffchainWinnervip
· Il y a 12h
J'ai encore appris une nouvelle technique, hé hé.
Voir l'originalRépondre0
  • Épingler
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)