Rejoignez-Nous sur

Comprendre l'exploit qui a rendu EOS.IO "inutilisable" pendant deux heures

OVAtUvJlFjClEThPPiSiRtcV3SE4HjCTwVReC7W0 pUZgQNmdMPk nPcCJ2CPwjCMoGNkF8WMhoKDMbfhIgfyLe86JAcOsdeG4TE39eTWla7U5RNuz4bcTTQ47GpLM8t PUtd3x

News

Comprendre l'exploit qui a rendu EOS.IO "inutilisable" pendant deux heures

Le 13 septembre, un attaquant inondé le réseau EOSIO à drainer 110 000 dollars EOS d'un jeu dApp. Au cours du processus, de nombreuses applications destinées aux utilisateurs étaient inutilisables en raison de la congestion. Voici comment le pirate informatique a procédé, en détail.

Principes de base de l'exploit de congestion du réseau

Il y a quatre jours, un attaquant a poussé le réseau EOS en «mode de congestion élevée» dans le cadre d'un exploit de contrat intelligent. La manœuvre a temporairement rendu certaines ressources réseau disponibles indisponibles, rendant de nombreuses applications sur le réseau «inutilisables» pour les détenteurs de jetons plus petits pendant plus de deux heures.

Bien que le réseau soit toujours accessible (par exemple, une explorateur de blocs fonctionnerait toujours), beaucoup étaient «empêchés de publier des mises à jour» ou «de faire quoi que ce soit activement sur la chaîne» à moins de payer pour des ressources réseau d'un coût prohibitif.

Au plus fort des embouteillages du réseau, il fallait près de 12 EOS pour effectuer une transaction unique sur le réseau, a déclaré un membre de la communauté. Pour le contexte, la plupart des blockchains attachent des frais directement aux transactions. EOSIO permet aux utilisateurs de jouer leurs jetons en échange de ressources réseau.

L’attaquant a pu louer une quantité énorme de ressources réseau sur un échange de ressources récemment ouvert. Ces ressources ont été exploitées pour sélectionner les transactions valides à inclure dans la blockchain pour manipuler le jeu. dApp les résultats.

Pendant ce temps, les mainteneurs du jeu dApp n’avaient pas assez d’EOS pour prendre leur contrat hors ligne (ou prendre des mesures préventives). Cela a permis à l'attaquant de vider le contrat intelligent de 30 000 EOS au prix de 300 EOS de ressources réseau louées, à son rythme.

Identifier l'attaquant

À partir du 17 août, l'utilisateur “mumachayinmm”A commencé à effectuer des tests sur une variété de dApps de jeu. Après un peu moins d'un mois de tests, mumachayinmm a loué l'équivalent de 1,45 million d'EOS de ressources réseau.

Auparavant, il aurait fallu environ 5,8 millions de dollars en jetons. Mais REX, un nouveau service lancé en mai, permet aux utilisateurs de jouer leur EOS à des fins de sécurité et de vote, tout en vendant les ressources réseau auxquelles leur participation leur donne droit. Après REX, 1,45 million de ressources réseau EOS ne coûtaient que 1 200 dollars.

Ressources sur le compte de l'attaquant
La source: Bloks.io

Le 13 septembre, mumachayinmm a commencé à submerger EOSIO avec des centaines de milliers de transactions.

Transactions de spam
Échantillon de certaines transactions de spam de l'attaquant. La source: Bloks.io

Les détails techniques derrière le jeu dApp exploit

EOSPlay est un jeu décentralisé dApp qui propose des jeux tels que le poker et les dés. Ce qui a rendu le service exploitable, c'est la façon dont il a généré des nombres aléatoires pour ces jeux.

Au lieu d'utiliser une source aléatoire aléatoire, EOSPlay a utilisé la blockchain EOSIO comme source d'entropie. Malheureusement, les informations sur une blockchain peuvent être manipulées.

Par exemple, sur les Bitcoins, les mineurs qui trouvent un bloc doivent sélectionner les transactions à leur discrétion, à condition qu’il s’agisse de transactions légales. Théoriquement, si un dApp utilisé des transactions sur Bitcoin pour effectuer des calculs puis les grands mineurs pourraient jouer le jeu.

Sur EOSIO, une manière similaire de manipuler la blockchain consiste à accumuler suffisamment de ressources réseau pour inclure les transactions souhaitées par rapport à tous les autres utilisateurs.

Plus précisément, l’attaquant a mis des transactions différées dans chaque bloc, m'a dit Dexaran, un développeur de contrat intelligent respecté. EOSPlay a utilisé ces blocs pour calculer des nombres aléatoires.

En monopolisant les ressources du réseau, l’attaquant pourrait alors calculer le nombre aléatoire avant le contrat. Si le nombre était un nombre perdant, alors les transactions différées ont commencé une «boucle infinie», poussant la génération de nombres aléatoires au bloc suivant, a déclaré Dexaran.

La manœuvre a permis à mumachayinmm de gagner encore et encore sur EOSPlay.

Gains EOS illicites
Des dizaines de milliers d'EOS de gains illicites. La source: Bloks.io

EOSPlay impuissant pendant l'attaque

Pour aggraver les choses, les mainteneurs derrière le jeu dApp n’ont pas mis suffisamment d’EOS pour couvrir leurs coûts d’exploitation contractuels lorsque le mode conservateur d’EOSIO a été déclenché. C'était un oubli de la part des mainteneurs.

Avec le monopole des ressources réseau, les responsables de la maintenance devaient disposer de suffisamment d’EOS liquide pour garantir le bon déroulement de la transaction. Il semble qu’ils n’aient pas les jetons sur les mains, ce qui a permis à l’attaquant de faire son temps pendant que le contrat était épuisé.

Ces attaques de spam ne sont pas propres à EOS. Des réseaux tels que Bitcoin et Ethereum sont également vulnérables aux attaques de spam si un détenteur de jetons fortuné souhaite les payer (même si leur prix est prohibitif dans la plupart des cas).

Les dirigeants de Block.one répondent

Block.one CTO et créateur d'EOSIO Daniel Larimer pris à Twitter pour dissiper le “FUD”Autour des attaques de congestion du réseau. Il a affirmé que le réseau "fonctionnait comme prévu":

Pourtant, ces affirmations sont en contradiction avec les commentaires de Larimer dans le mois de mai 2018 alors qu’il vantait le design «feeless» d’EOSIO:

"Sur EOSIO, aucun utilisateur n’a la capacité de saturer l’ensemble du réseau, quel que soit le montant qu’il est prêt à dépenser."

Pourtant, c'est exactement ce qui s'est passé lors de cet exploit. L’attaquant a saturé le réseau en dépensant 1 200 dollars.

Block.one PDG Brendan Blumer également pris sur les médias sociaux pour défendre EOSIO. Cependant, il était plutôt vague sur des actions spécifiques jusqu'à ce qu'un membre de la communauté le presse.

Si un utilisateur mise sur EOS, il aura toujours accès aux ressources du réseau, affirme-t-il. Mais le montant variera considérablement, et lorsque les clients payants utilisent tout, il sera nécessaire de payer pour maintenir le même niveau d’accès, a déclaré Blumer.

Questions soulevées

Le récent exploit soulève de sérieuses questions sur la blockchain EOSIO. Jared Moore, un membre actif de la communauté a posé la question suivante: Si le réseau est exposé à une flambée soudaine du coût des ressources, combien de développeurs EOS liquides les développeurs devraient-ils avoir sous la main pour s’assurer qu'ils sont protégés? Sans guide, dApp Les développeurs continueront d'être vulnérables à ce type d'exploits, a-t-il affirmé.

Un autre problème est l'accès. À mesure que l'EOS gagnera en utilisation, il est probable que le réseau entrera dans un état de «mode de congestion élevé constant», a déclaré un autre enthousiaste.

Cela signifie que les développeurs et les entreprises, plutôt que les utilisateurs de petite taille, vont dominer l'accès aux ressources du réseau, ce qui soulève des questions quant à savoir à qui le réseau est destiné. Ces mêmes entreprises pourraient également monopoliser des ressources sur le réseau, a déclaré M. Moore, devenant essentiellement des «gardiens».

D'un autre côté, un tel scénario donnerait à EOS le même goût que de posséder des terres, a déclaré un autre commentateur, en attribuant la valeur symbolique aux ressources réseau auxquelles le propriétaire a droit.

Dexaran, ingénieur en sécurité et créateur de la norme de jeton ERC-223, a formulé la suggestion suivante pour limiter les futures attaques de congestion sur les applications de dApp:

"Ce serait bien de calculer combien EOS vous devez créer un compte de «réserve» pour vous assurer d’avoir accès à vos contrats même en cas de forte congestion », a-t-il commenté.

Un autre membre de la communauté a exprimé le besoin de trouver de meilleurs moyens de calculer les besoins EOS implicites dans différentes conditions de réseau:

«Le problème clé ici est que la communauté s'est habituée au nombre de transactions gratuites qu'elle reçoit lorsque le réseau est relativement inutilisé. Nous avons besoin de meilleures estimations de la quantité d'EOS dont vous avez besoin d'implémentée dans différentes conditions de réseau. ”

Il a poursuivi en décrivant des problèmes liés au traitement du piquetage sur le réseau.

«J’ai également un gros problème avec le fait qu’EOSIO ne donne pas la priorité aux transactions de« jalonnement ». Lorsque ces conditions se présentent, les personnes qui tentent de gagner plus d'EOS devraient être autorisées (une fois par compte) à effectuer une transaction prioritaire. Lorsque j’ai payé des sommes énormes d’EOS, c’est ridicule de me voir en lock-out et je ne peux plus en affecter plus sur mon compte. Je ne peux pas "payer plus" même si je le voulais. "

Concevoir une blockchain publique est une entreprise compliquée. Les choses vont mal tourner. À l’heure actuelle, il est très coûteux de créer des applications utiles sur n’importe quelle blockchain. Les dirigeants de Block.one devraient prendre l’initiative de faciliter au maximum l’expérience de développement et d’envisager une adoption massive, plutôt que de maintenir des positions radicales qui «n’ont rien de mal».

EOS, actuellement classé n ° 7 par la capitalisation boursière, est en hausse 0,88% au cours des dernières 24 heures. EOS a une capitalisation boursière de 3,8 milliards de dollars avec un volume sur 24 heures de 1,86 milliard de dollars.

Graphique par CryptoCompare

EOS est en hausse de 0,88% au cours des 24 dernières heures.

Classé sous: Une analyse, EOS, Hacks, Montre de prix

Mitchell Moos

Mitchell est un passionné de logiciels et un entrepreneur. Son premier démarrage a construit des algorithmes pour optimiser l'extraction de crypto-monnaie. Avant de travailler chez CryptoSlate, Mitchell était chef de projet dans une entreprise qui avait créé un logiciel distribué sur Hyperledger. Dans ses temps libres, il aime jouer aux échecs et faire de la randonnée.

Voir le profil de l'auteur

Avertissement: Les opinions de nos écrivains sont uniquement les leurs et ne reflètent pas l'opinion de CryptoSlate. Aucune des informations que vous lisez sur CryptoSlate ne doit être considérée comme un conseil en investissement. CryptoSlate ne soutient aucun projet pouvant être mentionné ou associé à cet article. L'achat et le commerce de crypto-monnaies doivent être considérés comme une activité à haut risque. Veuillez faire votre propre diligence raisonnable avant de prendre toute action liée au contenu de cet article. Enfin, CryptoSlate ne prend aucune responsabilité si vous perdez de l'argent en échangeant des crypto-monnaies.





Traduction de l’article de Mitchell Moos : Article Original

BlockBlog

Le Meilleur de l'Actualité Blockchain Francophone & Internationale | News, Guides, Avis & Tutoriels pour s'informer et démarrer facilement avec Bitcoin, les Crypto-Monnaies et le Blockchain. En Savoir Plus sur L'Équipe BlockBlog

Commenter cet Article

Commenter cet Article

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Plus dans News

Les Plus Populaires

Acheter des Bitcoin

Acheter des Alt-Coins

Sécuriser vos Cryptos

Vêtements et Produits Dérivés

Top
dictum vulputate, tempus Sed sem, Praesent quis sit ut massa Aliquam non