Contenu de cet article
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).
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
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
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.
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.
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.
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.