El 17 de enero de 2024, según los datos de seguimiento de la plataforma de riesgos de seguridad EagleEye de Beosin, Socket Protocol sufrió un ataque de inyección de llamadas, lo que provocó un importante robo de fondos de los usuarios autorizados. Actualmente, el atacante convirtió los fondos robados a ETH y los almacenó en la dirección del atacante.
Después del ataque, la confirmación oficial de Socket reconoció la violación de seguridad y suspendió rápidamente los contratos afectados.

Al mismo tiempo, MetaMask publicó en la plataforma X, afirmando que los usuarios de MetaMask Bridge no se ven afectados por la vulnerabilidad de Socket. MetaMask enfatizó su arquitectura única al diseñar contratos puente entre cadenas para mitigar tales ataques.

Análisis de vulnerabilidad
La causa principal de este incidente es una invocación de llamada insegura en la función performAction del contrato Socket. A pesar de la ausencia de comprobaciones de los parámetros fromToken y toToken, la función restringe efectivamente las direcciones de token a WETH, excluyendo otras direcciones ERC20, evitando la falsificación de estos parámetros indirectamente.

Sin embargo, un defecto crítico de la función radica en la falta de restricciones en el parámetro de cantidad. Si la persona que llama proporciona una cantidad de 0, la condición de verificación de la función siempre pasará sin la necesidad de llamar a las funciones de depósito y retiro de WETH. Esto permite inyectar datos anormales a través de la llamada, lo que lleva a la explotación de la vulnerabilidad.
Proceso de ataque
Una vez comprendida la vulnerabilidad, exploremos cómo el atacante ejecutó el ataque:
Creación de contrato malicioso:
Inicialmente, el atacante creó un contrato malicioso para iniciar el ataque.

2. Consultas y Verificaciones de Autorizaciones:
Posteriormente, el atacante realizó múltiples consultas sobre saldos WETH desde diferentes direcciones.
Además, el atacante verificó la cantidad autorizada para el contrato Socket: Gateway asociado con cada dirección.
Después de esto, el atacante llamó al contrato Socket: Gateway.

3. Llamada a función PerformAction con transferencia desde firma:
En la llamada a la función performAction, el atacante especificó el parámetro swapExtraData como 0x23b872dd…
Estos datos corresponden a la firma de la función transferfrom, lo que indica una invocación directa de la función transferfrom del token.

4. Llamada a función PerformAction con transferencia desde firma:
En la llamada a la función performAction, el atacante especificó el parámetro swapExtraData como 0x23b872dd…
Estos datos corresponden a la firma de la función transferfrom, lo que indica una invocación directa de la función transferfrom del token.

5. Transferencia WETH por parte del atacante:
A través de numerosas operaciones, el atacante transfirió WETH de innumerables usuarios a su propia dirección.

6. Transferencia de USDT autorizado de manera similar:
El atacante empleó un método similar para transferir USDT autorizado para el contrato a su propia dirección.

7. Participación de otros tokens:
El ataque se extendió para incluir otros tokens como WBTC, DAI y MATIC.



Al momento de escribir este artículo, se han robado aproximadamente $3,3 millones, y algunos fondos se intercambiaron por ETH y se almacenaron en la dirección del hacker. Beosin Trace continúa monitoreando los fondos robados.

Socket, en una actualización de la plataforma X, afirma que se han restablecido las operaciones, se han suspendido los contratos afectados y la situación está bajo control total. Se ha restablecido la interoperabilidad con el puente Bungee y la mayoría de los puentes frontales de los socios. Próximamente se anunciará un análisis detallado del evento y los pasos posteriores.
Socket emite un recordatorio: “Tenga cuidado con las cuentas falsas de Socket que intentan realizar phishing en sus respuestas. Verifique cuidadosamente la cuenta antes de realizar cualquier acción”.

Este incidente sirve como recordatorio para priorizar la seguridad. Al entrar en 2024, ya han ocurrido numerosos eventos de seguridad. Beosin, una empresa de seguridad blockchain líder a nivel mundial, ofrece una amplia gama de productos y servicios de seguridad blockchain que cubren auditorías de seguridad de código antes del lanzamiento del proyecto, monitoreo, alertas y prevención de riesgos de seguridad en tiempo real, recuperación de activos de criptomonedas, cumplimiento de seguridad KYT/AML y más. . Estamos comprometidos con el desarrollo seguro del ecosistema Web3. Si es necesario, no dude en contactarnos.
Contacto
Si necesita algún servicio de seguridad blockchain, bienvenido a contactarnos:
Sitio web oficial Beosin EagleEye Twitter Telegram Linkedin