Analyse des vulnérabilités de sécurité courantes dans la Finance décentralisée : Prêts Flash, manipulation des prix et prévention des risques d'attaque par réinjection.
Récemment, un expert en sécurité a partagé un cours de sécurité DeFi avec les membres de la communauté. Le cours a passé en revue les événements de sécurité majeurs rencontrés par l'industrie Web3 au cours de l'année dernière, a exploré les causes 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é aux projets et aux utilisateurs ordinaires.
Les types de vulnérabilités DeFi courants incluent les prêts flash, la manipulation des prix, les problèmes de permissions de fonctions, les appels externes arbitraires, les problèmes de fonctions de fallback, les vulnérabilités de logique métier, les fuites de clés privées et les attaques par réentrance. Cet article se concentrera sur les prêts flash, la manipulation des prix et les attaques par réentrance.
Prêt Flash
Le prêt flash est une innovation dans la Finance décentralisée, mais il peut également être exploité par des hackers. Les attaquants empruntent généralement d'importantes sommes via des prêts flash pour manipuler les prix ou attaquer la logique commerciale. Les développeurs doivent considérer si les fonctionnalités des contrats pourraient être anormales en raison de fonds massifs, 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 très élevés, mais le niveau des équipes derrière ces projets varie considérablement. Certains projets peuvent utiliser du code acheté, et même si le code lui-même n'a pas de vulnérabilités, des problèmes logiques peuvent encore exister. Par exemple, certains projets distribuent des récompenses à des moments fixes en fonction du nombre de jetons détenus, ce qui peut être exploité par des attaquants utilisant des prêts flash pour acheter une grande quantité de jetons et obtenir la majorité des récompenses lors de la distribution.
Manipulation des prix
Le problème de manipulation des prix est étroitement lié aux prêts flash, principalement en raison du fait que certains paramètres peuvent être contrôlés par les utilisateurs lors du calcul des prix. Il existe deux types de problèmes courants :
Utilisation de données tierces pour calculer les prix, mais utilisation incorrecte ou absence de vérification, entraînant une manipulation malveillante des prix.
Utiliser le nombre de jetons de certaines adresses comme variable de calcul, tandis que le solde de jetons de ces adresses peut être temporairement augmenté ou diminué.
Attaque par réentrance
L'un des principaux risques d'appeler des contrats externes est qu'ils peuvent prendre le contrôle du flux et apporter des modifications inattendues aux données. Par exemple, dans une fonction de retrait, si le solde de l'utilisateur n'est mis à 0 qu'à la fin de la fonction, alors un deuxième appel (et les suivants) réussira toujours, entraînant un retrait répété.
Pour résoudre le problème de réentrance, il faut prêter attention aux points suivants :
Il ne faut pas 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 de protection contre les réentrées éprouvé par le temps.
Il est important de noter que reproduire des solutions déjà existantes peut comporter plus de risques. Utiliser des meilleures pratiques de sécurité bien établies est généralement plus sûr que de développer de nouvelles méthodes par soi-même.
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 matière de 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 comportements malveillants internes tout en améliorant l'efficacité et en renforçant la gestion des risques.
Soyez prudent lors de l'introduction de tiers, par défaut, ni l'amont ni l'aval ne sont sûrs.
Comment les utilisateurs/LP peuvent-ils évaluer la sécurité d'un contrat intelligent
Vérifiez si le contrat est open source.
Vérifiez si le propriétaire utilise une multisignature et si celle-ci est décentralisée.
Vérifiez les transactions existantes du contrat.
Vérifiez si le contrat est un contrat d'agence, s'il est upgradeable 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 étendus.
Faites attention à l'utilisation des oracles.
En se concentrant sur ces aspects, les utilisateurs peuvent mieux évaluer la sécurité des contrats intelligents et réduire la probabilité de participer à des projets à risque.
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.
9 J'aime
Récompense
9
6
Partager
Commentaire
0/400
GateUser-a180694b
· Il y a 2h
Prêts Flash 啧啧啧 Se faire prendre pour des cons de vieux compagnons n'est-ce pas
Voir l'originalRépondre0
ContractCollector
· Il y a 2h
Maintenant, les Prêts Flash sont vraiment les plus exploités.
Voir l'originalRépondre0
AirdropChaser
· Il y a 2h
Je vais d'abord essayer de voir, cette fois-ci j'ai pris les gens pour des idiots plusieurs fois.
Voir l'originalRépondre0
BridgeTrustFund
· Il y a 2h
Encore un problème avec les Prêts Flash.
Voir l'originalRépondre0
DeFiVeteran
· Il y a 2h
Encore des victimes de Prêts Flash.
Voir l'originalRépondre0
MidnightSnapHunter
· Il y a 2h
Les attaques par réentrance sont un sujet de discussion courant, n'est-ce pas ? Maintenant, qui ne le sait pas ?
Analyse des vulnérabilités de sécurité courantes dans la Finance décentralisée : Prêts Flash, manipulation des prix et prévention des risques d'attaque par réinjection.
Finance décentralisée 常见安全漏洞及预防措施
Récemment, un expert en sécurité a partagé un cours de sécurité DeFi avec les membres de la communauté. Le cours a passé en revue les événements de sécurité majeurs rencontrés par l'industrie Web3 au cours de l'année dernière, a exploré les causes 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é aux projets et aux utilisateurs ordinaires.
Les types de vulnérabilités DeFi courants incluent les prêts flash, la manipulation des prix, les problèmes de permissions de fonctions, les appels externes arbitraires, les problèmes de fonctions de fallback, les vulnérabilités de logique métier, les fuites de clés privées et les attaques par réentrance. Cet article se concentrera sur les prêts flash, la manipulation des prix et les attaques par réentrance.
Prêt Flash
Le prêt flash est une innovation dans la Finance décentralisée, mais il peut également être exploité par des hackers. Les attaquants empruntent généralement d'importantes sommes via des prêts flash pour manipuler les prix ou attaquer la logique commerciale. Les développeurs doivent considérer si les fonctionnalités des contrats pourraient être anormales en raison de fonds massifs, 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 très élevés, mais le niveau des équipes derrière ces projets varie considérablement. Certains projets peuvent utiliser du code acheté, et même si le code lui-même n'a pas de vulnérabilités, des problèmes logiques peuvent encore exister. Par exemple, certains projets distribuent des récompenses à des moments fixes en fonction du nombre de jetons détenus, ce qui peut être exploité par des attaquants utilisant des prêts flash pour acheter une grande quantité de jetons et obtenir la majorité des récompenses lors de la distribution.
Manipulation des prix
Le problème de manipulation des prix est étroitement lié aux prêts flash, principalement en raison du fait que certains paramètres peuvent être contrôlés par les utilisateurs lors du calcul des prix. Il existe deux types de problèmes courants :
Attaque par réentrance
L'un des principaux risques d'appeler des contrats externes est qu'ils peuvent prendre le contrôle du flux et apporter des modifications inattendues aux données. Par exemple, dans une fonction de retrait, si le solde de l'utilisateur n'est mis à 0 qu'à la fin de la fonction, alors un deuxième appel (et les suivants) réussira toujours, entraînant un retrait répété.
Pour résoudre le problème de réentrance, il faut prêter attention aux points suivants :
Il est important de noter que reproduire des solutions déjà existantes peut comporter plus de risques. Utiliser des meilleures pratiques de sécurité bien établies est généralement plus sûr que de développer de nouvelles méthodes par soi-même.
Conseils de sécurité pour les projets
Comment les utilisateurs/LP peuvent-ils évaluer la sécurité d'un contrat intelligent
En se concentrant sur ces aspects, les utilisateurs peuvent mieux évaluer la sécurité des contrats intelligents et réduire la probabilité de participer à des projets à risque.