EOS : une faille permet à un hacker de voler 110 000€
Un attaquant a réussi à s’emparer de 30 000 EOS en exploitant une faille de EOSPlay, une dApp de jeu de hasard. Qui veut jouer ?
110 000 € de pactole
EOS se retrouve à nouveau dans la tourmente après qu’un attaquant ait réussi à s’emparer de 30 000 EOS – 110 000 € au moment de la rédaction – en exploitant une faille dans EOSPlay, une application décentralisée de jeu d’argent.
Avec une mise de seulement 300 EOS – 1 100 € – l’attaquant a pu tromper l’application et gagner d’office chaque manche du jeu de hasard.
Le déroulement de l’attaque
Dans la soirée du 13 septembre, @rektkid_ tire la sonnette d’alarme sur Twitter remarquant qu’un problème touchant les CPU – processeurs – du réseau EOS. Il signale également qu’un attaquant est en train de vider les comptes de EOSPlay en remportant chaque manche du jeu.
https://twitter.com/rektkid_/status/1172595110237921281?s=20
Par la suite, l’internaute @Mikefletcher42 expliquera – toujours sur Twitter – plus en détail le déroulement de l’attaque. Celle-ci a été possible grâce à de la location de processeur sur EOSRex, une place de marché décentralisée permettant de louer des processeurs opérant sur le réseau EOS.
Certaines applications décentralisées – et c’est le cas de EOSPlay – utilisent les données provenant des futurs blocs pour générer les nombres aléatoires nécessaires aux jeux de hasard.
Ainsi, l’attaquant aurait loué environ 1,2 million de processeurs sur EOSRex, ce qui lui a permis d’envoyer des milliers de transactions différées sur le réseau EOS. Une fois le réseau congestionné par le trop grand nombre de transactions, le hacker a été en mesure de choisir les transactions qu’il voulait faire passer (les gagnantes), et bloquer les autres (les perdantes). L’attaquant a de ce fait pu tromper le hasard et s’assurer qu’il gagnerait à coup sûr chaque manche.
Le réseau EOS sain et sauf
Cette attaque n’a pas directement visé le réseau EOS qui, il semblerait, ne s’est jamais arrêté de fonctionner correctement. Elle a uniquement visé le smart contract de EOSPlay, comme l’explique Dan Larimer le CEO de Block.one.
#EOS is operating correctly. This is no different than when attackers flood eth or bitcoin with high fee transaction spam. The network didn’t freeze for token holders, there was just no extra bandwidth available for free usehttps://t.co/nZQmCTlXFa
— Daniel Larimer (@bytemaster7) September 14, 2019
Cependant, même si le réseau lui-même n’a pas été touché, cela met en évidence un problème majeur pour l’écosystème : un hacker disposant uniquement de 1 000 $ a été en mesure de louer assez de puissance lui permettant d’opérer son attaque. De plus, l’utilisation des futurs blocs pour la création d’entropie est une pratique courante qui pourrait mener de nombreuses applications à subir des attaques similaires. @Dexaran un internaute ayant aussi suivi l’attaque de près rappelle aux développeurs de dApps l’importance de suivre les bonnes pratiques de sécurité dans le code ainsi que ne pas dépendre d’une source d’entropie on-chain, comme c’était le cas de EOSPlay.
[es_tradingview symbol= »BITFINEX:EOSBTC » interval= »D » height= »500″ colors= »Light »]