
Réflexion du CTO de Shima Capital sur Curve : pourquoi avons-nous besoin de Runtime Protection et d'Aspect ?
TechFlow SélectionTechFlow Sélection

Réflexion du CTO de Shima Capital sur Curve : pourquoi avons-nous besoin de Runtime Protection et d'Aspect ?
Comment fournir une protection au moment de l'exécution ?
Auteur : Carl Hua, associé et CTO de Shima Capital
Traduction : BlockBeats
Suite à l'exploitation récente d'une vulnérabilité de réentrance sur Curve, j'ai repensé à mon expérience au JPL de la NASA, où j'ai appris les principes clés du développement de logiciels fiables (reliable) et résilients (resilient). Pour l'industrie de la cryptographie, ces enseignements sont plus pertinents que jamais, pour les raisons suivantes :
En fin de compte, il n'existe que deux types de logiciels qui retiennent vraiment l'attention des gens : ceux qui peuvent vous tuer, et ceux qui peuvent vous faire perdre de l'argent.
Dans les logiciels critiques embarqués dans tout engin spatial, la majeure partie du budget (plus de 80 %) n'est pas allouée au développement en tant que tel, mais à l'intégration et aux tests. En cas de défaillance logicielle, l'appareil tombe du ciel — qu'il s'agisse d'un avion de combat, d'un drone ou d'un vaisseau spatial.
La plupart des codes utilisés dans les logiciels spatiaux — lorsqu'ils sont classifiés comme modules critiques — doivent respecter des normes extrêmement strictes en matière de test et de développement, telles que la norme DO-178B niveau A. Il ne suffit pas de tester chaque ligne de code ; chaque condition logique, y compris celles imbriquées, doit être spécifiquement vérifiée.
Au JPL de la NASA, la conception d’un logiciel spatial avancé ne vise pas à produire le code le plus élégant ou le plus propre, mais à écrire un code facile à tester unitairement. Pourquoi ? La réponse est simple : lorsque vous lancez un vaisseau dans l’espace, vous n’avez qu’une seule chance, et personne ne souhaite prendre le risque quand la probabilité d’échec est élevée. Ce raisonnement s’applique également à la blockchain, dont une caractéristique essentielle est l’immuabilité du code. Nous n’avons nous aussi qu’une seule opportunité de gérer correctement nos fonds à chaque transaction. Alors pourquoi ne pas aborder le développement des dApps avec davantage de rigueur ?
Malgré des processus rigoureux de développement, de tests et d’audit de code, ces mesures se révèlent insuffisantes pour prévenir toutes les erreurs et attaques, car il est pratiquement impossible d’éliminer par ces seuls moyens tous les bogues en temps d’exécution. Comment alors protéger nos logiciels contre l’échec ?
Protection en temps d'exécution (Runtime Protection)
La protection en temps d'exécution est une technique de sécurité qui protège les applications logicielles contre les attaques malveillantes pendant leur exécution. Elle repose sur la détection en temps réel du comportement du code en cours d'exécution, permettant d'analyser le comportement effectif du programme afin de le protéger contre les données malveillantes et les attaques.
La mise en œuvre d'une protection en temps d'exécution dans les logiciels haute fiabilité requiert des investissements importants et une conception approfondie, car elle constitue la dernière ligne de défense garantissant que le logiciel n'entre pas dans un état inconnu ou ne tombe pas en panne. Ce n'est pas simplement une théorie, mais une pratique éprouvée depuis des décennies.
Aujourd'hui, dans l'écosystème Web3, je pense que les applications DeFi doivent atteindre le même niveau de fiabilité et adopter les mêmes méthodes. Toutefois, en raison de ses limitations inhérentes, la machine virtuelle Ethereum (EVM) n’a pas été conçue pour gérer des tâches complexes comme la protection en temps d’exécution. Alors, comment pouvons-nous fournir cette protection ?
Une solution consiste à utiliser la programmation par aspects (Aspect programming), une fonctionnalité conçue par le réseau blockchain Artela, capable d'intercepter le contexte d'exécution à n'importe quel moment du cycle de vie d'une transaction de contrat intelligent, afin d'effectuer des vérifications avancées sur l'état réel du programme. Grâce à cette approche originale combinant les aspects et la compatibilité EVM, Artela propose une architecture innovante de protection en temps d'exécution, qui pourrait bien devenir la base future de la sécurité des contrats intelligents dans la cryptoéconomie.
Artela a publié dans l'article ci-dessous un exemple concret de l'utilisation des Aspects pour prévenir les attaques par réentrance sur Curve. N'hésitez pas à en discuter avec nous !
Bienvenue dans la communauté officielle TechFlow
Groupe Telegram :https://t.me/TechFlowDaily
Compte Twitter officiel :https://x.com/TechFlowPost
Compte Twitter anglais :https://x.com/BlockFlow_News














