Qu'est-ce qu'une attaque par éclipse ?

IntermédiaireDec 12, 2023
Les attaques par éclipse constituent une menace importante pour les réseaux de blockchain car elles coupent la connexion d'un nœud spécifique à l'ensemble du réseau, en lui coupant effectivement l'accès aux connexions entrantes et sortantes.
Qu'est-ce qu'une attaque par éclipse ?

Introduction

Une attaque Eclipse est conçue pour manipuler l'accès d'un nœud à des informations au sein d'un réseau pair-à-pair. En déconnectant tactiquement le nœud ciblé du réseau plus large des nœuds participants, les attaquants le poussent à s'appuyer uniquement sur les informations diffusées par l'assaillant. Ces attaques visent principalement les nœuds qui acceptent les connexions entrantes, en exploitant les vulnérabilités par l'utilisation de réseaux de zombies ou de réseaux fantômes générés à partir de nœuds hôtes.

Toutefois, en comprenant les mécanismes des attaques par éclipse et en mettant en œuvre des stratégies d'atténuation appropriées, les opérateurs et les développeurs de réseaux peuvent protéger leurs réseaux et améliorer leur résistance à ces attaques. Lisez la suite pour en savoir plus.

Qu'est-ce qu'une attaque par éclipse ?

Les attaques par éclipse constituent une menace importante pour les réseaux de blockchain car elles coupent la connexion d'un nœud spécifique à l'ensemble du réseau, en lui coupant effectivement l'accès aux connexions entrantes et sortantes. Cet isolement peut avoir plusieurs conséquences néfastes, notamment un retard dans la confirmation des transactions, des informations erronées sur l'état de la blockchain et une vulnérabilité aux attaques par double dépense.

L'objectif principal d'une attaque par éclipse est de détourner l'accès d'un nœud à des informations au sein d'un réseau pair à pair (P2P). En manipulant ce réseau, les attaquants parviennent à déconnecter le nœud ciblé, l'isolant ainsi du réseau plus large des nœuds participant à la blockchain. Par conséquent, le nœud ciblé devient dépendant des informations fournies uniquement par l'attaquant concernant l'état de la blockchain.

Les attaques Eclipse ciblent principalement les nœuds qui acceptent les connexions entrantes, car tous les nœuds n'autorisent pas les connexions en provenance d'autres nœuds. L'attaquant utilise un botnet ou un réseau fantôme, créé à partir de nœuds hôtes, pour compromettre le nœud cible.

En outre, les conséquences des attaques de l'éclipse sur la sécurité et l'efficacité de la blockchain sont graves. Ces attaques peuvent perturber le traitement des transactions, conduire à des décisions erronées de la part des nœuds, diviser la puissance minière et faciliter les tentatives de double dépense. Ils peuvent également être utilisés pour manipuler les contrats intelligents et réduire la résilience globale de la blockchain, ce qui peut conduire à une attaque de 51 %.

Par conséquent, pour atténuer le risque d'attaques par éclipse, les réseaux de blockchain peuvent mettre en œuvre diverses stratégies, telles que la diversification des connexions entre pairs, l'utilisation de mécanismes de découverte des nœuds, la surveillance de l'activité du réseau et la validation indépendante des données de la blockchain. Ces mesures peuvent contribuer à empêcher que des nœuds soient isolés et induits en erreur, ce qui permet de préserver l'intégrité et l'efficacité opérationnelle du réseau.

Comment fonctionne une attaque par éclipse ?

Source : Protocole Marlin - Le nœud cible a été éclipsé par l'attaquant qui a perdu sa connexion avec les nœuds honnêtes du réseau.

La première étape d'une attaque par éclipse consiste pour l'attaquant à remplir les tables de pairs du nœud ciblé avec ses propres adresses IP malveillantes. Les tables de pairs sont essentiellement des bases de données qui stockent des informations sur les autres nœuds du réseau auxquels un nœud particulier est connecté. En remplissant ces tables avec ses propres adresses IP, l'attaquant s'assure que le nœud ciblé ne se connectera qu'à ses propres nœuds lors de l'établissement de nouvelles connexions.

Une fois les tables d'homologues manipulées, l'attaquant force le nœud ciblé à redémarrer, soit en utilisant une attaque DDoS sur la cible, soit en attendant simplement que cela se produise. Cette opération a pour but de perturber ses connexions sortantes actuelles et de réinitialiser son processus de connexion. Lorsque le nœud redémarre, il perd ses connexions existantes avec les nœuds légitimes du réseau.

Lorsque le nœud ciblé tente d'établir de nouvelles connexions après le redémarrage, il consulte ses tables de pairs pour trouver des partenaires de connexion potentiels. Cependant, comme l'attaquant a rempli les tables avec ses propres adresses IP, le nœud n'établit à son insu des connexions qu'avec les nœuds de l'attaquant. Cela permet d'isoler efficacement le nœud ciblé des participants légitimes au réseau et de rediriger ses connexions entrantes et sortantes vers les nœuds des attaquants.

Source : hub.packtpub.com - La position de l'attaquant dans le réseau de la blockchain lorsqu'il isole le nœud ciblé des nœuds légitimes.

En contrôlant les connexions du nœud ciblé, l'attaquant peut manipuler les informations et le trafic qui y transitent. Ils peuvent potentiellement réaliser des transactions frauduleuses ou des doubles dépenses, perturber le mécanisme de consensus et même mener des attaques plus complexes telles qu'une attaque Sybil. Le réseau fantôme créé par les nœuds de l'attaquant sert de passerelle pour exécuter ces actions malveillantes et compromettre l'intégrité et la sécurité du réseau de la blockchain.

Eclipse attaque le réseau Peer-to-Peer de Bitcoin

Dans le réseau Bitcoin, les nœuds communiquent via un réseau P2P, formant des connexions pour propager les transactions et les blocs. Chaque nœud peut avoir un maximum de 117 connexions TCP entrantes et 8 connexions TCP sortantes, ce qui leur permet d'interagir au sein du réseau. Toutefois, une attaque Eclipse peut se produire lorsqu'un attaquant prend le contrôle des connexions d'un nœud, soit en l'inondant d'adresses IP malveillantes, soit en manipulant ses connexions. Ce contrôle des connexions d'un nœud peut permettre à l'attaquant de contrôler le flux d'informations, en isolant essentiellement le nœud ciblé des véritables interactions du réseau.

Source : KAIST - Connexions TCP entrantes et sortantes dans la blockchain Bitcoin

L'importance d'une attaque Eclipse sur la blockchain Bitcoin réside dans sa capacité à perturber l'intégrité du réseau. Il remet en question l'hypothèse de sécurité du bitcoin, qui repose sur la présomption que tant que 51 % de la puissance minière est honnête, le système reste sûr. Toutefois, cette hypothèse suppose que toutes les parties voient tous les blocs et toutes les transactions valides, ce qu'une attaque Eclipse peut perturber en contrôlant le réseau P2P et, par la suite, le flux d'informations de la blockchain.

Les contre-mesures contre les attaques Eclipse dans le réseau Bitcoin comprennent la mise en œuvre de diverses stratégies :

  1. Demande de délai d'attente : les nœuds Bitcoin peuvent utiliser des mécanismes de délai d'attente. Si un nœud ne reçoit pas les informations requises dans un délai donné (par exemple, 2 minutes pour les transactions ou 20 minutes pour les blocs), il se déconnecte de l'homologue actuel et demande les informations à un autre homologue. Cela permet d'éviter de dépendre de nœuds potentiellement compromis et d'améliorer la sécurité globale des transactions en estimant des temps d'attente sûrs.

  2. Mesures de renforcement : Le renforcement du réseau contre les attaques Eclipse implique la mise en œuvre de mesures telles que le hachage de groupe, qui rend les attaques plus difficiles à exécuter. Le hachage par groupe exige des attaquants qu'ils aient accès à plusieurs IP dans différents groupes, ce qui augmente la complexité et les ressources nécessaires pour mener à bien l'attaque.

En substance, les attaques Eclipse sur le réseau P2P de Bitcoin constituent une menace critique car elles permettent potentiellement aux attaquants de manipuler les connexions des nœuds, de contrôler le flux d'informations et de compromettre la sécurité de la blockchain. Toutefois, les contre-mesures proposées visent à atténuer ces risques et à renforcer la résilience du réseau face à ces attaques.

Conséquences d'une attaque par éclipse

Une attaque Eclipse sur un réseau de blockchain peut avoir diverses conséquences graves, compromettant de manière significative la fonctionnalité du réseau.

Voici quelques conséquences possibles d'une attaque par éclipse :

  1. Double dépense : L'une des conséquences les plus préoccupantes d'une attaque de l'éclipse est le risque de double dépense. Cela se produit lorsqu'un pirate parvient à effectuer plusieurs transactions avec la même crypto-monnaie, dépensant ainsi deux fois les mêmes fonds. Étant donné que les nœuds cibles sont isolés du reste du réseau, ils peuvent ne pas détecter ces transactions à double dépense, ce qui permet aux acteurs malveillants de confirmer des transactions illégitimes sans être détectés, jusqu'à ce que les nœuds compromis aient de nouveau accès aux données exactes de la blockchain.

Source : hub.packtpub.com - L'attaquant éclipse le nœud victime pour faciliter la double dépense

En outre, les attaques Eclipse peuvent être classées en deux catégories : les attaques à double dépense avec confirmation 0 et les attaques à double dépense avec confirmation N. Regardons de plus près !

Double dépense sans confirmation : Dans une attaque Eclipse, la "double dépense par confirmation 0" désigne un scénario dans lequel un attaquant exploite l'isolement d'un nœud dans un réseau P2P pour dépenser frauduleusement deux fois les mêmes fonds. Ce type d'attaque vise généralement les commerçants qui acceptent des transactions sans attendre qu'elles soient confirmées sur la blockchain.

N-confirmation Double Spend : Dans une attaque Eclipse, le "N-confirmation Double Spend" fait référence à un scénario dans lequel l'attaquant isole des nœuds spécifiques, tels que ceux des marchands et des mineurs, du réseau plus large de la blockchain. Cet isolement empêche ces nœuds de recevoir en temps voulu des informations précises sur la blockchain, notamment des confirmations de transactions, ce qui entraîne un risque potentiel de double dépense, provoquant ainsi des pertes financières et compromettant l'intégrité des transactions au sein des nœuds concernés.

  1. Déni de service (DoS) : Les attaques Eclipse peuvent entraîner un déni de service, en perturbant l'accès du nœud ciblé au réseau. En coupant les connexions entrantes et sortantes, les attaquants peuvent effectivement rendre le nœud incapable de remplir ses fonctions, ce qui entraîne des perturbations et une perte potentielle de données.

  2. Monopoliser les connexions : Les attaquants peuvent monopoliser les connexions d'un nœud, contrôlant ainsi le flux d'informations qu'il reçoit du réseau. Cette manipulation peut conduire à un scénario dans lequel le nœud ciblé dépend uniquement de l'attaquant pour obtenir des informations sur la blockchain, ce qui facilite les activités frauduleuses.

  3. Spamming Addresses (adresse IP) : Les attaques Eclipse peuvent impliquer le spamming d'adresses IP, submergeant le nœud ciblé d'un volume excessif de données non pertinentes. Cet afflux de données peut entraver les performances du nœud et perturber son fonctionnement.

  4. Redémarrage forcé des nœuds : Dans certains cas, les attaques Eclipse peuvent forcer les nœuds ciblés à redémarrer à plusieurs reprises, ce qui entraîne des temps d'arrêt et entrave leur capacité à se synchroniser avec le réseau de la blockchain.

  5. Nécessité d'un grand nombre de bots : L'exécution d'une attaque Eclipse nécessite souvent un nombre considérable de bots ou de nœuds compromis. Cette exigence rend l'attaque plus gourmande en ressources mais aussi potentiellement plus impactante une fois exécutée.

  6. Exploitation minière égoïste aggravée et attaque à 51 % : Les attaques Eclipse peuvent exacerber les comportements de minage égoïste au sein de la blockchain. Cela peut conduire à un scénario dans lequel des mineurs malveillants disposant d'une part substantielle de la puissance minière totale (par exemple, 40 % et plus) peuvent potentiellement exécuter une attaque de 51 %, en prenant le contrôle de la chaîne de blocs et en réorganisant ou en manipulant éventuellement les transactions.

En substance, une attaque Eclipse présente des risques multiples pour la sécurité, la fiabilité et la fiabilité d'un réseau blockchain, permettant aux attaquants d'exploiter les vulnérabilités pour leurs gains malveillants, en particulier en termes de transactions frauduleuses comme la double dépense et la division radicale de la puissance minière du réseau.

Contre-mesures aux attaques de l'éclipse

L'atténuation des attaques par éclipse peut s'avérer difficile, car il n'est pas toujours possible de bloquer les connexions entrantes ou de limiter les connexions aux nœuds de confiance à grande échelle. Cette approche aurait pu être plus efficace pour prévenir les attaques par éclipse, mais elle empêchera les nouveaux nœuds de rejoindre le réseau et limitera sa croissance et sa décentralisation.

Pour faire face aux attaques par éclipse, plusieurs stratégies peuvent être employées :

  1. Sélection aléatoire des pairs : Plutôt que de s'appuyer uniquement sur une liste prédéterminée de nœuds de confiance, un nœud peut sélectionner ses pairs de manière aléatoire à partir de l'ensemble des nœuds disponibles. Cela réduit la probabilité qu'un attaquant réussisse à remplir les tables de pairs d'un nœud avec ses adresses IP malveillantes.

  2. Initialisation vérifiable : Les nœuds peuvent utiliser des algorithmes cryptographiques pour garantir que le processus d'initialisation est sûr et vérifiable. Cela permet d'empêcher les attaquants d'injecter des adresses IP malveillantes dans les tables d'homologues d'un nœud pendant la phase d'initialisation.

  3. Infrastructure de réseau diversifiée : En utilisant plusieurs sources indépendantes pour obtenir des adresses IP, le réseau peut éviter de dépendre d'une seule source vulnérable. Il est donc plus difficile pour un attaquant de manipuler les tables de pairs du nœud avec ses propres adresses IP.

  4. Mises à jour régulières du tableau des pairs : Les nœuds peuvent périodiquement mettre à jour leurs tables de pairs en obtenant les informations les plus récentes auprès de diverses sources. Cela réduit l'impact d'une attaque par éclipse potentielle en actualisant constamment les connexions et en minimisant les risques d'être isolé des participants légitimes au réseau.

  5. Liste blanche : La mise en œuvre d'une liste blanche d'adresses IP de confiance permet aux nœuds de restreindre les connexions aux seuls pairs légitimes, réduisant ainsi le risque d'être éclipsé par des nœuds contrôlés par des attaquants.

  6. Surveillance et analyse du réseau : La surveillance continue du comportement du réseau et l'analyse des modèles de trafic peuvent aider à identifier toute activité suspecte ou toute attaque potentielle par éclipse. Cela permet une détection proactive et une atténuation de ces attaques avant qu'elles ne causent des dommages importants.

  7. Renforcement du réseau : Le renforcement de la résilience globale du réseau par des mesures telles que l'augmentation de la bande passante des nœuds, l'optimisation des algorithmes de routage et l'amélioration des mécanismes de consensus peut le rendre plus résistant aux attaques par éclipse.

La mise en œuvre d'une combinaison de ces stratégies peut améliorer la résilience des réseaux de blockchain contre les attaques par éclipse et contribuer à maintenir l'intégrité et la sécurité du réseau.

Conclusion

Les effets des attaques Eclipse sur les réseaux de blockchain sont désastreux, car elles ont un impact sur la sécurité et l'efficacité opérationnelle. Non seulement ils perturbent les processus de transaction et influencent la prise de décision des nœuds, mais ils risquent également de diviser la puissance minière et de permettre des tentatives de double dépense. En outre, les attaques Eclipse pourraient même altérer les contrats intelligents, ce qui affaiblirait la résilience globale du réseau de la blockchain et pourrait conduire à une attaque de 51 %. Toutefois, en mettant en œuvre les différentes contre-mesures évoquées dans cet article ainsi que des mises à jour spécifiques de la blockchain, il est possible d'atténuer les effets négatifs de cette attaque.

作者: Paul
譯者: Cedar
文章審校: Wayne、Matheus、Ashley He
* 投資有風險,入市須謹慎。本文不作為Gate.io提供的投資理財建議或其他任何類型的建議。
* 在未提及Gate.io的情況下,複製、傳播或抄襲本文將違反《版權法》,Gate.io有權追究其法律責任。
即刻開始交易
註冊並交易即可獲得
$100
和價值
$5500
理財體驗金獎勵!
立即註冊