Récemment, un expert en sécurité a partagé une leçon sur la sécurité DeFi avec les membres de la communauté. L'expert a passé en revue les événements de sécurité majeurs auxquels l'industrie Web3 a été confrontée au cours de l'année écoulée, a discuté des raisons de ces incidents et de la manière de 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é aux porteurs de projets et aux utilisateurs ordinaires.
Les types de vulnérabilités DeFi les plus courants incluent principalement les prêts flash, la manipulation des prix, les problèmes de permission de fonction, les appels externes arbitraires, les problèmes de fonction fallback, les failles de logique commerciale, la fuite de clés privées et les attaques par réinjection. Cet article mettra l'accent sur les prêts flash, la manipulation des prix et les attaques par réinjection.
Prêt instantané
Les prêts éclair sont une innovation de la Finance décentralisée, mais ils sont également souvent exploités par des hackers pour mener des attaques. Les attaquants empruntent d'importants montants via des prêts éclair pour manipuler les prix ou attaquer la logique commerciale. Les développeurs doivent prendre en compte si les fonctionnalités des contrats pourraient provoquer des anomalies en raison de sommes importantes, ou s'il est possible d'interagir avec plusieurs fonctions en une seule transaction pour obtenir des récompenses indues.
De nombreux projets de Finance décentralisée semblent offrir des rendements élevés, mais en réalité, le niveau des équipes derrière ces projets varie considérablement. Certains projets peuvent avoir acquis leur code, et même si le code lui-même n'a pas de vulnérabilités, il peut néanmoins présenter des problèmes logiques. Par exemple, certains projets distribuent des récompenses à des moments fixes en fonction du nombre de tokens détenus par les détenteurs, mais des attaquants peuvent exploiter des prêts flash pour acheter une grande quantité de tokens et obtenir la majorité des récompenses au moment de la distribution.
Manipulation des prix
Les problèmes de manipulation des prix sont étroitement liés aux prêts flash, principalement en raison de certains paramètres de calcul des prix pouvant être contrôlés par les utilisateurs. Il existe deux types de problèmes courants :
Utiliser des données tierces pour calculer les prix, mais de manière incorrecte ou sans vérification, ce qui entraîne une manipulation malveillante des prix.
Utiliser le nombre de jetons d'adresses spécifiques comme variable de calcul, alors que le solde de jetons de ces adresses peut être temporairement augmenté ou diminué.
Attaque par réentrance
L'attaque par réentrance est l'un des principaux dangers auxquels on peut faire face lors de l'appel à des contrats externes. Un attaquant peut prendre le contrôle du flux d'exécution et apporter des modifications inattendues aux données.
Il existe de nombreuses façons de réentrer en fonction des différents contrats, ce qui peut impliquer différentes fonctions de contrats ou plusieurs fonctions de différents contrats. Lors de la résolution des problèmes de réentrées, il est important de prêter attention aux points suivants :
Il faut non seulement prévenir le problème de réentrance d'une seule fonction.
Suivre le modèle Checks-Effects-Interactions lors du codage
Utiliser un modificateur anti-reentrance éprouvé par le temps
Dans le domaine du Web3, il est plus judicieux d'utiliser des pratiques de sécurité éprouvées que de réinventer la roue. L'utilisation de solutions bien vérifiées peut réduire considérablement la probabilité de problèmes.
Conseils de sécurité pour les projets
Suivre les meilleures pratiques de sécurité lors du développement de contrats.
Mise en œuvre des fonctionnalités de mise à niveau et de suspension des contrats
Utiliser un mécanisme de verrouillage temporel
Augmenter les investissements en sécurité et établir un système de sécurité complet.
Améliorer la sensibilisation à la sécurité de tous les employés
Prévenir les abus internes, tout en améliorant l'efficacité et en renforçant le contrôle des risques.
Introduire des services tiers avec prudence, en suivant le principe "par défaut, la chaîne d'approvisionnement est considérée comme non sécurisée".
Comment les utilisateurs peuvent juger si un contrat intelligent est sécurisé
Confirmer si le contrat est open source
Vérifiez si le propriétaire utilise un mécanisme de multi-signature décentralisé.
Vérifiez les transactions existantes du contrat
Vérifiez si le contrat est un contrat d'agent, s'il est évolutif et s'il y a un verrouillage temporel.
Vérifiez si le contrat a été audité par plusieurs institutions et si les droits du propriétaire sont trop importants.
Faites attention à la fiabilité de l'oracle utilisé par le projet.
En prêtant attention à ces points, les utilisateurs peuvent mieux évaluer la sécurité des contrats intelligents et réduire les risques associés à la participation à des projets de Finance décentralisée.
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.
18 J'aime
Récompense
18
6
Reposter
Partager
Commentaire
0/400
SnapshotStriker
· 08-09 05:42
Il y a trop de failles, après avoir miné, je mine des failles.
Voir l'originalRépondre0
down_only_larry
· 08-09 05:41
Encore en train de faire la guerre, hein~
Voir l'originalRépondre0
ContractFreelancer
· 08-09 05:38
Il est temps de lever, les frères.
Voir l'originalRépondre0
MEVVictimAlliance
· 08-09 05:33
prendre les gens pour des idiots pigeons
Voir l'originalRépondre0
ValidatorVibes
· 08-09 05:25
la gouvernance est cassée af... quand les protocoles vont-ils enfin réparer ces vecteurs d'attaque smh
Voir l'originalRépondre0
liquidation_surfer
· 08-09 05:24
Ne pas révéler ce que l'on comprend, c'est tellement vrai.
Sécurité DeFi : Analyse approfondie des vulnérabilités courantes et des stratégies de protection
Finance décentralisée 常见安全漏洞及预防措施
Récemment, un expert en sécurité a partagé une leçon sur la sécurité DeFi avec les membres de la communauté. L'expert a passé en revue les événements de sécurité majeurs auxquels l'industrie Web3 a été confrontée au cours de l'année écoulée, a discuté des raisons de ces incidents et de la manière de 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é aux porteurs de projets et aux utilisateurs ordinaires.
Les types de vulnérabilités DeFi les plus courants incluent principalement les prêts flash, la manipulation des prix, les problèmes de permission de fonction, les appels externes arbitraires, les problèmes de fonction fallback, les failles de logique commerciale, la fuite de clés privées et les attaques par réinjection. Cet article mettra l'accent sur les prêts flash, la manipulation des prix et les attaques par réinjection.
Prêt instantané
Les prêts éclair sont une innovation de la Finance décentralisée, mais ils sont également souvent exploités par des hackers pour mener des attaques. Les attaquants empruntent d'importants montants via des prêts éclair pour manipuler les prix ou attaquer la logique commerciale. Les développeurs doivent prendre en compte si les fonctionnalités des contrats pourraient provoquer des anomalies en raison de sommes importantes, ou s'il est possible d'interagir avec plusieurs fonctions en une seule transaction pour obtenir des récompenses indues.
De nombreux projets de Finance décentralisée semblent offrir des rendements élevés, mais en réalité, le niveau des équipes derrière ces projets varie considérablement. Certains projets peuvent avoir acquis leur code, et même si le code lui-même n'a pas de vulnérabilités, il peut néanmoins présenter des problèmes logiques. Par exemple, certains projets distribuent des récompenses à des moments fixes en fonction du nombre de tokens détenus par les détenteurs, mais des attaquants peuvent exploiter des prêts flash pour acheter une grande quantité de tokens et obtenir la majorité des récompenses au moment de la distribution.
Manipulation des prix
Les problèmes de manipulation des prix sont étroitement liés aux prêts flash, principalement en raison de certains paramètres de calcul des prix pouvant être contrôlés par les utilisateurs. Il existe deux types de problèmes courants :
Attaque par réentrance
L'attaque par réentrance est l'un des principaux dangers auxquels on peut faire face lors de l'appel à des contrats externes. Un attaquant peut prendre le contrôle du flux d'exécution et apporter des modifications inattendues aux données.
Il existe de nombreuses façons de réentrer en fonction des différents contrats, ce qui peut impliquer différentes fonctions de contrats ou plusieurs fonctions de différents contrats. Lors de la résolution des problèmes de réentrées, il est important de prêter attention aux points suivants :
Dans le domaine du Web3, il est plus judicieux d'utiliser des pratiques de sécurité éprouvées que de réinventer la roue. L'utilisation de solutions bien vérifiées peut réduire considérablement la probabilité de problèmes.
Conseils de sécurité pour les projets
Comment les utilisateurs peuvent juger si un contrat intelligent est sécurisé
En prêtant attention à ces points, les utilisateurs peuvent mieux évaluer la sécurité des contrats intelligents et réduire les risques associés à la participation à des projets de Finance décentralisée.