Un bug de la cryptomonnaie Ether permet à un hackeur de s'emparer de 50 millions $ En exécutant une fonction récursive du système de transaction 43PARTAGES 6 0 Un pirate a profité dun bug du système de la cryptomonnaie ether pour commettre son forfait et semparer de plus de 50 millions de dollars. Le bug est relatif à une fonction récursive utilisée par le système de transfert de la cryptomonnaie dun compte vers un autre. En effet, lorsque cette fonction, qui est utilisée dans le processus de traitement de la transaction, est appelée pour transférer des pièces virtuelles dun compte vers un autre, elle effectue un appel à elle-même avant la fin du traitement de la transaction. La fonction en question est splitDAO qui exécute un code du côté du destinataire de la transaction qui lui-même appelle la fonction splitDAO avant de terminer son exécution. Il suffit dès lors au hackeur de faire appeler son code par la fonction splitDAO et vice versa, rendant ainsi les appels de la fonction presque infinis. Le pirate avait ainsi la possibilité de vider totalement le stock de pièces disponible.



Si le pirate na pas encore pu dépenser largent quil a réussi à détourner du système, il est cependant encore improbable que les fonds puissent être récupérés par les investisseurs qui ont mis leur argent dans ce projet. En effet, suite à une telle opération, le pirate est obligé de patienter au moins 25 jours avant de pouvoir convertir ses jetons en ethers et de reconvertir ensuite les ethers dans une devise réelle. Pour pouvoir récupérer les fonds, deux solutions se présentent aux investisseurs sils espèrent pouvoir sauver le projet.



La première solution consisterait à faire un roll-back du blockchain, ce qui affecterait toute personne ayant effectué des transactions après lincident et sur toute la durée pendant laquelle le pirate commettait son forfait. La somme que pourraient perdre les personnes concernées sélèverait à 1 million de dollars. Cependant, ce type dopération est contraire à lesprit même de ces systèmes, car lun des objectifs de ces derniers cest de proposer des alternatives décentralisées aux banques traditionnelles qui mettent les intérêts de la banque devant ceux des utilisateurs. La deuxième possibilité qui est tout aussi problématique serait de mettre à jour le code du système Ethereum de sorte à mettre ladresse du pirate sur liste noire ou bien même redonner le contrôle des fonds au projet TheDAO. Cependant, cela créerait une bifurcation du blockchain qui ne pourrait être rétablie que si une majorité de 51 % des mineurs décide de travailler avec la version de mise à jour du code. Autrement, la bifurcation ne pourra pas être rétablie.



Les fonds volés par le pirate représentent un tiers des fonds levés dans le cadre de la mise en place du projet TheDAO, qui est une sorte de fonds commun dinvestissement virtuel de type DAO (Decentralized Autonomous Organisation). Ce fonds a englouti plus de 10 % des pièces virtuelles disponibles dans lécosystème de lEthereum soit une valeur de 100 millions de dollars sur un volume total dune valeur dun milliard que représente lécosystème dEthereum. Ce piratage a porté un coup dur au projet qui ne pourrait sen relever que difficilement. Il faut ajouter enfin que le bug responsable de la défaillance exploitée par le pirate naurait toujours pas été résolu.



Source :



Et vous ?



Qu'en pensez-vous ?



Voir aussi



Le système de paiement de Bitcoin aurait-il atteint ses limites ? Plusieurs transactions n'auraient pas été validées après des heures d'attente Un pirate a profité dun bug du système de la cryptomonnaie ether pour commettre son forfait et semparer de plus de 50 millions de dollars. Le bug est relatif à une fonction récursive utilisée par le système de transfert de la cryptomonnaie dun compte vers un autre. En effet, lorsque cette fonction, qui est utilisée dans le processus de traitement de la transaction, est appelée pour transférer des pièces virtuelles dun compte vers un autre, elle effectue un appel à elle-même avant la fin du traitement de la transaction. La fonction en question est splitDAO qui exécute un code du côté du destinataire de la transaction qui lui-même appelle la fonction splitDAO avant de terminer son exécution. Il suffit dès lors au hackeur de faire appeler son code par la fonction splitDAO et vice versa, rendant ainsi les appels de la fonction presque infinis. Le pirate avait ainsi la possibilité de vider totalement le stock de pièces disponible.Si le pirate na pas encore pu dépenser largent quil a réussi à détourner du système, il est cependant encore improbable que les fonds puissent être récupérés par les investisseurs qui ont mis leur argent dans ce projet. En effet, suite à une telle opération, le pirate est obligé de patienter au moins 25 jours avant de pouvoir convertir ses jetons en ethers et de reconvertir ensuite les ethers dans une devise réelle. Pour pouvoir récupérer les fonds, deux solutions se présentent aux investisseurs sils espèrent pouvoir sauver le projet.La première solution consisterait à faire un roll-back du blockchain, ce qui affecterait toute personne ayant effectué des transactions après lincident et sur toute la durée pendant laquelle le pirate commettait son forfait. La somme que pourraient perdre les personnes concernées sélèverait à 1 million de dollars. Cependant, ce type dopération est contraire à lesprit même de ces systèmes, car lun des objectifs de ces derniers cest de proposer des alternatives décentralisées aux banques traditionnelles qui mettent les intérêts de la banque devant ceux des utilisateurs. La deuxième possibilité qui est tout aussi problématique serait de mettre à jour le code du système Ethereum de sorte à mettre ladresse du pirate sur liste noire ou bien même redonner le contrôle des fonds au projet TheDAO. Cependant, cela créerait une bifurcation du blockchain qui ne pourrait être rétablie que si une majorité de 51 % des mineurs décide de travailler avec la version de mise à jour du code. Autrement, la bifurcation ne pourra pas être rétablie.Les fonds volés par le pirate représentent un tiers des fonds levés dans le cadre de la mise en place du projet TheDAO, qui est une sorte de fonds commun dinvestissement virtuel de type DAO (Decentralized Autonomous Organisation). Ce fonds a englouti plus de 10 % des pièces virtuelles disponibles dans lécosystème de lEthereum soit une valeur de 100 millions de dollars sur un volume total dune valeur dun milliard que représente lécosystème dEthereum. Ce piratage a porté un coup dur au projet qui ne pourrait sen relever que difficilement. Il faut ajouter enfin que le bug responsable de la défaillance exploitée par le pirate naurait toujours pas été résolu.Source : http://blog.erratasec.com Qu'en pensez-vous ? Une erreur dans cette actualité ? Signalez-le nous ! Votre nom : Votre e-mail : Décrivez l'erreur que vous souhaitez porter à notre connaissance : 17 commentaires Poster une réponse Signaler un problème Les mieux notés Les plus récents Ordre chronologique Futur Membre du Club https://www.developpez.com

La crypto monnaie ether n'a absolument pas été hacké et ethereum en soi n'est pas en cause.

Ce qui a été hacké c'est The DAO, un fond dinvestissement décentralisé qui est (ou était plutôt) le plus gros smart contract de la blockchain avec environ 150 millions d'euros dans celui ci.



Ça change pas mal de choses sur la question du fork parce qu'en fait le smart contract s'est exécuté tout à fait normalement : c'est simplement l'auteur de celui ci qui n'a pas été assez vigilant et qui n'a pas vu une faille de sécurité dans celui ci.

Sachant qu'il s'est exécuté normalement et que le bug vient juste du contrat qui était mauvais, les anti fork considère qu'il n'y a pas de raison de forker la blockchain et d'ainsi casser le "code is law"

La question c'est donc de savoir si on doit suivre ce principe à la lettre pour ne pas casser la propriété d'immuabilité de la blockcahin ou bien si exceptionnellement il faut intervenir pour empêcher le voleur de partir avec les 50 millions d'euros et les rendre à la DAO. 5 0 L'article n'est pas du tout exact...La crypto monnaie ether n'a absolument pas été hacké et ethereum en soi n'est pas en cause.Ce qui a été hacké c'est The DAO, un fond dinvestissement décentralisé qui est (ou était plutôt) le plus gros smart contract de la blockchain avec environ 150 millions d'euros dans celui ci.Ça change pas mal de choses sur la question du fork parce qu'en fait le smart contract s'est exécuté tout à fait normalement : c'est simplement l'auteur de celui ci qui n'a pas été assez vigilant et qui n'a pas vu une faille de sécurité dans celui ci.Sachant qu'il s'est exécuté normalement et que le bug vient juste du contrat qui était mauvais, les anti fork considère qu'il n'y a pas de raison de forker la blockchain et d'ainsi casser le "code is law"La question c'est donc de savoir si on doit suivre ce principe à la lettre pour ne pas casser la propriété d'immuabilité de la blockcahin ou bien si exceptionnellement il faut intervenir pour empêcher le voleur de partir avec les 50 millions d'euros et les rendre à la DAO. En attente de confirmation mail https://www.developpez.com Envoyé par Paul TOTH Envoyé par



quand à garantir la sécurité du web, la plus grosse faille se trouve toujours entre l'écran et le clavier. Un bug qui permet de détourner 50 millions ça ne se trouve pas tous les jours. Dans le cadre d'une crypto monnaie décentralisée c'est en effet un problème, sur le système bancaire c'est autre chose, un de mes clients s'est vu réclamer le paiement d'une vente 2 mois après l'achat car l'acheteur a contesté le paiement...et à défaut de 3DSecure (qui ne sécurise pas grand chose mais reporte la responsabilité sur la banque), le commerçant en est de sa poche...l'option a été activée depuis, mais comme 3DSecure ne fonctionne pas toujours bien, certains commerçants prennent le risque au lieu de perdre des clients.



A l'inverse, je suis par exemple totalement opposé au vote électronique, les bureaux de votes sont déjà des filtres insuffisants pour garantir l'intégrité du vote, c'est pas la peine d'en rajouter TCP/IP est basé sur un ensemble très limité des protocoles, c'est souvent leur simplicité qui est critiqué au contraire car elle ne serait pas assez robustequand à garantir la sécurité du web, la plus grosse faille se trouve toujours entre l'écran et le clavier. Un bug qui permet de détourner 50 millions ça ne se trouve pas tous les jours. Dans le cadre d'une crypto monnaie décentralisée c'est en effet un problème, sur le système bancaire c'est autre chose, un de mes clients s'est vu réclamer le paiement d'une vente 2 mois après l'achat car l'acheteur a contesté le paiement...et à défaut de 3DSecure (qui ne sécurise pas grand chose mais reporte la responsabilité sur la banque), le commerçant en est de sa poche...l'option a été activée depuis, mais comme 3DSecure ne fonctionne pas toujours bien, certains commerçants prennent le risque au lieu de perdre des clients.A l'inverse, je suis par exemple totalement opposé au vote électronique, les bureaux de votes sont déjà des filtres insuffisants pour garantir l'intégrité du vote, c'est pas la peine d'en rajouter



2. "la plus grosse faille se trouve toujours entre l'écran et le clavier" ??? Bien évidemment, si ce n'est pas la naïveté de l'utilisateur qui est en cause, c'est celle de l'incompétence d'un développeur qui est à l'origine des failles techniques d'un système... N'oublions pas qu'il est strictement impossible pour un être humain de fournir du code sans le moindre bug? "Errare Humanum Est" 2 0 1. Pour info, ce n'est pas TCP/IP qui est à l'origine des failles de sécurité mais bien les applications web qui, ELLES reposent sur une multitude de technologies. TCP/IP n'est que le vecteur, c'est comme si vous veniez içi nous affirmer qu'il est impossible de braquer une bijouterie parce que le vélo utilisé par le voleur pour fuire dans la foule ne dispose pas d'un pied-de-biche pour forcer la porte des commerces.2. "la plus grosse faille se trouve toujours entre l'écran et le clavier" ??? Bien évidemment, si ce n'est pas la naïveté de l'utilisateur qui est en cause, c'est celle de l'incompétence d'un développeur qui est à l'origine des failles techniques d'un système... N'oublions pas qu'il est strictement impossible pour un être humain de fournir du code sans le moindre bug? "Errare Humanum Est" Membre du Club https://www.developpez.com

Pour beaucoup, cette intervention sur le logiciel est bien l'aveux que cette monnaie ne tiens pas ses promesses. Il y a donc bel et bien un lobbying possible pour réguluer la monnaie. Ici, la DAO en difficulté va probablement réussir à obtenir des developpeur de Ethereum un bannissement d'un compte afin de récupérer de l'argent perdu suite à un smart contract contenant une faille.

Plus personnellement, d'un point de vue technique je peux comprendre l'intervention, car le détournement à probabelment été fait sachant que les personnes ayant écrit le smart contract ne souhaitait pas ouvrir une telle "fonctionnalité". D'un point de vue éthique, je désaprouve l'intervention car elle prouve que une organisation possédant une grosse somme peu obtenir l'altération du fonctionnement de cette monnaie. Bien entendu, si j'avais eu des billes dans TheDAO mon avis serait bien différent 2 0 Attention, il n'est pas question ici de rollback ou d'alterer la blockchain. Il est plus question, en somme, de modifier une partie du logiciel afin de bloquer les fonds détournée et / ou les restituer a TheDAO. Il est interressant de noter que le choix n'appartient pas tellement aux mineurs proprement dit. Les mineurs se regroupant dans des "fermes" afin de mettre en commum leurs puissances de calcul seul les personnes gérant le logiciel de la ferme devront faire le choix. Selon les mineurs intéréssés ce choix de fera selon des critères purement financiers et ne sera pas guidé par l'éthique ou par les principes fondamentaux que souhaitait véhiculer la monnaie elle meme.Pour beaucoup, cette intervention sur le logiciel est bien l'aveux que cette monnaie ne tiens pas ses promesses. Il y a donc bel et bien un lobbying possible pour réguluer la monnaie. Ici, la DAO en difficulté va probablement réussir à obtenir des developpeur de Ethereum un bannissement d'un compte afin de récupérer de l'argent perdu suite à un smart contract contenant une faille.Plus personnellement, d'un point de vue technique je peux comprendre l'intervention, car le détournement à probabelment été fait sachant que les personnes ayant écrit le smart contract ne souhaitait pas ouvrir une telle "fonctionnalité". D'un point de vue éthique, je désaprouve l'intervention car elle prouve que une organisation possédant une grosse somme peu obtenir l'altération du fonctionnement de cette monnaie. Bien entendu, si j'avais eu des billes dans TheDAO mon avis serait bien différent En attente de confirmation mail https://www.developpez.com



Combien d'exemples faudra-t-il encore pour que l'on accepte un fait: Aujourd'hui, le web ne peut pas assurer la protection des données auxquelles il donne accès pour une simple et bonne raison que l'on fait appel à un mille-feuilles de technologies dont personne n'a une vision et un contrôle global.



Alors qu'il n'est déjà quasi impossible de fournir un système "sans-faille" dont on est le développeur (perso, je n'aurai en tout cas pas la vanité ni la bêtise de me vanter être apte à fournir un tel système), comment peut-on imaginer un seul instant pouvoir le faire en intégrant une multitude de techno aux origines multiples? 3 2 Et il y a encore des "gogo" pour croire que la sécurité sur le web est possibleCombien d'exemples faudra-t-il encore pour que l'on accepte un fait: Aujourd'hui, le web ne peut pas assurer la protection des données auxquelles il donne accès pour une simple et bonne raison que l'on fait appel à un mille-feuilles de technologies dont personne n'a une vision et un contrôle global.Alors qu'il n'est déjà quasi impossible de fournir un système "sans-faille" dont on est le développeur (perso, je n'aurai en tout cas pas la vanité ni la bêtise de me vanter être apte à fournir un tel système), comment peut-on imaginer un seul instant pouvoir le faire en intégrant une multitude de techno aux origines multiples? Expert éminent sénior https://www.developpez.com Envoyé par NSKis Envoyé par



Combien d'exemples faudra-t-il encore pour que l'on accepte un fait: Aujourd'hui, le web ne peut pas assurer la protection des données auxquelles il donne accès pour une simple et bonne raison que l'on fait appel à un mille-feuilles de technologies dont personne n'a une vision et un contrôle global.



Alors qu'il n'est déjà quasi impossible de fournir un système "sans-faille" dont on est le développeur (perso, je n'aurai en tout cas pas la vanité ni la bêtise de me vanter être apte à fournir un tel système), comment peut-on imaginer un seul instant pouvoir le faire en intégrant une multitude de techno aux origines multiples? Et il y a encore des "gogo" pour croire que la sécurité sur le web est possibleCombien d'exemples faudra-t-il encore pour que l'on accepte un fait: Aujourd'hui, le web ne peut pas assurer la protection des données auxquelles il donne accès pour une simple et bonne raison que l'on fait appel à un mille-feuilles de technologies dont personne n'a une vision et un contrôle global.Alors qu'il n'est déjà quasi impossible de fournir un système "sans-faille" dont on est le développeur (perso, je n'aurai en tout cas pas la vanité ni la bêtise de me vanter être apte à fournir un tel système), comment peut-on imaginer un seul instant pouvoir le faire en intégrant une multitude de techno aux origines multiples?



quand à garantir la sécurité du web, la plus grosse faille se trouve toujours entre l'écran et le clavier. Un bug qui permet de détourner 50 millions ça ne se trouve pas tous les jours. Dans le cadre d'une crypto monnaie décentralisée c'est en effet un problème, sur le système bancaire c'est autre chose, un de mes clients s'est vu réclamer le paiement d'une vente 2 mois après l'achat car l'acheteur a contesté le paiement...et à défaut de 3DSecure (qui ne sécurise pas grand chose mais reporte la responsabilité sur la banque), le commerçant en est de sa poche...l'option a été activée depuis, mais comme 3DSecure ne fonctionne pas toujours bien, certains commerçants prennent le risque au lieu de perdre des clients.



A l'inverse, je suis par exemple totalement opposé au vote électronique, les bureaux de votes sont déjà des filtres insuffisants pour garantir l'intégrité du vote, c'est pas la peine d'en rajouter 1 0 TCP/IP est basé sur un ensemble très limité des protocoles, c'est souvent leur simplicité qui est critiqué au contraire car elle ne serait pas assez robustequand à garantir la sécurité du web, la plus grosse faille se trouve toujours entre l'écran et le clavier. Un bug qui permet de détourner 50 millions ça ne se trouve pas tous les jours. Dans le cadre d'une crypto monnaie décentralisée c'est en effet un problème, sur le système bancaire c'est autre chose, un de mes clients s'est vu réclamer le paiement d'une vente 2 mois après l'achat car l'acheteur a contesté le paiement...et à défaut de 3DSecure (qui ne sécurise pas grand chose mais reporte la responsabilité sur la banque), le commerçant en est de sa poche...l'option a été activée depuis, mais comme 3DSecure ne fonctionne pas toujours bien, certains commerçants prennent le risque au lieu de perdre des clients.A l'inverse, je suis par exemple totalement opposé au vote électronique, les bureaux de votes sont déjà des filtres insuffisants pour garantir l'intégrité du vote, c'est pas la peine d'en rajouter Membre extrêmement actif https://www.developpez.com Envoyé par verbose Envoyé par C'est le mode décentralisé qui est au coeur de la faille de sécurité. La conception des contrats étant libre, elle est susceptible, malgré toute la bonne foi et l'honnêté de son développeur, d'héberger une faille.



Centralisé ou décentralisé, tu utilise un service crée par un tiers, à qui tu fait assez confiance pour utiliser ledit service. L'erreur de base a sans doute été d'injecter autant d'argent dans the DAO alors que la plateforme Ethereum est encore très jeune et en rodage. 1 0 Ce n'est pas le mode décentralisé qui est en cause (tout du moins pour le problème orginal, pour sa résolution on pourrait en discuter) Le mode décentralisé te permet de t'assurer que le code du contrat que texécute et les données manipulées n'ont pas été modifiées par un tiers. Rien ne te dit que le contrat, légitime, n'est pas bourré de failles.Centralisé ou décentralisé, tu utilise un service crée par un tiers, à qui tu fait assez confiance pour utiliser ledit service. L'erreur de base a sans doute été d'injecter autant d'argent dans the DAO alors que la plateforme Ethereum est encore très jeune et en rodage. Membre extrêmement actif https://www.developpez.com Envoyé par Logan Mauzaize Envoyé par Envoyé par Dymmm Envoyé par Les mineurs se regroupant dans des "fermes" afin de mettre en commum leurs puissances de calcul seul les personnes gérant le logiciel de la ferme devront faire le choix. Étant des "associés" (désolé je connais pas le terme) des adresses du pool, ils n'ont pas leur propre voix ? Et rien ne les empêche de quitter le pool s'ils ne sont pas d'accord avec sa décision.

https://forum.ethereum.org/discussio...pool-ethermine



Les résultats pour ethpool et ethermine:

http://ethpool.org/stats/votes

http://ethermine.org/stats/votes 1 0 Certains pool (la plupart? tous?) ont ouvert un vote auprès des mineurs des pools en questions. Par exemple (ethpool et ehtermine):Les résultats pour ethpool et ethermine: Membre éclairé https://www.developpez.com Envoyé par benjani13 Envoyé par

Centralisé ou décentralisé, tu utilise un service crée par un tiers, à qui tu fait assez confiance pour utiliser ledit service. L'erreur de base a sans doute été d'injecter autant d'argent dans the DAO alors que la plateforme Ethereum est encore très jeune et en rodage. 1 0 Je pense que le problème d'Ethereum est qu'il permet aux Smart Contracts d'accéder aux Ethers de ses utilisateurs. À partir de là, si une faille existe dans la manipulation de ces Ethers, rien dans l'infra d'Ethereum n'est là pour mettre un garde fou. Membre extrêmement actif https://www.developpez.com Envoyé par Victor Vincent Envoyé par Un bug de la cryptomonnaie Ether permet à un hackeur de semparer de 50 millions $

en exécutant une fonction récursive du système de transaction 0 0 D'après mes différentes lectures sur le sujet il ne s'agit pas d'un bug de la blockchain Ethereum (comme on pourrait le comprendre en lisant l'article) mais d'un contrat tournant dessus émis par the DAO. La faut en reviens donc à the DAO. Ça n'empêche pas de s'interroger sur le fonctionnement d'Ethereum qui pour le coup à beaucoup ralenti, voir empêcher, la résolution du problème (pas possible de patcher le code sans passer par un fork). En attente de confirmation mail https://www.developpez.com Envoyé par benjani13 Envoyé par ... Ça n'empêche pas de s'interroger sur le fonctionnement d'Ethereum qui pour le coup à beaucoup ralenti 0 0 Vous me paressez bien optimiste... Les 50 millions volés représentent le 50% de la fortune gérée par Ethereum!!! Les mauvaises langues annoncent plutôt la mort pure et simple de ce petit frère de bitcoin Poster une réponse Signaler un problème

