Incidents associés

Hier, un hacker a réussi le deuxième plus gros braquage de l'histoire des monnaies numériques.
Vers 12h00 PST, un attaquant inconnu a exploité une faille critique dans le portefeuille multi-signatures Parity sur le réseau Ethereum, drainant trois portefeuilles massifs d'une valeur de plus de 31 000 000 $ d'Ether en quelques minutes. Avec quelques heures de plus, le pirate aurait pu s'emparer de plus de 180 000 000 $ provenant de portefeuilles vulnérables.
Mais quelqu'un les a arrêtés.
Après avoir tiré la sonnette d'alarme, un groupe de hackers bienveillants de la communauté Ethereum s'est rapidement organisé. Ils ont analysé l'attaque et réalisé qu'il n'y avait aucun moyen d'inverser les vols, mais que de nombreux autres portefeuilles étaient vulnérables. Le temps était compté, ils n'ont donc vu qu'une seule option disponible : pirater les portefeuilles restants avant que l'attaquant ne le fasse.
En exploitant la même vulnérabilité, les white-hats ont piraté tous les portefeuilles à risque restants et vidé leurs comptes, empêchant ainsi l'attaquant d'atteindre les 150 000 000 $ restants.
Oui, tu l'as bien lu.
Pour empêcher le pirate informatique de braquer d'autres banques, les white-hats ont écrit un logiciel pour braquer toutes les banques restantes dans le monde. Une fois l'argent volé en toute sécurité, ils ont commencé le processus de restitution des fonds à leurs titulaires de compte respectifs. Les personnes qui ont fait économiser leur argent grâce à cet exploit héroïque sont maintenant en train de récupérer leurs fonds.
C'est une histoire extraordinaire, et elle a des implications importantes pour le monde des crypto-monnaies.
Il est important de comprendre que cet exploit n'était pas une vulnérabilité dans Ethereum ou dans Parity lui-même. Il s'agissait plutôt d'une vulnérabilité dans le code de contrat intelligent par défaut que le client Parity donne à l'utilisateur pour déployer des portefeuilles multi-signatures.
Tout cela est assez compliqué, donc pour que les détails soient clairs pour tout le monde, ce message est divisé en trois parties :
Qu'est-il exactement arrivé? Une explication d'Ethereum, des contrats intelligents et des portefeuilles multi-signatures. Comment ont-ils fait ? Une explication technique de l'attaque (spécifiquement pour les programmeurs). Et maintenant? Les implications de l'attaque sur l'avenir et la sécurité des contrats intelligents.
Si vous connaissez Ethereum et le monde de la cryptographie, vous pouvez passer à la deuxième section.
- Que s'est-il passé exactement ?
Il y a trois éléments constitutifs de cette histoire : Ethereum, les contrats intelligents et les portefeuilles numériques.
Ethereum est une monnaie numérique inventée en 2013, 4 ans après la sortie de Bitcoin. Depuis, il est devenu la deuxième plus grande monnaie numérique au monde en termes de capitalisation boursière – 20 milliards de dollars, contre 40 milliards de dollars pour Bitcoin.
Comme toutes les crypto-monnaies, Ethereum est un descendant du protocole Bitcoin et améliore la conception de Bitcoin. Mais ne vous y trompez pas : bien qu'il s'agisse d'une monnaie numérique comme Bitcoin, Ethereum est beaucoup plus puissant.
Alors que Bitcoin utilise sa blockchain pour implémenter un registre de transactions monétaires, Ethereum utilise sa blockchain pour enregistrer les transitions d'état dans un gigantesque ordinateur distribué. La monnaie numérique correspondante d'Ethereum, l'éther, est essentiellement un effet secondaire de l'alimentation de cet ordinateur massif.
Pour le dire autrement, Ethereum est littéralement un ordinateur qui couvre le monde entier. Quiconque exécute le logiciel Ethereum sur son ordinateur participe aux opérations de cet ordinateur mondial, la machine virtuelle Ethereum (EVM). Parce que l'EVM a été conçu pour être Turing-complet (en ignorant les limites de gaz), il peut faire presque tout ce qui peut être exprimé dans un programme informatique.
Permettez-moi d'être catégorique: c'est un truc de fou. Le monde de la cryptographie est en ébullition quant au potentiel d'Ethereum, qui a vu sa valeur monter en flèche au cours des 6 derniers mois.
La communauté des développeurs s'est ralliée à cela, et il y a beaucoup d'enthousiasme quant à ce qui peut être construit au-dessus de l'EVM - et cela nous amène aux contrats intelligents.
Les contrats intelligents sont simplement des programmes informatiques qui s'exécutent sur l'EVM. À bien des égards, ils ressemblent à des contrats normaux, sauf qu'ils n'ont pas besoin d'avocats ou de juges pour les interpréter. Au lieu de cela, ils sont compilés en bytecode et interprétés sans ambiguïté par l'EVM. Avec ces programmes, vous pouvez (entre autres) transférer par programmation de la monnaie numérique en vous basant uniquement sur les règles du code de contrat.
Bien sûr, il y a des choses que les contrats normaux font que les contrats intelligents ne peuvent pas faire – les contrats intelligents ne peuvent pas facilement interagir avec des choses qui ne sont pas sur la blockchain. Mais les contrats intelligents peuvent également faire des choses que les contrats normaux ne peuvent pas, comme appliquer un ensemble de règles entièrement grâce à une cryptographie incassable.
Cela nous amène à la notion de portefeuilles. Dans le monde des monnaies numériques, les portefeuilles sont la façon dont vous stockez vos actifs. Vous accédez à votre portefeuille en utilisant essentiellement un mot de passe secret, également appelé clé privée (un peu simplifié).
Il existe de nombreux types de portefeuilles différents qui confèrent différentes propriétés de sécurité, telles que les limites de retrait. L'un des types les plus populaires est le portefeuille multi-signatures.
Dans un portefeuille multi-signatures, il existe plusieurs clés privées qui peuvent déverrouiller le portefeuille, mais une seule clé ne suffit pas pour vous