¿Cómo evito la falsificación entre sitios?
Una falsificación entre sitios (XSRF o CSRF), también conocida por una variedad de nombres, incluida la falsificación de solicitudes entre sitios, la sesión y el ataque con un solo clic, es un tipo difícil de explotación de sitios web para evitar. Funciona engañando a un navegador web para que envíe comandos no autorizados a un servidor remoto. Los ataques de falsificación entre sitios solo funcionan contra usuarios que han iniciado sesión en sitios web con credenciales auténticas; Como resultado, cerrar sesión en sitios web puede ser una medida preventiva simple y efectiva. Los desarrolladores web pueden usar tokens generados aleatoriamente para ayudar a prevenir este tipo de ataque, pero deben evitar verificar el referente o confiar en las cookies.
Es común que los exploits de falsificación entre sitios apunten a los navegadores web en lo que se conoce como un "ataque adjunto confuso". Creyendo que está actuando en nombre del usuario, el navegador es engañado para enviar comandos no autorizados a un servidor remoto. Estos comandos se pueden ocultar dentro de partes aparentemente inocentes del código de marcado de una página web, lo que significa que un navegador que intenta descargar un archivo de imagen podría estar enviando comandos a un banco, minorista en línea o sitio de redes sociales. Algunos navegadores ahora incluyen medidas diseñadas para prevenir ataques de falsificación entre sitios, y los programadores de terceros han creado extensiones o complementos que carecen de estas medidas. También puede ser una buena idea desactivar el correo electrónico del lenguaje de marcado de hipertexto (HTML) en su cliente preferido porque estos programas también son vulnerables a los ataques de falsificación entre sitios.
Dado que los ataques de falsificación entre sitios dependen de los usuarios que hayan ingresado legítimamente a un sitio web. Con eso en mente, una de las formas más fáciles de prevenir un ataque de este tipo es simplemente cerrar sesión en los sitios que ha terminado de usar. Muchos sitios que se ocupan de datos confidenciales, incluidos bancos y firmas de corretaje, lo hacen automáticamente después de un cierto período de inactividad. Otros sitios adoptan el enfoque opuesto y permiten que los usuarios inicien sesión constantemente durante días o semanas. Aunque puede encontrar esto conveniente, lo expone a los ataques CSRF. Busque la opción “recordarme en esta computadora” o “mantenerme conectado” y desactívela, y asegúrese de hacer clic en el enlace para cerrar sesión cuando haya completado una sesión.
Para los desarrolladores web, eliminar las vulnerabilidades de falsificación entre sitios puede ser una tarea particularmente desafiante. La comprobación de la información de referencia y de cookies no proporciona mucha protección porque los ataques de CSRF aprovechan las credenciales legítimas de los usuarios y esta información es fácil de falsificar. Un mejor enfoque sería generar aleatoriamente un token de un solo uso cada vez que un usuario inicie sesión, y requerir que el token se incluya con cualquier solicitud enviada por el usuario. Para solicitudes importantes como compras o transferencias de fondos, requerir que un usuario vuelva a ingresar el nombre de usuario y la contraseña puede ayudar a garantizar la autenticidad de la solicitud.