Faille sur Ethereum Alarm Clock : 260 000 $ partis en fumée
Un nouveau larcin sur Ethereum – Le réseau Ethereum est le berceau de milliers de protocoles. Parmi ces protocoles, Ethereum Alarm Clock permet à ses utilisateurs de planifier des transactions. Malheureusement, plusieurs attaquants ont décelé une faille dans le code du protocole et ont commencé à siphonner les fonds.
Nouveau jour, nouveau hack : 260 000 dollars dérobés
Comme nous venons de le voir, Ethereum Alarm Clock est un protocole de planification des transactions. En réalité, les utilisateurs vont y renseigner l’adresse de réception, le montant ainsi que l’heure de la transaction. Celle-ci sera ensuite automatiquement émise par le protocole.
Malheureusement, sous le capot, tout ne tourne pas comme une horloge pour Ethereum Alarm Clock. Ainsi, le 19 octobre, la société spécialisée en analyse de blockchain, PeckShield, a tiré la sonnette d’alarme sur Twitter :
« Nous avons confirmé l’existence d’une faille active qui utilise d’énormes prix de gas pour tromper le contrat TransactionRequestCore. Cette manoeuvre permet d’obtenir une récompense au détriment du propriétaire initial. »
Une faille qui semble n’est pas passée inaperçue, car pas moins de 24 wallets différents en ont profité. Au total, ces wallets ont été en mesure de dérober l’équivalent de 260 000 dollars au protocole.
Une faute dans le calcul du gas
Rapidement, PeckShield a identifié le contrat TransactionRequestCore comme étant à l’origine de la faille.
D’abord, revenons au fonctionnement d’Ethereum Alarm Clock. Pour planifier une transaction, l’utilisation doit fournir les fonds de ladite transaction ainsi que des fonds destinés à payer le gas. Une fois la transaction envoyée, le protocole dispose d’un mécanisme pour rembourser l’excédent de frais fourni par l’utilisateur.
Par défaut le protocole ajoute à la valeur calculée une constante intitulée « CANCEL_EXTRA_GAS ». Cette valeur est ajoutée pour couvrir les dépenses de gas avant et après la mesure du coût en gas réalisée par le protocole. Fixée à 85 000 celle-ci est souvent bien supérieure au montant réellement dépensé.
Par conséquent, il est possible de se voir rembourser plus que le montant qui a été dépensé, comme l’a expliqué Supremacy_CA sur Twitter :
« En pratique, le pirate n’a pas besoin d’utiliser plus de 85 000 gas. Seuls 70 355 gas seraient suffisants. Ainsi, les frais de transaction réels payés sont inférieurs aux frais de transaction retournés par la fonction d’annulation, où la différence est le profit du pirate. »
Un profit certes minime, mais qui peut rapidement atteindre une certaine envergure si la manœuvre est répétée suffisamment de fois.
Une faille découverte après des années
Un point reste tout à fait surprenant. Nous l’avons vu. Le contrat TransactionRequestCore fait partie du projet Ethereum Alarm Clock. Cependant, celui-ci n’est pas tout jeune. En effet, le contrat a été publié en 2018 et le projet Ethereum Alarm Clock a, quant à lui, vu le jour en 2015.
Par conséquent, les attaquants ont mis plusieurs années avant de déceler cette faille dans le code dudit contrat. Toutefois, aucune information n’a été dévoilée concernant un potentiel correctif. En effet, le projet Ethereum Alarm Clock n’est pas des plus actifs. La dernière modification enregistrée sur le GitHub date de 4 ans.
Évidemment, ce n’est pas la seule faille décelée cette semaine au sein de l’écosystème d’Ethereum. Effectivement, une faille a été découverte sur le pont BitBTC, reliant notamment Ethereum et Optimsim.
Vous cherchez des tokens à fort potentiel de croissance ? Binance Launchpad met en lumière des projets crypto prometteurs en exclusivité. Pour y participer, rien de plus simple. Il suffit de vous inscrire sur Binance en suivant ce lien, vous obtiendrez 10% de remise sur vos frais de trading (lien commercial).