¿Qué es la solicitud falsificada ( Cross-Site Request Forgery , CSRF)?

Información clave

  • Según un informe de Acunetix, el 36% de las aplicaciones web son vulnerables a ataques CSRF, lo que lo convierte en un problema de seguridad frecuente que requiere atención.
  • El Top 10 de OWASP enumera CSRF como uno de los riesgos de seguridad críticos en las aplicaciones web, haciendo hincapié en la importancia de las estrategias de mitigación.
  • Cross-site request forgery (CSRF) es una vulnerabilidad de seguridad web que se aprovecha de la confianza existente entre el navegador de un usuario y una aplicación en la que ya está autenticado. Al engañar al navegador para que envíe una solicitud no deseada, los atacantes pueden, en teoría, cambiar la configuración de la cuenta, modificar datos o realizar otras acciones no autorizadas utilizando la sesión existente de la víctima.

    Comprender cómo funcionan los ataques CSRF, qué provoca las vulnerabilidades CSRF y cómo prevenirlas es fundamental para proteger las aplicaciones web modernas. Esta guía explica el funcionamiento de cross-site request forgery, los indicios habituales y los ejemplos de ataques CSRF, las diferencias clave entre el CSRF y otras amenazas relacionadas, y los controles de seguridad que las organizaciones pueden aplicar para reducir su riesgo.

    ¿Qué es la Cross-Site Request Forgery

    Cross-site request forgery (CSRF) es una vulnerabilidad de seguridad web que permite a un atacante engañar al navegador de un usuario autenticado para que envíe una solicitud no deseada a una aplicación web de confianza. Dado que el navegador puede incluir automáticamente las credenciales de sesión del usuario, la aplicación puede considerar legítima la solicitud falsificada, lo que podría dar lugar a acciones no autorizadas, como cambiar la información de la cuenta o modificar datos.

    ¿Cómo funciona un ataque CSRF?

    Un ataque CSRF consiste en engañar al navegador de un usuario autenticado para que envíe una solicitud maliciosa a una aplicación web en la que el usuario ya ha iniciado sesión. Si la aplicación no comprueba que la solicitud haya sido iniciada intencionadamente por el usuario, puede procesarla utilizando la sesión existente del usuario.

     diagrama que ilustra el flujo de ataque Cross-Site Request Forgery (CSRF)

    Indicadores comunes de un ataque CSRF

    Identificar un ataque CSRF puede resultar complicado, ya que a menudo se produce sin el conocimiento del usuario. Sin embargo, hay varios indicadores que pueden ayudar a los equipos SOC a detectar y responder a estos ataques con eficacia. A continuación se detallan algunas señales a las que prestar atención, junto con ejemplos de la vida real:

    1. Cambios no autorizados en la configuración de la cuenta de usuario

    Los usuarios pueden darse cuenta de que la configuración de sus cuentas, como direcciones de correo electrónico, contraseñas o preferencias, ha sido modificada sin su consentimiento. Por ejemplo, en 2011, una vulnerabilidad en una popular red social permitió a los atacantes cambiar las direcciones de correo electrónico de los usuarios, secuestrando de hecho sus cuentas.

    2. Transacciones financieras o cambios de datos inexplicables

    Los usuariospueden ver transacciones inesperadas o alteraciones en sus datos. Por ejemplo, una aplicación bancaria podría procesar transferencias de fondos no autorizadas. En 2008, una vulnerabilidad CSRF en un importante servicio de pago en línea permitió a los atacantes transferir fondos de las cuentas de los usuarios sin su autorización.

    3. Informes de usuarios sobre acciones que no iniciaron

    ‍Los usuariospueden denunciar acciones que no han realizado, como publicar contenido en redes sociales o enviar mensajes. En 2013, una vulnerabilidad en una conocida plataforma de redes sociales permitió a los atacantes publicar en nombre de los usuarios, lo que provocó una avalancha de spam e intentos de «phishing ».

    4. Actividad anormal en los registros de aplicaciones

    Los equipos de ‍SOCdeben supervisar los registros de las aplicaciones para detectar patrones de actividad inusuales. Por ejemplo, si los registros muestran que la cuenta de un usuario realizó múltiples acciones en rápida sucesión que no son coherentes con el comportamiento típico del usuario, podría indicar un ataque CSRF. Un caso notable fue el de un sitio de venta en línea en el que los registros revelaron que se estaban utilizando cuentas para realizar grandes pedidos sin el conocimiento de los usuarios.

    5. Aumento de las quejas de los usuarios por actividades no autorizadas

    ‍Unaumento repentino de las quejas de los usuarios sobre actividades no autorizadas puede ser un claro indicio de un ataque CSRF. En un caso concreto, un popular servicio de correo electrónico registró un repunte en las quejas relacionadas con el envío de correos basura desde las cuentas de los usuarios. La investigación reveló que se estaba aprovechando una vulnerabilidad CSRF para enviar dichos correos.

    Prevención de ataques CSRF

    1. Fichas anti-CSRF

    La implementaciónde tokens anti-CSRF es una de las formas más efectivas de prevenir ataques CSRF. Estos tokens son valores únicos y secretos generados por el servidor e incluidos en formularios o peticiones. Cuando el servidor recibe una solicitud, valida el token para garantizar la autenticidad de la solicitud.

    2. Atributo Cookie SameSite

    ‍Elatributo SameSite en las cookies ayuda a prevenir CSRF restringiendo cómo se envían las cookies con las peticiones cross-site. Configurar el atributo SameSite como "Strict" o "Lax" garantiza que las cookies solo se envíen con solicitudes del mismo sitio o iniciadas por el usuario, lo que reduce el riesgo de CSRF.

    3. Reautenticación para acciones sensibles

    Solicitara los usuarios que vuelvan a autenticarse antes de realizar acciones delicadas, como cambiar contraseñas o realizar transacciones financieras, puede añadir una capa adicional de seguridad contra los ataques CSRF.

    4. Cabeceras de seguridad

    ‍Lascabeceras de seguridad como Content Security Policy (CSP) y X-Frame-Options pueden ayudar a mitigar los riesgos de CSRF controlando cómo y dónde se puede cargar y ejecutar el contenido dentro de la aplicación.

    5. Educación de los usuarios

    Educara los usuarios sobre los peligros de hacer clic en enlaces sospechosos y la importancia de cerrar la sesión en aplicaciones sensibles cuando no se utilizan puede ayudar a reducir la probabilidad de ataques CSRF.

    Herramientas para detectar vulnerabilidades CSRF

    Existen varias herramientas para ayudar a detectar vulnerabilidades CSRF, entre ellas:

    • OWASP ZAP: Un escáner de seguridad de aplicaciones web de código abierto que puede identificar vulnerabilidades CSRF.
    • Burp Suite: Un completo escáner de vulnerabilidades web que incluye funciones para detectar problemas de CSRF.
    • Extensiones de navegador: Varias extensiones de navegador pueden simular ataques CSRF para probar la seguridad de las aplicaciones web.

    Garantizar que sus aplicaciones web son seguras contra ataques CSRF es esencial para mantener la confianza de los usuarios y la integridad de los datos. Si le preocupa que los hackers encuentren vulnerabilidades CSRF en sus aplicaciones, nuestro equipo de Vectra AI puede ayudarle.

    Realice nuestra visita autoguiada de productos para saber cómo podemos ayudarle a reforzar sus defensas contra CSRF y otras ciberamenazas.

    Preguntas frecuentes

    ¿Qué es Cross-Site Request Forgery (CSRF)?

    ¿Cómo funciona el CSRF?

    ¿Cuáles son las consecuencias habituales de un ataque CSRF?

    ¿Cómo puedo identificar si mi aplicación es vulnerable a CSRF?

    ¿Cuáles son los métodos habituales para prevenir los ataques CSRF?

    ¿Qué es una ficha anti-CSRF?

    ¿Cómo ayudan las cookies del mismo sitio a prevenir el CSRF?

    ¿Qué papel desempeñan las cabeceras HTTP en la prevención de CSRF?

    ¿Existen herramientas para comprobar las vulnerabilidades CSRF?

    ¿Por qué es importante la concienciación del usuario para prevenir el CSRF?