La startup de blockchain MonoX Finance dijo el miércoles que un hacker robó 31 millones de dólares al explotar un error en el software que el servicio utiliza para redactar contratos inteligentes.
La empresa emplea un protocolo financiero descentralizado conocido como MonoX que permite a los usuarios comerciar con tokens de moneda digital sin algunos de los requisitos de las bolsas tradicionales. “Los propietarios de proyectos pueden listar sus tokens sin la carga de los requisitos de capital y centrarse en el uso de los fondos para la construcción del proyecto en lugar de proporcionar liquidez”, dicen aquí los representantes de la compañía MonoX. “Funciona agrupando los tokens depositados en un par virtual con vCASH, para ofrecer un diseño de pool de tokens único”.
Un error de contabilidad incorporado en el software de la empresa permitió a un atacante inflar el precio del token MONO y utilizarlo después para cobrar todos los demás tokens depositados, reveló MonoX Finance en un post. El botín ascendió a 31 millones de dólares en tokens en las blockchains Ethereum o Polygon, ambas soportadas por el protocolo MonoX.
En concreto, el hack utilizó el mismo token como tokenIn y tokenOut, que son métodos para intercambiar el valor de un token por otro. MonoX actualiza los precios después de cada intercambio calculando los nuevos precios de ambos tokens. Cuando se completa el intercambio, el precio del tokenIn -es decir, el token enviado por el usuario- disminuye y el precio del tokenOut -o el token recibido por el usuario- aumenta.
Al utilizar el mismo token para tokenIn y tokenOut, el hacker infló en gran medida el precio del token MONO porque la actualización del tokenOut sobrescribió la actualización del precio del tokenIn. A continuación, el hacker intercambió el token por tokens por valor de 31 millones de dólares en las blockchains de Ethereum y Polygon.
No hay ninguna razón práctica para intercambiar un token por el mismo token, y por lo tanto el software que lleva a cabo las operaciones nunca debería haber permitido tales transacciones. Desafortunadamente, lo hizo, a pesar de que MonoX recibió tres auditorías de seguridad este año.
Las trampas de los contratos inteligentes
“Este tipo de ataques son comunes en los contratos inteligentes porque muchos desarrolladores no se esfuerzan por definir las propiedades de seguridad de su código”, dijo Dan Guido, experto en asegurar contratos inteligentes como el hackeado aquí y CEO de la consultora de seguridad Trail of Bits. “Tenían auditorías, pero si las auditorías sólo afirman que una persona inteligente miró el código durante un periodo de tiempo determinado, los resultados tienen un valor limitado. Los contratos inteligentes necesitan pruebas comprobables de que hacen lo que se pretende, y sólo lo que se pretende. Eso significa propiedades de seguridad definidas y técnicas empleadas para evaluarlas”.
Guido continuó:
La mayoría del software requiere mitigar las vulnerabilidades. Buscamos proactivamente las vulnerabilidades, reconocemos que pueden ser inseguras mientras las usamos y construimos sistemas para detectar cuando son explotadas. Los contratos inteligentes requieren la eliminación de vulnerabilidades. Las técnicas de verificación de software se utilizan ampliamente para ofrecer garantías demostrables de que los contratos funcionan según lo previsto. La mayoría de los problemas de seguridad en los contratos inteligentes surgen cuando los desarrolladores adoptan el primer enfoque de seguridad, en lugar del segundo. Hay muchos contratos inteligentes y protocolos grandes, complejos y de gran valor que han evitado incidentes, junto a los muchos que han sido explotados al instante de su lanzamiento.
El investigador de la cadena de bloques Igor Igamberdiev acudió a Twitter para desglosar la composición de los tokens drenados. Los tokens incluían 18,2 millones de dólares en Wrapped Ethereum, 10,5 dólares en tokens MATIC y 2 millones de dólares en WBTC. El botín también incluía cantidades menores de tokens de Wrapped Bitcoin, Chainlink, Unit Protocol, Aavegotchi e Immutable X.
Sólo el último hack de DeFi
MonoX no es el único protocolo financiero descentralizado que ha sido víctima de un hackeo multimillonario. En octubre, Indexed Finance dijo que había perdido alrededor de 16 millones de dólares en un ataque que explotó la forma en que reequilibra los grupos de índices. A principios de este mes, la empresa de análisis de cadenas de bloques Elliptic dijo que los llamados protocolos DeFi han perdido 12.000 millones de dólares hasta la fecha debido a robos y fraudes. Las pérdidas en los primeros 10 meses de este año alcanzaron los 10.500 millones de dólares, frente a los 1.500 millones de 2020.
“La relativa inmadurez de la tecnología subyacente ha permitido a los piratas informáticos robar los fondos de los usuarios, mientras que las profundas reservas de liquidez han permitido a los delincuentes blanquear las ganancias de delitos como el ransomware y el fraude”, afirma el informe de Elliptic. “Esto es parte de una tendencia más amplia en la explotación de tecnologías descentralizadas con fines ilícitos, que Elliptic denomina DeCrime”.
El post de MonoX del miércoles decía que, en el último día, los miembros del equipo han tomado las siguientes medidas:
- Se ha intentado establecer contacto con el atacante para abrir un diálogo mediante el envío de un mensaje a través de una transacción en ETH Mainnet
- Pausó el contrato e implementará una solución para someterse a pruebas más rigurosas. Después de llegar a un plan de compensación adecuado, trabajaremos en la liberación del contrato después de que nuestros socios de seguridad hayan dado el visto bueno.
- Hemos contactado con los grandes intercambios para supervisar y posiblemente detener cualquier dirección de cartera vinculada al ataque
- Colaboramos con nuestros asesores de seguridad para avanzar en la identificación del hacker y cómo mitigar el riesgo futuro
- Se han cruzado las interacciones de los monederos de Tornado Cash con los monederos que también utilizaban nuestra plataforma
- Se buscaron los metadatos dejados por las interacciones del front end con la Dapp
- Detallamos y mapeamos las direcciones de los monederos que podrían ser considerados “sospechosos” en base a su interacción con el producto. Por ejemplo, la eliminación de una gran cantidad de liquidez antes de la explotación
- Seguimiento continuo de la cartera con los fondos. Hasta ahora se han enviado 100 ETH a Tornado Cash de los fondos robados. El resto sigue ahí
- Además, presentaremos una denuncia policial formal
El post decía que MonoX Finance tiene un seguro que cubrirá pérdidas por valor de 1 millón de dólares y que la compañía está ahora “trabajando en las distribuciones.”
[content-egg module=Youtube template=custom/simple]Lo más visto del mes en: Informática

Alberto Berrios
Escribo sobre productos relacionados con el audio desde pequeños altavoces inalámbricos hasta grandes sistemas Hi-Fi. No comparo estos productos con otros, sino que muestro los puntos fuertes y débiles de cada dispositivo separado. Si quieres saber si un determinado producto merece la pena, ¡consulta una de mis reseñas antes de hacer la compra! Gracias por leer, hasta la próxima.