El 9 de abril de 2023, SushiSwap fue víctima de un exploit debido a un Parámetro Externo No Verificado. La pérdida total fue de aproximadamente $3.3 millones.
Como protocolo líder en Ethereum con una base de usuarios sustancial, incluso los protocolos más destacados son susceptibles de introducir nuevos problemas graves durante las actualizaciones de contratos. Es un recordatorio para la comunidad DeFi de que la seguridad siempre debe ser la prioridad principal. Además, este incidente de seguridad fue desencadenado por el intento de rescate de un investigador de seguridad whitehat, lo que generó un debate considerable dentro de la comunidad. Ofrecemos una introducción concisa a este incidente, destacándolo como uno de los diez principales incidentes de seguridad de 2023.
Contexto
SushiSwap
SushiSwap, un DEX reconocido, lanzó un ataque vampiro contra Uniswap, logrando un éxito tremendo. En su punto máximo, su TVL alcanzó los $8 mil millones, y aún mantiene alrededor de $400 millones.
Aprobación
En resumen: permiso para que un contrato acceda y transfiera un token específico desde tu billetera.
Por conveniencia, muchos contratos solicitan por defecto una aprobación ilimitada. Muchos usuarios, preocupados por los riesgos de seguridad, solo depositan pequeñas cantidades en varios protocolos. Sin embargo, estos usuarios otorgan aprobación de fondos ilimitados a los protocolos. Si un protocolo se ve comprometido, todos los tokens aprobados en la cuenta podrían perderse.
La Vulnerabilidad
Parámetro Externo No Verificado
La función processRoute() del contrato RouteProcessor2 permite a los usuarios un control total sobre el flujo de llamadas (parámetro route).
Y en uniswapV3SwapCallback(), el parámetro from de safeTransferFrom() se decodifica desde el route proporcionado por el usuario.
Como resultado, los usuarios que aprobaron el contrato RouteProcessor2 perdieron sus activos.
El Proceso del Ataque
Este incidente involucró múltiples transacciones de ataque, pero utilizaremos la primera transacción de ataque como ejemplo. Transacción: 0x43ff7e01423044cfb501b4fe9ef1386725c0ddc117dadd6e6620cb68bdeaf4f9
- El atacante llamó a la función
processRoute()del contrato vulnerable RouteProcessor2 con un argumentoroutelargo cuidadosamente construido.
processRouteInternal()crea unInputStreambasado en la ruta proporcionada por el usuario.
- La transacción siguió la
routedel atacante hasta llegar aswapUniV3(). Nótese que elpoolse decodifica delstream, lo que significa que el atacante controló en quépoolrealizar elswap(), estableciéndolo como ellastCalledPool.
- Esto llamó al contrato malicioso desplegado por el atacante, quien simplemente pasó
calldatamalicioso para volver a llamar auniswapV3SwapCallback()de RouteProcessor2. uniswapV3SwapCallback()requiere la verificación demsg.sender, pero dado que ellastCalledPoolya había sido establecido como el contrato malicioso, el hacker eludió la verificación. Es importante destacar que el parámetrofromdesafeTransferFrom()fue decodificado delcalldataconstruido por el atacante.
- Los activos de la víctima son transferidos al contrato malicioso desplegado por el atacante.
El Controvertido Rescate Whitehat
Vale la pena mencionar que un whitehat con el nombre de usuario @trust__90 identificó este problema e intentó rescatar los fondos, pero este intento de rescate causó un desastre.
- Usar el mempool para transmitir transacciones en lugar de un RPC privado.
- Intentar rescatar solo 100 Ether en lugar de todos los que estaban en riesgo.
Esto abrió la puerta para que los Bots MEV y otros atacantes ejecutaran múltiples transacciones de imitación, drenando efectivamente la mayor parte de los fondos. Después de estos eventos, @trust__90 enfrentó críticas y buscó defender sus acciones.
People are saying all kinds of terrible things while being uninformed so allow me to share more details.
— Trust (@trust__90) April 10, 2023
I've initiated coordination privately with Immunefi officials 3 hours before the white-hack. 90 minutes later, I realized the asset is currently used by the frontend and…
Rescate de BlockSec
En este ataque, también rescatamos 100 Ether y devolvimos los fondos a la víctima, 0xsifu.
Hasta la fecha, hemos bloqueado con éxito más de 20 hackeos del mundo real y rescatado activos por un valor superior a $14,000,000.Hey, @0xsifu We have successfully blocked an attack transaction and rescued 100 Ether. Please get in touch with us.
— BlockSec (@BlockSecTeam) April 9, 2023
Recomendaciones de Seguridad
Las Actualizaciones Siempre Deben Ser Auditadas
Es un recordatorio para la comunidad DeFi de que la seguridad siempre debe ser la prioridad principal. Las auditorías no son una garantía de seguridad, pero la ausencia de una auditoría ciertamente no garantiza la seguridad.
Mitigaciones para el Problema de Aprobación
El año 2023 vio numerosos incidentes relacionados con ataques de aprobación, y aprovechamos esta oportunidad para recalcar la importancia de gestionar las aprobaciones. Una práctica de seguridad es aprobar solo las cantidades necesarias, o si la conveniencia es una prioridad, aprobar una cantidad ligeramente mayor a la necesaria.
MetaSuites de BlockSec ofrece una conveniente función de Diagnóstico de Aprobaciones. Además, herramientas como Revoke Cash pueden utilizarse para verificar regularmente el estado de las aprobaciones.
Adoptar Mecanismos de Monitoreo y Respuesta Automática
Ethereum es un bosque oscuro, y todos en la comunidad DeFi enfrentan diversos riesgos y desafíos, incluso los expertos en seguridad. En 2023, lanzamos Phalcon Security, el primer sistema de respuesta automatizada de la industria diseñado no solo para monitorear ataques, sino para bloquear activamente las amenazas en tiempo real. Las capacidades probadas en batalla de Phalcon han demostrado su efectividad al bloquear con éxito más de 20 hackeos del mundo real y rescatar activos por un valor superior a $14,000,000. Esta innovación garantiza que todas las partes interesadas puedan dormir más tranquilas por la noche, sabiendo que existen medidas proactivas para proteger sus inversiones.
Lee otros artículos de esta serie:
- Introducción: Los Diez Principales "Increíbles" Incidentes de Seguridad de 2023
- #1: Cosechando Bots MEV Explotando Vulnerabilidades en el Relay de Flashbots
- #2: Incidente de Euler Finance: El Mayor Hackeo de 2023
- #3: Incidente de KyberSwap: Explotación Magistral de Errores de Redondeo con Cálculos Extraordinariamente Sutiles
- #4: Incidente de Curve: Un Error del Compilador Produce Bytecode Defectuoso a partir de Código Fuente Inocente
- #5: Platypus Finance: Sobreviviendo Tres Ataques con un Golpe de Suerte
- #6: Incidente de Hundred Finance: Catalizando la Ola de Exploits Relacionados con la Precisión en Protocolos Bifurcados Vulnerables
- #7: Incidente de ParaSpace: Una Carrera Contra el Tiempo para Frustrar el Ataque Más Crítico de la Industria hasta la Fecha
- #9: Bot MEV 0xd61492: De Depredador a Presa en un Exploit Ingenioso
- #10: Incidente de ThirdWeb: La Incompatibilidad Entre Módulos de Confianza Expone una Vulnerabilidad



