520 likes | 629 Views
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.
E N D
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 • 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 Metodología para Auditoría de Seguridad de Aplicaciones Web Por: Agüero, Robert y Dorado, Manuel
amenaza amenaza Múltiples Aplicaciones web vulnerabilidad vulnerabilidad vulnerabilidad vulnerabilidad ATAQUES!!!! Introducción Internet: Todo tipo de negocios para cualquier necesidad manejan Información sensible MEDIDAS DE SEGURIDAD ATAQUES • 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
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
Protocolo HTTP Otros Servicios servidor http cliente Código HTML Introducción a las aplicaciones web y la seguridad petición petición INTERNET respuesta respuesta 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
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
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
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
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 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 … Característica … Capa SO y Servicios Característica … Característica … 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 Confidencialidad 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 … Característica … Capa SO y Servicios Característica … Característica … 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
Llenar Formulario de Registro Llenar Formulario de Contacto ¿El email ya esta registrado Sí Enviar email de contacto a administrador No Enviar información de contacto Registrar usuario en la BD y enviar email de confirmación Registro de clientes nuevos 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 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
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
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
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
Casos de estudio 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