El servicio de Análisis de Seguridad de Aplicativos evalúa el nivel de riesgo de una aplicación en sus diferentes capas, permitiendo identificar y eventualmente eliminar la causa raíz del problema, reduciendo el riesgo asociado al proceso de negocio.
Este análisis deberá incluir los objetivos específicos de negocio y objetivos de control de seguridad como parte del mismo, ayudando a que los controles implementados cumplan con los requerimientos de los socios de negocio, empleados, clientes y cuerpos regulatorios.
La oferta de Análisis de Seguridad de Aplicativos utiliza un enfoque holístico donde se incluyen las siguientes etapas:
- Revisión de Seguridad del Código Fuente
- Pruebas de Hackeo Ético de la Aplicación
- Seguridad Operacional de Aplicativos
La revisión proporciona un reporte detallado de los hallazgos y una medida del riesgo de negocio asociado, incluyendo medidas de recomendación de mitigación y de solución a los problemas detectados en los diferentes tipos de pruebas:
- Vulnerabilidades inherentes a la arquitectura de la aplicación.
- Riesgos introducidos durante las fases de desarrollo, integración, despliegue y procesos operacionales.
- Vulnerabilidades técnicas inherentes a la plataforma en las diversas capas, incluyendo los servicios de middleware y de bases de datos.
El riesgo de la aplicación y la infraestructura a diversos ataques como Cross Site Scripting (XSS), SQL Injection, Buffer Overflow, Command Injection, etc.
Servicio de QA de seguridad para aplicativos
El objetivo del servicio es integrar un punto de Control de Calidad en Seguridad (QSA) al proceso de desarrollo del cliente a fin de efectuar ciclos de validación de la seguridad del aplicativo, recomendando medidas de mitigación y mejora a los equipos de desarrollo, priorizando su atención conforme a una escala de riesgos basada en el impacto y posibilidad de explotación.
El servicio se conforma de tres componentes articulados de la siguiente forma:
- Análisis de código estático
- Pruebas de hackeo ético a aplicativos e infraestructura de soporte en ambientes de UAT
- Validación de mitigaciones aplicadas
Estas pruebas pueden realizarse sobre diferentes tipos de aplicativos:
- Aplicativos web tradicionales
- Aplicativos móbiles
- Aplicativos en la nube
Análisis de Código estático
En esta fase del Análisis, el equipo de especialistas analiza el código fuente generado por el grupo de desarrollo usando una combinación de herramientas automatizadas y el juicio experto del grupo de consultores de seguridad, analizando posibles casos de abuso en el aplicativo mediante la explotación manual del mismo.
Mediante esta combinación de herramientas y procedimientos manuales especializados, se analizan y detectan errores de más de 230 diferentes categorías de vulnerabilidades asociadas a esta fase.
Las vulnerabilidades así detectadas por el equipo de seguridad son documentadas y reportadas para su corrección por parte del equipo de desarrollo, asesorados siempre por el equipo experto de seguridad. Este proceso se repite iterativamente hasta que cada una de las vulnerabilidades importantes ha sido atendida y resuelta a satisfacción.
Algunos de los tipos de hallazgos detectados comúnmente en esta fase son:
- Vulnerabilidades del tipo Cross Site Scripting (XSS)
- Vulnerabilidades del tipo SQL Injection, Blind SQL Injection
- Vulnerabilidades del tipo Buffer Overflow
- Vulnerabilidades del tipo Command Injection, etc.
- Manejo pobre de errores y excepciones (poor error handling)
- Uso de bibliotecas vulnerables (libraries)
- Condiciones de carrera (race conditions), etc.
Para cada vulnerabilidad importante, se sugerirán medidas de mitigación adecuadas a implantar por los equipos de desarrollo, como podrían ser la elaboración de filtros de limpieza y validación de datos a nivel de regexp de cada lenguaje utilizado, funciones de HTML encoding para evitar ataques de XSS, etc.
Análisis de hackeo etico del aplicativo en ambiente de UAT.
Esta fase incluye el delado de atacante al aplicativo bajo análisis en ambiente de UAT. El análisis de efectúa desde la posición de un atacante potencial y puede incluir una fase de explotación activa de las vulnerabilidades.
En este contexto, un aplicativo puede representar una infraestructura compleja que contemple los diferentes elementos en una arquitectura de múltiples capas, como front-end, middleware y back-end.
Tipicamente, nuestro servicio incluye la revisión de la seguridad de los siguientes componentes:
Sistemas operativos
Application servers, como JBoss, Tomcat, WebSphere, etc.
Manejadores de bases de datos, como MSSQL Server, Oracle, etc.
Los hallazgos encontrados son reportados al equipo de infraestructura y de desarrollo a fin de gestionar las vulnerabilidades encontradas antes de su liberación a producción.
Analisis de seguridad de aplicativos Cloud y móviles
Los aplicativos móviles presentan múltiples capas que deben ser validadas desde el punto de vista de la seguridad. De acuerdo al proyecto OWASP Mobile security Project, los 10 principales riesgos de los aplicativos móbiles son:
- M1: Controles Débiles del lado server
- M2: Almacenamiento inseguro de Datos
- M3: Protección Insuficiente en la Capa de Transporte
- M4: Fuga de Datos no intencional
- M5: Autorización y Autenticación
- M6: Criptografía utilizada
- M7: Client Side Injection
- M8. Entradas No Confiables
- M9: Manejo de sesiones
- M10: Falta de Protección al Código binario
Las pruebas de seguridad sobre aplicativos móviles incluyen entre otras:
- Análisis de web services/microservicios del aplicativo móvil
- Análisis de instalación/desinstalación del aplicativo
- Identificación de casos de abuso y modelado de atacante
- Interacción del aplicativo móvil con los aplicativos web
- Interacción con APIs externas
- Esquemas de autenticación del aplicativo
- Comunicación entre aplicaciones externas
- Determinación de vulnerabilidades de inyección
- Data tampering del aplicativo
- Validación de esquema de autenticación