Liquid Network perd 320 millions $ en BTC suite à un exploit

Des hackers white-hat ont retiré 4 000 BTC via une faille de validation de transaction, en restituant la majeure partie après correction

Liquid Network perd 320 millions $ en BTC suite à un exploit
  • Un groupe se présentant comme des hackers white-hat a retiré 320 millions $ en BTC de la réserve du Liquid Network en exploitant une faille de validation de transaction.
  • La vulnérabilité permettait aux acteurs de générer des jetons L-BTC sans déposer de bitcoin en garantie, puis d’échanger ces jetons contre de vrais BTC détenus sur le réseau.
  • Le groupe a restitué 3 400 BTC après que Blockstream a corrigé le logiciel ; environ 600 BTC, d’une valeur de 47 millions $, sont restés sous leur contrôle.

Durant le week-end, des individus se présentant comme des hackers white-hat ont exploité Liquid Network et retiré 320 millions $ en bitcoin qui auraient dû rester bloqués. Ils ont drainé environ 4 000 des 4 200 BTC détenus sur Liquid Network, une sidechain de Bitcoin conçue pour des transactions plus rapides et moins coûteuses. Les jetons L-BTC sur Liquid représentent normalement des bitcoins déposés selon un ratio un pour un.

L’exploit a rompu cet ancrage. Les acteurs ont généré des L-BTC sans d’abord déposer les BTC correspondants, puis ont échangé ces jetons non adossés contre de véritables bitcoins déposés par d’autres utilisateurs dans Liquid. Après avoir déplacé les BTC, ils ont contacté Blockstream — le développeur du réseau —, se présentant comme des whitehats et proposant de restituer la majeure partie des fonds retirés une fois le bug corrigé par Blockstream.

Dès mercredi, Blockstream avait déployé un logiciel corrigé et Liquid Network avait récupéré 85 % de la somme dérobée. Les 47 millions $ restants sont restés avec les acteurs. Mardi, Liquid Network a indiqué que les discussions se poursuivaient avec les prétendus whitehats concernant la restitution des fonds restants.

L’incident a révélé une faille dans les mécanismes de Liquid pour la génération et le rachat des L-BTC, bien que Bitcoin lui-même soit resté sécurisé tout au long de l’affaire.

Faille logicielle dans la validation des transactions

La vulnérabilité permettait aux acteurs de tromper Liquid et de faire accepter des L-BTC sans garantie en bitcoin. Une fois acceptés, ils convertissaient ces L-BTC non adossés en BTC réels issus de la réserve du réseau.

La faille résidait dans la manière dont Liquid vérifiait les transactions. Liquid s’appuie sur les Confidential Transactions, qui masquent les montants des transactions et nécessitent des preuves cryptographiques pour valider leur légitimité. Les range proofs font partie de ces contrôles, empêchant la création d’actifs à partir de rien.

La vérification des preuves exige des ressources de calcul, donc le logiciel de Liquid mettait en cache les résultats de vérification réussis afin d’éviter des contrôles redondants sur des données identiques. Un défaut dans le système d’identification de ces résultats mis en cache signifiait que de nouvelles données pouvaient être confondues avec des données déjà approuvées.

Les acteurs ont exploité cela en soumettant d’abord des données valides, qui passaient la vérification et étaient mises en cache. Ils ont ensuite soumis d’autres données, invalides cette fois, mais qui faisaient référence au même résultat mis en cache. Les nœuds concernés considéraient alors ces nouvelles données comme déjà vérifiées, sans effectuer de nouveau contrôle. Cela a permis aux acteurs de créer des L-BTC non adossés et de les échanger contre de vrais bitcoins.

Messages onchain entre les acteurs et Blockstream

Les acteurs ont utilisé le champ OP_RETURN de Bitcoin pour communiquer avec Blockstream dans les heures suivant l’exploit. Leurs messages onchain mêlaient du texte en clair et du contenu chiffré.

Dans un premier message en clair, les acteurs ont indiqué qu’ils restitueraient les BTC une fois que Blockstream aurait corrigé la vulnérabilité ayant permis le vol. Ils ont précisé que la chaîne restait vulnérable au dernier commit et ont demandé à Blockstream de s’assurer que chaque nœud soit corrigé.

Après que Blockstream a confirmé onchain que ses bridge nodes étaient corrigés et que les fonds pouvaient être restitués en toute sécurité, les acteurs ont renvoyé 3 400 BTC — soit environ 85 % du montant retiré — en une seule transaction. Cette même transaction a renvoyé le reste, soit environ 600 BTC, en change vers une adresse contrôlée par les acteurs.

À mardi, ces 600 BTC, d’une valeur d’environ 47 millions $, restaient sous le contrôle des acteurs. On ignore pourquoi ces fonds n’ont pas été restitués. Certains observateurs ont émis l’hypothèse que ces fonds restants pourraient faire office de prime, mais ni Blockstream ni les acteurs n’a confirmé publiquement un tel arrangement.

Blockstream a depuis annoncé avoir déployé une version logicielle mise à jour et prépare le redémarrage du réseau.

Populaires

Envoyer une demande

Laisser une demande

Comment vous contacter ?

Indiquez votre identifiant Telegram ou votre e-mail, selon le mode de contact choisi.