Ethereum, hack de dForce et imBTC : à qui la faute ?
La semaine dernière, le protocole dForce et la pool imBTC d’Uniswap se faisaient dérober un montant total de 25 millions de dollars. À l’heure du bilan ce hack, le standard ERC-777 d’Ethereum, utilisé par imBTC, est pointé du doigt.
Hack de dForce : un TheDAO 2.0 ?
Pour un rappel des faits, consulter les articles dédiés au hack et à son issue.
À travers l’ensemble de la cryptosphère, l’attaque menée à l’encontre de Lendf.me (plateforme de prêt de l’écosystème dForce) et celle d’Uniswap sont comparées au hack de TheDAO. Cette attaque réalisée en 2016 avait entraîné la perte de 50 millions d’euros et la scission entre Ethereum Classic et Ethereum.
Ce type d’attaques est rendu possible par une caractéristique des smart contracts appelée « Réentrée » (ou Reentrancy). Celle-ci donne la possibilité à certaines fonctions des smart contracts d’être exécutées plusieurs fois, ce qui peut entraîner une incohérence dans les soldes des comptes si la fonction est mal utilisée.
Dans le cas de l’attaque de Lendf.me et Uniswap, l’attaquant a utilisé cette caractéristique sur le token imBTC – version tokénisée du bitcoin sur Ethereum – supporté à la fois par Lendf.me et Uniswap.
Pour ce faire, il a utilisé une fonctionnalité offerte par l’ERC-777 – version améliorée de l’ERC-20 – qui lui a permis d’effectuer des retraits répétés sans que le solde ne soit mis à jour, et ainsi siphonner les fonds de la plateforme.
À qui la faute ?
Dans le débat ouvert qui s’est initié sur les réseaux sociaux à la suite des hacks une question revient : à qui revient la responsabilité de ces attaques ?
Le standard ERC-777 pointé du doigt
Nombreux peuvent être tentés de pointer le doigt sur l’ERC-777, en raison de la possibilité qu’il offre de mener une attaque reentrancy, cependant ce raccourci un peu facile est bien éloigné de la vérité.
« Je crains que les gens pensent que l’ERC-777 est synonyme d’insécurité. Je ne pense pas que cela soit totalement juste » a déclaré Leighton Cusack CEO de PoolTogether, à nos confrères de TheBlock.
Une certitude : la faute ne peut qu’être intégralement assumée par les plateformes victimes de ces hacks. En effet, la possibilité de mener une attaque reentrancy par le biais de l’ERC-777 est un fait connu depuis juillet 2019 suite à l’audit réalisé par OpenZepplin.
La responsabilité des plateformes
En soi, l’ERC-777 n’est pas vulnérable aux attaques reentrancy, cependant, son utilisation couplée avec certains protocoles peut ouvrir des vecteurs d’attaque. Ainsi, loin d’être une faille du côté de l’ERC-777, cette fonctionnalité doit être bloquée du côté des plateformes afin de prévenir les piratages. Malheureusement, ni Lendf.me ni Uniswap v1 n’ont bloqué cette fonctionnalité.
Pour faire face à ces problèmes, ce sont aux plateformes d’être plus attentives aux risques liés à l’ajout de certains standards à leurs protocoles, comme l’a expliqué Dan Matthew, CTO de PieDAO :
« Mon avis est qu’en tant qu’industrie, nous ne pouvons pas attendre des utilisateurs qu’ils comprennent pleinement les risques associés aux plateformes dans lesquelles ils placent leurs fonds. Nous devons mieux les avertir de ces risques et identifier de manière proactive les cas où ils ne tiennent pas compte de ces avertissements »
L’ERC-777 n’est donc pas à mettre en cause dans ces attaques. C’est du côté des plateformes que l’effort doit venir afin de prévenir ce type de dérives.
Image : Gorodenkoff/Shutterstock.com