A menudo suelen verse en las noticias ataques de ciberdelincuentes a usuarios y a celebridades, cuyas cuentas sociales son comprometidas o inclusive ven sus contenidos privados filtrados. Pero hay muchos otros ataques, quizás la mayoría, que no salen a la luz y ni sus propias víctimas se enteran.
Las técnicas utilizadas por los atacantes comienzan a ser cada vez más sofisticadas, muchas veces imperceptibles para los perfiles no tan técnicos. Es por eso que en esta entrada, veremos cómo funciona una técnica utilizada por cibercriminales en sitios web para el robo de información, con el objetivo de poder prevenir que se vean afectados.
La técnica llamada falsificación de petición en sitios cruzados, proviene de su nombre en inglés Cross Site Request Forgery (CSRF o XSRF). Este ataque fuerza al navegador web de su víctima, validado en algún servicio (como por ejemplo correo o home banking) a enviar una petición a una aplicación web vulnerable.
Esta aplicación se encarga de realizar la acción elegida a través de la víctima, debido que la actividad maliciosa será procesada en nombre del usuario logueado. Al contrario de los ataques conocidos como Cross Site Scripting (su traducción sería ordenes en sitios cruzados - XSS) los cuales explotan la confianza del usuario para con un sitio particular; el Cross Site Request Forgery explota la confianza que un sitio web tiene en un usuario particular.
¿Por qué puede ser peligrosa la vulnerabilidad CSRF?
Los riesgos que plantea la explotación de CSRF incluyen distintos tipos de actividades ilícitas e indeseadas. Desde el acceso a cuentas privadas de usuarios, pasando por acusar a alguien de acceder a sitios de contenido pedófilo e inclusive, hasta habilitar algún tipo de filtro o regla en el correo electrónico para que todos los correos se reenvíen a otra cuenta. Como vemos la explotación de esto puede conllevar a graves consecuencias.
¿Cómo funciona?
- Para que se pueda llevar a cabo un ataque mediante CSRF, en primera instancia, el atacante debe conseguir vulnerar e ingresar código HTML en un determinado servidor que podemos llamar “A”
- Por otro lado, la víctima establece una conexión legÍtima con una aplicación web en otro servidor, que llamaremos “B”
- La víctima accede a la aplicación web donde se encuentra el código introducido por el atacante
- El navegador de la víctima realiza una petición contra la aplicación del servidor web “B” sin que el usuario se entere
Lo descrito anteriormente sería algo como lo que vemos en el siguiente esquema:
Ya saben cómo funciona, ahora ¿cómo pueden protegerse?
Es fundamental saber que pueden protegerse contra este tipo de amenazas, y también es muy importante saber qué recaudos deben tomar como usuarios.
Algunas buenas prácticas son:
- Configurar el navegador para que no recuerde usuarios y contraseñas. El modo incógnito es una buena alternativa (Ctrl+Shift+P).
- Recordar cerrar la sesión cuando ya no se vaya a hacer uso de la aplicación y/o servicio.
- Se recomienda no utilizar la funcionalidad de aplicaciones web que permiten mantener la sesión abierta o recordar sesión.
- Utilizar diferentes navegadores, uno para información sensible y otro para navegación en general.
- Utilizar complementos que bloqueen la ejecución de scripts. Así los formularios que se envíen por el metodo POST, no podrán ser enviados automáticamente sin el consentimiento del usuario.
Como pudimos ver a lo largo de esta entrada, los atacantes buscan pasar cada vez más desapercibidos en sus ataques. Por este motivo es fundamental estar constantemente alertas ante comportamientos extraños y fuera de lo habitual. Incorporar buenas prácticas de seguridad a la navegación cotidiana permitirá reducir en gran parte la superficie de estos ataques, impidiendo que tengan éxito y contribuyendo a una mejor experiencia online.
Para más información, no dejen de visitar nuestro decálogo de seguridad en el ciberespacio para conocer las mejores prácticas.