Solo días después de tomar el control de la gobernanza del proyecto, el atacante de Tornado Cash ha presentado una nueva propuesta para revertir el daño que han causado.
El 18 de mayo, el DAO de Tornado Cash votó accidentalmente a favor de la propuesta maliciosa después de no auditar adecuadamente su contenido.
Tornado Cash es un mezclador de preservación de la privacidad en la red Ethereum.
El atacante pudo otorgarse a sí mismo 1,2 millones de tokens TORN, dándole control sobre el DAO. Luego intercambió 380.000 de los tokens TORN recién obtenidos por 372 ETH y lo volvió a ejecutar a través del protocolo de privacidad.
Un DAO, o organización autónoma descentralizada, es una forma en que un proyecto se organiza sin la necesidad de que una empresa o individuo específico tenga el poder. Los tokens de gobernanza, como el token TORN de Tornado Cash, se distribuyen a la comunidad para hacer y votar en varias propuestas para el proyecto en cuestión.
La propuesta no tenía nada que ver con entregar tokens a ningún miembro. En su lugar, pedía a los miembros de la comunidad que votaran a favor o en contra de aumentar la cantidad de tokens TORN apostados necesarios para convertirse en un relayer de Tornado Cash y penalizar a los relayers que intenten evitar que se les reduzca su apuesta.
El atacante afirmó tener la misma lógica que una propuesta anterior que ya había sido aprobada.
Sin embargo, la propuesta maliciosa agregó una función de autodestrucción que, una vez utilizada, reemplazó la propuesta original por una nueva y maliciosa.
"La autodestrucción es, como se puede imaginar, una de las cosas más aterradoras que se pueden agregar casualmente como una función adicional", dijo a Decrypt Gonçalo Magalhães, ingeniero de contratos inteligentes en Immunefi. "Cambiar la lógica de un contrato proporciona infinitas posibilidades."
Con la propuesta maliciosa ahora en su lugar, el atacante pudo retirar todos los votos de gobernanza bloqueados y drenar todos los tokens del contrato de gobernanza.
"En resumen, el atacante drenó los tokens TRON del depósito de gobernanza, lo que significa que luego tenía todo el poder de voto", dijo un portavoz de la firma de seguridad PeckShield a Decrypt. "Luego intercambiaron parte del TORN robado por ETH y lo depositaron en el protocolo Tornado Cash".
Poco después de que se revelara que la propuesta era maliciosa, se hizo otra propuesta para revertir los cambios.
"Debido a que el atacante ahora tiene la mayoría del poder de voto, los mecanismos de gobernanza son esencialmente irrelevantes", dijo Magalhães.
El atacante también presentó otra nueva propuesta que devolvería los tokens TORN que se habían dado a sí mismos. Después de intercambiar 380,000 TORN por ETH, el atacante todavía tiene 820,000 tokens TORN, lo que significa que todavía tiene el control total sobre el DAO.
El usuario de Twitter 0xdeadf4ce ha sugerido, sin embargo, que todo esto podría ser un "gigatroll", diciendo que la nueva propuesta para revertir los cambios era simplemente un medio para impulsar el precio del token.
TornadoCash attacker deployed new proposal that, if executed, would seemingly revert the damage done to the Governance functionality. Either they're giga trolling or it will end up being an expensive but not disastrous lesson in Governance security.https://t.co/QMWYFsi8kP
— 0xdeadf4ce (@0xdface) May 21, 2023
¿Cómo se mantienen seguros los DAO?
Esto provocó un debate en línea sobre la falta de auditorías adecuadas, si es que las hay, de las propuestas de DAO.
"Este no es el primer caso de ataque de gobernanza este año", dijo Nathan van der Heyden, jefe de crecimiento de Snapshot, a Decrypt. "El ataque de gobernanza de Beanstalk es uno de los mayores hacks del año, y este de Tornado es probablemente uno de los más destacados".
En este caso, la propuesta estaba bien elaborada para ser no descriptiva y no sospechosa.
Muchos, si no todos, los votantes simplemente habrían emitido su voto sin profundizar en el código del contrato.
"Auditar todos los procesos críticos es ciertamente una buena medida, pero no vemos que se implemente con frecuencia", dijo Magalhães de Immunefi a Decrypt. "Ya es difícil ver auditorías exhaustivas en todas las actualizaciones de proxy de contratos inteligentes".
Un portavoz de PeckShield confirmó que la empresa recibe solicitudes de auditoría de propuestas y que "creen que muchos protocolos famosos tienen sus propuestas auditadas".
PeckShield se negó a revelar quién paga por las auditorías de seguridad de propuestas o qué proyectos optan por auditar sus propuestas.
Pero, ¿qué debe hacer un DAO?
"Los DAO deben fomentar la revisión activa de propuestas y la participación de los titulares. Esencialmente, el código malicioso como este no debería pasar desapercibido por todos los miembros del DAO", dijo Magalhães. "Un votante individual debería tener una comprensión profunda de lo que está votando. Las propuestas en cadena, aunque digitales, son definitivamente reales y tienen consecuencias reales".
Si bien este ataque fue astuto, cualquier persona con un ojo agudo que revise el código debería haber visto la función de autodestrucción. "Una función de autodestrucción en un contrato debería haber activado todas las sirenas de la sede", dijo.
Esta ataque debería servir como una lección de aprendizaje, aunque costosa, para los DAOs y sus miembros para prevenir otro ataque de gobernanza que ocurra este año.
"Necesitamos marcos de gobernanza en cadena generalizados que permitan que estos exploits sean momentos de enseñanza para la comunidad que luego adapta sus propios marcos a este nuevo conocimiento", dijo van der Heyden, "Si no aprendemos colectivamente, entonces nos vemos obligados a repetir errores similares individualmente".