Seguridad para Aplicaciones Web

Natalia Betancur Ayala

Juan Fernando Moreno

Juan Guillermo Restrepo

CSRF

Falsificación de Petición a Sitios Cruzados

Cross-Site Request Forgery

¿En qué consiste?

Es un tipo de ataque que obliga a un usuario final a ejecutar acciones no deseadas en una aplicación web en la cual el usuario este autenticado.

Se aprovecha de la confianza que tiene la página web en el usuario:

La víctima debe visitar la web con el código malicioso y en el mismo momento debe estar validado en la aplicación web legitima.

El atacante debe acertar con todos los valores de la petición ya que no puede ver la salida de la misma

El atacante debe hacer que la victima ejecute el código malicioso en el momento que esté validado en la web objetivo

Por suerte hay limitaciones

El atacante debe encontrar la manera de envíar las peticiones a la web para obtener algún tipo de resultado

La aplicación web cuenta con las medidas necesarias para contrarrestar los ataques CSRF

1

2

3

4

Tokens

CAPTCHA

  • Identificadores únicos
  • Generados aleatoriamente
  • Cifrados y largos
  • Asociados a la sesión del usuario
  • Comprobados por el servidor

No fueron diseñados para fastidiar a los usuarios sino para evitar que se ejecutarán scripts de forma automatica al momento de rellenar y enviar un formulario

3

¡Se cumple la limitación          !

El atacante no puede conocer el valor correcto por lo que no puede mandar la petición

Utilizar un buen navegador

que prevenga este tipo de

ataques y que cuente con

plugins que reduzcan el riesgo.

# Σ * ∞

¡Se cumple la limitación          !

Es una medida VISIBLE para el usuario final

2

1

Hay que prevenir

Veamos un ejemplo

{>:)}

  • Consultar mi saldo
  • Revisar mis movimientos
  • Revisar mis tarjetas
  • Solicitar reposición de tarjeta
  •  "Transfiera todo a esta cuenta..."
  • "Enviar respaldo de datos a este email..."
  • "Cambie el email por el siguiente:..." 

Operaciones

My-Bank-o.com

"Tan seguros como Interbolsa"

Todo esto sin que el usuario final lo note hasta que ya es muy tarde...

Prácticos

Seamos un poco más

Revelación de Información y Gestión Incorrecta de Errores

Information Leakage and Improper Error Handling

¿En qué consiste?

Es revelar (involuntariamente) mediante mensajes de error información sensible como:

  • Configuración
  • Tiempo de ejecución de operaciones
  • Funcionamiento interno
  • Estado interno
  • Sentencias SQL
  • Códigos de error
  • Implementación
  • Datos personales
  • Diferentes resultados a diferentes entradas
  • ...

*Ejemplo ficticio

Garantizar que todo el equipo de desarrollo de software comparte un enfoque común a la gestión de errores

Deshabilitar o limitar la gestión de errores detallada. No mostrar información de depuración a los usuarios finales, trazas de la pila o información sobre rutas

Crear un gestor de errores predeterminado que devuelva un mensaje de error ‘esterilizado’ para la mayoría de usuarios en producción

Hay que prevenir

Controlar los errores de todos los niveles como la capa de la base de datos o el servidor web subyacente (IIS, Apache, etc)

1

2

4

3

Algunos ejemplos

Prácticos

Seamos un poco más

Gracias

Muchas

Referencias Bibliograficas

Cross-Site Request Forgery (CSRF)

https://www.owasp.org/index.php?title=Cross-Site_Request_Forgery_(CSRF)&setlang=es

Cross-Site Request Forgery (CSRF) Prevention Cheat Sheet

https://www.owasp.org/index.php/Cross-Site_Request_Forgery_%28CSRF%29_Prevention_Cheat_Sheet

Falsificación de peticiones en sitios cruzados (Cross-Site Request Forgery (CSRF)) (Ataques Informáticos V)

http://cyberseguridad.net/index.php/453-falsificacion-de-peticiones-en-sitios-cruzados-cross-site-request-forgery-csrf-ataques-informaticos-v

Exploiting by Information Disclosure, Part 1

http://resources.infosecinstitute.com/exploiting-information-disclosure-part-1/

Understanding CSRF, the video tutorial edition

https://www.troyhunt.com/understanding-csrf-video-tutorial/

Seguridad para Aplicaciones Web

By Juangui Restrepo

Seguridad para Aplicaciones Web

  • 289