[TL;DR]
Avec les contrats intelligents DeFi en tête du chat des hacks de blockchain en 2021, plus de 1,3 milliard de dollars de crypto-monnaies ont été perdus à cause d'exploits, d'escroqueries et de hacks. Ces pertes massives peuvent être attribuées à des contrats non vérifiés, des bifurcations hâtives, des escroqueries pures et simples, et bien d'autres choses encore. Mais selon le rapport de sécurité de Certik DeFi, la majorité des projets exploités ne sont pas audités.
Dans cet article, nous allons examiner ce que sont les smart contracts, comment les protéger des mauvais acteurs du marché.
Nous examinerons également certaines sociétés d'audit de contrats intelligents et leurs centres d'intérêt.
Remplissez le formulaire pour recevoir 5 points de récompense→.
Attaques de contrats intelligents
Les smart contracts sont des lignes de codes auto-exécutables qui obéissent à des instructions définies sur le réseau blockchain. Ces contrats permettent aux utilisateurs de réaliser des transactions sans confiance et transparentes sur la blockchain sans avoir besoin d'une autorité centrale ou d'un quelconque système juridique.
En raison de leur utilité, ils sont devenus les éléments constitutifs d'applications décentralisées complexes, comme dans les DeFi et DExs, les ICO, les protocoles de vote et la gestion de la chaîne d'approvisionnement.
Aussi intelligents qu'ils puissent paraître, ils peuvent entraîner d'énormes pertes si des failles de sécurité ou des bogues sont détectés dans le code.
En général, le contrat intelligent peut remplir les fonctions pour lesquelles il a été conçu, mais la présence d'une faille permet aux pirates de créer des codes capables d'interagir avec le contrat intelligent pour détourner des fonds.
- Un bon exemple est l'attaque récente de Qubit Finance, où le pirate a exploité son pont inter-chaînes et a volé 206 809 jetons BNB, soit environ 80 millions de dollars.
- Un autre exemple historique est le piratage de la DAO en 2016, qui a entraîné une perte de 50 millions de dollars.
Vulnérabilités connues ou standard des contrats intelligents
Conditions de course : lorsque des événements ne se produisent pas dans l'ordre prévu. Dans les Smart Contracts, les Race Conditions peuvent se produire lorsque des contrats externes prennent le contrôle du flux de contrôle.
Réentrance : dans ce cas, une fonction est appelée à plusieurs reprises avant que la première invocation de la fonction ne soit terminée. L'une des solutions cruciales consiste à bloquer les appels concurrents dans certaines fonctions, en particulier lors de l'examen des appels externes.
Cross-function Race Conditions : décrit une attaque similaire de deux fonctions partageant le même état, avec les mêmes solutions.
Dépendance vis-à-vis de l'ordre des transactions (TOD) / Course avant : est une autre condition de course qui affecte l'ordre des transactions dans un bloc. En manipulant l'ordre des transactions, un utilisateur en profite au détriment d'un autre.
Manipulation d'Oracle : ce type d'attaque est associé aux contrats intelligents qui s'appuient sur des données externes comme entrées. Si les données d'entrée sont incorrectes, elles sont tout de même introduites et exécutées automatiquement. Les protocoles reposant sur des oracles qui ont été piratés, dépréciés ou qui ont des intentions malveillantes pourraient avoir des effets désastreux sur tous les processus qui en dépendent.
Attaque par adresse courte/paramètre : ce type d'attaque est associé à l'EVM. Elle se produit lorsque le contrat intelligent accepte des arguments incorrectement remplis. Ainsi, les attaquants peuvent exploiter des clients mal codés en utilisant des adresses spécialement conçues pour leur faire coder les arguments de manière incorrecte avant de les inclure dans les transactions.
Audit de contrat intelligent
Comme pour l'audit de code ordinaire, la sécurité d'un contrat intelligent est directement proportionnelle à la robustesse et à la qualité du code déployé. Elle implique un examen et une analyse approfondis du code d'un contrat intelligent. Pour ce faire, les auditeurs de contrats intelligents vérifient les erreurs courantes, les erreurs connues de la plate-forme hôte et simulent des attaques sur le code. Les développeurs (généralement des auditeurs externes de contrats intelligents) sont alors en mesure d'identifier les erreurs, les bogues potentiels ou les failles de sécurité dans le contrat intelligent du projet.
Ce service est d'une importance capitale dans le secteur de la blockchain, car les contrats déployés ne peuvent pas être modifiés ou sont irrévocables. Tout défaut rendra très probablement le contrat dysfonctionnel ou sujet à des failles de sécurité qui pourraient entraîner des pertes irrécupérables. De nos jours, obtenir une validation d'audit est un atout pour gagner la confiance des utilisateurs.
Étapes de l'audit des contrats intelligents.
1. Examiner la cohérence entre les fonctionnalités du code et le livre blanc du projet.
2. Vérifier les vulnérabilités standard ;
3. Analyse symbolique
4. Analyse automatisée par des outils automatisés(Approche 1) : des outils comme Truffle et Populus sont utilisés pour le test de code automatisé. Cette approche prend un temps très court et a une pénétration plus sophistiquée par rapport à la vérification manuelle du code. Bien qu'elle ait également des limites de fausse identification et de vulnérabilité manquée.
5. Examen manuel du code et de la qualité du code (approche 2) : dans ce cas, le code est examiné manuellement par des développeurs expérimentés. Bien que les vérifications automatisées soient plus rapides, les vérifications manuelles tiennent compte des fausses identifications et des vulnérabilités manquées.
6. Analyse de l'utilisation du gaz ;
7. Optimisation des performances
8. Préparation du rapport.
Sociétés d'audit de contrats intelligents
1.
CertiK : Certik a été fondé en 2018 et il est l'un des préférés dans la niche blockchain en raison de leurs outils de vérification de la transparence et du moteur de preuve qui assure l'évolutivité et la sécurité de premier ordre. C'est-à-dire que leur approche est principalement mathématique. L'entreprise affirme avoir détecté plus de 31, 000 vulnérabilités dans les codes de contrats intelligents, vérifié 1737 projets et sécurisé plus de 211 milliards de dollars d'actifs numériques.
2.
Hacken : Hacken est une autre société qui fournit des services d'audit pour les plateformes blockchain comme Ethereum, Tron,
EOS. Bien que leurs services ne soient pas limités aux seules solutions blockchain, Hacken fournit également des produits de sécurité pour les entreprises informatiques. La plateforme de sécurité HackenAI est une solution conçue par Hacken pour protéger l'utilisateur final contre les atteintes à la sécurité grâce à des fonctionnalités activées telles que les alertes de surveillance du Darknet.
3.
Quantstamp : Quantstamp est une entreprise de sécurité blockchain avec des développeurs issus de grandes entreprises informatiques comme Facebook, Google et Apple. Quanstamp dispose d'un large éventail d'outils et de services de sécurité blockchain, y compris ; un réseau de sécurité décentralisé pour l'audit des contrats intelligents. Selon leurs affirmations, Quantstamp a protégé plus de 200 milliards de dollars en actifs numériques, et ils ont plus de 200 fondations et startups qui ont engagé leurs produits.
4.
ConsenSys : fondée en 2014, ConsenSys est une équipe robuste composée de développeurs de logiciels, d'experts en affaires, d'avocats, de fournisseurs de sécurité. Sa plateforme est basée sur l'écosystème Ethereum et vise à fournir des solutions blockchain telles que la sécurité et la protection des produits, les infrastructures financières. L'entreprise dispose d'un produit d'analyse de la sécurité des contrats intelligents . ConsenSys Diligence ; qui fournit une analyse crypto-économique et une analyse automatisée des contrats intelligents pour la chaîne Ethereum.
5.
Sécurité de la chaîne : fournit des produits et services sécurisant les protocoles de blockchain et les contrats intelligents. Chainsecurity a la confiance de plus de 85 blockchains et a sécurisé plus de 17 milliards de dollars d'actifs numériques. Ils ont également établi un partenariat avec PWC Suisse pour effectuer des examens de sécurité, créer des solutions qui évaluent les contrats intelligents, tester et exécuter des mesures de performance pour les contrats intelligents.
6.
Vérification d'exécution : La vérification runtime utilise la méthode basée sur la vérification runtime, qui a augmenté la conformité aux normes, une large couverture pendant l'exécution, pour exécuter des audits de sécurité sur les machines virtuelles. Les produits et services Runtime comprennent la vérification des contrats intelligents, la vérification des protocoles, le service de conseil, Firefly, le vérificateur de jetons ERC20 et IELE.
Auteur : Observateur Gate.io :
M. Olatunji
Avertissement :
*Cet article ne représente que le point de vue des observateurs et ne constitue pas une suggestion d'investissement.
*Gate.io se réserve tous les droits sur cet article. La rediffusion de l'article sera autorisée à condition que Gate.io soit référencé. Dans tous les autres cas, une action en justice sera engagée pour violation des droits d'auteur.
Articles en vedette de Gate.io
Pourquoi le secteur des crypto-monnaies a besoin de capital-risque ?
Fonds spéculatifs centralisés et décentralisés
Comment rechercher le bon projet NFT