Hack Wintermute répliqué sur un simple ordinateur portable en moins de 48 heures en exploitant la faille Profanity

Lecture 8 minutes
Xeggex

Amber Group, un fournisseur de technologie blockchain, a reproduit le piratage Wintermute en moins de 48 heures à l’aide d’un ordinateur portable de base. Un rapport du groupe Ambre a déclaré,

« Nous avons utilisé un Macbook M1 avec 16 Go de RAM pour précalculer un ensemble de données en moins de 10 heures… Nous avons terminé l’implémentation et avons pu casser la clé privée de 0x0000000fe6a514a32abdcdfcc076c85243de899b en moins de 48 heures.

Le piratage a été attribué à des adresses personnalisées créées avec l’outil Profanity, permettant aux utilisateurs de générer des adresses Ethereum spécifiques avec des caractères particuliers. Dans le cas de Wintermute, l’adresse contenait sept zéros non significatifs. Les adresses personnalisées permettent aux comptes d’avoir des caractères similaires, ce qui facilite l’identification des adresses publiques sur la blockchain.

Un autre impact d’une adresse Ethereum avec plusieurs zéros en tête est une réduction des frais de gaz en raison de l’espace réduit nécessaire pour stocker les informations sur la blockchain. Cependant, la suppression d’un élément aléatoire du processus cryptographique utilisé pour générer l’adresse se fait au prix d’une sécurité réduite.

L’analyse initiale a suggéré qu’il faudrait seulement 50 jours à 1 000 GPU pour générer toutes les clés privées possibles pour les adresses commençant par sept zéros non significatifs. Cependant, Amber Group affirme maintenant qu’il peut être réalisé en utilisant un seul ordinateur portable en moins de 48 heures.

La cryptographie expliquée

Profanity est un outil de génération d’adresses pour l’écosystème Ethereum. La base de code peut être facilement téléchargée depuis GitHub et est disponible depuis 2017. Cependant, la version actuelle de la base de code inclut un avertissement déconseillant l’utilisation de l’outil. Le créateur de l’outil, Johguse, a ajouté le message suivant au fichier readme.md le 15 septembre 2022.

« Je déconseille fortement d’utiliser cet outil dans son état actuel. Ce référentiel sera bientôt mis à jour avec des informations supplémentaires concernant ce problème critique.

De plus, les fichiers binaires principaux ont été supprimés pour empêcher les utilisateurs de compiler la base de code « afin d’empêcher toute utilisation non sécurisée de cet outil ».

Le Profanity utilise la « puissance GPU locale avec OpenCL via un algorithme simple » pour générer des clés privées et publiques Ethereum jusqu’à ce qu’il trouve une adresse qui correspond aux règles définies par l’utilisateur. Par exemple, si un utilisateur souhaite créer une adresse Ethereum se terminant par « AAA », il continuera à fonctionner jusqu’à ce qu’il génère une adresse avec ces caractères comme suffixe.

Lorsqu’une adresse générée ne correspond pas aux conditions détaillées dans l’ensemble de règles, Profanity « ajoute 1 à la clé privée et dérive une nouvelle adresse Ethereum jusqu’à ce qu’elle trouve celle qui correspond aux règles ».

Les adresses Ethereum sont généralement générées localement à l’aide de la cryptographie à courbe elliptique. Lors de la génération d’une adresse Ethereum, aucun calcul n’est effectué pour vérifier si la clé privée a été utilisée dans le passé pour une autre adresse. Cependant, cela est dû au grand nombre d’adresses Ethereum possibles.

Cette vidéo explique la véritable ampleur du cryptage 256 bits utilisé dans la cryptographie d’Ethereum. Une comparaison simple peut également être faite en ce sens qu’il y a environ 2 ^ 76 grains de sable dans le monde mais 2 ^ 160 adresses Ethereum possibles.

Cependant, lorsque des caractères des adresses Ethereum sont prédéterminés, le calcul pour générer la clé privée devient beaucoup plus simple et le nombre d’adresses possibles est considérablement réduit.

L’exploitation

Amber Grouped a expliqué que le défaut de la méthode Profanity provient de l’utilisation d’une graine 32 bits pour générer des adresses.

« Pour générer une clé privée aléatoire, Profanity utilise d’abord le dispositif aléatoire pour générer une graine. Mais malheureusement, la graine est de 32 bits, qui ne peut pas être utilisée directement comme clé privée.

La graine 32 bits est alimentée par un générateur de nombres pseudo-aléatoires (PRNG) qui utilise une fonction déterministe. Cette méthode PRNG se traduit par un moyen simple de déterminer toutes les graines de clés publiques viables utilisées dans Profanity.

« Puisqu’il n’y a que 2 ^ 32 paires de clés initiales possibles (d_0,0, Q_0,0) et l’itération à chaque tour est réversible, il est possible de casser la clé privée à partir de n’importe quelle clé publique générée par Profanity.

La méthode utilisée par Amber Group consistait à acquérir la clé publique de l’adresse, à précalculer les éventuelles clés publiques Profanity, à calculer les clés publiques à l’aide d’OpenCL, à comparer les clés publiques calculées, puis à reconstruire la clé privée une fois qu’une correspondance est trouvée.

En raison de la simplicité de la méthode, Amber Group recommande que « vos fonds ne soient pas en sécurité si votre adresse a été générée par Profanity ».

Amber Group a dit CryptoSlate que, en ce qui concerne la nécessité d’un meilleur algorithme cryptographique, « la réponse est évidemment oui… l’industrie peut voir à quel point ce type de conception est vulnérable ».

Source https://cryptoslate.com/wintermute-hack-replicated-on-simple-laptop-in-under-48-hours-by-exploiting-profanity-flaw/

Crypto Week

Avertissement : Crypto Week ne fournit pas de conseils financiers de quelque manière que ce soit. Nous ne vous recommandons pas d'investir de l'argent dans une crypto-monnaie ou un actif financier sans avoir effectué des recherches approfondies. Nous ne sommes pas responsables de vos décisions financières de quelque manière que ce soit.

Derniers articles de Featured Posts