Pruebas de Intrusión de Aplicación Enero 23, 2013 Esteban O. Farao Information Security Director CISSP, CISA, CRISC, PCIP, PCI-QSA, PCI-ASV Enterprise Risk Management, Inc.
Agenda Que significa Pruebas de Intrusión de Aplicación? Motivos Limitaciones Beneficios Metodología Definición del Escenario Obtención de Información Intrusión Preparación de Reporte Conclusiones Preguntas y Respuestas 2
Qué Significa Pruebas de Intrusión de Aplicación? Técnica de evaluación de vulnerabilidades a nivel de aplicación Utilizar técnicas de hacking para ingresar a los sistemas/aplicaciones Encontrar debilidades en una aplicación antes que un hacker lo haga 3
Pruebas de intrusión de Red vs. Aplicación Thick client / Cliente Pesado Internet Celulares / teléfonos Inteligentes Red Routers Switches Firewalls Sistemas Operativos Servicios como ser HTTP, Telnet, etc. Aplicación Controles de Autenticación Mensajes de error Cifrado de datos Inyección de código 4
Motivos Ausencia de metodologías de desarrollo formales. Falta de comunicación efectiva entre las diferentes áreas. Falta de tiempo. Falta de participación del responsable de seguridad. Delegación de desarrollos a terceros. 5
Limitaciones Riesgos en las pruebas Limitado a métodos legales únicamente Los hacker tienen tiempo ilimitado No garantiza la seguridad Es una visión en un momento determinado en el tiempo 6
Beneficios Identificación de vulnerabilidades no detectadas en una auditoría de sistemas Pruebas del monitoreo de los sistemas, como se reacciona y se reporta Prueba los niveles de conocimiento sobre seguridad del personal (analistas/desarrolladores) Determinar patrones de debilidades indicando posibles causas de origen Identificación de errores o fallas en los mecanismos de seguridad existentes 7
Metodología Definición del Escenario Obtención de Información Intrusión Preparación de Reporte Proceso iterativo 8
Definición del Escenario Obtención de Información Análisis de las posibles amenazas Definición de los escenarios Ejemplos de escenarios: Usuario con perfil de administrador Usuario sin acceso Usuario que puede transferir wires Usuario conectado a través de un celular 9
Arquitecturas Interfaz del Usuario Browser Aplicación / Lógica Servidor Web Servidor Web Servidor de Aplicación Servidor de Aplicación Servidor de Aplicación Servidor de Base de Datos Almacenamiento de Datos Cliente Servidor de Aplicación Servidor de Base de Datos 10
Obtención de Información Determinar que tecnología fue utilizada para desarrollar la aplicación (C, C++, C#, ASP, PHP, ASPX, AJAX, SOAP) Determinar los componentes que soportan a la aplicación (Framework (J2EE, Web Services, ASP.Net), RPC, DCOM, Bases de Datos) Entender la lógica de la aplicación Determinar lo controles implementados Armado del plan de pruebas y análisis de impacto OWASP - Estándares de seguridad para aplicaciones y servicios Web (www.owasp.org) 11
Aplicabilidad de OWASP 12
Intrusión Intentar acceder a la aplicación Eludir los controles implementados Explotar/Ejecutar las vulnerabilidades detectadas Escalar privilegios Ingeniería reversa binaria 13
Preparación del Reporte Documentación de las vulnerabilidades identificadas Evaluación de su nivel de riesgo (alto, medio, bajo) Evaluación del nivel de esfuerzo requerido para su solución tiempo - costo Identificación de la causa origen de las vulnerabilidades detectadas 14
Conclusión Estas pruebas deben hacerse a lo largo del ciclo de vida del desarrollo de software Análisis de Riesgo Definición de escenarios que generen valor agregado a la organización El personal técnico tiene que ser experimentado Alto grado de coordinación entre el cliente y el proveedor 15
Q&A 16
Pruebas de Intrusión de Aplicación Esteban O. Farao Information Security Director CISSP, CISA, CRISC, PCIP, PCI-QSA, PCI-ASV Enterprise Risk Management, Inc. 305-447-6750 (o) 305-777-7723 (m) efarao@emrisk.com www.emrisk.com