Post on 15-Jul-2015
Self Defending Mobile Apps
Julio San José Sánchez
3 de Febrero 2015
Agenda Agenda
1 Situación actual - Tendencias
2 Riesgos – Vías de ataque
3 Anatomía de un ataque
4 Seguridad en aplicaciones móviles
5 Self Defending Applications
Situación actual – Tendencias
Página 3
Las razones por la cual la tecnología móvil ha experimentado este crecimiento se debe a estos 3 factores principales:
1. Aumentar la productividad
Mejorar la productividad de los usuarios otorgándole acceso remoto a los recursos.
Ejemplo: correo electrónico
2. Mejora de procesos Facilitar el trabajo a los usuarios cuando no dispongan de los recursos necesarios.
Ejemplo: aplicaciones de soporte técnico
3. Productos y servicios Ofrecer a los clientes nuevos productos y servicios que vayan en sintonía con la demanda del mercado.
Ejemplo: aplicaciones e-commerce
Tendencias Las empresas usan cada vez más la tecnología móvil
Página 4
Tendencias (cont.) Las proyecciones sólo deparan más crecimiento
Dispositivos móviles Aplicaciones móviles Tráfico de datos Desarrollo de apps
2 mil millones de smart phones en
2014
1,5 millones de
aplicaciones móviles
119% crecimiento en tráfico de
datos
4 veces más desarrollos
“Cifra que aumentará en
2,9 veces para el 2016”
— Gartner
“El número de
aplicaciones móviles que
se publicaron en el
2012, superó en 15
veces las aplicaciones
publicadas para PC”
— IDC Predictions 2012
“El tráfico de datos
móviles crecerá en 50
veces en la relación al
actual para el 2016. Lo
que representa un
incremento anual de
119%”
— Pew Research Center
“Para el 2015 el
desarrollo de
aplicaciones móviles
superará al de las PC
con una proporción de
4:1”
— Gartner
“Para el 2016, habrán 10 mil millones de dispositivos móviles conectados a Internet. Mientras, la población mundial se prevé en 7,3 mil millones de personas; esto supone que habrán 1,4 dispositivos por persona” — Pew Research Center
Página 5
Tendencias (cont.) Que trae consecuencias en la seguridad
En 2013 un 38% de los usuarios de dispositivos móviles habían experimentado algún tipo de ataque. — Symantec 2013 Report
Incremento posibilidades
de ataque
El 97% de las 100 aplicaciones de
pago más importantes de
Android han sido hackeadas.
El 87% de las 100 aplicaciones de
pago más importantes de iOS han sido hackeadas.
El 80% de las 100 aplicaciones gratis más importantes
de Android han sido hackeadas.
El 75% de las 100 aplicaciones gratis más importantes de iOS han sido
hackeadas.
El 95% de las aplicaciones
financieras de Android han sido
crakeadas.
El 70% de las de las aplicaciones financieras de iOS han sido hackeadas.
Riesgos – Vías de ataque
Página 7
Riesgos de las aplicaciones móviles
Riesgos
1. Escalado de privilegios Por seguridad las aplicaciones financieras no deberían correr en dispositivos con jailbreak o root.
2. Re-empaquetado Una vez el atacante logra romper la ofuscación que poseen las aplicaciones que se encuentran en los mercados de aplicaciones, éste puede modificarla y alojarla en servidores externos para su descarga por parte de usuarios no conscientes de este riesgo.
3. Cambios de comportamiento El atacante podría hacer modificaciones en el comportamiento de la aplicación, mediante inyección de código o en las llamadas realizadas por la aplicación, para invocar código malicioso provenientes de bibliotecas externas.
4. Saltar los controles de seguridad
Básicamente se trata de la modificación del código de la aplicación con el objetivo de evitar los controles asociados a la toma de decisiones, por ejemplo forzando a la transacción a ir por la vía que decida el atacante.
5. Cambios en la capa de presentación
El atacante puede manipular la capa más externa del código, modificarla y realizar operaciones no autorizadas engañando al usuario con la apariencia.
6. Fuga de información Un atacante puede averiguar las claves de cifrado con el objetivo de acceder a información confidencial almacenada de forma local.
Página 8
Vías de ataque a las aplicaciones móviles
Vías de Ataque
1. Acceso a información no cifrada.
Por ejemplo fotos, vídeos o archivos plist, xml o sqlite, los cuales contienen información sobre el último inicio de sesión, direcciones, nombres de usuarios, coordenadas de GPS, contraseñas…
2. Aplicaciones que solicitan permisos innecesarios.
Aplicaciones que por sus funciones no deberían solicitar permisos para utilizar acceso a directorio telefónico, calendarios, GPS, cámara, micrófono, etc.
3. Explotación vulnerabilidades de seguridad.
Permiten a los atacantes lanzar, por ejemplo, ataques de inyección de código SQL o bombas XML.
4. Aprovechamiento de sesiones inactivas
Derivadas de una mala gestión de las sesiones de usuarios, donde las sesiones continúan activas en el servidor aún cuando el usuario ha cerrado la aplicación.
5. Intercepción de transmisiones de información no cifrada.
Por ejemplo capturando transmisiones generadas por un peticiones GET, donde podrían estar siendo enviados nombres de usuarios, números de cuentas, códigos de identificación etc.
Modelo de relación entre asegurado y aseguradora
Anatomía de un ataque
Página 10
Anatomía de un ataque Ataques cada vez más rápidos y eficaces.
Ataques rápidos
Relativamente fácil
Objetivos
sencillos
Aproximadamente en el
84% de los casos el
ataque inicial sólo tardó
algunos minutos en ser
completado.
Hay una gran cantidad de
herramientas disponibles
que hacen gran parte del
trabajo, muchas de ellas
disponibles gratuitamente.
Las aplicaciones móviles
“viven” en un ambiente
poco controlado, donde
los atacantes pueden
acceder, modificar y
explotar su código
binario.
Los ataques a las aplicaciones móviles cada vez se hacen más frecuentes, más rápidos y mucho más fácil. ¿Por qué?.
Página 11
Seguridad de aplicaciones móviles
Situación actual
► Los dispositivos móviles (laptops, smartphones, tablets y wearables) están teniendo un uso muy generalizado, lo que permite que las personas puedan acceder y distribuir información desde cualquier lugar y en cualquier momento. Estos dispositivos se han convertido en una parte integral de nuestras vidas, tanto en el trabajo como el hogar.
► Las empresas en numerosos casos se han visto en la necesidad de implementar algún tipo de tecnología móvil en sus procesos para seguir siendo relevantes para sus clientes, socios y empleados.
Página 12
Seguridad de aplicaciones móviles
Complicaciones
► La tecnología móvil está provocando cambios en la forma en las empresas gestionan el flujo de información.
► Con cada nueva tecnología surgen nuevos retos para las empresas: ► Filtraciones o pérdidas de información confidencial.
► Retos asociados a la amplia gama de dispositivos y sistemas operativos, los riesgos y vulnerabilidades inherentes asociados a los firmwares.
► Pérdida y robo de los dispositivos.
► Cumplimiento de las regulaciones tanto locales como extranjeras, en caso de los empleados viajen con sus dispositivos.
► Adecuada monitorización del uso que se le da a las dispositivos y aplicaciones, ya que el usuario lo utilizará tanto para su vida personal como para el trabajo.
Modelo de relación entre asegurado y aseguradora
Self-defending Mobile Applications
Página 18
Self-defending applications Un nuevo tipo de defensa
Software de autodefensa
Este tipo de software incluye medidas de seguridad directamente en las aplicaciones. Entre las medidas de seguridad que incluye destacan la validación de integridad, prevención de extracción de código, protección de datos, cifrado, mejoras en la autenticación…
Diseño
•Revisión del diseño y la arquitectura de la aplicación.
•Modelado de las amenazas.
Codificación
•Desarrollo del código de la aplicación.
•Inclusión del código de auto defensa.
Pruebas
•Pruebas SCA.
•Pruebas DAST.
Despliegue
•Revisión de la configuración del servidor.
•Revisión de la configuración de la red
Implementación de software de autodefensa
Página 20
Self-defending applications (cont.) Un nuevo tipo de defensa
Software de autodefensa
Este tipo de software incluye medidas de seguridad directamente en las aplicaciones. Entre las medidas de seguridad que incluye destacan la validación de integridad, prevención de extracción de código, protección de datos, cifrado, mejoras en la autenticación, entre otras.
Aplicación
Software Seguridad
Control de acceso
Seguridad física
Ataque
Ataque
Ataque
Sólo el hecho de olvidar instalar el último parche en el software de seguridad o una nueva amenaza suponen una posibilidad de que la aplicación sea vulnerada.
Aplicación
Software de autodefensa
Software Seguridad
Control de acceso
Seguridad física
Ataque
Ataque
Ataque
El software de autodefensa nos proporciona un capa de seguridad adicional inteligente, que se encarga de analizar la actividad de la aplicación y tomar las medidas que sea necesarias para bloquear ataques.
Página 21
Self-defending applications (cont.) Un nuevo tipo de defensa
Software de autodefensa
Este tipo de software incluye medidas de seguridad directamente en las aplicaciones. Entre las medidas de seguridad que incluye destacan la validación de integridad, prevención de extracción de código, protección de datos, cifrado, mejoras en la autenticación, entre otras.
Ventajas Desventajas
► Detección de modificaciones hechas a la aplicación.
► No depende de ningún mecanismo externo que pueda ser vulnerado.
► Su implementación no requiere intervención por parte de los desarrolladores.
► Aunque la protección se aplica de forma general, esto no genera ningún impacto en el rendimiento de la aplicación.
► Se pueden hacer escalamientos de medidas de seguridad cuando se requiera.
► Requiere acceder al código de la aplicación para su implementación.
► Cada vez que se libera una nueva versión del software, se debe de analizar de nuevo las aplicaciones para asegurar que las medidas de seguridad han sido correctamente implementadas.
Conclusiones
Conclusiones
Página 23
¿Qué están haciendo las compañías? Análisis y revisiones
Alcance Objetivos y áreas cubiertas
Asesoría en la implementación de tecnología móvil
Objetivo: Evaluar si la empresa cuenta con una estrategia apropiada para desplegar un plan de desarrollo de tecnología móvil.
Áreas cubiertas:
► Revisión de la estrategia aplicada a los servicios cloud.
► Revisión de las políticas y su integración con las regulaciones legales y regulaciones de IT.
► Revisión de las políticas y procedimientos aplicables cuando se hace uso de servicios cloud, incluyendo factores legales, de gobierno y de auditoría.
Evaluación del tipo Gray Box en las aplicaciones
Objetivo: Las evaluaciones del tipo Gray Box sirven para:
► Identificar riesgos dentro del código de las aplicaciones.
► Identificar vulnerabilidades producidas por jailbreak o acceso root.
Áreas cubiertas:
► Modelado de amenazas a través de un entendimiento del proceso, incluyendo:
Interfaces administrativas.
Plataformas.
Transmisión de información confidencial
► Uso de protocolos móviles (MMS, WAP, etc.).
► Ejecutar un modelado de las aplicación y definir las relaciones de confianza.
► Ejecutar un análisis del código, incluyendo:
► Análisis de permisos, flujo de controles, y flujo de datos.
► Validar los puntos de mejora técnicos y proporcionar recomendaciones.
Página 24
¿Qué están haciendo las compañías? Análisis y revisiones
Alcance Objetivos y áreas cubiertas
Revisión de la configuración de los dispositivos y aplicaciones
Objetivo: Identificar riesgos y vulnerabilidades en dispositivos y aplicaciones.
Áreas cubiertas:
► Revisión de las políticas y la estrategia de gestión de dispositivos y aplicaciones.
► Revisión de la seguridad de dispositivos y aplicaciones, así como su cumplimiento con las políticas establecidas.
► Revisión del proceso para la gestión de dispositivos robados o perdidos.
► Revisión de dispositivos para detectar posibles aplicaciones no autorizadas así como dispositivos con jailbreak o acceso root.
► Revisión de la red que soporta el flujo de datos producto del uso de los dispositivos.
► Revisión de las políticas, SOD y accesos por parte de terceros que estén de alguna manera involucrados con procesos de tecnología móvil.
Evaluación del tipo Black Box de las aplicaciones
Objetivo: Ejecutar revisiones de tipo Black Box e intentar explotar las vulnerabilidades identificadas en las aplicaciones.
Áreas cubiertas:
► Análisis y explotación de las vulnerabilidades encontradas en los flujos de autorizaciones y lógica del negocio.
► Análisis no intrusivos mediante el uso de herramientas (inyección de código SQL, cross-site scripting, etc.)
► Análisis de la configuración general de las aplicaciones (funcionalidad, permisos, controles, etc.)
► Intentar explotar las vulnerabilidades de las aplicaciones móviles.
► Revisión de los mecanismos de cifrado.
Muchas gracias