lunes, 2 de julio de 2018

Ataques Web - Falsificación de petición en sitios cruzados (CSRF)

Un ataque CRSF obliga al navegador de una víctima autenticada a enviar una petición HTTP falsificado, incluyendo la sesión del usuario y cualquier otra información de autenticación incluida automáticamente, a una aplicación web vulnerable. Esto permite al atacante forzar al navegador de la víctima para generar pedidos que la aplicación vulnerable piensa que son peticiones legítimas provenientes de la víctima.

Como detectarlo


Para conocer si una aplicación es vulnerable, verifique la ausencia de un token impredecible de cada enlace y formulario. En dicho caso, un atacante puede falsificar peticiones maliciosas. Una defensa alternativa puede ser la de requerir que el usuario demuestre su intención de enviar una solicitud, ya sea a través de la reautenticación, o mediante cualquier otra prueba que demuestre que se trata de un usuario real.
Céntrese en los enlaces y formularios que invoquen funciones que permitan cambios de estados, ya que estos son los objetivos más importantes del CSRF.
Deben verificarse las operaciones de múltiples pasos, ya que no son inmunes a este tipo de ataques. Los atacantes pueden falsificar fácilmente una serie de solicitudes mediante el uso de etiquetas o incluso de código javascript.
Tengo en cuenta que las cookies de sesión , direcciones IP de origen, así como otra información enviada automáticamente por el navegador no proveen ninguna defensa ya que esta información también se incluye en las solicitudes falsificadas.


Como prevenirlo


La prevención CSRF por lo general requiere la inclusión de un token no predecible en cada solicitud HTTP. Estos token deben ser, como mínimo, únicos por cada sesión de usuario.

  1. La opción preferida es incluir un token en un campo oculto. Esto hace que el valor de dicho campo se envíe en el cuerpo de la solicitud HTTP, evitando su inclusión en la URL, sujeta a mayor exposición. 
  2. El token único también puede ser incluido en la propia URL, o un parámetro de la misma. Sin embargo esta práctica presenta el riesgo e inconveniente de que la URL sea expuesta a un atacante, y por lo tanto, pueda comprometer el token secreto. 
  3. Requiera que el usuario vuelva a autenticarse, o pruebas que se trata de un usuario legítimo (por ejemplo mediante el uso de un captcha) pueden también proteger frente ataque de tipos DSRF.

No hay comentarios:

Publicar un comentario