Améliorer la sécurité des ponts inter-chaînes
Un nouvel outil vise à identifier les vulnérabilités dans les contrats intelligents inter-chaînes.
― 10 min lire
Table des matières
La technologie blockchain est devenue super populaire, ce qui a entraîné la création de nombreuses plateformes et monnaies numériques. Des exemples bien connus incluent Ethereum, Binance Coin, Bitcoin, et les jetons non fongibles (NFTs). La croissance de ces différentes plateformes a abouti à un système complexe qui nécessite une communication efficace entre plusieurs blockchains, comme convertir Ether en Bitcoin.
Un pont inter-blockchains sert de lien qui permet aux informations et aux actifs numériques de circuler entre différentes blockchains. Par exemple, le pont du réseau Polygon permet aux utilisateurs de transférer facilement des jetons entre Polygon et Ethereum sans avoir besoin de faire confiance à des tiers non fiables.
Malgré une présence sur le marché avec des milliards de dollars de transactions, les ponts inter-blockchains font face à des défis de sécurité. Des recherches montrent que, ces deux dernières années, ces ponts ont rencontré plus de 29 problèmes de sécurité. Une grande partie de ces problèmes provient de faiblesses dans leurs contrats intelligents. Un exemple notable est l'incident PolyNetwork, où une faille de sécurité a entraîné une perte de 600 millions de dollars.
Les vulnérabilités spécifiques aux contrats intelligents des ponts inter-blockchains sont appelées vulnérabilités inter-blockchains (CCVs). Ces faiblesses sont surtout dues à la nature unique des échanges d'actifs entre différentes blockchains. Par exemple, certains ponts inter-blockchains peuvent avoir des contrôles de sécurité insuffisants, ce qui peut mener à un accès non autorisé.
Bien que la gravité de ces vulnérabilités soit reconnue, il y a eu peu de recherches visant à analyser ou identifier ces problèmes, ce qui rend difficile la sécurisation efficace des ponts inter-blockchains. Des études précédentes ont exploré les attaques inter-blockchains et ont suggéré quelques moyens de protéger ces systèmes, mais beaucoup de ces suggestions ne sont pas directement applicables ou applicables.
Notre étude
En réponse à cette lacune dans la recherche, nous avons développé un nouveau cadre d'analyse statique appelé SmartAxe pour identifier les CCVs dans les contrats intelligents associés aux ponts inter-blockchains. SmartAxe est le premier outil conçu spécifiquement à cet effet au niveau du bytecode, ce qui signifie qu'il peut analyser le code sous-jacent avant que les contrats ne soient déployés. En faisant cela, nous visons à améliorer la sécurité des applications de ponts inter-blockchains et à réduire le risque de pertes financières.
Les principales causes des CCVs se répartissent en deux catégories : 1) contrôle d'accès incomplet et 2) incohérence dans la manière dont les transactions inter-blockchains sont traitées. Identifier ces vulnérabilités à travers l'analyse statique vient avec son propre lot de défis.
Défis de détection
Le premier défi est d'extraire avec précision les contraintes de contrôle d'accès, qui incluent les vérifications de sécurité qui devraient être en place pour protéger les ressources sensibles. Ces vérifications de sécurité peuvent varier énormément d'un contrat de pont à l'autre, rendant difficile l'identification de ce qui est nécessaire. De plus, lier ces vérifications de sécurité aux ressources pertinentes peut être complexe.
Le deuxième défi consiste à analyser le contexte de la communication inter-blockchains pour détecter les incohérences sémantiques. Cela nécessite d'examiner le flux d'informations et de données entre les différentes blockchains. Les outils d'analyse précédents ont souvent négligé ces détails importants.
Pour surmonter ces défis, SmartAxe intègre deux caractéristiques principales de conception :
- Il modélise les différentes manières dont le contrôle d'accès est mis en œuvre à travers différents ponts inter-blockchains, les standardisant en une seule forme.
- Il aligne les flux de contrôle et de données entre les chaînes source et destination, lui permettant de construire des graphes qui représentent ces flux.
En faisant cela, SmartAxe peut efficacement identifier les fonctions vulnérables qui contiennent des contrôles d'accès incomplets ou des incohérences sémantiques.
Évaluation de SmartAxe
Pour tester l'efficacité de SmartAxe, nous avons créé un ensemble de données de 16 applications de ponts inter-blockchains, comprenant 203 contrats intelligents connus pour avoir des vulnérabilités. Nos expériences ont montré que SmartAxe identifiait avec succès des vulnérabilités avec une précision de 84,95 % et un rappel de 89,77 %.
Avec l'aide de SmartAxe, nous avons réalisé une évaluation à grande échelle de 1 703 contrats intelligents provenant de 129 applications de ponts inter-blockchains du monde réel. Cette analyse a révélé 232 nouvelles vulnérabilités qui n'avaient pas été identifiées dans les recherches précédentes, affectant des actifs totalisant 1 885 250 dollars.
Comprendre les ponts inter-blockchains
Un pont inter-blockchains sert de lien pour échanger des actifs numériques à travers différentes plateformes de blockchain. En général, un pont inter-blockchains est composé de trois éléments :
- Chaîne Source : La blockchain d'où provient l'actif.
- Relayer Inter-Chain : Un intermédiaire qui facilite la communication entre les deux chaînes.
- Chaîne Destination : La blockchain où l'actif est finalement transféré.
Quand un utilisateur veut échanger un jeton contre un autre, il initie la transaction via le pont inter-blockchains. Ce processus implique généralement trois étapes :
- Dépôt d'Actif sur la Chaîne Source : L'utilisateur dépose son actif, qui est verrouillé sur la chaîne source, et un événement de confirmation est émis.
- Communication Inter-Chain : Le relayer hors chaîne vérifie le dépôt et communique les informations nécessaires à la chaîne destination.
- Retrait d'Actif sur la Chaîne Destination : Une fois le dépôt confirmé, l'utilisateur peut retirer l'actif équivalent de la chaîne destination.
Types de vulnérabilités
Les vulnérabilités inter-blockchains (CCVs) peuvent avoir un impact significatif sur la sécurité de ces contrats intelligents. Certains types courants incluent :
- Incomplétude du Contrôle d'Accès : Cela se produit quand des vérifications de sécurité importantes manquent ou ne sont pas mises en œuvre correctement. En conséquence, des utilisateurs non autorisés peuvent accéder à des fonctions critiques.
- Incohérence Sémantique Inter-Pont : Dans ce cas, la logique et le sens des actions entre les chaînes source et destination ne s'alignent pas correctement, ce qui peut entraîner des erreurs ou des exploits potentiels.
Recherches Précédentes et Limitations
Malgré les risques clairs présentés par les CCVs, les recherches sur l'identification de ces vulnérabilités sont limitées. Bien que divers outils de sécurité existent pour analyser les contrats intelligents, ils se concentrent généralement sur des systèmes de blockchain uniques et ne tiennent pas compte des interactions inter-blockchains.
Les outils conçus pour l'analyse statique peuvent effectivement trouver des vulnérabilités potentielles, mais ils manquent souvent des modèles spécifiques nécessaires pour analyser les contrats de ponts inter-blockchains. En conséquence, de nombreuses méthodes précédemment proposées ne répondent pas aux défis uniques posés par les transactions inter-blockchains.
Le travail précédent le plus pertinent s'est concentré sur la détection des attaques en temps réel, plutôt que d'analyser le code sous-jacent du contrat au préalable pour prévenir de telles attaques. Notre approche avec SmartAxe comble cette lacune en fournissant un outil dédié à l'identification des vulnérabilités avant qu'elles ne puissent être exploitées.
Comment SmartAxe fonctionne
SmartAxe est conçu pour effectuer une analyse statique approfondie des contrats intelligents à travers différentes blockchains. Voici un aperçu simplifié de son fonctionnement :
- Analyse de Flux de Contrôle Basique : SmartAxe construit une vue détaillée de la manière dont les contrats intelligents fonctionnent, identifiant le flux de contrôle d'une fonction à l'autre.
- Vérification de Complétude du Contrôle d'Accès : Il examine les contraintes de contrôle d'accès extraites et les compare avec des modèles établis pour trouver d'éventuelles omissions de contrôle d'accès.
- Recherche d'Incohérences Sémantiques Inter-Pont : SmartAxe vérifie la cohérence dans la manière dont les transactions sont traitées des deux côtés, s'assurant que la logique reste intacte.
- Découverte de Traçabilité des Vulnérabilités : Enfin, il analyse comment les vulnérabilités peuvent être exploitées et identifie les chemins qui pourraient mener à un accès non autorisé ou à des erreurs.
Précision et Performance
SmartAxe a montré de solides performances dans ses évaluations. Il a réussi à identifier un nombre significatif de vulnérabilités avec un niveau élevé de précision, montrant son utilité pour améliorer la sécurité des ponts inter-blockchains.
Implications dans le Monde Réel
Les résultats de notre recherche ont d'importantes implications pour les développeurs et les utilisateurs de ponts inter-blockchains. Avec l'essor de la finance décentralisée (DeFi) et des diverses applications blockchain, assurer la sécurité des interactions inter-blockchains est crucial.
Études de Cas
Pour illustrer l'efficacité de SmartAxe, nous pouvons examiner deux études de cas :
Étude de Cas 1 : Un contrat sur un pont inter-blockchains populaire a été trouvé avec un contrôle d'accès incomplet. Les fonctions d'autorisation et de retrait ne validaient pas correctement le type de jetons utilisés, créant des failles potentielles qui pouvaient être exploitées.
Étude de Cas 2 : Un autre contrat a révélé une négligence dans la validation des entrées utilisateur pour les dépôts de liquidité. Sans vérifications appropriées, un attaquant pouvait soumettre de fausses informations pour réclamer de faux dépôts.
Les deux cas soulignent à quel point il est crucial de mettre en œuvre des mesures de sécurité strictes dans les contrats intelligents et comment des outils comme SmartAxe peuvent aider à identifier ces vulnérabilités.
Conclusion
La montée de la technologie blockchain et la complexité des transactions inter-blockchains introduisent une variété de défis de sécurité. Les ponts inter-blockchains jouent un rôle crucial dans la facilitation des transactions mais sont également susceptibles aux vulnérabilités qui peuvent avoir de graves conséquences financières.
Notre recherche souligne la nécessité d'outils robustes comme SmartAxe pour identifier et adresser ces vulnérabilités avant qu'elles ne puissent être exploitées. En employant une approche systématique pour analyser les contrats intelligents, SmartAxe fournit une solution précieuse pour améliorer la sécurité des ponts inter-blockchains et protéger les actifs des utilisateurs.
Avec l'écosystème blockchain qui continue d'évoluer, une recherche et un développement continus sont essentiels pour garantir que ces systèmes soient sûrs et fiables. En investissant dans des outils et des cadres qui favorisent la sécurité et la transparence, nous pouvons aider à ouvrir la voie vers un avenir plus sûr et plus fiable dans la technologie blockchain.
Titre: SmartAxe: Detecting Cross-Chain Vulnerabilities in Bridge Smart Contracts via Fine-Grained Static Analysis
Résumé: With the increasing popularity of blockchain, different blockchain platforms coexist in the ecosystem (e.g., Ethereum, BNB, EOSIO, etc.), which prompts the high demand for cross-chain communication. Cross-chain bridge is a specific type of decentralized application for asset exchange across different blockchain platforms. Securing the smart contracts of cross-chain bridges is in urgent need, as there are a number of recent security incidents with heavy financial losses caused by vulnerabilities in bridge smart contracts, as we call them Cross-Chain Vulnerabilities (CCVs). However, automatically identifying CCVs in smart contracts poses several unique challenges. Particularly, it is non-trivial to (1) identify application-specific access control constraints needed for cross-bridge asset exchange, and (2) identify inconsistent cross-chain semantics between the two sides of the bridge. In this paper, we propose SmartAxe, a new framework to identify vulnerabilities in cross-chain bridge smart contracts. Particularly, to locate vulnerable functions that have access control incompleteness, SmartAxe models the heterogeneous implementations of access control and finds necessary security checks in smart contracts through probabilistic pattern inference. Besides, SmartAxe constructs cross-chain control-flow graph (xCFG) and data-flow graph (xDFG), which help to find semantic inconsistency during cross-chain data communication. To evaluate SmartAxe, we collect and label a dataset of 88 CCVs from real-attacks cross-chain bridge contracts. Evaluation results show that SmartAxe achieves a precision of 84.95% and a recall of 89.77%. In addition, SmartAxe successfully identifies 232 new/unknown CCVs from 129 real-world cross-chain bridge applications (i.e., from 1,703 smart contracts). These identified CCVs affect a total amount of digital assets worth 1,885,250 USD.
Auteurs: Zeqin Liao, Yuhong Nan, Henglong Liang, Sicheng Hao, Juan Zhai, Jiajing Wu, Zibin Zheng
Dernière mise à jour: 2024-06-22 00:00:00
Langue: English
Source URL: https://arxiv.org/abs/2406.15999
Source PDF: https://arxiv.org/pdf/2406.15999
Licence: https://creativecommons.org/licenses/by/4.0/
Changements: Ce résumé a été créé avec l'aide de l'IA et peut contenir des inexactitudes. Pour obtenir des informations précises, veuillez vous référer aux documents sources originaux dont les liens figurent ici.
Merci à arxiv pour l'utilisation de son interopérabilité en libre accès.