Indexed Finance - REKT



16 millions de dollars ont été soustraits de Indexed Finance.

Voilà un protocole de plus à ajouter au registre de rekt, et 16 millions de dollars qui s’ajoutent à notre classement.

Nous publierons toujours nos histoires sur Twitter, mais, si vous voulez vous entretenir personnellement avec les protagonistes, le meilleur endroit pour vous reste encore le groupe Telegram de rekt.news.

Peu après l'attaque, le Dr Laurence Day, un contributeur clé d'Indexed Finance et fidèle lecteur de rekt, a fait voir aux membres du groupe rekt qu'il essayait de communiquer avec le hacker on-chain :

C’est Indexed Finance.

Vous avez deux minutes ?

Indexed Finance offre aux investisseurs 6 indices, chacun étant une pool de divers actifs. Chaque pool d'indices a son propre token dont le prix devrait être une moyenne pondérée des actifs sous-jacents.

Le 14 octobre, à 18h37 UTC, une attaque visant les pools DEFI5 et CC10 a été menée. Le "Future of Finance Fund" (FFF) en a également subit les conséquences, les tokens DEFI5 et CC10 représentant 37,05 % de ses actifs sous-jacents.

Plus de détails sur l'exploit peuvent être consultés dans le post-mortem officiel, ainsi que sur le fil twitter de Mudit Gupta.

Dillon Kellar, l'unique développeur responsable de l'écriture du code original d'Indexed Finance, a rendu publiques ses réflexions dans un fil Twitter.

Le code régissant les pools d'indices est issu du contrat Balancer Pool. Cela permet le rééquilibrage interne des actifs au sein de la pool sur une courbe de produit constante.

La fonction extrapolatePoolValueFromToken se base sur le "premier token de la pool dont le poids cible est supérieur à 0 et qui est entièrement initialisé" pour calculer la valeur totale de la pool.

total_value = token_balance * total_weight / token_weight

Afin de maîtriser le slippage, la vitesse à laquelle les changements de poids qui en résultent sont appliqués au sein de la pool est restreinte, ce qui crée un écart temporaire qui laisse le champ libre à la manipulation.

L'adresse de l'assaillant a été approvisionnée via Tornado Cash quelques heures avant l'attaque : 0xba5ed1488be60ba2facc6b66c6d6f0befba22ebe

Les pools DEFI et CC10 ont été attaquées de la même manière. On peut consulter cette transaction concernant l'attaque sur la pool DEFI5.

L'assaillant a pu tirer parti de ce qui est mentionné ci-dessus en recourant à des flash loans des autres actifs de la pool pour racheter des UNI, diminuant ainsi la valeur extrapolée en raison du retard dans la mise à jour de la diminution du poids des UNI.

Tout cela s'est fait progressivement dans la mesure où la "pool n'autorise pas les swaps permettant d'envoyer plus de 1/2 du solde existant de la pool dans un token ou d'acheter plus de 1/3 du solde de la pool dans un token".

Après avoir call la fonction updateMinimumBalance en utilisant la valeur de la pool simulée, le controller a évalué la pool à seulement 29 851 SUSHI (~300k$), "bien que la pool ait reçu plus de cent millions de dollars d'autres actifs".

Une fois préparé, l'assaillant pouvait déposer des montants relativement faibles de SUSHI (maintenant fortement surpondérés) dans la pool, mintant en retour un nombre massivement gonflé de tokens DEFI5.

Ceux-ci étaient ensuite échangés contre les actifs de la pool.

Au total, environ 16 millions de dollars d'actifs divers ont été volés par l'assaillant. Au moment de la rédaction de cet article, ces actifs se trouvent toujours à cette adresse.

Pour faire suite au post-mortem officiel, Doctor Day a publié cette déclaration :

Le véritable coup de couteau a été de réaliser que nous croyons savoir qui a fait cela : nous avons parlé avec lui assez longtemps avant la réalisation de cette attaque.

Dès le 15 septembre, nous avons été contactés par un utilisateur du Discord utilisant le pseudonyme "UmbralUpsilon" (actuellement BogHolder#1688), qui nous a posé quelques questions sur la manière dont certains paramètres étaient utilisés dans l'oracle. Comme chaque composant d'Indexed est open-source, nous avons répondu à ces questions. Puis, lorsque nous lui avons demandé pourquoi il s'intéressait à cela, nous avons appris que cet utilisateur tentait de créer un bot d'arbitrage pour les pools.

Ceci est une partie essentielle de la façon dont Indexed génère des revenus (commissions de sortie sur les burns lors de l'arbitrage de la NAV des tokens et de leur valeur sur les DEX), et nous étions heureux de répondre aux questions sur les mécanismes, en expliquant comment les réindexations fonctionnent, le calendrier des repondérations, la façon dont les tokens sont ajoutés et retirés des listes d'actifs candidats, etc. Nous n'avions aucune raison de nous inquiéter : toutes ces conversations étaient menées dans l'esprit de collaboration open-source.

Nous savons (grâce à @pcaversaccio) que l'exploiteur a réclamé de l'Ether Kovan testnet via Gitter, en utilisant le compte Twitter (mort, vraisemblablement créé pour les besoins de l'attaque) @ZetaZeroes. Nous l'avons contacté via Gitter et lui avons transmis le message suivant.

Nous nous adressons maintenant directement à l'exploiteur, si jamais il lit ceci : vous êtes manifestement incroyablement doué. Voilà quelque chose qui a été négligé durant dix mois de production, et vous êtes le seul à l'avoir trouvé. Mais il aurait été beaucoup plus productif pour vous de choisir de travailler avec nous : soyez l'antihéros de cette histoire plutôt que le méchant. Gardez 10% comme récompense de whitehat, et épargnez à beaucoup de gens l'effort d'impliquer les forces de l'ordre.

Les personnes touchées par ce problème sont celles qui essaient de diversifier les risques au sein d'un espace volatile. C'est en partie ce qui rend cette affaire particulièrement cruelle : personne ne mérite de se faire dérober ses fonds, mais le contexte est ici d'une telle ironie qu'on ne peut l'ignorer.

Notre porte reste ouverte, et cela fera une note de bas de page bien plus satisfaisante pour notre apparition sur rekt.news.

Des paroles pleines de sagesse de la part du Docteur Doxxed, qui a été mis sur la sellette sans que cela ne soit de sa faute.

Les dégâts causés par cet assaillant ne sont pas seulement financiers.

Aucun développeur de la DeFi ne devrait avoir à recevoir des menaces de mort.

L'anonymat est-il l'unique moyen de rester en sécurité ?


partager cet article

REKT sert de plateforme publique pour des auteurs anonymes, nous déclinons toute responsabilité quant aux opinions ou contenus hébergés sur REKT.

faites un don (ETH / ERC20): 0x3C5c2F4bCeC51a36494682f91Dbc6cA7c63B514C

avertissement:

REKT n'est responsable en aucune manière du contenu publié sur notre site Web ou en lien avec nos Services, qu'il soit publié ou occasionné par l'Auteur Anon de notre site Web, ou par REKT. Bien que nous fournissions des règles pour la conduite et les publications de l'Auteur Anon, nous ne contrôlons pas et ne sommes pas responsables de ce que l'Auteur Anon publie, transmet ou partage sur notre site Web ou nos Services, et ne sommes pas responsables de tout contenu offensant, inapproprié, obscène, illégal ou autrement répréhensible que vous pourriez rencontrer sur notre site Web ou nos Services. REKT ne saurait être tenu responsable de la conduite, en ligne ou hors ligne, de tout utilisateur de notre site Web ou de nos services.