La blockchain et le secteur de la finance décentralisée sont en pleine expansion. En 2021, la DeFi a totalisé une capitalisation boursière de plus de 100 milliards de dollars. Malheureusement, cette statistique est entachée par le vol de plus 7,7 milliards de dollars par les piratages. En effet, les séries de hacks ont pris de l’ampleur ces dernières années, occasionnant ainsi de nombreuses pertes pour les investisseurs. Face à cet état de choses, les promoteurs crypto doivent impérativement adopter des normes de sécurité plus élevées. Dans cet article, nous montrons d’une part le processus pour auditer un projet crypto. D’autre part, nous faisons un tour d’horizon sur les meilleures sociétés d’audit de la crypto-sphère.
Comment auditer un projet crypto ?
Auditer un projet crypto, c’est faire une analyse approfondie du code écrit dans le contrat de jeton. En effet, cela permet de repérer et de trier les éventuelles vulnérabilités mineures. L’objectif ultime d’un audit de sécurité est de garantir que le code :
- est exempt de bugs ;
- se comporte comme prévu, quelle que soit la situation.
Dans cette section, nous développons les étapes phares du projet d’audit.
Les étapes pour auditer un projet crypto
À l’instar des audits de projets DeFi, il n’y a pas une méthodologie stricte pour auditer les crypto ou les tokens. Toutefois, il y a certaines étapes standardisées qui facilitent le processus.
Préparatifs initiaux
Avant d’auditer un projet crypto, les auditeurs rassemblent la documentation et le code du projet. En effet, le code doit contenir la même logique que celle qui est déclarée dans la documentation. Donc, cette vérification leur permet de s’assurer que le code est conforme avec son projet.
Analyse automatique
Cette étape consiste à vérifier la qualité du code à l’aide d’outils automatiques. En fonction de la société d’audit, les outils et les résultats peuvent différer, car certains auditeurs créent leurs propres outils. De façon générale, voici les outils les plus couramment utilisés pour auditer les projets crypto :
- SmartCheck ;
- Remix ;
- Solhint.
À la fin de l’analyse automatique du code, les auditeurs passent à la vérification manuelle.
Analyse manuelle
Au cours de l’analyse manuelle, les auditeurs vérifient :
- les commentaires du code ;
- la structure du code ;
- le nommage des variables ;
- la répétition du code.
Ainsi, ils examinent les problèmes détectés et déterminent s’ils peuvent conduire ou non à des vulnérabilités réelles.
Problèmes spécifiques aux normes
Tous les contrats de jetons sont spécifiques à une norme. Donc, durant l’audit, les professionnels accordent une attention particulière aux MUST et aux SHOULD utilisés dans la spécification.
Rapport d’audit initial
Une fois toutes ces étapes terminées, les auditeurs consignent les conclusions et les recommandations dans un rapport qu’ils soumettent à leur client : c’est le rapport initial d’audit.
Refonte du code
Après le premier rapport d’audit, les développeurs en charge du projet apportent les modifications et les corrections nécessaires au code. Ensuite, ils le transmettent de nouveau aux auditeurs pour un autre examen.
Rapport d’audit final
Une fois toutes les corrections apportées, les auditeurs établissent un rapport contenant les détails et les analyses qu’ils soumettent au promoteur crypto : il s’agit du rapport final.
Comment réaliser un audit de sécurité pour la blockchain ?
L’audit de la blockchain consiste à faire une analyse systématique et structurée du code d’un projet de développement blockchain. La plupart du temps, cela s’exécute manuellement, car il n’y a pas encore suffisamment d’outils permettant de réaliser ce type d’audit. Voici les différentes étapes pour auditer un projet blockchain.
Définir l’objectif du système cible
Auditer la sécurité d’un projet blockchain est un processus complexe et délicat. De ce fait, il est nécessaire de fixer des objectifs clairs dès le départ. Si vous orientez mal votre audit, vous n’aurez pas de résultat concret.
Il est vrai que de façon générale, l’audit de sécurité permet d’identifier les risques de sécurité dans tout type de système, réseau ou pile technologique. Toutefois, avec la blockchain, vous devez définir des objectifs spécifiques se rapportant à différents aspects de la sécurité et à vos besoins.
En plus de cela, définissez le plan d’action que l’audit doit suivre. Sachez qu’un objectif et un plan d’action prédéfinis évitent aux auditeurs de déraper pendant l’audit.
Identifier les composants et les flux de données du système cible
Au cours de cette étape, l’équipe d’audit doit :
- identifier les composants et le flux de données du système cible ;
- comprendre le projet, son architecture et son cas d’utilisation.
Elle doit également verrouiller la version du code source pour garantir la transparence du processus d’audit. En effet, cette action permet de différencier la version déjà auditée de toute nouvelle modification apportée au code.
Identifier les risques de sécurité potentiels
La blockchain, ainsi que ses applications comportent des nœuds et des API qui donnent accès sur des réseaux privés et publics. En fonction des spécificités des projets, leurs rôles peuvent différer, car ils constituent des entrées dans la chaîne de blocs. Sachant que les risques de sécurité potentiels de la blockchain sont liés aux données, aux transactions, etc., les auditeurs accordent une importance capitale à ce volet.
Modélisation des menaces : Audit de sécurité de la blockchain
La modélisation des menaces est l’une des composantes intégrales d’une évaluation de sécurité de la blockchain. Avec la modélisation des menaces, les potentiels problèmes de sécurité du système peuvent être identifiés plus facilement. D’ailleurs, elle peut ressortir l’usurpation et la falsification des données.
Exploitation et remédiation
Grâce à l’exploitation, les auditeurs blockchain identifient la facilité d’exploitation d’une vulnérabilité, ainsi que ses manifestations sur le système. Dès lors, ils se servent de la remédiation pour corriger les vulnérabilités découvertes lors des étapes précédentes.
Quelles sont les meilleures sociétés d’audit crypto ?
Dans cette section, nous vous présentons les meilleures sociétés d’audit crypto. Notre liste tient compte de plusieurs aspects parmi lesquels :
- le piratage ou non des protocoles certifiés ;
- l’envergure des projets audités ;
- l’implication dans l’analyse publique des exploits, ainsi que des propositions d’approche de solution ;
- la contribution à l’amélioration de la sécurité de l’écosystème crypto ;
- la fiabilité de la société auditrice…
Certik
Fondé en 2018, Certik est une société pionnière dans la vérification des smartcontracts et la sécurité des blockchains. À ce jour, elle a mené plus 1.800 vérifications sur les protocoles bien connus. Par exemple, le Binance Accelerator Fund se sert des audits de Certik pour s’assurer de la sécurité des principales plateformes sur lesquelles il investit. C’est dire que Certik utilise des technologies de pointe pour évaluer la sécurité des contrats intelligents et des codes. Ensuite, elle identifie les vulnérabilités et propose des recommandations. Lorsque vous sollicitez l’expertise de la société via son site Web, cette dernière se charge de vous contacter pour le démarrage de l’audit.
Trail of Bits
Il s’agit d’un cabinet d’audit de première classe. Plusieurs géants du secteur notamment Yearn leur font confiance. Par ailleurs, la société Trail of Bits a déjà publié un grand nombre de rapports d’audits, et contribue au développement de plusieurs solutions open sources. Tout récemment, son équipe a découvert un certain nombre de vulnérabilités dans des bibliothèques de cryptage populaires et des outils d’analyse de sécurité des smartcontracts. Les actions de Trail of Bits sécurisent davantage l’univers de la blockchain et de la cryptomonnaie.
ConsenSys Diligence
ConsenSys Diligence est la branche audit et sécurité de ConsenSys, une société qui regroupe des géants de la blockchain tels que : MetaMask, Infura et Truffle. Avec plus de 8 ans d’expérience, l’équipe a mené plusieurs audits pour les protocoles comme : Fei, Aave, Balancer, Bancor, ENS, PoolTogether et 1Inch. Cependant, le piratage du protocole DeFi Growth occasionnant une perte de 1,3 million de dollars US est un exploit qui entache leur bilan.
Runtime Verification
Runtime Verification est une société de sécurité qui effectue des audits de manière traditionnelle et de manière formelle. Notez que la vérification ou l’analyse formelle est un processus assez long, mais complet pour prouver qu’un code répond à un ensemble de normes. La société a notamment audité la chaîne Beacon ETH 2.0, Tezos, OlympusDAO, Algorand, Maker, Gnosis. En dehors cela, elle met les résultats de ses recherches à la disposition de la communauté, ce qui permet aussi de renforcer la sécurité de l’écosystème.
Certora
Certora est une société de sécurité qui fournit exclusivement des services de vérification formelle. Elle dispose d’un puissant outil (Certora Prover) pour effectuer ses analyses formelles. De plus, elle a collaboré avec Sushiswap, Aave et d’autres protocoles de renom dans la crypto-sphère. En dehors de cela, l’expertise de l’équipe est souvent sollicitée à la suite des incidents pour fournir une assurance supplémentaire sur la résolution des problèmes.
Quantstamp
Quantstamp est une société de sécurité blockchain. Elle a audité plusieurs projets très médiatisés et très complexes comme Cardano, Binance, Solana, ETH2.0, Curve et Axie Infinity. Malheureusement, plusieurs projets (Alpha Finance, Saddle, Rari, etc.) certifiés Quantstamp ont subi des piratages avec une perte estimée à 47 millions de dollars.
ChainSecurity
ChainSecurity est une entreprise suisse spécialisée dans la sécurité des blockchains. Elle a notamment travaillé avec Maker et Curve. Bien qu’il soit difficile d’avoir les données sur tous les protocoles audités, nous n’avons noté aucun exploit ou piratage à ce jour.
Omniscia
Spécialisée dans la sécurité blockchain, Omniscia a à son actif environ 80 protocoles audités parmi lesquels : OlympusDAO, Rari, KlimaDAO et Tokemak. En avril 2022, l’un de ses protocoles audités a subi un piratage. Cela a entraîné une perte de plus de 183 millions de dollars. Mais, la société martèle que la portion du code concerné ne faisait pas partie de leur champ d’audit. Quoi qu’il en soit, cette attaque informatique sur le protocole suscite une certaine controverse vis-à-vis de la société.
PeckShield
PeckShield est une société chinoise d’audit et de sécurité. Elle a audité plusieurs protocoles notamment OlympusDAO et certains contrats de PancakeSwap. Malheureusement, un certain nombre de leurs projets a été piraté, ce qui suscite le doute sur sa fiabilité. Quoi qu’il en soit, la société constitue une bonne source d’éducation sur la sécurité. De plus, elle est toujours à jour sur les dernières nouvelles de sécurité.
SolidProof
SolidProof est une société d’audit allemande qui a réalisé plus de 500 audits de contrats intelligents. Elle se sert des tests manuels et des tests automatisés pour évaluer les contrats intelligents et les projets blockchain. Cela lui permet de vérifier les éventuelles vulnérabilités, de soumettre un rapport d’audit fiable, et de faire des recommandations pour remédier aux vulnérabilités.
L’un des avantages de cette société est qu’elle collabore avec votre équipe de développement pour atténuer les risques mis en évidence dans le rapport d’audit.
OpenZeppelin
OpenZeppelin est une plateforme open source permettant de développer des applications décentralisées (dApps) sécurisées. Quelle que soit la taille de l’entreprise, elle peut utiliser les services d’audit d’OpenZeppelin afin de trouver les meilleures pratiques du secteur. La Fondation Ethereum et Coinbase sont entre autres des clientes d’OpenZeppelin.
Groupe Arcadia
Basé au Texas, Arcadia Group est une société de développement de blockchain et de sécurité des contrats intelligents. Elle fournit des audits et des services de développement de logiciels, ainsi que des professionnels de la sécurité aux équipes sur une base contractuelle. Malheureusement, le protocole d’assurance Cover qu’elle a audité a subi un exploit, faisant ainsi perdre aux utilisateurs 9,4 millions de dollars.
Slowmist
Avec trois ans d’expérience, Slowmist offre un large éventail de services de sécurité. La société tient un registre pratique des piratages, des exploits et des escroqueries. De plus, elle fournit des services à EOS et aux chaînes adjacentes à Ethereum. Toutefois, l’un de ses protocoles sur Avalanche (Vee Finance) a été touché par un piratage occasionnant la perte de 34 millions de dollars.
Chainsulting
Chainsulting est une société d’audit de sécurité de premier plan. Elle a déjà audité plusieurs projets phares de la crypto-sphère. Il s’agit notamment de Algorand, Ethereum, Binance Smart Chain, Solana, DAI, 1Inch, POA Network et Unicrypt. De fait, elle sécurise plus de 100 milliards de dollars bloqués dans divers protocoles DeFi.
Par ailleurs, ce cabinet d’audit basé en Allemagne et en Australie a cinq années d’expérience et propose différents services pour mieux sécuriser l’écosystème :
- Conseil en blockchain et en actifs numériques ;
- Audits des smart contracts ;
- Analyse des opportunités et des risques de sécurité ;
- Développement des applications décentralisées (dApps).