L’équipe du Drift Protocol a publié le 2 avril une analyse post-mortem du piratage qui a coûté environ 280 millions de dollars au protocole la veille.
Selon le rapport, l’attaque n’a exploité aucune faille dans le code du protocole : il s’agissait d’une opération de plusieurs semaines combinant un technique de pré-signature de transactions avec tromperie des membres de l’instance dirigeante de la plateforme.
Le montant actualisé par l’équipe est de 280 millions de dollars, légèrement supérieur aux 270 millions de dollars signalés dans les heures qui ont suivi le piratage. Tous les dépôts dans les fonctions de prêt, de coffre-fort et de trading ont été affectés. Le protocole reste figé au moment d’écrire ces lignes.
Drift Protocol est le principal échange décentralisé (DEX) pour les contrats à terme perpétuels de Solana et l’attaque subie représente le plus grand exploit de l’écosystème de Solana depuis le piratage du pont Wormhole en 2022, comme le rapporte CriptoNoticias.
Comment s’est produite l’attaque ?
Selon la déclaration de Drift, l’attaquant a profité d’un mécanisme du réseau Solana qui permet pré-signer les transactions et les maintenir valides indéfiniment pour les exécuter à tout moment dans le futur.
Ces transactions pré-signées sont appelées valeurs occasionnelles durables et constituent un outil légitime du protocole, généralement utilisé pour automatiser les paiements planifiés. Dans ce cas, l’attaquant les a utilisés pour obtenir les approbations nécessaires à l’avance du Drift Security Council, l’organisme qui gère les autorisations administratives du protocole, et les exécute des semaines plus tard.
Le Conseil fonctionne selon un système multisig 2 sur 5 : au moins deux signatures sur cinq possibles sont nécessaires pour approuver toute action administrative. Avec deux signataires compromis via des noms occasionnels durables, l’attaquant avait tout ce qu’il fallait pour prendre le contrôle, sans que les signataires sachent nécessairement ce qu’ils autorisaient.
La chronologie de l’attaque
Comme l’explique l’équipe Drift, l’opération s’est déroulée en trois étapes sur dix jours :
Le 23 mars, l’attaquant a créé quatre comptes occasionnels durables : deux associés à des membres du multisig de Drift et deux sous son propre contrôle. À cette époque, au moins deux des cinq signataires du Conseil avaient approuvé des transactions liées à ces comptes sans savoir qu’il s’agissait de pré-autorisations d’actions à exécuter ultérieurement.
Le 27 mars, Drift a exécuté un projet de migration de son Conseil de sécurité en raison d’un changement de membre. Trois jours plus tard, le 30 mars, l’attaquant a créé un nouveau compte temporaire durable associé à un membre du conseil amélioré, rétablissant ainsi un accès effectif à deux des cinq signatures du nouveau multisig.
Le 1er avril arriva la phase d’exécution. Drift a d’abord effectué une transaction test légitime auprès de son fonds d’assurance. Une minute plus tard, l’attaquant a exécuté deux transactions pré-signées : la première a créé et approuvé un transfert administratif malveillant ; la seconde, il a exécuté. En quelques minutes, il a pris le contrôle total des autorisations administratives du protocole, a introduit un actif malveillant, a supprimé toutes les limites de retrait prédéfinies et a vidé les fonds.
Selon le communiqué, l’équipe n’exclut pas que les signataires aient été victimes d’ingénierie sociale ou d’une présentation trompeuse des transactions qu’ils ont approuvées, même si cette cause n’est pas confirmée et l’enquête se poursuit.
Quelles opérations de dérive sont concernées ?
Selon le communiqué, les utilisateurs dont les fonds sont déposés dans le protocole pour des prêts, des échanges ou dans des coffres Drift sont concernés.
Les jetons DSOL qui n’ont pas été déposés sur Drift n’ont pas été affectés, y compris les actifs mis en jeu sur le propre validateur de la plateforme. Les actifs du Fonds d’assurance ont été retirés du protocole à titre préventif.
Le multisig a été mis à jour pour supprimer le portefeuille compromis. Drift prétend se coordonner avec les sociétés de sécurité, les bourses, les ponts et les autorités pour suivre et geler les avoirs volés.
Les voix de l’écosystème
Le chercheur onchain ZachXBT a ciblé le cerclela société émettrice de l’USDC, pour ne pas avoir agi alors que d’importants volumes de ce stablecoin étaient transférés de Solana vers Ethereum lors de l’attaque.
Selon ZachXBT, le mouvement des fonds s’est produit pendant des heures sans intervention (sachant qu’ils ont la capacité de geler les tokens USDC), via le protocole de transfert inter-chaînes CCTP créé par Circle. Il a également noté que le suivi par Circle de la destination des fonds contenait des erreurs : les SOL de l’attaquant n’étaient pas envoyés à Hyperliquid ou Binance, mais ponté de Solana à Ethereum via Chainflip.
Charles Guillemet, directeur de la technologie chez Ledger, un fabricant de portefeuilles matériels, a déclaré que le schéma de l’attaque est similaire au piratage Bybit de l’année dernière, attribué à des acteurs liés à la Corée du Nord : une opération patiente et sophistiquée qui ciblait la couche humaine et opérationnelle, pas le code.
Guillemet estime que les signataires ont peut-être cru approuver une opération légitime tout en autorisant sans le savoir la vidange du protocole.
Le dirigeant de Ledger a également appelé à relever les normes de sécurité dans le secteur, notamment une meilleure détection des environnements compromis, une gestion des clés basée sur le matériel et une visibilité claire sur ce qui est signé.
Enfin, l’équipe de Jupiter, la plus grande bourse décentralisée de Solana en termes de volume, a précisé que son protocole n’est pas exposé aux marchés Drift et que le jeton JLP est entièrement adossé aux actifs sous-jacents.
La déclaration de Drift décrit une opération méticuleuse. Des semaines de préparation, accès restaurés après une migration de sécurité et exécution en moins d’une minute. L’équipe continue de se coordonner avec les sociétés de sécurité, les bourses et les autorités pour suivre les fonds, sans résultat confirmé jusqu’à présent.