¿Te gustaría poder escuchar este artículo?
Sí es posible. Suscríbete y ten acceso a reproductor de audio de las noticias, contenido exclusivo, sin anuncios y más. Saber más
-
La vulnerabilidad fue notificada a MakerDAO hace un mes y corregida el pasado primero de octubre.
-
MakerDAO premió al desarrollador que reportó la falla con USD 50.000.
MakerDAO, la organización descentralizada que corre en Ethereum, divulgó una vulnerabilidad extremadamente peligrosa, que hubiese permitido a un atacante robar todos los fondos colaterales asociados a su criptomoneda anclada DAI, en una sola transacción.
La vulnerabilidad, si hubiese sido explotada, hubiese resultado en una pérdida completa de los fondos de todos los usuarios del sistema DAI Multi-Collateral, aún por implementarse, lo que probablemente hubiese llevado al ecosistema de MakerDAO a su peor crisis.
«El costo de realizar el ataque era casi cero; justo la denominación mínima por cada tipo de gema robada, más gas», escribió el investigador que descubrió la vulnerabilidad, usuario lucash-dev en HackerOne. Este desarrollador notificó sobre la vulnerabilidad a MakerDAO el pasado 26 de septiembre.
El contrato inteligente de MakerDAO: muy poco control de acceso
Como se aprecia en el reporte publicado en HackerOne el primero de octubre, después de corregida la falla, el ataque era posible debido a una completa falta de control de acceso en un contrato inteligente de MakerDAO. Específicamente, el contrato que permite que el sistema subaste los fondos colaterales a cambio de la criptomoneda DAI cuando los préstamos son liquidados.
Una falta de validación en el método flip.kick permite a un atacante crear una subasta con un falso valor de puja- Como el contrato ‘end’, o de liquidación, cree en ese valor, puede ser explotado para emitir cualquier cantidad de DAI de manera gratuita durante la liquidación. Esos fondos en DAI pueden ser inmediatamente usados para obtener todos los fondos colaterales almacenados en el contrato ‘end’.
Usuario lucash_dev en HackerOne.
Las fases de liquidación existen debido a que DAI es un activo «sobre-colateralizado», lo que significa que todo el circulante de DAI está respaldado por un exceso de tokens colaterales almacenados en la bloclchain de Ethereum.
En la documentation de MakerDAO se explica que los préstamos en DAI pueden ser liquidados si se detecta que son inseguros. Estas medidas se establecieron para asegurar que hubiese suficientes fondos colaterales en el sistema para garantizar el valor de todos los tokens DAI, que tienen un valor nominal de un dólar estadounidense.
Estos fondos colaterales es el que los hackers hubiesen podido robar, lo que hubiese provocado el colapso completo de DAI, una vez que el sistema MCD estuviese implementado.
De acuerdo con MakerScan, hay en la actualidad 40.673,89 ETH ( USD 7,2 millones) bloqueados sólo en un préstamo de MakerDAO, y USD 270 millones en ETH en total, almacenados en MakerDAO, así que el riesgo potencial de la vulnerabilidad detectada y ya corregida, eran ciertamente muy altos.
Como se mencionó antes, hace una semana MakerDAO anunció que había parcheado el código y otorgó al desarrollador USD 50.000 por sus esfuerzos.
$50,000 bounty given to user lucash-dev for critical vulnerability discovered in @MakerDAO ‘s new Multi-Collateral DAI (MCD) contract.
A fix was proposed and approved already.https://t.co/12JYnyBK8r
— Philippe Castonguay (@PhABCD) October 1, 2019
La recompensa pudiese parecer de gran magnitud, pero palidece ante la gran pila de criptomonedas ETH que estaban esperando ser robadas en cualquier momento, antes de que se conociera la vulnerabilidad.
Actualización 1:49 p.m. UTC, 3 de ocubre. Este artículo fue actualizado para clarificar que los fondos colaterales en riesgo eran aquellos relacionados con el sistema de DAI Multi-colateral, que no está actualmente en la red principal de Ethereum. Los fondos colaterales que respaldan a DAI, también fueron corregidos. Presentamos disculpas por estos errores.
Versión traducida del artículo de David Canellis, publicado en The Next Web.