Partager cet article

Tout ce que vous avez toujours voulu savoir sur l'attaque « Flash Loan » de la DeFi

Voici une analyse en anglais simple des attaques bZx et de leurs implications plus larges pour les Marchés DeFi en plein essor.

Il existe désormais une étude de cas sur la façon dont la DeFi peut mal tourner.

La Suite Ci-Dessous
Ne manquez pas une autre histoire.Abonnez vous à la newsletter The Protocol aujourd. Voir Toutes les Newsletters

bZx, le huitième plus grand projet de Finance décentralisée selon DeFi Pulse, a subi deux attaques le week-end dernier suite à l'introduction des « prêts flash », une nouvelle fonctionnalité DeFi qui limite le risque d'un trader tout en améliorant la hausse.

Dirigée par le PDG Tom Bean, l'équipe bZx participait vendredi à ETHDenver, une importante conférence sur Ethereum dans la capitale du Colorado, lorsqu'un attaquant inconnu drainé environ 350 000 $valeur deéther (ETH) de Fulcrum, la plateforme de prêt de la startup. En tant que l'autopsie de l'entreprise décrit, l'attaquant a profité des données de tarification et d'un bug dans le code du protocole bZx pour sécuriser le paiement.

bZx a rapidement fermé Fulcrum en utilisant une clé principale résolument non décentralisée. Les utilisateurs et les analystes ont constaté qu'une mise à jour était arrivée sur GitHub (https://github.com/bZxNetwork/bZx-monorepo/commit/7cfebd9e289d1f7ee541d5a7556e3f679fa216af), le dépôt de code, qui aurait verrouillé les fonds menacés.

Les échanges ont repris ce week-end, l'entreprise ayant annoncé son intention de limiter les dégâts par divers moyens, notamment en liquidant les garanties pour rembourser un prêt désormais non couvert, en constituant un fonds d'assurance et en répartissant les pertes entre les utilisateurs de la plateforme. Malgré cet incident choquant, les traders ayant déposé de l'argent sur bZx ne ressentiront pratiquement pas les effets de l'attaque.

Le correctif de code de bZx pour la première attaque, selon la société de sécurité blockchain Peckshield
Le correctif de code de bZx pour la première attaque, selon la société de sécurité blockchain Peckshield

Mais ce n'était T tout. Le mardi 18 février, des pirates ont de nouveau attaqué bZx, empochant 633 000 $.

Bien que les sommes d'argent perdues soient encore relativement faibles pour le monde de la Cryptomonnaie, les attaques démontrent l'entrée de DeFi dans la cour des grands et l'attention qu'elle recevra désormais de la part des manipulateurs et des voleurs.

Si tout cela vous donne le vertige, vous êtes au bon endroit. La Technologies blockchain était déjà suffisamment complexe et abstraite avant que les gens ne commencent à développer des services de prêt et de trading basés dessus.

Pour les perplexes, CoinDesk propose l'explication suivante du piratage bZx et de ses leçons plus larges.

La nouvelle frontière

Comme son nom l'indique, la DeFi, ou Finance décentralisée, ambitionne d'offrir un jour une alternative démocratisée au système financier traditionnel, où les particuliers pourront obtenir du crédit de pair à pair sans passer par les banques ou autres intermédiaires. Pour l'instant, cependant, il s'agit d'un terrain de jeu pour les traders, un ONE difficile qui plus est.

Étant donné que les participants ne se connaissent T , les prêts DeFi reposent entièrement sur des garanties. Les actifs numériques tels que Bitcoin (BTC) et l'Ether (la Cryptomonnaie native du réseau Ethereum ) sont notoirement volatiles. Pour y remédier, les applications de prêt DeFi comme MakerDAO vous permettent d'emprunter seulement 75 % de votre garantie disponible.

Si le prix de votre actif commence à baisser par rapport au marché, le contrat intelligent qui sous-tend l'application DeFi vendra votre actif à un prix spot donné afin de protéger les parties qui vous ont prêté de l'argent en échange de votre actif. Imaginez un prêteur sur gages qui ne vous avancerait que 225 $ pour une guitare électrique valant 300 $.

L'écosystème DeFi comprend également des échanges décentralisés (DEX), où les traders échangent des actifs Crypto sans l'autorisation d'une autorité centrale, leurs ordres étant exécutés de manière algorithmique sur la blockchain Ethereum .

Le trading on-chain limite la gamme d'actifs concernés à ceux fonctionnant sur Ethereum (la monnaie native, l'Ether, et diverses variantes de jetons ERC). Mais il permet aux utilisateurs avertis de réaliser des astuces intéressantes, comme nous le verrons bientôt.

Pour qu'un marché du crédit DeFi fonctionne correctement, les prêteurs doivent connaître la valeur des garanties ; ils ont donc besoin d'informations sur les prix. Ces données sont souvent collectées auprès des plateformes d'échange de Crypto . Dans le cas de bZx, la source était Kyber, un DEX.

Le problème est que les informations sur les prix des échanges de Crypto sont partout.

Prenons comme exemple les différences de valeur au comptant entre les cinq principales bourses en termes de volume sur 24 heures pour l'actif numérique le plus liquide, le Bitcoin:

Échantillon des prix du Bitcoin entre les cinq principales plateformes d'échange, par volume sur 24 heures. (Image via Messari)
Échantillon des prix du Bitcoin entre les cinq principales plateformes d'échange, par volume sur 24 heures. (Image via Messari)

Les prix au comptant sont souvent très différents les ONE des autres, car aucune plateforme ne possède de produit de jumelage de Crypto , a déclaré Sergey Nazarov, PDG de Chainlink, une société de données sur les prix des Crypto . Contrairement aux Marchés traditionnels, où les actions Apple, par exemple, se négocient uniquement sur le Nasdaq, en Crypto , la plupart des personnes possédant les compétences techniques nécessaires peuvent s'y intéresser. peuvent lancer un échange sur leur ordinateur portable– en fait, c'est ainsi que les premières bourses ont vu le jour. Agréger les prix sur un marché aussi fragmenté est une tâche herculéenne, a déclaré Nazarov.

Comme sur d'autres Marchés financiers, l'important écart de prix crée également des opportunités de gains pour les traders. C'est là qu'interviennent les prêts flash.

Trop d'informations ? Pour une explication plus simple, écoutez notre podcast « Marchés Daily »..

Prêts flash

Les prêts flash constituent une innovation supplémentaire par rapport à la DeFi et à Ethereum, la blockchain la plus souvent associée au concept de « monnaie programmable ». Le produit a d'abord été lancé par le protocole DeFi Aave en janvier, puis par bZx le 10 février.

En bref, les prêts flash permettent aux traders de contracter des prêts sans garantie pour augmenter le rendement d'une transaction. Pour reprendre l'analogie du prêteur sur gages, vous pouvez emprunter de l'argent sans céder votre guitare.

Pourquoi un prêteur accepterait-il une telle chose, surtout sur un marché où les participants sont anonymes ? Car, comme leur nom l'indique, les prêts flash sont remboursés rapidement, lors de la même transaction.

Qui emprunterait de l'argent juste pour le rembourser immédiatement ? Ce sont des arbitragistes astucieux.

Comme nous l'avons vu, les prix des différents Marchés de Crypto varient pour un actif numérique donné. Un utilisateur peut réaliser un profit QUICK en empruntant des fonds, en achetant à bas prix sur un marché, en vendant à prix élevé sur l'autre, en remboursant le prêt et en empochant le profit. Là encore, tout cela se fait au sein d'une même transaction on-chain, car les Marchés sont des DEX fonctionnant souvent sur Ethereum. L'arbitragiste a simplement dû coder toutes les étapes dans un même programme informatique, appelé contrat intelligent.

De plus, les prêts flash sont quasiment sans risque, du moins pour l'emprunteur. Étant donné que le réseau Ethereum est réglé transactions de manière atomique, ce qui signifie que toutes les transactions sur un carnet sont exécutées ou qu'aucune ne l'est, un trader qui ne peut pas rembourser son prêt avec sa transaction ne perd rien.

Pourquoi ? Parce que la transaction n'a jamais lieu.

Comme Aave écritToutes les transactions, du prêt à l'échange, ont lieu simultanément sur le réseau. Si le réseau constate qu'un prêt éclair ne sera pas remboursé instantanément, il refusera toutes les transactions associées, annulant ainsi l'opération dans son intégralité. Aucun préjudice, aucune faute.

En revanche, si l'opération aboutit, tout est exécuté simultanément, ce qui aboutit à une transaction réussie. Le prêteur perçoit une petite commission, tandis que le trader s'enrichit. Tout le monde y gagne.

Si seulement c'était si simple.

L'attaque

Comme l’ont montré les difficultés du week-end de bZx, les prêts flash peuvent être dangereux lorsqu’ils sont combinés à un code bogué, à des flux de prix bancals ou aux deux.

Au lieu de se contenter d'acheter à bas prix et de vendre à prix élevé, le ou les attaquants ont utilisé les fonds empruntés pour manipuler des Marchés inhabituellement vulnérables. Dans les deux cas, bZx a été désavantagé.

Lors de la première attaque, par exemple, à travers un réseau complexe de transactions, l'attaquant a pompé puis déversé du WBTC (« Wrapped Bitcoin», un jeton Ethereum soutenu par du Bitcoin réel) sur un DEX appelé Uniswap; a pris des bénéfices en ether ; a remboursé le prêt flash – et a volé bzX sur un autre prêt lié au pompage du WBTC .

« La magie sous le capot réside dans le fait que le WBTC/ ETH Uniswap a été manipulé jusqu'à 61,4 pour faire du profit », selon un analyse Par PeckShield, société de sécurité blockchain. « Le cours du WBTC/ ETH a même grimpé jusqu'à 109,8 alors que le cours normal du marché n'était que d'environ 38. Autrement dit, il y a un glissement de prix intentionnel et massif, déclenché à des fins d'exploitation. »

Dans cette attaque, un flux de prix mal configuré n'a certainement pas aidé, mais la faute en incombe au code, a déclaré Jiang Xuxian, PDG de PeckShield, à CoinDesk. Alors qu'un fil de sécurité aurait dû être déclenché lorsque le prix a déraillé, il n'a pas fonctionné, a déclaré Xuxian.

La deuxième attaque a été motivée par de fausses données de prix, provenant notamment du réseau DeFi Kyber, a déclaré Kyle Kistner, cofondateur de bZx, à CoinDesk. Cette fois, l'attaquant s'est concentré sur le Synthetix USD (SUSD), un stablecoin indexé sur le dollar sur le réseau Synthetix .

L'attaquant a emprunté 7 500 ethers sur bZx, puis a gonflé la valeur du SUSD sur Kyber en échangeant des ethers contre des SUSD. L'achat d'une telle quantité de SUSD a fait bondir le prix de 2,5 fois le taux de change en vigueur, soit 1 $.écrit PeckShield.

L'attaquant a ensuite profité de la dépendance de bZx à Kyber pour les données de tarification, en mettant le SUSD en garantie d'une grande somme d'éther sur bZx ; en fait, 2 000 éthers de plus que la même quantité de SUSD aurait normalement été achetée sur un marché ouvert.

Après avoir remboursé le prêt flash, l'attaquant a renié son engagement à rembourser le prêt SUSD/ ETH sous-collatéralisé qui venait d'être contracté sur bZx, ce qui a entraîné un bénéfice net de 2 378 ETH et des boutons de détention de bZx.

Leçons pour la DeFi

Pour les échanges plus petits tels que bZx et DeFi en général, l'association de fonctionnalités financières innovantes comme les prêts flash avec le recours systématique à de mauvaises données de tarification expose les échanges à de nouvelles attaques, a déclaré Nazarov de Chainlink.

« N'utilisez pas une seule bourse spécifique comme source de prix », a déclaré Nazarov. « Si elle devient peu négociée, les gens la regardent et disent : « OK, voici comment je construis un produit par rapport à ce marché ou à cette donnée. »

En fait, l'attaque spécifique contre bZx a été décrite des mois avant qu'elle ne se produise par le hacker white-hat Samczsun dans un document détaillé.article de blog. Comme Samczun l'a écrit à l'époque, émettant l'hypothèse d'un exploit impliquant bZx, le jeton Ethereum connu sous le nom de DAI et un autre échange décentralisé appelé DDEX :

En s'appuyant sur un oracle de prix décentralisé sur la chaîne sans valider les taux affichés, DDEX et bZx étaient vulnérables à une manipulation atomique des prix. Cela aurait entraîné la perte d' ETH liquide sur le marché ETH/ DAI pour DDEX, et la perte de tous les fonds liquides de bZx.

Nazarov a déclaré que le problème n'était pas spécifique à bZx, mais à de nombreuses plateformes de DeFi qui s'appuient sur quelques API de tarification en chaîne. Son entreprise travaille actuellement avec bZx pour résoudre ce problème, a-t-il ajouté.

Kistner a reconnu que l'équipe bZx pensait que les problèmes d'oracle étaient résolus après les révélations de Samczsun et avait même fait auditer le code de manière indépendante. Comme l'a montré l'attaque de mardi, les problèmes n'étaient pas résolus.

« C’est terrible d’avoir consulté des professionnels de la sécurité et d’être ensuite tourné en dérision lorsque vous Réseaux sociaux leurs conseils », a déclaré Kistner.

Comme l’a souligné Nazarov, vous pouvez demander à tous les auditeurs du monde de donner leur feu vert à votre code, mais s’il est basé sur des données médiocres telles que les prix en chaîne, l’échec est inévitable.

« Le risque technique ici ne concerne pas uniquement le code contractuel. Ce code peut être excellent et audité autant que vous le souhaitez. Mais en réalité, vous créez de nouvelles fonctionnalités qui créent de nouvelles surfaces d'application qu'il faut sécuriser », a déclaré Nazarov.

Nazarov a déclaré que ces attaques, bien que regrettables, sont une leçon pour la DeFi en général. Les données de tarification constituent « un problème architectural bien connu » qui doit être résolu, a-t-il ajouté. « Si vous développez une application destinée à gérer les fonds des clients, son automatisation est un atout, mais cela ne signifie T que votre travail est terminé du point de vue de la sécurité, car le contrat est basé sur Ethereum. »

Chez bZx, l'équipe s'est concentrée sur la sécurisation du réseau. Kistner a indiqué que les échanges reprendraient prochainement grâce aux oracles Chainlink pour la tarification, mais qu'aucun nouvel utilisateur ne serait intégré. Pour l'avenir, Kistner a indiqué que bZx chercherait à répliquer l'infrastructure de MakerDAO, le plus grand fournisseur de DeFi.

« Lorsque nous aurons terminé de réorganiser nos processus internes, nous souhaitons établir une norme en matière de sécurité et de transparence », a-t-il déclaré.

William Foxley

Will Foxley est l'animateur de The Mining Pod et éditeur chez Blockspace Media. Ancien coanimateur de The Hash sur CoinDesk, Will était directeur du contenu chez Compass Mining et journaliste spécialisé en technologie chez CoinDesk.

William Foxley