Cracking the Code of DeFi Vulnerabilities: Alp Bassa's Deep Dive into Smart Contract Security

Dans cette interview exclusive, réalisée lors de la conférence Hack Seasons, Alp Bassa, chercheur scientifique chez Veridise, partage son point de vue sur les outils innovants de Veridise, les subtilités des audits de preuve sans connaissance et l'avenir de la sécurité de la blockchain. Au cours de la discussion, nous explorerons l’intersection des mathématiques, de la cryptographie et de la technologie blockchain à travers les yeux de l’un des plus grands experts du secteur.

De nombreux entrepreneurs sont attirés vers leur domaine par un moment ou un événement précis. Quel a été votre parcours vers le Web3 ?

Je viens d'un milieu universitaire. Je suis un mathématicien qui faisait des recherches en théorie des nombres, en se concentrant sur les courbes sur des corps finis, les courbes elliptiques et leurs applications en théorie du codage et en cryptographie. Ces outils sont largement utilisés, surtout maintenant que la cryptographie sans connaissance a une plus grande influence dans l'espace Web3. 

J'ai vu qu'il s'y passait beaucoup de choses intéressantes. Ensuite, j'ai commencé à travailler chez Veridise, où ils réalisent des audits de sécurité et se spécialisent particulièrement dans le domaine ZK, où mon expertise s'intègre très bien.

Pourquoi avons-nous même besoin d’audits de sécurité ? Les développeurs peuvent-ils fonctionner sans eux, ou sont-ils obligatoires ?

La sécurité des systèmes nécessite un état d’esprit différent qu’il faut adopter dès la phase de développement. Tous les développeurs ne peuvent pas se concentrer simultanément sur tous les aspects du processus de développement, en garantissant les spécifications, le comportement, l'efficacité, l'intégration dans une configuration plus large et la sécurité. La plupart du temps, la sécurité est un aspect qui n’est pas bien couvert tout au long du processus de développement.

Il est devenu presque impossible pour un développeur d’être suffisamment à l’aise avec divers outils complexes pour garantir qu’ils sont utilisés correctement et qu’il n’y a aucune vulnérabilité. C’est juste un état d’esprit différent qui doit être appliqué. C’est pourquoi les audits sont utiles.

Pouvez-vous nous parler des outils internes développés par Veridise et de la manière dont ils améliorent la qualité de l'audit ?

Il existe un large éventail d’outils qui peuvent être utilisés. Certains sont plus primitifs mais ne nécessitent pas trop de connaissances et sont facilement accessibles, comme les fuzzers. Certains se situent au milieu, comme les outils d’analyse statique. Ils sont assez rapides mais pas trop précis – ils peuvent donner des faux positifs. 

Il existe ensuite des outils fortement appuyés par les mathématiques, basés sur des solveurs SMT et d’autres connaissances mathématiques. Ceux-ci sont très précis mais lourds en calcul. Nous utilisons une combinaison de tous ces outils, chacun avec leurs avantages et leurs inconvénients, pour détecter les bugs et les vulnérabilités.

Quelles sont certaines des considérations de sécurité uniques que Veridise aborde pour les protocoles DeFi ?

Pour les protocoles DeFi, nous disposons d'un outil d'analyse statique dans lequel vous indiquez au préalable au système quel type de vulnérabilités rechercher ou quelles structures viser. Il y a beaucoup d'entre eux. Par exemple, les attaques de réentrée ont été responsables du piratage de DAO en 2016. Les attaques de prêts flash ont été exploitées dans l'attaque contre Cream Finance, qui a entraîné le vol d'environ 130 millions de dollars. 

Grâce à notre expérience au fil des années d’audit, nous avons une bonne vue d’ensemble des vulnérabilités, et nos outils sont conçus pour vérifier toutes ces vulnérabilités. Lors de nos audits, nous les examinons un à un en détail pour voir si de tels risques apparaissent.

Veuillez expliquer davantage comment vous utilisez la technologie ZK et pourquoi les audits ZK sont votre principale priorité ?

ZK est particulièrement intéressant du point de vue de la vérification formelle car il se traduit très bien dans l’utilisation d’outils. Nous disposons d'outils particulièrement destinés à vérifier les applications ZK. Parce que c’est très adapté à nos méthodes, c’est le domaine sur lequel nous nous sommes beaucoup concentrés. 

Nous avons identifié des vulnérabilités critiques dans les bibliothèques de circuits principales. Notre équipe est très forte dans ce domaine, nous avons donc décidé d'être très présents et à la frontière de l'audit ZK. La plupart de nos recherches sont également motivées par les besoins et les exigences du point de vue d’un auditeur dans le domaine ZK.

En quoi votre expertise dans les circuits ZK se différencie-t-elle des autres entreprises ?

Je dirais que nos outils nous différencient beaucoup car nous sommes issus d'un milieu de vérification formelle. Nous disposons d'outils très puissants, et à l'heure actuelle, l'étendue des projets est devenue si vaste que l'effort humain à lui seul ne suffit pas vraiment à avoir une bonne couverture de la base de code. C’est nécessaire, mais ce n’est pas suffisant en soi. 

Comment Veridise équilibre-t-il la révision manuelle du code avec l'analyse automatisée des outils dans son processus d'audit ?

Il y a un besoin pour les deux. Nous le constatons également dans les audits. La plupart du temps, lorsque nous effectuons un audit humain très rigoureux et que nous exécutons ensuite les outils sur la base de code, nous découvrons des vulnérabilités qui ont échappé à notre attention. Parfois, nous exécutons les outils en premier, mais ceux-ci ne peuvent détecter que certains types de structures. 

Étant donné qu’il existe de nombreux niveaux de complexité et d’abstraction dans ces systèmes, il ne suffit pas non plus de se fier aux outils. J’ai l’impression qu’on ne peut pas se passer de l’un ou l’autre, et je ne pense pas que cela changera à l’avenir.

Quelles sont les principales fonctionnalités de l’outil Vanguard de Veridise et comment améliore-t-il la sécurité des contrats intelligents ?

Vanguard est l'un de nos principaux outils. Il est utilisé pour l’analyse statique. Dans l'analyse statique, vous fournissez une certaine spécification du comportement prévu, puis vérifiez si cela est satisfait – si certaines propriétés sont valables sans exécuter le code. Ce n’est pas dynamique ; vous n'exécutez pas le code, mais vous essayez d'évaluer statiquement s'il existe certains modèles susceptibles de provoquer des vulnérabilités. 

Vanguard est disponible en plusieurs saveurs. Nous en avons des parties qui sont assez efficaces pour améliorer la sécurité des contrats intelligents, et des parties axées sur les applications zk. 

Pouvez-vous en dire plus sur les vulnérabilités que vous avez rencontrées dans les contrats intelligents et les circuits ZK ?

Dans les circuits ZK, sur lesquels je travaille davantage, l'une des vulnérabilités les plus fréquemment rencontrées serait les circuits sous-contraints. Dans une application ZK, votre base de code se compose de deux parties : le programme lui-même (l'exécution normale) et les contraintes. Vous exigez que les contraintes reflètent le comportement de l'exécution du programme de manière individuelle. 

Selon un article récent, environ 95 % de toutes les vulnérabilités des circuits ZK sont causées par des circuits sous-contraints. Nous disposons d'outils, comme PICUS, qui sont particulièrement destinés à détecter ces circuits sous-contraints.

Comment Veridise aborde-t-elle le processus de divulgation des vulnérabilités découvertes lors des audits ?

Bien entendu, nous ne rendons à aucun moment publiques les vulnérabilités, car quelqu’un d’autre pourrait exploiter le bug avant qu’il ne soit corrigé, surtout si la base de code est déjà utilisée. À la fin du processus d’audit, nous remettons un rapport d’audit dans lequel nous fournissons au client une liste de tous les bugs et vulnérabilités que nous avons découverts. 

Nous donnons au client le temps de les corriger, puis il nous envoie ses correctifs, que nous examinons pour vérifier s'ils répondent réellement à tous les problèmes que nous avons soulevés. Nous avons tout rassemblé dans un rapport final. Le rapport est la propriété du client. Nous ne le rendons pas public sans l’accord du client.

Si vous accédez à la page Web de Veridise, vous pouvez voir une liste de tous les rapports d'audit que les clients ont accepté de rendre publics. Dans la plupart des cas, ils acceptent que nous le rendions public. En fait, ils le veulent comme un certificat que le code a été audité et qu'il est aussi exempt de bogues que possible après un audit. 

Comment Veridise adapte-t-elle ses processus d'audit aux différentes plateformes et langages blockchain ?

Comme vous le savez, le domaine est très dynamique et chaque jour apparaissent de nouvelles chaînes, de nouveaux langages et de nouvelles façons d'exprimer les circuits ZK. Nous le constatons également avec les projets entrants et les demandes d’audit basées sur différents environnements ou langages. Nous suivons le courant, voyons d'où viennent les demandes et avons une idée de la direction dans laquelle le domaine évoluera dans un avenir proche. 

Nous essayons d'adapter nos outils pour répondre aux besoins de la communauté. Cela continuera dans le futur, où nous changerons les choses de manière dynamique en fonction de l'évolution du domaine.

Pouvez-vous nous en dire plus sur les outils que vous envisagez de mettre en œuvre à l’avenir ? 

L’une des directions dans lesquelles les outils évolueront dans un avenir proche est que nous proposerons la sécurité en tant que service. C'est ce qu'on appelle notre plate-forme SaaS, où nous mettrons les outils à la disposition des utilisateurs pendant le processus de développement. 

Plutôt que de terminer d'abord l'intégralité du projet puis de procéder à un audit, nous rendrons nos outils utiles dans une configuration où les développeurs pourront les utiliser pendant le développement pour garantir que le code qu'ils développent est sécurisé et ne contient aucune vulnérabilité. Le SaaS devrait être disponible dans un avenir proche.

L'article Déchiffrer le code des vulnérabilités DeFi : plongée approfondie d'Alp Bassa dans la sécurité des contrats intelligents est apparu en premier sur Metaverse Post.