1 metodología para la auditoría de seguridad de aplicaciones web universidad central de venezuela...
TRANSCRIPT
1
Metodología para la auditoría de seguridad de aplicaciones
web
Universidad Central de Venezuela
Facultad de Ciencias
Escuela de Computación
Caracas, 27 de mayo de 2008
Integrantes:Agüero V., Robert T.Dorado J., Manuel F.
Tutores:Rivas, Sergio.Hernández, Walter.
2
Agenda
Introducción y PropuestaIntroducción a las aplicaciones web y la
seguridadAmenazas y vulnerabilidadesMedidas de seguridad y buenas
prácticasCaracterísticas principales de las
aplicaciones webMetodologíaCaso de estudioConclusiones
Por: Agüero, Robert y Dorado, ManuelMetodología para Auditoría de Seguridad de Aplicaciones Web
3
Metodología para Auditoría de Seguridad de Aplicaciones Web
Introducción
Internet: Todo tipo de negocios para cualquier necesidad
Múltiples Aplicaciones web
manejan Información sensible
amenaza ATAQUESvulnerabilidad
amenaza
vulnerabilidad
vulnerabilidad
vulnerabilidad
ATAQUES!!!!
MEDIDAS D
E SEGURIDAD
•Diferentes Negocios
•Diferentes Tecnologías
•Diferentes Desarrolladores
CARACTERÍSTICAS COMUNES
Por: Agüero, Robert y Dorado, Manuel
4
Propuesta - Objetivo General
Metodología para la Auditoría de Seguridad en las Aplicaciones Web
Por: Agüero, Robert y Dorado, ManuelMetodología para Auditoría de Seguridad de Aplicaciones Web
5
Propuesta - Objetivos Específicos
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
Por: Agüero, Robert y Dorado, ManuelMetodología para Auditoría de Seguridad de Aplicaciones Web
6
Propuesta - Diagrama
Identificar características principales de las aplicaciones web
Determinar vulnerabilidades yamenazas de las características
de las aplicaciones web
Elaborar una metodología parala auditoría de seguridad en
aplicaciones web
Aplicar la metodología para identificar vulnerabilidades y
amenazas en aplicaciones web
Recomendar medidas ycontroles de seguridad en las
aplicaciones web
Por: Agüero, Robert y Dorado, ManuelMetodología para Auditoría de Seguridad de Aplicaciones Web
7
Alcance GRAN Número de vulnerabilidades,
amenazas y características
…está en constante aumento Se consideran las más importantes y
comunes Todos los aspectos de las aplicaciones
web Los conceptos y principios
comprendidos son generales.
Por: Agüero, Robert y Dorado, ManuelMetodología para Auditoría de Seguridad de Aplicaciones Web
8
Por: Agüero, Robert y Dorado, ManuelMetodología para Auditoría de Seguridad de Aplicaciones Web
Introducción a las aplicaciones web y la seguridad
petición petición
Otros Servicios
servidor http
respuesta
respuesta
cliente
Código HTML
INTERNETINTERNET
Protocolo HTTP
9
Introducción a las aplicaciones web y la seguridad
Capas de una aplicación web desde el punto de vista de la seguridad
Capas de una aplicación web:
Por: Agüero, Robert y Dorado, ManuelMetodología para Auditoría de Seguridad de Aplicaciones Web
10
Introducción a las aplicaciones web y la seguridad
Principios de seguridad de aplicaciones:Aplicar defensa en profundidad - defense in depthUsar un modelo restrictivo (cerrado) de seguridadEstablecer menos privilegiosEvitar la seguridad por oscuridadCapacidad de detectar comportamientos irregularesNo confiar en servicios internos y/o externos.
Por: Agüero, Robert y Dorado, ManuelMetodología para Auditoría de Seguridad de Aplicaciones Web
11
Amenazas y Vulnerabilidades
Por: Agüero, Robert y Dorado, ManuelMetodología para Auditoría de Seguridad de Aplicaciones Web
12
Amenazas y Vulnerabilidades
Capa Física:Deficiente control de acceso a la sala de servidoresCatástrofes naturales, accidentes y Fallas
Capa de Red:Deficiente protección de los datos en el tránsitoAcceso a recursos sensibles
Por: Agüero, Robert y Dorado, ManuelMetodología para Auditoría de Seguridad de Aplicaciones Web
13
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 brutaInyección de Código SQLCross Site Scripting
Por: Agüero, Robert y Dorado, ManuelMetodología para Auditoría de Seguridad de Aplicaciones Web
14
Amenazas y Vulnerabilidades
Por: Agüero, Robert y Dorado, ManuelMetodología para Auditoría de Seguridad de Aplicaciones Web
15
Medidas de seguridad y buenas prácticas
Por: Agüero, Robert y Dorado, ManuelMetodología para Auditoría de Seguridad de Aplicaciones Web
16
Medidas de seguridad y buenas prácticas
Capa de Red:Configurar una DMZConfigurar una VPN
Capa Física:Controles de acceso a la sala de servidoresSistemas de detección y control
humedad, temperatura, humo, extintores, etc.
Por: Agüero, Robert y Dorado, ManuelMetodología para Auditoría de Seguridad de Aplicaciones Web
17
Medidas de seguridad y buenas prácticas
Uso de Cortafuegos para crear una DMZ
Por: Agüero, Robert y Dorado, ManuelMetodología para Auditoría de Seguridad de Aplicaciones Web
18
Medidas de seguridad y buenas prácticas
Capa de SO y Servicios:Estricta definición de permisosAntivirusChequeo 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)
Por: Agüero, Robert y Dorado, ManuelMetodología para Auditoría de Seguridad de Aplicaciones Web
19
Medidas de seguridad y buenas prácticas
Uso de captcha para prevenir automatización
Por: Agüero, Robert y Dorado, ManuelMetodología para Auditoría de Seguridad de Aplicaciones Web
20
Características principales de las aplicaciones web
Por: Agüero, Robert y Dorado, ManuelMetodología para Auditoría de Seguridad de Aplicaciones Web
21
Características principales de las aplicaciones web
Capa Física:Hardware propio de la empresaHardware arrendado a terceros (hosting)
Capa Red:Equipos de acceso público a través de la redEquipos de acceso privado
Por: Agüero, Robert y Dorado, ManuelMetodología para Auditoría de Seguridad de Aplicaciones Web
22
Características principales de las aplicaciones web
Capa Sistema Operativo y Servicios:Sistema OperativoServidores de Bases de datos
Capa Aplicación:Inicio de sesión de usuario vía formulario HTMLRecuperación de contraseñaAdministradores remotosRegistro de usuarios en línea
Por: Agüero, Robert y Dorado, ManuelMetodología para Auditoría de Seguridad de Aplicaciones Web
23
Características principales de las aplicaciones web
Ejemplo de Administrador RemotoPor: Agüero, Robert y Dorado, ManuelMetodología para Auditoría de Seguridad de
Aplicaciones Web
24
Características principales de las aplicaciones web
Uso de Plugins Flash en Youtube.com Por: Agüero, Robert y Dorado, ManuelMetodología para Auditoría de Seguridad de
Aplicaciones Web
25
Metodología para la auditoría de seguridad en aplicaciones web
Basada en las principales características de las aplicaciones web
Metodología
ME
TO
DO
LOG
ÍA
Por: Agüero, Robert y Dorado, ManuelMetodología para Auditoría de Seguridad de Aplicaciones Web
26
Metodología
Objetivo principal
Capa FísicaCaracterística 1Característica 2Capa RedCaracterística …Característica …Capa SO y ServiciosCaracterística …Característica …Capa AplicaciónCaracterística n-1Característica n
Verificación y Comprobación
Por: Agüero, Robert y Dorado, ManuelMetodología para Auditoría de Seguridad de Aplicaciones Web
27
Metodología
Confidencialidad
GRUPO AUDITOR
Por: Agüero, Robert y Dorado, ManuelMetodología para Auditoría de Seguridad de Aplicaciones Web
28
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
Metodología
Por: Agüero, Robert y Dorado, ManuelMetodología para Auditoría de Seguridad de Aplicaciones Web
29
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.
Metodología
Por: Agüero, Robert y Dorado, ManuelMetodología para Auditoría de Seguridad de Aplicaciones Web
30
Etapas de la metodología
Planificación Ejecución de la auditoría Comunicación de resultados Seguimiento
Metodología
Por: Agüero, Robert y Dorado, ManuelMetodología para Auditoría de Seguridad de Aplicaciones Web
31
Planificación: Objetivos y Alcance
Metodología
TODO
PARTE
Por: Agüero, Robert y Dorado, ManuelMetodología para Auditoría de Seguridad de Aplicaciones Web
32
Ejecución de la auditoría: Levantamiento y Verificación
Enfoque: Verificar presencia de Vulnerabilidades Comprobar existencia o no, y deficiencia de
Controles AMBOS
Metodología
Por: Agüero, Robert y Dorado, ManuelMetodología para Auditoría de Seguridad de Aplicaciones Web
33
Ejecución de la auditoría: Levantamiento y Verificación
Metodología
?
Por: Agüero, Robert y Dorado, ManuelMetodología para Auditoría de Seguridad de Aplicaciones Web
34
Metodología
13.1. Inicio de Sesión de Usuario.Verificar existencia o no de vulnerabilidades en cuanto a:
13.1.1. Ataques de Fuerza bruta13.1.2. Abuso de funcionalidad13.1.3. Revelación de información13.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. Captcha13.1.9. Filtrado de entrada13.1.10. Escapado de salida13.1.11. Conexiones seguras13.1.12. Manejo de sesión apropiado13.1.13. Enmascarado de información sensible
Fragmento: ETAPA 2 – Verificación de capa aplicación
Por: Agüero, Robert y Dorado, ManuelMetodología para Auditoría de Seguridad de Aplicaciones Web
35
Comunicación de resultados: Exposiciones e Informes
Metodología
Capa FísicaCaracterística 1Característica 2Capa RedCaracterística …Característica …Capa SO y ServiciosCaracterística …Característica …Capa AplicaciónCaracterística n-1Característica n
Verificación y Comprobación
Por: Agüero, Robert y Dorado, ManuelMetodología para Auditoría de Seguridad de Aplicaciones Web
36
Seguimiento: verificación
Metodología
Por: Agüero, Robert y Dorado, ManuelMetodología para Auditoría de Seguridad de Aplicaciones Web
37
Caso de estudio: www.guiamamaybebe.com
Planificación: Objetivos y Alcance
Toda la aplicación web será auditada Apoyo de desarrollador y administrador No se podrá verificar la información del
servicio de hospedaje Se desarrollaran las medidas de seguridad y
controles, que sean recomendadas.
Por: Agüero, Robert y Dorado, ManuelMetodología para Auditoría de Seguridad de Aplicaciones Web
38
Ejecución de la auditoría: Levantamiento y Verificación
Fragmento del levantamiento de la información
Caso de estudio: www.guiamamaybebe.com
Por: Agüero, Robert y Dorado, ManuelMetodología para Auditoría de Seguridad de Aplicaciones Web
39
Caso de estudio: www.guiamamaybebe.com
Ejecución de la auditoría: Levantamiento y VerificaciónFragmento del levantamiento de la información
Llenar Formulario de Registro
¿El emailya esta
registrado
Registrar usuario en la BD y enviar email de confirmación
Sí
No
Registro de clientes nuevos
Llenar Formulario de Contacto
Enviar email de contacto aadministrador
Enviar información de contacto
Por: Agüero, Robert y Dorado, ManuelMetodología para Auditoría de Seguridad de Aplicaciones Web
40
Caso de estudio: www.guiamamaybebe.com
Ejecución de la auditoría: Levantamiento y VerificaciónFragmento de la verificación
Por: Agüero, Robert y Dorado, ManuelMetodología para Auditoría de Seguridad de Aplicaciones Web
41
Caso de estudio: www.guiamamaybebe.com
Ejecución de la auditoría: Levantamiento y VerificaciónFragmento de la verificación
Por: Agüero, Robert y Dorado, ManuelMetodología para Auditoría de Seguridad de Aplicaciones Web
42
Comunicación de resultados: Exposiciones e Informes
Exposición de amenazas y vulnerabilidades al administrador y desarrollador
Presentación de RecomendacionesDesarrollo de código para elaborar
medidas de seguridad
Caso de estudio: www.guiamamaybebe.com
Por: Agüero, Robert y Dorado, ManuelMetodología para Auditoría de Seguridad de Aplicaciones Web
43
Por: Agüero, Robert y Dorado, ManuelMetodología para Auditoría de Seguridad de Aplicaciones Web
Caso de estudio: www.guiamamaybebe.com
Seguimiento: verificación
Medida de seguridad contra la revelación de información
44
Por: Agüero, Robert y Dorado, ManuelMetodología para Auditoría de Seguridad de Aplicaciones Web
Caso de estudio: www.guiamamaybebe.com
Seguimiento: verificación
Medida de seguridad contra ataques de fuerza bruta
45
Por: Agüero, Robert y Dorado, ManuelMetodología para Auditoría de Seguridad de Aplicaciones Web
Caso de estudio: www.guiamamaybebe.com
Seguimiento: verificación
Medida de seguridad no implementada Uso de SSL
46
Conclusiones de los casos de estudio:Resultados exitosos
Aplicación más segura Resultados satisfactorios para el cliente
No se pudo auditar la capa Física y de Red. Servicio por parte de terceros (empresa de hospedaje)
Fue imprescindible la ayuda del grupo desarrollador
Otros 2 casos de estudio: Java, PHP exitosos.
Casos de estudio
Por: Agüero, Robert y Dorado, ManuelMetodología para Auditoría de Seguridad de Aplicaciones Web
47
CONCLUSIONES
Por: Agüero, Robert y Dorado, ManuelMetodología para Auditoría de Seguridad de Aplicaciones Web
48
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
Por: Agüero, Robert y Dorado, ManuelMetodología para Auditoría de Seguridad de Aplicaciones Web
49
Por: Agüero, Robert y Dorado, Manuel
Consideraciones
Es una metodología no comercialEs muy poca o inexistente la información sobre las características comunes de las aplicaciones webNo siempre es posible constatar la información sobre la arquitectura física y de redLimitaciones al aplicar la metodología asociadas al conocimiento y dominio en cada una de las áreas que comprende la mismaEntender el código de otras personasSe debe aplicar periódicamente
Metodología para Auditoría de Seguridad de Aplicaciones Web
50
Aportes del Trabajo
Definición de un esquema por capas desde el punto de vista de la seguridad para las aplicaciones webRecopilació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 seguridadMetodología para la auditoría de seguridad de Aplicaciones WebAplicación de la metodología a tres (3) casos de estudios
Por: Agüero, Robert y Dorado, ManuelMetodología para Auditoría de Seguridad de Aplicaciones Web
51
Trabajos a Futuro
Extender y ampliar el conjunto de características comunes en las aplicaciones webRecopilar las nuevas vulnerabilidades y amenazas en las aplicaciones webRecopilar las nuevas medidas de seguridad en las aplicaciones webRealizar adaptaciones para arquitecturas y lenguajes específicos de la metodología para la auditoría de seguridad de Aplicaciones Web
Por: Agüero, Robert y Dorado, ManuelMetodología para Auditoría de Seguridad de Aplicaciones Web
52
¿PREGUNTAS?