Auditoria en aplicaciones web
-
Upload
juan-carlos-perez-pardo -
Category
Technology
-
view
3.576 -
download
2
description
Transcript of Auditoria en aplicaciones web
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
32012, Juan Carlos Pérez , Universidad Pontificia de Salamanca en Madrid
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.
Agenda.
Seguridad en el Desarrollo de Software
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 Software
42012, Juan Carlos Pérez , Universidad Pontificia de Salamanca en Madrid
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 Software
52012, Juan Carlos Pérez , Universidad Pontificia de Salamanca en Madrid
Propuesta (II).
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
Seguridad en el Desarrollo de Software
62012, Juan Carlos Pérez , Universidad Pontificia de Salamanca en Madrid
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.
Seguridad en el Desarrollo de Software
72012, Juan Carlos Pérez , Universidad Pontificia de Salamanca en Madrid
8
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:
Seguridad en el Desarrollo de Software
2012, Juan Carlos Pérez , Universidad Pontificia de Salamanca en Madrid
9
Amenazas y Vulnerabilidades
Seguridad en el Desarrollo de Software
2012, Juan Carlos Pérez , Universidad Pontificia de 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 Software
2012, Juan Carlos Pérez , Universidad Pontificia de 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 brutaInyección de Código SQLCross Site Scripting
Seguridad en el Desarrollo de Software
2012, Juan Carlos Pérez , Universidad Pontificia de Salamanca en Madrid
12
Medidas de seguridad y buenas prácticas
Seguridad en el Desarrollo de Software
2012, Juan Carlos Pérez , Universidad Pontificia de Salamanca en Madrid
13
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.
Seguridad en el Desarrollo de Software
2012, Juan Carlos Pérez , Universidad Pontificia de Salamanca en Madrid
14
Medidas de seguridad y buenas prácticas
Uso de Cortafuegos para crear una DMZSeguridad en el Desarrollo de Software
2012, Juan Carlos Pérez , Universidad Pontificia de Salamanca en Madrid
15
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)
Seguridad en el Desarrollo de Software
2012, Juan Carlos Pérez , Universidad Pontificia de Salamanca en Madrid
16
Medidas de seguridad y buenas prácticas
Uso de captcha para prevenir automatización
Seguridad en el Desarrollo de Software
2012, Juan Carlos Pérez , Universidad Pontificia de Salamanca en Madrid
17
Características principales de las aplicaciones web
Seguridad en el Desarrollo de Software
2012, Juan Carlos Pérez , Universidad Pontificia de Salamanca en Madrid
18
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
Seguridad en el Desarrollo de Software
2012, Juan Carlos Pérez , Universidad Pontificia de Salamanca en Madrid
19
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
Seguridad en el Desarrollo de Software
2012, Juan Carlos Pérez , Universidad Pontificia de Salamanca en Madrid
20
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
LO
GÍA
Seguridad en el Desarrollo de Software
2012, Juan Carlos Pérez , Universidad Pontificia de Salamanca en Madrid
21
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
Seguridad en el Desarrollo de Software
2012, Juan Carlos Pérez , Universidad Pontificia de Salamanca en Madrid
22
Metodología
Confidencialidad
GRUPO AUDITOR
Seguridad en el Desarrollo de Software
2012, Juan Carlos Pérez , Universidad Pontificia de Salamanca en Madrid
23
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
Seguridad en el Desarrollo de Software
2012, Juan Carlos Pérez , Universidad Pontificia de Salamanca en Madrid
24
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
Seguridad en el Desarrollo de Software
2012, Juan Carlos Pérez , Universidad Pontificia de Salamanca en Madrid
25
Etapas de la metodología
Planificación Ejecución de la auditoría Comunicación de resultados Seguimiento
Metodología
Seguridad en el Desarrollo de Software
2012, Juan Carlos Pérez , Universidad Pontificia de Salamanca en Madrid
26
Planificación: Objetivos y Alcance
Metodología
TODO
PARTE
Seguridad en el Desarrollo de Software
2012, Juan Carlos Pérez , Universidad Pontificia de Salamanca en Madrid
27
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
Seguridad en el Desarrollo de Software
2012, Juan Carlos Pérez , Universidad Pontificia de Salamanca en Madrid
28
Ejecución de la auditoría: Levantamiento y Verificación
Metodología
?
Seguridad en el Desarrollo de Software
2012, Juan Carlos Pérez , Universidad Pontificia de Salamanca en Madrid
29
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 comandosVerificar 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
Seguridad en el Desarrollo de Software
2012, Juan Carlos Pérez , Universidad Pontificia de Salamanca en Madrid
30
Seguimiento: verificación
Metodología
Seguridad en el Desarrollo de Software
2012, Juan Carlos Pérez , Universidad Pontificia de Salamanca en Madrid
31
CONCLUSIONES
Seguridad en el Desarrollo de Software
2012, Juan Carlos Pérez , Universidad Pontificia de 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 Software
2012, Juan Carlos Pérez , Universidad Pontificia de Salamanca en Madrid
33
Consideraciones
Es una metodología no comercialEs 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 personasSe debe aplicar periódicamente
Seguridad en el Desarrollo de Software
2012, Juan Carlos Pérez , Universidad Pontificia de 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 Software
2012, Juan Carlos Pérez , Universidad Pontificia de 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 Software
2012, Juan Carlos Pérez , Universidad Pontificia de Salamanca en Madrid
36
¿PREGUNTAS?
Seguridad en el Desarrollo de Software
2012, Juan Carlos Pérez , Universidad Pontificia de Salamanca en Madrid
Metodología para la auditoría de seguridad de aplicaciones web.
Gracias!
Seguridad en el Desarrollo de Software
372012, Juan Carlos Pérez , Universidad Pontificia de Salamanca en Madrid