El documento resume los principales riesgos de seguridad web identificados por OWASP en su Top 10 de 2010, así como extensiones para el navegador Firefox que permiten analizar y mitigar dichos riesgos. Se describen brevemente los 10 riesgos principales - inyección, XSS, gestión de sesiones, referencias directas, CSRF, configuración insegura, restricción de URL, redirecciones no validadas, almacenamiento criptográfico inseguro y protección del transporte - y se muestran ejemplos de extensiones para Firefox rel
1. Seguridad Web
Firefox y OWASP Top10
(2010RC1)
Alejandro Ramos
CISSP, CISA
SbD
UCA – Noviembre 2009 securitybydefault.com
2. OWASP
• Open Web Application Security Project
• Comunidad mundial abierta (130 capítulos)
• Mejora de la seguridad de apps
• Sin ánimo de lucro
• Desarrollo de herramientas,
documentación, estudios
• Algunos proyectos: Testing Guide,
WebScarab, ESAPI, Code Review, Top10
http://www.owasp.org
Seguridad Web OWASP y Firefox
UCA – Nov09
SbD
3. Owasp TOP10 2010 (RC1)
A1 – Injection
• 10 riesgos más A2 – Cross Site Scripting (XSS)
importantes. A3 – Broken Authentication and Session
Management
• Versión anterior de 2007 A4 – Insecure Direct Object References
(2003, 2004) A5 – Cross Site Request Forgery (CSRF)
• HOT! HOT! Liberada el 13 A6 – Security Misconfiguration (NEW)
de noviembre en OWASP A7 – Failure to Restrict URL Access
AppSec DC. A8 – Unvalidated Redirects and Forwards
(NEW)
• WARNING: los riesgos no A9 – Insecure Cryptographic Storage
solo se limitan a 10! A10 – Insufficient Transport Layer
Protection
http://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project
Seguridad Web OWASP y Firefox
UCA – Nov09
SbD
5. ¿ Firefox?
• Navegador libre desarrollado por la Corp. Mozilla, la
Fundación Mozilla y desarrolladores externos
• Multiplataforma
• Motor de renderizado “Gecko”
• Soporte de extensiones
SecuritybyDefault.com
Seguridad Web OWASP y Firefox
UCA – Nov09
SbD
6. FFHardener 1.1
• Criptografía:
– Impide el uso del algoritmo RC4 en sesiones SSL
– Fuerza el uso de algoritmos seguros (longitud de clave
superior a 64 / 128)
• JavaScript:
– Impide modificación del aspecto de Firefox
– Deshabilita capacidades de JS potencialmente inseguras
• Privacidad:
– Elimina el historial de navegación
– Borra la caché de paginas web visitadas
http://code.google.com/p/sbdtools/downloads/list
Seguridad Web OWASP y Firefox
UCA – Nov09
SbD
7. Perfiles
• Firefox admite el uso de varios perfiles
• Las extensiones consumen recursos
(…demasiados…)
• Útil para no sobrecargar el navegador
• Con Firefox cerrado: Firefox –Profile (-P)
http://support.mozil
la.com/es/kb/Manag
ing+profiles
Seguridad Web OWASP y Firefox
UCA – Nov09
SbD
8. FireCat
• Febrero 2007: “Turning Firefox to an ethical
hacking platform”
• Paquete de extensiones enfocadas al
análisis de seguridad de aplicaciones web
• Compuesta por más de 40 utilidades
(demasiadas…)
• Mantenida por Security-Database.com
http://www.security-database.com/toolswatch/FireCAT-1-5-released.html
Seguridad Web OWASP y Firefox
UCA – Nov09
SbD
12. A1.- Injection
• Explota una aplicación que construye una
consulta con los datos introducidos por el
usuario sin previa validación, modificando la
lógica de la aplicación.
• Mediante SQL, OS Shell, LDAP, XPATH, etc
• Muchas aplicaciones actualmente vulnerables
• Impacto: lectura/escritura completa de una
base de datos, ejecución de comandos, acceso a
credenciales.
Seguridad Web OWASP y Firefox
UCA – Nov09
SbD
15. A1 – Injection - Contramedidas
• Recomendaciones
– Utilizar un API segura de validación de datos
mediante parámetros
– Escapar caracteres siguiendo rutinas como
ESAPI de OWASP
– Uso de listas blancas
• Referencias
– http://www.owasp.org/index.php/SQL_Injection
_Prevention_Cheat_Sheet
Seguridad Web OWASP y Firefox
UCA – Nov09
SbD
16. A2.- CROSS SITE SCRIPTING
(XSS)
Seguridad Web OWASP y Firefox
UCA – Nov09
SbD
17. A2.- Cross Site Scripting
• Inserción de código en la página generada por
una aplicación web.
• Falta de validación de datos introducidos por el
usuario.
• Reflejados o almacenados en bbdd
• Impacto: permite el control total del
navegador, robo de sesiones, redirección a otras
páginas.
Seguridad Web OWASP y Firefox
UCA – Nov09
SbD
20. A2 – Cross Site Scripting - Contramedidas
• Recomendaciones
– No mostrar contenido generado con los datos
introducidos por el usuario.
– Codificar los datos de entrada (escapar). Ej
OWASP-ESAPI.
– Uso de validación mediante listas blancas.
• Referencias
– http://www.owasp.org/index.php/XSS_(Cross_S
ite_Scripting)_Prevention_Cheat_Sheet
Seguridad Web OWASP y Firefox
UCA – Nov09
SbD
21. A3.- BROKEN
AUTHENTICATION AND
SESSION MANGEMENT
Seguridad Web OWASP y Firefox
UCA – Nov09
SbD
22. A3.- Broken Authentication and session mangement
• Incorrecta gestión de funciones de
autenticación como: recordar contraseña,
desconectar, recuperar contraseña, pregunta
secreta.
• Ataques de fuerza bruta, enumeración de
usuarios, predicción de sesiones, etc.
• Impacto: robo de credenciales, suplantación de
identidad
Seguridad Web OWASP y Firefox
UCA – Nov09
SbD
26. A3 – Broken Authentication and Session Mangement -
Contramedidas
• Recomendaciones
– Simplificar proceso de autenticación
– Uso de la sesión estándar del sistema. Ej
JSESSIONID
– Uso de SSL en cada vez que se transmita la sesión
• Verificaciones
– No existen herramientas automáticas.
– Verificación del certificado SSL
– Comprobación de las funciones de autenticación
– Verificar que la función “desconectar”, destruye la
sesión
Seguridad Web OWASP y Firefox
UCA – Nov09
SbD
27. A4.- INSECURE DIRECT
OBJECT REFERENCES
Seguridad Web OWASP y Firefox
UCA – Nov09
SbD
28. A4.- Insecure Direct Object References
• Denominado “control de acceso en la capa de
presentación”.
• No mostrar información que realmente está
publicada (mediante la falta de referencias)
• Similar a A7 (Failure to Restrict URL Access)
• Impacto: acceso a recursos confidenciales,
información sensible o datos personales.
Seguridad Web OWASP y Firefox
UCA – Nov09
SbD
29. Unlinker
•También A6 Security Misconfiguration
•Ejemplos aproximados …por eso de ver la
extensión…
Seguridad Web OWASP y Firefox
UCA – Nov09
SbD
31. A4 – Insecure Direct Object References - Contramedidas
• Recomendaciones
– Mapeo de valores de la URL. Ej:
• &download=1 -> &download=34cb04e932
• &download=2 -> &download=48add501ef
• Validaciones
– Verificar que el valor es correcto
– Comprobar que el usuario tiene permiso sobre
el recurso
– Verificar el tipo de permiso (lectura, escritura,
borrado)
Seguridad Web OWASP y Firefox
UCA – Nov09
SbD
32. A5.- CROSS SITE REQUEST
FORGERY
Seguridad Web OWASP y Firefox
UCA – Nov09
SbD
33. A5.- Cross Site Request Forgery
• Un usuario es engañado para pulsar sobre un
enlace web.
• Este ejecuta una acción en esa web utilizando
las credenciales de su usuario (session, IP,
dominio de windows, etc)
• Impacto: común para transferencias bancarias,
acceder información confidencial, cambio de los
detalles de una cuenta, etcétera
Seguridad Web OWASP y Firefox
UCA – Nov09
SbD
34. Ejemplo CSRF
• Una trasferencia bancaria se realiza
mediante la petición:
– http://www.banco.com/transfer.jsp?cuenta_desti
no=xxxx&cantidad=nnn
• Si el enlace es pulsado sin autenticación, la
aplicación mostrará un error.
• Mediante el envío del enlace a un usuario de
“banco.com” por correo, este realizará la
transferencia ya que su sesión es válida
Seguridad Web OWASP y Firefox
UCA – Nov09
SbD
35. A5.- Cross Site Request Forgery - Contramedidas
• Recomendaciones
– Añadir un token a todas las URLs que ejecuten
funciones
– El token ha de ser generado criptográficamente
con un algoritmo seguro
– ¡OJO!: el token no debe mostrarse en la
cabecera “Referer”
-En el ejemplo atenrior:
http://www.banco.com/transfer.jsp?cuenta_desti
no=xxxx&cantidad=nnn&token=adf02e764f
http://www.owasp.org/index.php/CSRF_Prevention_Cheat_S
heet
Seguridad Web OWASP y Firefox
UCA – Nov09
SbD
36. A6.- SECURITY
MISCONFIGURATION
Seguridad Web OWASP y Firefox
UCA – Nov09
SbD
37. A6.- Security Misconfiguration
• Errores en configuraciones por defecto.
• Sistemas Operativos y Servicios no fortificados.
• Falta de otros elementos de seguridad (firewalls,
ids/ips, segmentación de red)
• Impacto: acceso completo al sistema, lectura
de ficheros o configuraciones.
Seguridad Web OWASP y Firefox
UCA – Nov09
SbD
38. EXIF Viewer
•Realmente “Information Leakage”, no está en Top10-
2010
Pero queremos ver a ¡¡¡ Cat Schwartz !!!
Seguridad Web OWASP y Firefox
UCA – Nov09
SbD
39. A6.- Security Misconfiguration - Contramedidas
• Recomendaciones
– Implantar guía de seguridad (fortificación)
– Contemplar todos los elementos: ssoo,
servicios, elementos de red
– Contemplar la seguridad cuando se hagan
cambios en la arquitectura
• Validaciones
– Verificar configuraciones
– Chequear niveles de parcheado
Seguridad Web OWASP y Firefox
UCA – Nov09
SbD
40. A7.- FAILURE TO RESTRICT
URL ACCESS
Seguridad Web OWASP y Firefox
UCA – Nov09
SbD
41. A7.- Failure to Restrict URL Access
• Acceso a funciones de la aplicación de distintos
roles:
• www.url.com/listusers.jsp (rol 1)
• www.url.com/adduser.jsp?user=aramosf (rol 2)
• Impacto: acceso a información, funciones y
servicios para los que no se dispone de
permisos.
• Escalada de privilegios (Usuarios anónimos a
zonas que requieren credenciales)
• Escalada de privilegios horizontal
Seguridad Web OWASP y Firefox
UCA – Nov09
SbD
42. User-Agent Switcher
•Una demo un poco justa…
Seguridad Web OWASP y Firefox
UCA – Nov09
SbD
43. A7.- Failure To Restrict URL Access - Contramedidas
• Recomendaciones para cada URL:
– Verificar el rol en la sesión, pero no en un
parámetro de la sesión
– No basar la seguridad en ocultar enlaces de
los menús.
• Validaciones
– Comprobaciones manuales
– Verificar el acceso a ficheros no autorizados
Seguridad Web OWASP y Firefox
UCA – Nov09
SbD
44. A8.- UNVALIDATED
REDIRECTS AND FORWARDS
Seguridad Web OWASP y Firefox
UCA – Nov09
SbD
45. A8.- Unvalidated Redirects And Forwards
• Redirección de una zona de la aplicación a otra
mediante un parámetro de la URL.
• Si el parámetro no es validado se podría redirigir
al usuario a una página externa.
• Impacto: redirección a una página de malware
o phishing.
Seguridad Web OWASP y Firefox
UCA – Nov09
SbD
47. A8.- Unvalidated Redirects and Forwards - Contramedidas
• Recomendaciones
– Eliminar siempre que se puedan las
redirecciones
– Si se usan, NO utilizar parámetros introducidos
por el usuario
– En el peor de los casos: validación de los
parámetros
Seguridad Web OWASP y Firefox
UCA – Nov09
SbD
48. A9.- INSECURE
CRYPTOGRAPHIC STORAGE
Seguridad Web OWASP y Firefox
UCA – Nov09
SbD
49. A9.- Insecure Cryptographic Storage
• Incorrecta identificación y gestión de la
información sensible y donde se almacena.
• Impacto: acceso y modificación de información
confidencial
Seguridad Web OWASP y Firefox
UCA – Nov09
SbD
50. SWF Catcher
•Otra demo un agarradita por los pelos …
Seguridad Web OWASP y Firefox
UCA – Nov09
SbD
52. A9.- Insecure Cryptographic Storage - Contramedidas
• Recomendaciones
– Uso de cifrado en todos los elementos
sensibles: registros, ficheros, directorios,
copias de seguridad.
– Selección de un algoritmo de cifrado seguro.
• Validaciones
– Rotación de claves periódica.
– Almacén seguro de las claves.
Seguridad Web OWASP y Firefox
UCA – Nov09
SbD
54. A10.- Insufficient Transport Layer Protection
• Identificación incorrecta de los puntos desde los
que se transmite información sensible: entre
sistemas internos, bases de datos,
proveedores/clientes.
• Impacto: acceso y modificación de datos
sensible
Seguridad Web OWASP y Firefox
UCA – Nov09
SbD
56. A10.- Insufficient Transport Layer - Contramedidas
• Recomendaciones
– Uso de TLS en las conexiones
– Cifrado y firmado de mensajes antes de su
transmisión: XML-Encryption / XML-Signature
– Deshabilitar algoritmos antiguos de SSL
– Gestión correcta de certificados/contraseñas
• Referencias
http://www.owasp.org/index.php/Transport_Layer_
Protection_Cheat
_Sheet
Seguridad Web OWASP y Firefox
UCA – Nov09
SbD
58. Obtención de Evidencias
• Cada hallazgo durante el análisis debe quedar
registrado y evidenciado
• Mediante capturas de pantalla
• O videos con el proceso de detección y
explotación de la vulnerabilidad.
Seguridad Web OWASP y Firefox
UCA – Nov09
SbD