El documento propone una metodología para la auditoría de seguridad de aplicaciones web que identifique las características y funcionalidades más comunes de las aplicaciones web y determine las vulnerabilidades y amenazas a las que están expuestas. La metodología verificará las características de las aplicaciones web para identificar vulnerabilidades y amenazas y recomendar medidas de seguridad.
1. Seguridad en el Desarrollo de Software
Metodología para la auditoría de seguridad
de aplicaciones web.
Universidad Pontificia de Salamanca
Máster en Ingeniería del Software
curso 2011/12
2. ¿Quién Soy?
Juan Carlos Pérez
perezpardojc@gmail.com
twitter.com/perezpardojc
www.linkedin.com/in/jcperezdoteu
3. Agenda.
Introducción y la Propuesta.
Introducción a las aplicaciones web y la seguridad.
Amenazas y vulnerabilidades.
Medidas de seguridad y buenas prácticas.
Características principales de las aplicaciones web.
Metodología.
Caso de estudio.
Seguridad en el Desarrollo de 2012, Juan Carlos Pérez , Universidad Pontificia de 3
Software Salamanca en Madrid
4. Introducción y la Propuesta.
Se propone un estudio científico que tenga como objetivo identificar
las características y funcionalidades más comunes presentes en
aplicaciones web y determinar a cuales vulnerabilidades y amenazas
de seguridad están expuestas.
Elaborar una metodología para la auditoría de seguridad en las
aplicaciones web, que permita identificar las características y
funcionalidades que posee una determinada aplicación web, para
verificar la existencia o no, de amenazas y vulnerabilidades, y así
poder corregirlas. Luego aplicar la metodología en diferentes
aplicaciones web, con el fin de identificar sus vulnerabilidades y
amenazas e implementar las medidas de seguridad correctivas
correspondientes.
Seguridad en el Desarrollo de 2012, Juan Carlos Pérez , Universidad Pontificia de 4
Software Salamanca en Madrid
5. Propuesta (I).
Identificar las características y funcionalidades más comunes
presentes en aplicaciones web.
Determinar a cuales vulnerabilidades y amenazas de seguridad
están expuestas
Determinar las medidas de seguridad y controles respectivos
Elaborar una metodología para la auditoría de seguridad en las
aplicaciones web
Aplicar la metodología en diferentes aplicaciones web
Implementar medidas de seguridad en las aplicaciones web
estudiadas
Seguridad en el Desarrollo de 2012, Juan Carlos Pérez , Universidad Pontificia de 5
Software Salamanca en Madrid
6. Propuesta (II).
Elaborar una metodología para
la auditoría de seguridad en
aplicaciones web
Aplicar la metodología para
Determinar vulnerabilidades y
identificar vulnerabilidades y
amenazas de las características
amenazas en aplicaciones web
de las aplicaciones web
Recomendar medidas y
Identificar características
controles de seguridad en las
principales de las
aplicaciones web
aplicaciones web
Seguridad en el Desarrollo de 2012, Juan Carlos Pérez , Universidad Pontificia de 6
Software Salamanca en Madrid
7. Alcance.
• Gran número de vulnerabilidades, amenazas y
características.
• …está en constante aume nto.
• Se consideran las más importantes y comunes.
• Todos los aspectos de las aplicaciones web…
• Los conceptos y principios comprendidos son
generales.
Seguridad en el Desarrollo de 2012, Juan Carlos Pérez , Universidad Pontificia de 7
Software Salamanca en Madrid
8. Introducción a las aplicaciones
web y la seguridad
Capas de una aplicación web:
Capas de una aplicación web desde el punto de vista de la seguridad
Seguridad en el Desarrollo de 2012, Juan Carlos Pérez , Universidad Pontificia de 8
Software Salamanca en Madrid
10. Amenazas y Vulnerabilidades
Capa Física:
Deficiente control de acceso a la sala de servidores
Catástrofes naturales, accidentes y Fallas
Capa de Red:
Deficiente protección de los datos en el tránsito
Acceso a recursos sensibles
Seguridad en el Desarrollo de 2012, Juan Carlos Pérez , Universidad Pontificia de 10
Software Salamanca en Madrid
11. Amenazas y Vulnerabilidades
Capa de SO y Servicios:
Deficiente definición de permisos (acceso archivos
y ejecución)
Utilizar versiones viejas e inseguras de los servicios
Capa de Aplicación:
Ataques de fuerza bruta
Inyección de Código SQL
Cross Site Scripting
Seguridad en el Desarrollo de 2012, Juan Carlos Pérez , Universidad Pontificia de 11
Software Salamanca en Madrid
12. Medidas de seguridad y buenas prácticas
Seguridad en el Desarrollo de 2012, Juan Carlos Pérez , Universidad Pontificia de 12
Software Salamanca en Madrid
13. Medidas de seguridad y buenas prácticas
Capa Física:
Controles de acceso a la sala de servidores
Sistemas de detección y control
humedad, temperatura, humo, extintores, etc.
Capa de Red:
Configurar una DMZ
Configurar una VPN
Seguridad en el Desarrollo de 2012, Juan Carlos Pérez , Universidad Pontificia de 13
Software Salamanca en Madrid
14. Medidas de seguridad y buenas prácticas
Uso de Cortafuegos para crear una DMZ
Seguridad en el Desarrollo de 2012, Juan Carlos Pérez , Universidad Pontificia de 14
Software Salamanca en Madrid
15. Medidas de seguridad y buenas prácticas
Capa de SO y Servicios:
Estricta definición de permisos
Antivirus
Chequeo de integridad de binarios
Capa de Aplicación:
Filtrar la entrada de datos (Filter Input)
Escapado de salida (escape output)
Uso de herramientas para distinguir autómatas
de humanos (CAPTCHA)
Seguridad en el Desarrollo de 2012, Juan Carlos Pérez , Universidad Pontificia de 15
Software Salamanca en Madrid
16. Medidas de seguridad y buenas prácticas
Uso de captcha para prevenir automatización
Seguridad en el Desarrollo de 2012, Juan Carlos Pérez , Universidad Pontificia de 16
Software Salamanca en Madrid
17. Características principales de las
aplicaciones web
Seguridad en el Desarrollo de 2012, Juan Carlos Pérez , Universidad Pontificia de 17
Software Salamanca en Madrid
18. Características principales de las
aplicaciones web
Capa Física:
Hardware propio de la empresa
Hardware arrendado a terceros (hosting)
Capa Red:
Equipos de acceso público a través de la red
Equipos de acceso privado
Seguridad en el Desarrollo de 2012, Juan Carlos Pérez , Universidad Pontificia de 18
Software Salamanca en Madrid
19. Características principales de las
aplicaciones web
Capa Sistema Operativo y Servicios:
Sistema Operativo
Servidores de Bases de datos
Capa Aplicación:
Inicio de sesión de usuario vía formulario HTML
Recuperación de contraseña
Administradores remotos
Registro de usuarios en línea
Seguridad en el Desarrollo de 2012, Juan Carlos Pérez , Universidad Pontificia de 19
Software Salamanca en Madrid
20. Metodología
Metodología para la auditoría de seguridad en
aplicaciones web
Basada en las principales características de las aplicaciones
web
METODOLOGÍA
Seguridad en el Desarrollo de 2012, Juan Carlos Pérez , Universidad Pontificia de 20
Software Salamanca en Madrid
21. Metodología
Objetivo principal
Verificación y Comprobación
Capa Física
Característica 1
Característica 2
Capa Red
Característica …
Característica …
Capa SO y Servicios
Característica …
Característica …
Capa Aplicación
Característica n-1
Característica n
Seguridad en el Desarrollo de 2012, Juan Carlos Pérez , Universidad Pontificia de 21
Software Salamanca en Madrid
22. Metodología
Confidencialidad
GRUPO
AUDITOR
Seguridad en el Desarrollo de 2012, Juan Carlos Pérez , Universidad Pontificia de 22
Software Salamanca en Madrid
23. Metodología
Herramientas y conocimientos necesarios:
Conocimientos en el área de aplicaciones web
Un mínimo de comprensión de los tópicos en cada capa
Uso de herramientas y técnicas modelación: ej. Diagramas
UML, DFD, Entidad Relación
Herramientas de software:
Sniffers, Escáneres de Vulnerabilidades
Herramientas propias
No se es específico a la inclusión o uso de alguna
herramienta
Seguridad en el Desarrollo de 2012, Juan Carlos Pérez , Universidad Pontificia de 23
Software Salamanca en Madrid
24. Metodología
Aspectos fundamentales
Si la aplicación web no es segura, entonces toda la información
sensible esta en grave peligro.
Los sitios web y sus aplicaciones web relacionadas deben estar
disponibles 24 x 7 para proveer un buen servicio a sus clientes,
empleados y proveedores.
Los Cortafuegos y SSL no proveen protección contra
vulnerabilidades o amenazas de aplicaciones.
Los hackers prefieren tener acceso a data sensible ya que pueden
vender esta información por grandes sumas de dinero.
Ocultar objetos no garantiza su seguridad.
Seguridad en el Desarrollo de 2012, Juan Carlos Pérez , Universidad Pontificia de 24
Software Salamanca en Madrid
25. Metodología
Etapas de la metodología
Planificación
Ejecución de la auditoría
Comunicación de resultados
Seguimiento
Seguridad en el Desarrollo de 2012, Juan Carlos Pérez , Universidad Pontificia de 25
Software Salamanca en Madrid
26. Metodología
Planificación: Objetivos y Alcance
TODO
PARTE
Seguridad en el Desarrollo de 2012, Juan Carlos Pérez , Universidad Pontificia de 26
Software Salamanca en Madrid
27. Metodología
Ejecución de la auditoría: Levantamiento y Verificación
Enfoque:
Verificar presencia de Vulnerabilidades
Comprobar existencia o no, y deficiencia de Controles
AMBOS
Seguridad en el Desarrollo de 2012, Juan Carlos Pérez , Universidad Pontificia de 27
Software Salamanca en Madrid
28. Metodología
Ejecución de la auditoría: Levantamiento y Verificación
?
Seguridad en el Desarrollo de 2012, Juan Carlos Pérez , Universidad Pontificia de 28
Software Salamanca en Madrid
29. Metodología
Fragmento: ETAPA 2 – Verificación de capa aplicación
13.1. Inicio de Sesión de Usuario.
Verificar existencia o no de vulnerabilidades en cuanto a:
13.1.1. Ataques de Fuerza bruta
13.1.2. Abuso de funcionalidad
13.1.3. Revelación de información
13.1.4. Inyección de código o comandos
Verificar existencia o no y deficiencia en cuanto a políticas y controles de:
13.1.8. Captcha
13.1.9. Filtrado de entrada
13.1.10. Escapado de salida
13.1.11. Conexiones seguras
13.1.12. Manejo de sesión apropiado
13.1.13. Enmascarado de información sensible
Seguridad en el Desarrollo de 2012, Juan Carlos Pérez , Universidad Pontificia de 29
Software Salamanca en Madrid
30. Metodología
Seguimiento: verificación
Seguridad en el Desarrollo de 2012, Juan Carlos Pérez , Universidad Pontificia de 30
Software Salamanca en Madrid
31. CONCLUSIONES
Seguridad en el Desarrollo de 2012, Juan Carlos Pérez , Universidad Pontificia de 31
Software Salamanca en Madrid
32. Conclusiones
Si un aspecto tiene fallas, toda la aplicación esta
en riesgo
Una metodología general
Se requiere total colaboración por parte de los
diferentes equipos de trabajo
Dificultades para aplicar la metodología
Es un trabajo minucioso y consume gran cantidad
de tiempo
El grupo auditor requiere ser multidisciplinario
Importancia de las políticas sobre las prácticas
El trabajo de auditoría es un proceso continuo
Seguridad en las personas
Seguridad en el Desarrollo de 2012, Juan Carlos Pérez , Universidad Pontificia de 32
Software Salamanca en Madrid
33. Consideraciones
Es una metodología no comercial
Es muy poca o inexistente la información sobre
las características comunes de las aplicaciones web
No siempre es posible constatar la información
sobre la arquitectura física y de red
Limitaciones al aplicar la metodología asociadas
al conocimiento y dominio en cada una de las
áreas que comprende la misma
Entender el código de otras personas
Se debe aplicar periódicamente
Seguridad en el Desarrollo de 2012, Juan Carlos Pérez , Universidad Pontificia de 33
Software Salamanca en Madrid
34. Aportes del Trabajo
Definición de un esquema por capas desde el
punto de vista de la seguridad para las
aplicaciones web
Recopilación de vulnerabilidades y amenazas en
las aplicaciones web.
Recopilación de medidas de seguridad en las
aplicaciones web.
Definición y clasificación de las principales
características en las aplicaciones web y sus
implicaciones de seguridad
Metodología para la auditoría de seguridad de
Aplicaciones Web
Seguridad en el Desarrollo de 2012, Juan Carlos Pérez , Universidad Pontificia de 34
Software Salamanca en Madrid
35. Trabajos a Futuro
Extender y ampliar el conjunto de características
comunes en las aplicaciones web
Recopilar las nuevas vulnerabilidades y
amenazas en las aplicaciones web
Recopilar las nuevas medidas de seguridad en
las aplicaciones web
Realizar adaptaciones para arquitecturas y
lenguajes específicos de la metodología para la
auditoría de seguridad de Aplicaciones Web
Seguridad en el Desarrollo de 2012, Juan Carlos Pérez , Universidad Pontificia de 35
Software Salamanca en Madrid
36. ¿PREGUNTAS?
Seguridad en el Desarrollo de 2012, Juan Carlos Pérez , Universidad Pontificia de 36
Software Salamanca en Madrid
37. Metodología para la auditoría de seguridad
de aplicaciones web.
Gracias !
Seguridad en el Desarrollo de 2012, Juan Carlos Pérez , Universidad Pontificia de 37
Software Salamanca en Madrid