La blockchain n’est pas le système infaillible qu’on pensait

Publié le par Thibault Prévost,

Crédit: FlickrCC

La technologie décentralisée, qui promettait d'être inviolable, se découvre vulnérable à une attaque informatique ravageuse.

A voir aussi sur Konbini

Désolé d’avance pour les apôtres de la blockchain, mais il s’avère qu’elle n’est pas la solution miracle à tous nos problèmes de sécurité informatique que beaucoup d’entre eux nous vendaient encore il y a quelques années. L’adage favori du monde des hackers “No system is safe”, est sans pitié, n’en déplaise aux révolutionnaires des cryptomonnaies et de la démocratie décentralisée.

Publicité

Le 19 février, un article du MIT Technology Review faisait tomber la sentence : la blockchain, comme tout système informatique, est vulnérable. C’est un système bien conçu, ce qui lui a longtemps permis de se parer des atours de l’inviolabilité, mais qui est en train de se découvrir, horrifié, de hideuses failles de sécurité.

Publicité

Pour vous donner une idée, le MIT Technology Review rappelle que depuis début 2017, plus de deux milliards de dollars ont été volés en cryptomonnaies, la plupart des vols ayant été réalisés en exploitant les grandes places d’achat et de vente de bitcoins, ethers et autres monnaies reposant sur la blockchain. Le 9 janvier dernier, cependant, la technologie est entrée dans une nouvelle ère : un hacker, ou un groupe de hackers, est parvenu à pirater Ethereum Classic, une variante d’Ethereum, en prenant le contrôle puis en réorganisant sa blockchain (soit l’archive de toutes les transactions effectuées entre les utilisateurs de cette monnaie) pour effectuer des “doubles dépenses” – l’équivalent informatique de payer avec des chèques en blanc – et de s’en tirer.

La somme de 1,1 million d’euros en Ethereum Classic a été dérobée sur deux plateformes d’échange, Coinbase (la plus connue) et Gate.io. Sur la première, grâce à cette technique, aucun utilisateur ne perdra sa cryptomonnaie. Gate.io perdra 200 000 dollars… et le voleur rendra la moitié de la somme à la plateforme dès le lendemain, sans explication. Dans la communauté des cryptomonnaies, l’annonce de cette attaque est un choc. Comme le rappelait le MIT Technology Review, il y a un an encore, le scénario d’une “attaque aux 51 %” était jusque-là purement théorique. En 2019, cependant, plus aucune attaque ne semble impossible.

Publicité

Petit rappel sur la blockchain

Alors, comment hacke-t-on une blockchain ? Avant toute chose, rappelons la base : la blockchain, c’est une base de données d’opérations entre utilisateurs, chiffrée et répartie sur des milliers (voire des millions) de serveurs dans le monde. Chaque machine connectée à la blockchain s’appelle un nœud, et est chargée de vérifier que les nouvelles transactions (les “blocs”) ajoutés à la chaîne sont en accord avec le protocole qui gouverne le système.

Cela évite que les utilisateurs ne trichent en dépensant des cryptomonnaies qu’ils n’ont pas. Cette vérification permanente est dite “proof-of-work”, et revient grosso modo à mettre les ordinateurs des utilisateurs en compétition pour résoudre des équations de “hachage”. La machine qui parvient la première à la solution mathématique “mine” de la monnaie (c’est-à-dire qu’elle en crée au rythme prévu par l’algorithme), ce qui rémunère ses propriétaires.

Publicité

Le chiffrement des données (qui garantit l’anonymat aux utilisateurs), leur transparence (chacun peut vérifier l’historique des transactions de chacun à tout moment), leur décentralisation (qui rend la chaîne de transaction impossible à contrefaire) et leur absence de gouvernance humaine (chaque blockchain est gérée par un algorithme, dont le code n’appartient à personne) font de la blockchain une alternative gratuite aux corps intermédiaires financiers (les banques, que nous payons pour vérifier la validité des transactions), scientifiques (les revues font du profit sur la vérification des études qu’on leur soumet), voire politiques (la blockchain porte la promesse d’une démocratie directe, dans lequel la probité des votants serait absolument garantie).

Ça rend les gens riches, ça sécurise les marchés financiers, ça permet d’acheter des trucs illégaux en tout anonymat et ça rend potentiellement des élus locaux inutiles : autant dire que tout le monde s’y intéresse.

Attaque à 51 %, mode d’emploi

Malheureusement, nous sommes en 2019, et l’attaque perpétrée contre Ethereum Classic se base sur une situation en théorie impossible : que 51 % de la puissance totale de calcul du système appartienne, même brièvement, à une seule entité.

Publicité

Dans cette situation, l’attaquant peut acheter des trucs avec sa cryptomonnaie (au hasard, une berline de luxe ou 10 grammes de DMT) avant de créer une blockchain parallèle privée, appelée “fork”, dans laquelle la transaction n’a jamais eu lieu. Il continue d’alimenter discrètement cette fork dans son coin, bloc valide après bloc valide, pour qu’elle imite au mieux l’originale. Cette fork sera ensuite partagée par l’attaquant au moment opportun comme la version prioritaire du système, une fois que celui-ci (grâce à une puissance de calcul plus importante) aura “dépassé” la vitesse de création de blocs de la chaîne “officielle”. Voilà comment fonctionne une attaque à 51 %.

Sauf qu’en théorie, personne ne peut prendre le contrôle de 51 % de la puissance de calcul d’une blockchain. Le minage est devenu une activité férocement concurrentielle, un marché sur lequel des entreprises règnent, en rivalisant de hangars remplis de cartes graphiques pour miner le plus de monnaie possible.

Les cryptomonnaies sont devenues un tel Léviathan que le seul Bitcoin consomme autant d’énergie qu’un million de vols transatlantiques par an. Prendre le contrôle des blockchain les plus connues, comme le bitcoin ou l’ethereum, serait extraordinairement lucratif, mais extrêmement cher et compliqué, car il faudrait louer une formidable puissance de calcul. Selon l’appli Crypto51, il en coûterait 260 000 dollars par heure pour le bitcoin. Pour Ethereum Classic, il en aura coûté 4 700 dollars l’heure. Et ça, prévient The Verge, ça n’annonce rien de bon pour les cryptomonnaies.

Publicité

Être vulnérable, c’est normal

Car il n’y a pas, justement, que le bitcoin. Avec 1 600 cryptomonnaies en circulation (et la majorité d’entre elles étant peu connues), les hackers ont l’embarras du choix – le tout est de trouver l’équilibre entre une cryptomonnaie qui nécessite peu de puissance de calcul pour atteindre les 51 %, tout en possédant suffisamment d’utilisateurs et de volume monétaire en circulation.

Ethereum Classic, sorte de petit-cousin d’Ethereum, était une cible de choix. En 2018, rappelle le MIT Technology Review, des attaques à 51 % ont commencé à viser des monnaies périphériques comme Verge, Monacoin ou Bitcoin Gold, avec un butin estimé à 20 millions de dollars. L’attaque de janvier contre Ethereum était la première contre une monnaie du top 20.

Selon le MIT Technology Review, la tendance devrait s’accroître dans les prochains mois et années, au point de pousser les grandes plateformes d’échange à la prudence quant aux cryptomonnaies qu’elles acceptent. Conséquence de ce darwinisme économique, les cryptomonnaies les moins connues, sans aucune place où s’échanger, pourraient vite dépérir. Cependant, la vulnérabilité croissante aux attaques de 51 % ne remet pas en cause la magie du principe de chaîne décentralisée. Elle brise simplement le mythe de son inviolabilité, sous certaines conditions encore difficiles à réunir. Tant mieux : un système qui se sait faillible est un système résilient.