Qu'est-ce qu'une Attaque Eclipse ?
Accueil
Articles
Qu'est-ce qu'une Attaque Eclipse ?

Qu'est-ce qu'une Attaque Eclipse ?

Avancé
Publié le Jan 19, 2020Mis à jour le Nov 8, 2023
6m

Contenu de cet article


Une attaque d'Ă©clipse est une attaque relativement simple qu'un acteur malveillant peut dĂ©ployer pour interfĂ©rer avec des nƓuds sur un rĂ©seau. Comme le nom peut le suggĂ©rer, l’attaque vise Ă  masquer la vue qu'a un participant du rĂ©seau pair Ă  pair, afin de causer des perturbations gĂ©nĂ©rales, ou de se prĂ©parer Ă  des attaques plus sophistiquĂ©es.
Les attaques Eclipse peuvent paraĂźtre similaires, en surface, aux attaques Sybil. Bien qu'elles partagent certaines similitudes – l'acteur malveillant inondera le rĂ©seau de faux pairs – leur objectif final est diffĂ©rent. Une attaque Ă©clipse vise un seul nƓud (pour des raisons expliquĂ©es dans une section ultĂ©rieure), alors qu'une attaque Sybil est une attaque rĂ©seau conçue pour corrompre le systĂšme de rĂ©putation du protocole.
Le concept est longuement discutĂ© dans l'article paru en 2015 nommĂ©  Eclipse Attacks on Bitcoin’s Peer-to-Peer Network, dans lequel des chercheurs de l'UniversitĂ© de Boston et de l'Hebrew University rapportent les conclusions de leurs expĂ©riences en matiĂšre d'attaques Ă©clipse, ainsi que des contre-mesures possibles pour les combattre.


Comment fonctionne une attaque Ă©clipse

Les mineurs de Bitcoin ont besoin d'Ă©quipements spĂ©cialisĂ©s pour gĂ©nĂ©rer de nouveaux blocs, mais les nƓuds non-mineurs (ou complets) sont facilement exĂ©cutables avec une puissance de calcul minimale. Cela aide Ă  la dĂ©centralisation du rĂ©seau Bitcoin, car tout le monde peut faire tourner un nƓud mĂȘme sur un appareil peu performant. Le logiciel maintient une base de donnĂ©es de transactions qu'il synchronise avec ses pairs immĂ©diats, de maniĂšre Ă  rester en phase avec le rĂ©seau.

La bande passante est un facteur limitant pour de nombreux nƓuds. Bien qu'il y ait une quantitĂ© Ă©norme d'appareils qui exĂ©cutent le logiciel, un pĂ©riphĂ©rique moyen est incapable de se connecter directement Ă  beaucoup d'entre eux en raison des limitations dĂ©finies dans le logiciel Bitcoin (qui ne permet qu'un maximum de 125 connexions).

Lors d'une attaque d'Ă©clipse, l'acteur malveillant s'assurera que toutes les connexions de la cible soient effectuĂ©es sur des nƓuds contrĂŽlĂ©s par l'attaquant. L'entitĂ© inondera d'abord la cible de ses propres adresses IP, auxquelles la victime se connectera probablement au redĂ©marrage de son logiciel. Un redĂ©marrage peut ĂȘtre forcĂ© (avec une attaque DDoS sur la cible), ou alors l'attaquant peut simplement attendre que cela se produise. 

Une fois l'attaque lancĂ©e, la victime sans mĂ©fiance est Ă  la merci des nƓuds malveillants – sans aucune vue disponible sur le rĂ©seau plus large, ainsi il peut ĂȘtre abreuvĂ© de donnĂ©es incorrectes par l'attaquant.


Les conséquences d'une attaque éclipse

Si un attaquant dĂ©pense des ressources pour aliĂ©ner un pair du rĂ©seau, il a probablement une raison de le faire. Il y a une poignĂ©e d'attaques successives qui peuvent ĂȘtre lancĂ©es plus facilement une fois qu'un nƓud a Ă©tĂ© Ă©touffĂ©.


Double dépense sur des transactions 0-confirmations

Si une personne accepte une transaction sans confirmations, elle est exposĂ©e au risque d'une double dĂ©pense. La transaction peut avoir Ă©tĂ© diffusĂ©e, mais jusqu'Ă  ce qu'elle ait Ă©tĂ© incluse dans un bloc (et donc engagĂ©e dans la blockchain), l'expĂ©diteur peut facilement crĂ©er une nouvelle transaction qui dĂ©pense les mĂȘmes fonds ailleurs. Si la nouvelle transaction a des frais plus Ă©levĂ©s, un mineur l'inclura probablement avant l'original, invalidant la prĂ©cĂ©dente. 

Certaines entreprises et certaines personnes acceptent ces transactions 0-confirmations, comme par exemple un marchand, Bob, qui vend des vĂ©hicules haut de gamme. Il ignore qu'Alice a Ă©clipsĂ© son nƓud et il ne soupçonne rien alors qu’elle commande sa voiture de luxe. Elle crĂ©e une transaction, que Bob diffuse ensuite sur le rĂ©seau. Satisfait que le paiement soit en cours, il remet les clĂ©s de la voiture et Alice s'Ă©chappe.

Bien sĂ»r, la transaction n'a pas Ă©tĂ© diffusĂ©e sur le rĂ©seau – Bob n'a fait que la relayer aux nƓuds malveillants d'Alice, qui ne la transmettront pas Ă  des noeuds honnĂȘtes. Alors que cette transaction est bloquĂ©e en limbo, Alice dĂ©pense ces mĂȘmes fonds sur le rĂ©seau (rĂ©el), que ce soit en direction d'une autre partie ou Ă  une adresse qu'elle possĂšde. MĂȘme si la transaction initiale vers Bob est finalement ouverte, elle sera rejetĂ©e car les coins ont dĂ©jĂ  Ă©tĂ© dĂ©pensĂ©s.


Double dépense sur des transactions N-confirmations

LĂ  double dĂ©pense sur des transactions Ă  N-confirmations est similaire Ă  celle utilisĂ©e pour les transactions 0-confirmations, mais nĂ©cessite plus de prĂ©paration. Beaucoup d'entreprises prĂ©fĂšrent attendre un certain nombre de confirmations avant de marquer un paiement comme valide. Pour contourner cette situation, l'attaquant doit Ă©clipser en mĂȘme temps les mineurs et le marchand. Une fois que l'attaquant a Ă©tabli l'ordre auprĂšs du marchand, il transmet une transaction aux mineurs (Ă©clipsĂ©s). La transaction est confirmĂ©e et incluse dans la blockchain – mais cette blockchain n'est pas la chaĂźne que la majoritĂ© du rĂ©seau partage, puisque le mineur est momentanĂ©ment coupĂ© du rĂ©seau.
À partir de lĂ , l'attaquant relaie cette version de la blockchain au marchand, qui libĂšre les marchandises selon la croyance que la transaction a Ă©tĂ© confirmĂ©e. Une fois que les nƓuds Ă©clipsĂ©s rejoignent le rĂ©seau actuel, la blockchain sur laquelle ils croient par erreur ĂȘtre valides se trouve en rĂ©alitĂ© devenue orpheline de celle sur laquelle le reste du rĂ©seau a travaillĂ© (cela comporte des similitudes avec une attaque Ă  51%).


Affaiblissement des mineurs concurrents

Un nƓud Ă©clipsĂ© continuera Ă  fonctionner, aveugle quant au fait d'avoir Ă©tĂ© sĂ©parĂ© du rĂ©seau. Les mineurs continueront Ă  miner des blocs dans le cadre des rĂšgles Ă©tablies par le protocole, mais les blocs ajoutĂ©s seront supprimĂ©s lorsque les noeuds se synchroniseront de nouveau avec des pairs honnĂȘtes. 

ThĂ©oriquement, une attaque Ă  grande Ă©chelle contre les plus grands mineurs pourrait ĂȘtre utilisĂ©e pour faciliter une attaque Ă  51 %. Dans l'Ă©tat actuel des choses, le coĂ»t pour prendre en charge la majoritĂ© de la puissance de hachage de Bitcoin est tout simplement bien trop Ă©levĂ© mĂȘme pour le plus riche des attaquants possible – Ă  ~80TH/s, l'entitĂ© aurait besoin de plus de 40TH/s pour tenter une telle manƓuvre. 

Dans un scĂ©nario hypothĂ©tique oĂč ce pouvoir de hachage est rĂ©parti entre 10 parties (chacune possĂšde 8TH/s), l'attaquant peut rĂ©duire considĂ©rablement les exigences d'une attaque Ă  51 % en coupant ces parties du rĂ©seau. Si cinq sont Ă©clipsĂ©es, 40TH/s sont retirĂ©s de la course pour trouver le bloc suivant, et l'attaquant a seulement besoin d'acquĂ©rir un peu plus de 20TH/s pour prendre le contrĂŽle du rĂ©seau.

D'autres sabotage pouvant ĂȘtre rĂ©alisĂ©s en Ă©clipsant des cibles incluent la manipulation de nƓuds pour du minage Ă©goĂŻste, ou l'ingĂ©nierie de courses entre mineurs pour trouver le bloc suivant.


Atténuation

Avec suffisamment d'adresses IP, un attaquant peut Ă©clipser n'importe quel nƓud. La mĂ©thode la plus simple pour Ă©viter que cela ne se produise est de bloquer les connexions entrantes, et de ne faire que des connexions sortantes vers des nƓuds spĂ©cifiques (comme ceux qui ont Ă©tĂ© mis en liste blanche par d'autres pairs). Toutefois, comme le souligne le document de recherche, il ne s’agit pas d’une approche qui fonctionne Ă  grande Ă©chelle – si tous les participants adoptent ces mesures. les nouveaux nƓuds ne seront pas en mesure de rejoindre le rĂ©seau.

Les auteurs proposent une poignée de modifications pour le logiciel Bitcoin, dont certains ont été intégrées depuis la publication du papier. Ces derniÚres rendent les attaques à éclipses plus coûteuses par le biais de modifications mineures du code, telles que la sélection aléatoire de nouvelles connexions et une plus grande capacité de stockage des adresses.


En conclusion

Les attaques Eclipse se rĂ©alisent au niveau du rĂ©seau de pair-Ă -pair. DĂ©ployĂ©es comme attaques autonomes, elles peuvent se rĂ©vĂ©ler quelque peu gĂȘnantes. Leur vĂ©ritable efficacitĂ© est de potentialiser d'autres attaques qui ont un impact financier ou de fournir Ă  l'attaquant un avantage sur les autres mineurs.

Au final, il ne s'est encore jamais produit d'attaque éclipse ayant eu des conséquences sérieuses, mais la menace existe toujours malgré les contre-mesures intégrées dans le réseau. Comme pour la plupart des vecteurs d'attaque qui existent pour Bitcoin et d'autres crypto-monnaies, la défense la plus forte sera celle qui rend financiÚrement irréalisable les tentatives d'attaque de la part de parties malveillantes.

Partager des publications
S’inscrire pour un compte.
Mettez vos connaissances en pratique en ouvrant un compte Binance dùs aujourd’hui.