Incident de sécurité chez Chainflip
Chainflip a subi une perte de 736 442,17 USDT à la suite de six paiements non autorisés, après qu’un attaquant a exploité la gestion des mémos de transaction sur la blockchain TRON. Dans une mise à jour concernant l’incident datée du 13 septembre, Chainflip a précisé que l’attaque avait ciblé son intégration TRON USDT durant les premières heures du 12 septembre. En conséquence, le protocole inter-chaînes a suspendu ses opérations pendant que ses développeurs enquêtaient sur les transactions et préparaient un correctif.
Un échange légitime d’un utilisateur, d’une valeur de 115 654,41 USDT, reste impayé. Chainflip a indiqué que les fonds sont toujours conservés dans son coffre et peuvent être libérés après le redémarrage du réseau. Le protocole a également rapporté qu’aucun autre fonds n’avait été affecté par cette attaque. Les chiffres de la perte et la séquence des événements représentent les conclusions actuelles de Chainflip. À la date du 13 septembre, aucun audit de sécurité indépendant n’avait été publié pour confirmer l’ensemble des faits.
Détails de l’attaque
Dans sa mise à jour, Chainflip a expliqué que l’incident était lié à l’utilisation de mémos de transaction pour lire les instructions d’échange attachées aux transferts TRON. Sur la plupart des autres blockchains prises en charge, le protocole reçoit des instructions via des fonctions de contrat dédiées. Selon le rapport d’incident, l’attaquant a trouvé un moyen d’attacher un nouveau mémo à une transaction déjà signée par les validateurs de Chainflip. Les systèmes de Chainflip ont alors interprété ce mémo ajouté comme une instruction d’échange distincte. Lorsque la nouvelle instruction semblait échouer, le protocole a émis un remboursement, entraînant ainsi un double paiement pour le même dépôt.
Chainflip a attribué cette vulnérabilité à son propre traitement des mémos de transaction TRON. Le protocole n’a pas signalé de compromission de la blockchain TRON, du contrat intelligent USDT ou du système de réserve de Tether. L’attaquant a répété cette méthode huit fois sur une période d’environ 90 minutes, avec des tentatives initiales utilisant de petites sommes. Chaque tentative ultérieure était presque le double de la taille de la précédente. Au final, seules six tentatives ont abouti à des paiements non autorisés totalisant 736 442,17 USDT.
Conséquences et mesures prises
Chainflip n’a pas publié de hachages de transaction individuels, d’adresses de portefeuille de destination ou de répartition des six paiements dans son rapport préliminaire. L’incident a été détecté après que les paiements USDT suivants ont commencé à échouer. Les développeurs ont retracé ces échecs au traitement répété des dépôts via des mémos modifiés. Le protocole a suspendu l’activité du réseau pour examiner si cette vulnérabilité pouvait affecter d’autres actifs ou intégrations. Son examen préliminaire a révélé que l’exploitation était limitée à TRON USDT et que les fonds restants dans le coffre étaient sécurisés.
Chainflip a décrit cet incident comme son premier événement de sécurité critique impliquant des fonds pris dans les coffres du protocole. Des problèmes opérationnels antérieurs n’avaient pas causé de pertes comparables.
La pause du réseau empêche les échanges d’être complétés pendant que les développeurs préparent le redémarrage. Chainflip n’a pas signalé de perte distincte pour les utilisateurs dont les transactions ont été interrompues par l’arrêt. D’autres services blockchain ont également utilisé des suspensions d’urgence pendant que les développeurs isolent les défaillances de sécurité.
Indemnisation et mesures futures
Chainflip a déclaré que les utilisateurs touchés seraient indemnisés, bien que le protocole n’ait pas encore sélectionné ou publié sa méthode de remboursement au 13 septembre. L’équipe a indiqué que plusieurs options étaient à l’étude. La transaction impayée de 115 654,41 USDT n’est pas comptée parmi les six paiements non autorisés. Ses fonds restent dans le coffre, et Chainflip s’attend à traiter l’échange après la reprise des opérations.
En attendant, le protocole a informé les parties concernées des fonds volés dans un effort pour suivre ou récupérer les produits alors qu’ils circulent entre les adresses et les services. Chainflip n’a pas nommé les parties impliquées, ni divulgué si l’attaquant avait utilisé des échanges centralisés ou confirmé que des USDT avaient été gelés. Tether peut geler les adresses détenant ses jetons lorsqu’elle agit en vertu de processus juridiques ou d’exécution applicables.
Le protocole prévoit de commencer à couvrir les pertes des utilisateurs après avoir redémarré en toute sécurité. Sa déclaration préliminaire n’a pas fixé de date de paiement ni expliqué si l’indemnisation proviendrait d’actifs de trésorerie, d’assurance ou d’une autre source. Chainflip a déclaré que le correctif sous-jacent avait été complété, mais que les développeurs devaient encore régler la procédure exacte de redémarrage. Le réseau resterait en pause « jusqu’à lundi au plus tôt », rendant le 14 septembre la date de restauration la plus précoce, sans confirmation d’un temps de lancement précis.
Avant de rouvrir, l’équipe prévoit de finaliser un plan de redémarrage technique conçu pour éviter d’autres problèmes de traitement. Chainflip n’a pas divulgué si les validateurs auraient besoin d’un nouveau logiciel, d’une mise à niveau coordonnée ou d’un vote de gouvernance. Une fois le système redémarré, le protocole s’attend à traiter l’échange en attente de 115 654,41 USDT et à commencer à gérer l’indemnisation des utilisateurs dont les fonds ont été versés à l’attaquant. Un rapport technique complet suivra après que le plan de redémarrage sera verrouillé et que le réseau fonctionnera en toute sécurité, a déclaré Chainflip. Le protocole n’a pas annoncé de date limite de publication pour ce rapport.