Le protocole de finance décentralisée inter-chaînes (DeFi) Rubic a été compromis, ce qui a entraîné le siphonnage des fonds stockés dans les adresses de ses utilisateurs et leur transfert aux pirates.

Le 25 décembre, le protocole Rubic a annoncé qu'un de ses contrats de routage avait été compromis et que tous les contrats seraient interrompus jusqu'à ce que la situation soit pleinement comprise. L'annonce disait :

Chers Rubicans, Un de nos contrats de routage pourrait être compromis. Tous les contrats seront arrêtés jusqu'à ce que nous comprenions pleinement la situation. Veuillez ne pas utiliser https://t.co/rDZSZrTUTe.Revoke https://t.co/F8QMpyd517 dès que possible via https://t.co/hwLI2Cwkt1

– Rubic (@CryptoRubic) 25 décembre 2022

Les créateurs du protocole ont également conseillé à leurs utilisateurs de révoquer l’autorisation de contrat via l’outil revoke.cash. Un fil Twitter de la société de cybersécurité blockchain PeckShield explique qu'une vulnérabilité dans le protocole Rubic a entraîné une perte de fonds d'une valeur de 1,41 million de dollars directement à partir des portefeuilles qui autorisaient ses contrats intelligents.

Rubic @CryptoRubic est exploité (avec ~ 1,41 M$) https://t.co/ckAfQr9kgm1,100 $ETH déjà dans Tornado Cash par l'exploiteur https://t.co/yPkrC2hFCZ pic.twitter.com/25rLUcMbkf

– PeckShield Inc. (@peckshield) 25 décembre 2022

L'adresse de l'exploiteur a reçu les fonds de l'échange décentralisé Uniswap (DEX) dans le cadre de transactions impliquant le stablecoin USD Coin (USDC). PeckShied a expliqué que le piratage a été rendu possible grâce à l'ajout par erreur de l'USDC aux routeurs pris en charge. De plus, « un manque de validation dans ruterCallNative » a également permis une utilisation malveillante du contrat.

Une analyse rapide des contrats intelligents à l'aide de chatGPT suggère que la fonction ruterCallNative contient de nombreuses vulnérabilités potentielles, notamment une entrée invalidée pour les paramètres « _params » et « _data ». Ceux-ci pourraient permettre à un attaquant de transmettre des entrées malveillantes pouvant entraîner un comportement incorrect ou involontaire.

De plus, le paramètre « _gateway » passé à la fonction est illimité, permettant potentiellement à un attaquant de créer un contrat et de le faire exécuter par le contrat RubicProxy.

En effet, l’attaquant a déployé un contrat intelligent personnalisé qui a été utilisé lors de l’attaque. Le bytecode décodé montre les 337 lignes de code qui ont permis à l'attaquant de mener l'attaque le plus efficacement possible.

L’adresse du pirate informatique a d’abord reçu un transfert de 1 161,55 Ethereum (ETH) et un autre transfert de 26,88 ETH, tous deux provenant du protocole Uniswap siphonnant exclusivement l’USDC et l’échangeant contre de l’Ethereum enveloppé (WETH). Tout ce WETH a ensuite été envoyé à un mélangeur en chaîne et à une entité sanctionnée Tornado Cash pour anonymiser les fonds mal acquis.

L'analyse en chaîne montre que 1,45 million de dollars de transactions entrantes envoyées au service d'anonymisation des pièces provenaient de l'adresse du pirate informatique, sur une valeur totale entrante pour le service d'environ 2,9 millions de dollars. En d’autres termes, environ la moitié des actifs envoyés aujourd’hui au mixeur ont été envoyés par l’exploitant.

Virements entrants Tornado.Cash traités le 25 décembre. L’adresse du pirate informatique se trouve à droite. | Avec l'aimable autorisation d'Arkham Intelligence

Bien que les fonds du pirate informatique représentent une part très importante du volume des transactions entrantes du service, leur anonymat reste substantiel. Le dépôt pourrait faire partie des retraits de 2 millions de dollars de Tornado Cash traités aujourd'hui ou parmi les 174 millions de dollars d'actifs encore déposés dans le contrat intelligent.

Tornado Cash est un protocole DeFi désormais illégal qui permet aux utilisateurs d'effectuer des transferts anonymes sur la blockchain Ethereum. Le protocole utilise des preuves à connaissance nulle (preuves ZK) pour masquer les adresses d'entrée et de sortie des transactions. Il est difficile pour les tiers de déterminer l'identité des parties impliquées dans la transaction ou l'objet précis du transfert.

Tornado Cash est un projet open source construit sur la blockchain Ethereum et accessible à toute personne possédant un portefeuille Ethereum. Les utilisateurs peuvent interagir avec le contrat Tornado Cash en utilisant leur portefeuille Ethereum ou une interface web toujours disponible via le service d'hébergement décentralisé InterPlanetary File System (IPFS). Ils peuvent effectuer des transferts anonymes d'ETH ou de tokens conformes à la norme ERC-20 en envoyant leurs fonds sur le contrat Tornado Cash et en les retirant vers une nouvelle adresse.

Cette nouvelle fait suite à des informations récentes selon lesquelles des pirates nord-coréens auraient volé environ 1,2 milliard de dollars de crypto-monnaie et d'autres actifs virtuels au cours des cinq dernières années. La plupart de ces piratages ont eu lieu rien qu’en 2021.