Simple Science

La science de pointe expliquée simplement

# Informatique# Cryptographie et sécurité

Protéger le Mempool : Nouvelles stratégies contre les attaques

Un aperçu de la sécurité du mempool et des mesures proposées pour prévenir les attaques d'éviction.

― 6 min lire


Améliorations de laAméliorations de lasécurité du Mempoolexpliquéestransactions.contre les expulsions à cause desNouvelles mesures pour se défendre
Table des matières

Dans le monde des blockchains publics, les transactions qui ne sont pas encore confirmées ont besoin d'un endroit pour attendre avant d'être ajoutées à un bloc. Cette zone d'attente s'appelle le mempool, qu'on trouve sur chaque nœud de la blockchain. Le mempool garde les transactions non confirmées jusqu'à ce qu'elles soient regroupées en blocs et confirmées. Par exemple, sur Ethereum, différents types de logiciels appelés clients gèrent leurs Mempools. Parmi les clients bien connus, on trouve Geth, Nethermind et Erigon. Ces clients aident à traiter à la fois des transactions publiques et privées.

La Fonction des Mempools

Le mempool joue un rôle crucial dans l'écosystème blockchain. Il permet de tamponner et de gérer efficacement les transactions. Quand une transaction est envoyée, elle voyage à travers le réseau, atteignant divers nœuds. Chaque nœud a son propre mempool. Si le mempool d'un nœud est plein, il doit décider quelles transactions garder et lesquelles jeter. Cette décision est souvent basée sur les frais attachés à chaque transaction ; les transactions avec des frais plus élevés sont généralement prioritaires.

Cependant, cette nature ouverte des mempools pose un risque. N'importe qui peut soumettre des transactions, y compris des acteurs malveillants qui pourraient vouloir perturber le réseau. C'est là que les attaques par déni de service (Dos) entrent en jeu. Dans une attaque DoS, un attaquant inonde le mempool avec de fausses transactions, empêchant les transactions légitimes d'être traitées. Cette perturbation peut toucher divers aspects de la blockchain, comme le traitement des transactions, l'extraction de valeur et l'efficacité globale du réseau.

Types d'Attaques sur les Mempools

Des études récentes ont identifié différentes façons dont les attaquants peuvent exploiter les mempools. Une attaque en particulier connue sous le nom d'ADAMS (Asymmetric Denial of Mempool Services) permet à un attaquant d'utiliser des transactions à bas coût pour évincer des transactions légitimes avec des frais plus élevés. Autrement dit, un attaquant peut bombarder le mempool avec des transactions à bas frais qui perturbent le flux de transactions normales sans coûter cher.

La première attaque ADAMS connue a impliqué l'envoi de transactions invalides, qui ne génèrent pas de frais, pour évincer des transactions normales du mempool. Une autre attaque appelée MemPurge cible spécifiquement le mempool d'Ethereum. Elle envoie des transactions invalides fabriquées pour pousser les transactions légitimes hors de la zone d'attente.

Ces attaques suivent souvent un schéma relativement facile à détecter. Cependant, des formes d'attaques plus avancées et subtiles ont été développées, qui peuvent échapper à la détection et sont plus difficiles à prévenir.

Solutions Actuelles et leurs Limites

Typiquement, l'approche pour protéger les mempools contre les attaques DoS implique de corriger les vulnérabilités existantes. Cette méthode réactive n'est pas infaillible. De nouvelles méthodes d'attaque non découvertes peuvent surgir, capables de contourner ces correctifs. Par conséquent, il y a un besoin d'une compréhension plus formelle de la sécurité des mempools pour garantir qu'ils puissent résister à divers vecteurs d'attaque.

Pour sécuriser efficacement les mempools, un cadre de sécurité complet est essentiel. Ce cadre devrait définir clairement les définitions et protocoles qui peuvent s'adapter aux menaces évolutives. Les méthodes existantes pour détecter et répondre aux attaques ne garantissent pas une protection totale. Une approche plus proactive est nécessaire pour se prémunir contre les menaces connues et inconnues.

Mesures de Sécurité Proposées

Pour améliorer la sécurité des mempools, un nouveau cadre a été proposé, axé sur la prévention des attaques d'éviction asymétriques. Cela implique de définir ce que signifie la sécurité d'éviction et de créer de nouvelles politiques pour renforcer la protection du mempool.

Une politique proposée s'appelle saferAd-CP. Cette politique vise à établir des limites sur les frais de transaction pour les transactions qui seraient autorisées dans le mempool. Plus précisément, elle garantit que toute transaction entrant dans le pool doit avoir des frais supérieurs à la transaction ayant les frais les plus bas actuellement dans le mempool. Cela crée un scénario où les attaquants ne peuvent pas simplement évincer des transactions à coût négligeable.

Mise en Œuvre de la Politique SaferAd-CP

La politique saferAd-CP a été mise en œuvre dans un client Ethereum spécifique appelé Geth. Cette mise en œuvre est cruciale pour tester l'efficacité de la nouvelle politique dans des scénarios réels. Le mempool est surveillé de près pour évaluer ses performances dans des conditions normales et lors de simulations d'attaques.

Lors des tests pour voir comment saferAd-CP peut gérer diverses charges de travail, les résultats montrent qu'elle n'impacte pas significativement le revenu moyen généré par bloc. En gros, la politique maintient les niveaux de revenus similaires à ceux observés dans Geth sans la nouvelle politique tout en offrant une meilleure protection contre les attaques d'éviction.

Évaluation des Performances

Pour s'assurer que la politique saferAd-CP est efficace, des évaluations de performance extensives sont réalisées. Ces évaluations impliquent de mener des expériences qui simulent divers types de charges de transactions. Les résultats indiquent que le surcoût en termes de temps et d'utilisation des ressources est négligeable, ce qui est une bonne nouvelle pour les utilisateurs.

En regardant des charges de travail spécifiques, il devient évident que la politique nouvellement mise en œuvre protège le mempool mieux que son prédécesseur. Par exemple, face à des attaques connues, saferAd-CP permet au mempool de continuer à traiter les transactions efficacement tout en gardant un œil sur les frais globaux.

Conclusion

En conclusion, le mempool est un aspect vital du fonctionnement de la blockchain, en particulier sur Ethereum. Alors que la technologie blockchain continue d'évoluer, les méthodes d'attaque évoluent aussi. L'introduction de politiques comme saferAd-CP montre des promesses pour améliorer la sécurité des mempools. En s'assurant que les transactions légitimes peuvent rester dans le mempool sans être évincées par des attaques à bas coût, le réseau blockchain peut maintenir son efficacité et sa stabilité.

Ce développement est essentiel car il permet aux systèmes blockchain de mieux gérer le trafic et de protéger les intérêts des utilisateurs, rendant le réseau plus fiable et robuste.

Source originale

Titre: Asymmetric Mempool DoS Security: Formal Definitions and Provable Secure Designs

Résumé: The mempool plays a crucial role in blockchain systems as a buffer zone for pending transactions before they are executed and included in a block. However, existing works primarily focus on mitigating defenses against already identified real-world attacks. This paper introduces secure blockchain-mempool designs capable of defending against any form of asymmetric eviction DoS attacks. We establish formal security definitions for mempools under the eviction-based attack vector. Our proposed secure transaction admission algorithm, named \textsc{saferAd-CP}, ensures eviction-security by providing a provable lower bound on the cost of executing eviction DoS attacks. Through evaluation with real transaction trace replays, \textsc{saferAd-CP} demonstrates negligible latency and significantly high lower bounds against any eviction attack, highlighting its effectiveness and robustness in securing blockchain mempools.

Auteurs: Wanning Ding, Yibo Wang, Yuzhe Tang

Dernière mise à jour: 2024-07-24 00:00:00

Langue: English

Source URL: https://arxiv.org/abs/2407.03543

Source PDF: https://arxiv.org/pdf/2407.03543

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.

Liens de référence

Plus d'auteurs

Articles similaires