Crypto Prices

Term Labs recupera posiciones de tasa fija tras un ataque de gobernanza de 8.5 millones de dólares

antes de 19 horas
6 minutos leídos
2 vistas

Recuperación de Posiciones de Préstamos

Term Labs ha recuperado todas las posiciones de préstamos a tasa fija mantenidas en los vaults afectados por el ataque de gobernanza de agosto, con la última posición trasladada el 25 de agosto. Mientras tanto, los Meta Vaults y las estrategias afectadas permanecen cerrados. En su último informe de incidentes, Term Labs indicó que la última posición de tasa fija fue recuperada a las 14:52 UTC del 25 de agosto. La investigación reveló que el ataque se limitó a los saldos líquidos mantenidos dentro de los vaults de Term. El protocolo aseguró que sus contratos V1 y V2 no fueron comprometidos y que sus mercados de préstamos y préstamos directos continuaron operando durante todo el incidente.

Detalles del Ataque

La nueva cuenta técnica ofrece una imagen más detallada del ataque del 23 de agosto, que las firmas de seguridad estimaron previamente había drenado aproximadamente 8.5 millones de dólares de los vaults de Term Finance. Term Labs había revelado inicialmente un exploit de gobernanza que afectaba a los vaults, sin proporcionar la secuencia completa del ataque. Las firmas de seguridad CertiK y PeckShield estimaron pérdidas cercanas a 8.5 millones de dólares, incluyendo aproximadamente 2,843 ETH y 1.68 millones de USDC. PeckShield informó que el USDC fue posteriormente intercambiado por aproximadamente 1.68 millones de DAI. El protocolo cerró sus Meta Vaults y revocó los roles de gobernanza DAO. Los nuevos depósitos fueron deshabilitados permanentemente, mientras que los retiros permanecieron disponibles.

Yearn indicó en ese momento que los contratos afectados utilizaban la infraestructura de Yearn V3, pero que el ataque involucraba un envoltorio de gobernanza desarrollado para Term, en lugar de los vaults estándar de Yearn V3. Term Labs ahora afirma que su sistema de préstamos a tasa fija subyacente permaneció fuera del alcance del atacante. Las funciones de suministro, reembolso y liquidación continuaron operando sin interrupciones en sus mercados de préstamos directos.

Metodología del Ataque

El ataque se llevó a cabo a través de dos billeteras de operador financiadas mediante Tornado Cash y una serie de propuestas de gobernanza que alteraron los controles alrededor de las estrategias de vaults de Term. La primera billetera de operador recibió fondos a través de Tornado Cash el 17 de agosto. Alrededor de 24 minutos después, la billetera presentó una propuesta de ETH titulada

«Vote YES to VETO the curator’s proposed vault parameter changes.»

Entre los cambios incluidos en la propuesta estaba una reducción del Delay de gobernanza de la pila afectada a cero. Term Labs explicó que este cambio eliminó un período adicional de siete días y una hora durante el cual los proveedores de liquidez podrían haber detenido la propuesta antes de su ejecución.

Una segunda billetera de operador recibió financiamiento de Tornado Cash el 18 de agosto antes de desplegar un contrato singleton más tarde esa tarde. Según Term Labs, el contrato combinó tres funciones en un solo despliegue: un controlador, un adaptador de precios y un token de repo falso. Luego se inicializó un contrato auxiliar utilizando el singleton. Tres días después, el 21 de agosto, el auxiliar presentó siete propuestas de gobernanza y emitió los únicos votos sobre ellas. Dos propuestas apuntaron a los DAOs de estrategia ETH, pero nunca fueron ejecutadas. Las otras cinco se convirtieron en parte del ataque USDC. Cada una de las cinco propuestas redujo el Delay de gobernanza relevante a cero, eliminando un período adicional de tres días y una hora en el que los LPs podrían haber intervenido antes de la ejecución.

Consecuencias y Respuesta

Un análisis previo del incidente encontró que el atacante había obtenido influencia de gobernanza a un costo muy bajo. Una revisión de la toma de control de gobernanza reveló que aproximadamente 951 dólares se gastaron en adquirir suficientes tokens de gobernanza para controlar los votos vinculados a los vaults que contenían millones de dólares en depósitos. Las transacciones no requerían que el atacante comprometiera los contratos de préstamos a tasa fija centrales de Term. En cambio, los contratos de gobernanza ejecutaron instrucciones que habían pasado por el proceso de propuesta y votación.

Un camino de ataque similar fue utilizado contra StrongBlock a principios de agosto, cuando un atacante tomó el control de su sistema de gobernanza y drenó alrededor de 72,000 dólares en tokens STRONG y STRNGR. El atacante ganó suficiente poder de voto para aprobar una propuesta que finalmente proporcionó control administrativo sobre el contrato Governor del proyecto. La primera propuesta exitosa de Term se ejecutó a las 06:25 UTC del 23 de agosto. Cuatro estrategias activas de ETH, Shorewoods, August Digital, Parity Prime y Parity Core, fueron recordadas en el Meta Vault utilizando update_debt y dirigidas a una nueva estrategia llamada frWETH-EXIT.

Term Labs indicó que la estrategia había sido nombrada

«Estrategia de Salida de WETH Fijo Recipiente.»

Una vez que el WETH ingresó a la nueva estrategia, frWETH-EXIT reenvió la cantidad total al primer operador durante la misma llamada. La transacción dejó al Meta Vault con 2,841.74 acciones en una estrategia que no contenía ninguno de los WETH que se habían transferido a ella. Esa cifra corresponde estrechamente con los aproximadamente 2,843 ETH que PeckShield rastreó de Term Finance durante su análisis inicial del incidente.

Veintidós minutos después de la transacción de ETH, se ejecutó la segunda campaña contra cinco DAOs de estrategia USDC. Parity Prime, Parity Core, Parity HY, Parity HY v2 y RockawayX Tori fueron el objetivo a las 06:47 UTC. Term Labs indicó que cada propuesta hizo que su DAO vendiera una unidad de un token de repo falso en la estrategia asociada a un valor igual al saldo líquido total de USDC de la estrategia. El atacante pudo ejecutar la venta después de que las propuestas instalaron un contrato llamado fmTERT. Term Labs explicó que fmTERT impersonó tanto al controlador utilizado para determinar si un token era un instrumento legítimo de Term como al adaptador de precios responsable de determinar cuánto valía el instrumento.

Las propuestas establecieron la relación de reserva de cada estrategia a cero y aumentaron su límite de concentración al valor máximo permitido, evitando que esos controles limitaran la transacción del token falso. El token falso fue luego valorado utilizando una función de redemptionValue dinámica. Al ejecutarse, la función devolvió la cantidad precisa de USDC líquido disponible en la estrategia, permitiendo que una sola unidad del token de repo falso se vendiera por prácticamente el saldo total disponible de la estrategia. Después de la venta, las propuestas aprobaron los ingresos de USDC y los barrieron de cada DAO a la billetera del segundo operador.

Conclusiones y Medidas Futuras

Term Labs aseguró que los préstamos a tasa fija mantenidos por los vaults afectados no podían ser alcanzados a través del ataque en sí. Sin embargo, un problema separado habría surgido cuando esas posiciones maduraran, ya que sus ingresos estaban programados para redimirse en los mismos vaults que habían sido capturados durante el ataque de gobernanza. El protocolo respondió actualizando los contratos afectados y moviendo las posiciones de tasa fija antes de su madurez. Todas las posiciones de préstamos a tasa fija afectadas han sido recuperadas desde entonces, con la última posición trasladada a las 14:52 UTC del 25 de agosto.

El incidente ilustra el papel que los retrasos en la ejecución pueden desempeñar en la seguridad de la gobernanza. Días antes del ataque a Term Finance, Binance informó que había detenido una propuesta maliciosa de DAO que amenazaba aproximadamente 1.2 millones de dólares pertenecientes a un proyecto no nombrado. Quedaban menos de 48 horas antes de que esa propuesta pudiera ejecutarse cuando el intercambio contactó al proyecto, que finalmente la rechazó sin una pérdida reportada. En el caso de Term, las propuestas maliciosas eliminaron períodos de retraso adicionales antes de que los activos fueran tomados. La propuesta de ETH eliminó una ventana de siete días y una hora, mientras que las cinco propuestas de USDC eliminaron períodos de tres días y una hora de sus respectivas pilas de gobernanza.

Term Labs indicó que sus Meta Vaults y estrategias afectadas permanecen cerrados, mientras que el trabajo de cierre que involucra los vaults de baja actividad restantes aún está en curso. El protocolo está colaborando con agencias de aplicación de la ley y firmas de ciberseguridad para identificar a los responsables del ataque y ha proporcionado información relevante para ayudar en las investigaciones.

Popular