Metodología para la auditoría de seguridad de aplicaciones web

52
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.

description

Universidad Central de Venezuela Facultad de Ciencias Escuela de Computación. Metodología para la auditoría de seguridad de aplicaciones web. Integrantes: Agüero V., Robert T. Dorado J., Manuel F. Tutores: Rivas, Sergio. Hernández, Walter. Caracas, 27 de mayo de 2008. Agenda. - PowerPoint PPT Presentation

Transcript of Metodología para la auditoría de seguridad de aplicaciones web

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

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?