Metodología para la Auditoría de Seguridad en Aplicaciones Web Universidad Central de Venezuela Facultad de Ciencias Escuela de Computación Metodología para la auditoría de seguridad de aplicaciones web Fecha, logo escuela, logo faculta, sin republica, universidad. Integrantes: Agüero V., Robert T. Dorado J., Manuel F. Tutores: Rivas, Sergio. Hernández, Walter. Caracas, 27 de mayo de 2008 Manuel Dorado. - Robert Aguero
Metodología para la Auditoría de Seguridad en Aplicaciones Web Agenda Introducción y 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 Conclusiones beamer Metodología para Auditoría de Seguridad de Aplicaciones Web Por: Agüero, Robert y Dorado, Manuel Manuel Dorado. - Robert Aguero
Metodología para la Auditoría de Seguridad en Aplicaciones Web Introducción Internet: Todo tipo de negocios para cualquier necesidad manejan ATAQUES!!!! Información sensible Múltiples Aplicaciones web amenaza vulnerabilidad MEDIDAS DE SEGURIDAD amenaza ATAQUES vulnerabilidad vulnerabilidad vulnerabilidad CARACTERÍSTICAS COMUNES Diferentes Negocios Diferentes Tecnologías Diferentes Desarrolladores Metodología para Auditoría de Seguridad de Aplicaciones Web Por: Agüero, Robert y Dorado, Manuel Manuel Dorado. - Robert Aguero
Metodología para la Auditoría de Seguridad en las Aplicaciones Web Propuesta - Objetivo General Metodología para la Auditoría de Seguridad en las Aplicaciones Web Metodología para Auditoría de Seguridad de Aplicaciones Web Por: Agüero, Robert y Dorado, Manuel
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 Metodología para Auditoría de Seguridad de Aplicaciones Web Por: Agüero, Robert y Dorado, Manuel
Propuesta - Diagrama Elaborar una metodología para la auditoría de seguridad en aplicaciones web Determinar vulnerabilidades y amenazas de las características de las aplicaciones web Aplicar la metodología para identificar vulnerabilidades y amenazas en aplicaciones web Identificar características principales de las aplicaciones web Recomendar medidas y controles de seguridad en las aplicaciones web Metodología para Auditoría de Seguridad de Aplicaciones Web Por: Agüero, Robert y Dorado, Manuel
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. Metodología para Auditoría de Seguridad de Aplicaciones Web Por: Agüero, Robert y Dorado, Manuel
Introducción a las aplicaciones web y la seguridad servidor http cliente Protocolo HTTP petición petición INTERNET Código HTML respuesta respuesta Otros Servicios Metodología para Auditoría de Seguridad de Aplicaciones Web Por: Agüero, Robert y Dorado, Manuel
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 Metodología para Auditoría de Seguridad de Aplicaciones Web Por: Agüero, Robert y Dorado, Manuel
Introducción a las aplicaciones web y la seguridad Principios de seguridad de aplicaciones: Aplicar defensa en profundidad - defense in depth Usar un modelo restrictivo (cerrado) de seguridad Establecer menos privilegios Evitar la seguridad por oscuridad Capacidad de detectar comportamientos irregulares No confiar en servicios internos y/o externos. Metodología para Auditoría de Seguridad de Aplicaciones Web Por: Agüero, Robert y Dorado, Manuel
Amenazas y Vulnerabilidades Metodología para Auditoría de Seguridad de Aplicaciones Web Por: Agüero, Robert y Dorado, Manuel
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 Metodología para Auditoría de Seguridad de Aplicaciones Web Por: Agüero, Robert y Dorado, Manuel
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 Metodología para Auditoría de Seguridad de Aplicaciones Web Por: Agüero, Robert y Dorado, Manuel
Amenazas y Vulnerabilidades Metodología para Auditoría de Seguridad de Aplicaciones Web Por: Agüero, Robert y Dorado, Manuel
Medidas de seguridad y buenas prácticas Metodología para Auditoría de Seguridad de Aplicaciones Web Por: Agüero, Robert y Dorado, Manuel
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 Metodología para Auditoría de Seguridad de Aplicaciones Web Por: Agüero, Robert y Dorado, Manuel
Uso de Cortafuegos para crear una DMZ Medidas de seguridad y buenas prácticas Uso de Cortafuegos para crear una DMZ Metodología para Auditoría de Seguridad de Aplicaciones Web Por: Agüero, Robert y Dorado, Manuel
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) Metodología para Auditoría de Seguridad de Aplicaciones Web Por: Agüero, Robert y Dorado, Manuel
Uso de captcha para prevenir automatización Medidas de seguridad y buenas prácticas Uso de captcha para prevenir automatización Metodología para Auditoría de Seguridad de Aplicaciones Web Por: Agüero, Robert y Dorado, Manuel
Características principales de las aplicaciones web Metodología para Auditoría de Seguridad de Aplicaciones Web Por: Agüero, Robert y Dorado, Manuel
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 Metodología para Auditoría de Seguridad de Aplicaciones Web Por: Agüero, Robert y Dorado, Manuel
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 Metodología para Auditoría de Seguridad de Aplicaciones Web Por: Agüero, Robert y Dorado, Manuel
Ejemplo de Administrador Remoto Características principales de las aplicaciones web Ejemplo de Administrador Remoto Metodología para Auditoría de Seguridad de Aplicaciones Web Por: Agüero, Robert y Dorado, Manuel
Uso de Plugins Flash en Youtube.com Características principales de las aplicaciones web Uso de Plugins Flash en Youtube.com Metodología para Auditoría de Seguridad de Aplicaciones Web Por: Agüero, Robert y Dorado, Manuel
Metodología para la auditoría de seguridad en aplicaciones web Basada en las principales características de las aplicaciones web METODOLOGÍA Metodología para Auditoría de Seguridad de Aplicaciones Web Por: Agüero, Robert y Dorado, Manuel
Metodología Objetivo principal Verificación y Comprobación Capa Física Característica 1 Característica 2 Capa Red Característica … Capa SO y Servicios Capa Aplicación Característica n-1 Característica n Metodología para Auditoría de Seguridad de Aplicaciones Web Por: Agüero, Robert y Dorado, Manuel
Confidencialidad Metodología GRUPO AUDITOR Metodología para Auditoría de Seguridad de Aplicaciones Web Por: Agüero, Robert y Dorado, Manuel
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 Metodología para Auditoría de Seguridad de Aplicaciones Web Por: Agüero, Robert y Dorado, Manuel
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. Metodología para Auditoría de Seguridad de Aplicaciones Web Por: Agüero, Robert y Dorado, Manuel
Metodología Etapas de la metodología Planificación Ejecución de la auditoría Comunicación de resultados Seguimiento Metodología para Auditoría de Seguridad de Aplicaciones Web Por: Agüero, Robert y Dorado, Manuel
Metodología Planificación: Objetivos y Alcance TODO PARTE Metodología para Auditoría de Seguridad de Aplicaciones Web Por: Agüero, Robert y Dorado, Manuel
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 Metodología para Auditoría de Seguridad de Aplicaciones Web Por: Agüero, Robert y Dorado, Manuel
Metodología Ejecución de la auditoría: Levantamiento y Verificación ? Metodología para Auditoría de Seguridad de Aplicaciones Web Por: Agüero, Robert y Dorado, Manuel
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 Metodología para Auditoría de Seguridad de Aplicaciones Web Por: Agüero, Robert y Dorado, Manuel
Metodología Comunicación de resultados: Exposiciones e Informes Verificación y Comprobación Capa Física Característica 1 Característica 2 Capa Red Característica … Capa SO y Servicios Capa Aplicación Característica n-1 Característica n Metodología para Auditoría de Seguridad de Aplicaciones Web Por: Agüero, Robert y Dorado, Manuel
Metodología Seguimiento: verificación Metodología para Auditoría de Seguridad de Aplicaciones Web Por: Agüero, Robert y Dorado, Manuel
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. Metodología para Auditoría de Seguridad de Aplicaciones Web Por: Agüero, Robert y Dorado, Manuel
Caso de estudio: www.guiamamaybebe.com Ejecución de la auditoría: Levantamiento y Verificación Fragmento del levantamiento de la información Metodología para Auditoría de Seguridad de Aplicaciones Web Por: Agüero, Robert y Dorado, Manuel
Caso de estudio: www.guiamamaybebe.com Ejecución de la auditoría: Levantamiento y Verificación Fragmento del levantamiento de la información Llenar Formulario de Registro ¿El email ya 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 a administrador Enviar información de contacto Metodología para Auditoría de Seguridad de Aplicaciones Web Por: Agüero, Robert y Dorado, Manuel
Caso de estudio: www.guiamamaybebe.com Ejecución de la auditoría: Levantamiento y Verificación Fragmento de la verificación Metodología para Auditoría de Seguridad de Aplicaciones Web Por: Agüero, Robert y Dorado, Manuel
Caso de estudio: www.guiamamaybebe.com Ejecución de la auditoría: Levantamiento y Verificación Fragmento de la verificación Metodología para Auditoría de Seguridad de Aplicaciones Web Por: Agüero, Robert y Dorado, Manuel
Caso de estudio: www.guiamamaybebe.com Comunicación de resultados: Exposiciones e Informes Exposición de amenazas y vulnerabilidades al administrador y desarrollador Presentación de Recomendaciones Desarrollo de código para elaborar medidas de seguridad Metodología para Auditoría de Seguridad de Aplicaciones Web Por: Agüero, Robert y Dorado, Manuel
Medida de seguridad contra la revelación de información Caso de estudio: www.guiamamaybebe.com Seguimiento: verificación Medida de seguridad contra la revelación de información Metodología para Auditoría de Seguridad de Aplicaciones Web Por: Agüero, Robert y Dorado, Manuel
Medida de seguridad contra ataques de fuerza bruta Caso de estudio: www.guiamamaybebe.com Seguimiento: verificación Medida de seguridad contra ataques de fuerza bruta Metodología para Auditoría de Seguridad de Aplicaciones Web Por: Agüero, Robert y Dorado, Manuel
Medida de seguridad no implementada Uso de SSL Caso de estudio: www.guiamamaybebe.com Seguimiento: verificación Medida de seguridad no implementada Uso de SSL Metodología para Auditoría de Seguridad de Aplicaciones Web Por: Agüero, Robert y Dorado, Manuel
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. Metodología para Auditoría de Seguridad de Aplicaciones Web Por: Agüero, Robert y Dorado, Manuel
CONCLUSIONES Metodología para Auditoría de Seguridad de Aplicaciones Web Por: Agüero, Robert y Dorado, Manuel
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 Metodología para Auditoría de Seguridad de Aplicaciones Web Por: Agüero, Robert y Dorado, Manuel
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 Metodología para Auditoría de Seguridad de Aplicaciones Web Por: Agüero, Robert y Dorado, Manuel
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 Aplicación de la metodología a tres (3) casos de estudios Metodología para Auditoría de Seguridad de Aplicaciones Web Por: Agüero, Robert y Dorado, Manuel
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 Metodología para Auditoría de Seguridad de Aplicaciones Web Por: Agüero, Robert y Dorado, Manuel
¿PREGUNTAS?