Hack DeFi : plus de peur que de mal pour Transit Swap
Nouvelle semaine, nouvelle attaque – L’écosystème de la finance décentralisée est en permanence la cible d’attaques informatiques. Ainsi, les hackers décèlent chaque semaine des failles permettant de dérober des millions de dollars aux utilisateurs. Que ce soit sur Ethereum ou sur d’autres chaines EVM-compatible, aucune blockchain n’est épargnée.
21 millions de dollars dérobés sur Transit Swap
Transit Swap est un agrégateur d’échange décentralisé cross-chain. Ainsi, le protocole intègre les DEX les plus populaires à travers plusieurs blockchains. En pratique, cela permet d’effectuer des swaps sur la plateforme et la chaîne la plus rentable.
Malheureusement, samedi 1er octobre, les équipes de PeckShield ont alerté la communauté qu’une attaque avait été détectée. Au moment de l’annonce, le montant dérobé était estimé à 15 millions de dollars. Ce montant sera ensuite réévalué à la hausse avec une perte totale de 21 millions de dollars.
« Il semblerait qu’un problème de composabilité ou de confiance mal placée ait été détecté dans le contrat de swap de TransitFinance. Cela a entraîné la perte de >15M$. »
Deux heures après l’annonce de PeckShield, les équipes de Transit Swap ont mis en pause le contrat afin de protéger les fonds restants et mener l’enquête.
Il est rapidement apparu que l’attaque avait été rendue possible par un bug dans le code. Ainsi, comme le rapportent nos confrères de Rekt, l’attaquant a été en mesure de siphonner les wallets des utilisateurs ayant approuvé le contrat de swap de Transit Swap.
« Bien que la vulnérabilité se trouvait dans le code du projet, cette attaque visait directement les utilisateurs via une vulnérabilité dans l’utilisation de la fonction transferFrom(). Tous les jetons approuvés sur Transit Swap pouvaient être transférés directement des portefeuilles des utilisateurs à l’adresse du hacker. »
En pratique, l’attaquant a mené son attaque sur les blockchains Ethereum et BNB Chain. Si vous avez utilisé le protocole Transit Swap, il est impératif de révoquer les approbations via l’outil Revoke.cash.
70% des fonds restitués
Par la suite, les équipes de Transit Swap, épaulées par celles de SlowMist, Bitrace, PeckShield ou encore TokenPocket, ont entrepris une enquête pour retrouver la trace de l’attaquant.
Rapidement, de nombreuses informations telles que l’IP, l’email ainsi que des adresses de wallets ont pu être identifiées. En parallèle, Transit Swap a entrepris une communication avec le hacker via des transactions on-chain. Sans grande surprise, ces derniers prient le hacker de restituer les fonds en échange d’une récompense.
« En tant que partie au projet, nous sommes prêts à donner des primes de découverte de bug supplémentaires, et nous espérons avoir une communication plus amicale et spécifique avec vous. »
Message auquel le hacker a répondu, montrant sa volonté de négocier.
« Sur la base du principe d’amélioration de la sécurité du code du monde web3.0, j’ai dépensé beaucoup de temps et d’énergie pour auditer le code du projet, et exploiter avec succès cette vulnérabilité. À l’avenir, je mènerai une communication amicale à l’avance, selon le principe du bug bounty. Merci ! »
Par la suite, le hacker a effectué plusieurs transactions sur la BNB Chain et Ethereum, renvoyant :
- 1 499 WETH et 37 000 BNB sur la BNB Chain ;
- 3 180 ETH sur Ethereum.
Au total, ce sont 16,6 millions de dollars en cryptomonnaies qui ont été restitués par l’attaquant, soit environ 70% de son larcin.
Plan de remboursement
Désormais, les équipes de Transit Finance vont devoir restituer les fonds dérobés aux utilisateurs lésés par l’attaque.
« En ce qui concerne le retour des pertes des utilisateurs :
1. L’équipe du projet se démène pour collecter les données spécifiques des utilisateurs volés et formuler un plan de retour.
2. L’équipe continuera de récupérer le reste des actifs volés par le pirate et à les restituer aux utilisateurs perdus. »
Malheureusement, toutes les histoires de hack ne se finissent pas ainsi. En effet, 160 millions de dollars ont été dérobés à Wintermute sans que la plateforme ne puisse trouver d’accord avec le hacker.