SlideShare una empresa de Scribd logo
1 de 69
Descargar para leer sin conexión
Curso de Especialización en
     Dispositivos Móviles
A Coruña, 22 de junio de 2012
SOBRE MI


VULNEX:    www.vulnex.com

Blog:      www.simonroses.com

Twitter:
           @vulnexsl
           @simonroses
OBJETIVOS DE LA CHARLA


• Las Apps son la nueva Web

• Visión general sobre la postura de
  seguridad de las Apps en los Markets

• Se revelarán las vulnerabilidades
  pero no las víctimas
DESCARGO DE RESPONSABILIDADES




Todas las Apps se considerarán
seguras hasta que se demuestre
su culpabilidad mediante una
revisión de seguridad
AGENDA


1.   TODO GIRA ALREDEDOR DE LAS APPS
2.   RIESGOS EN APPS
3.   CASOS DE ESTUDIO
4.   CONSEJOS DE DESARROLLO SEGURO
5.   CONCLUSIONES
1. POR QUÉ LAS APPS?

•   IDC predice que la venta de smartphones alcanzará los 982
    millones de dispositivos en 2015

•   Morgan Stanley Research estima que la venta de smartphones
    superará a la de los PCs en 2012

•   La media de aplicaciones instaladas es de 65, pero el
    consumidor medio sólo utiliza unas 15 Apps habitualmente por
    semana

•   En 2011 se lanzó un promedio de 701 Apps en la versión
    británica de la App Store de Apple CADA DÍA!!

•   Una aplicación para casi todo…
1. CIFRAS DE INFARTO


                       APPS BAJADAS

                       • IPhone (Marzo 2012)
                         25 Billions == 25 mil millones

                       • Android (Diciembre 2011)
                         10 Billions == 10 mil millones

                       • WP7: ¿?
1. DESARROLLO DE APPS




(1) Se puede incluir C en Java Apps / Apps de sistemas escritas en C
(2) Por el momento sólo Microsoft pero próximamente abierto
1. TECNOLOGÍAS

• Android -> Eclipse

• iOS -> Xcode

• Windows Phone -> Visual Studio

• Multiplataforma ->
  – Comerciales
     • Xamarin - Mono Touch / Android
     • Corona SDK

  – Open Source
     • Phonegap
1. ANÁLISIS – XAMARIN MONO
   (ANDROID) I
1. ANÁLISIS – XAMARIN MONO
   (ANDROID) II
1. ANÁLISIS – XAMARIN MONO
   (ANDROID) III
1. ANÁLISIS – XAMARIN MONO (IOS) IV
1. ANÁLISIS – PHONEGAP (ANDROID) I
1. ANÁLISIS – PHONEGAP (ANDROID) II
1. ANÁLISIS – PHONEGAP (IOS) III
2. I+D SEGURIDAD APPS

• REGLAS
   Más de 5000 Apps de los Markets oficiales analizadas
   Algunas App una hora de análisis o menos
   Diferentes categorías analizadas:

     •   Seguridad
     •   Redes sociales
     •   Comunicaciones
     •   Servidores
     •   Finanzas
     •   Ocio
     •   Productividad
     •   Viajes
     •   Juegos
     •   Utilidades
2. USUARIOS DE APPS ANALIZADAS

• Redes sociales   +2 millones

• Finanzas         500.000

• Productividad    10 millones

• Seguridad        5 millones

• Medios           100.000

• Viajes           5 millones
2. OWASP MOBILE PROJECT

• OWASP inició en 2010 un proyecto de
  seguridad móvil

• Objetivo: Proporcionar a desarrolladores y
  profesionales de seguridad recursos para
  asegurar aplicaciones móviles

• Hitos:
  – OWASP Top 10 riesgos móviles
  – Guías de desarrollo y pruebas de seguridad
  – Proyecto OWASP GoatDroid
2. OWASP MOBILE TOP 10 RISKS
2. VULNEX - MAPA DE RIESGO EN APPS
1. ANÁLISIS IOS – FAIRPLAY &
   JAILBREAK I
1. ANÁLISIS IOS – FAIRPLAY &
   JAILBREAK II
1. ANÁLISIS IOS – FAIRPLAY &
   JAILBREAK III
3. CONTRASEÑAS EN TEXTO CLARO

• La App no protege adecuadamente la información sensible,
  credenciales

• OWASP Mobile: M1- Insecure Data Storage
3. EJEMPLO CONTRASEÑAS EN TEXTO CLARO:
   CREDENTIALS MANAGER (CVE-2011-1840)
3. MITIGAR CONTRASEÑAS EN TEXTO CLARO


• Utilizar cifrado y seguridad de
  la plataforma
  (Información en reposo)

• Establecer los permisos apropiados para
  los ficheros
  – MODE_WORLD_WRITEABLE
  – MODE_WORLD_READABLE

• Evitar guardar datos en áreas de
  almacenamiento      externo  y público
  (principalmente tarjetas SD)
3. CANALES INSEGUROS

• App envía datos a la red sin cifrar
  (HTTP vs. HTTPS)
  – Atentos a las credenciales
  – Información PII (chats, Facebook,
    etc.)

• Cuando se utilizan canales codificados,
  realizar la validación del certificado

• OWASP Mobile: M3- Insufficient
  Transport Layer Protection
3. EJEMPLO DE CANAL INSEGURO:
   RED SOCIAL
3. MITIGAR CANAL INSEGURO


• Cifrar datos confidenciales saliendo
  del dispositivo (Proteger información
  en tránsito)

• Se aplica a cualquier tipo de conexión
3. DEPURACIÓN HABILITADA

• La App tiene la depuración o “logueo” habilitada




• Ayuda a un atacante a aprender el funcionamiento
  de la App

• OWASP Mobile: M8- Side Channel
  Data Leakage
3. EJEMPLO DEPURACIÓN HABILITADA:
   FINANZAS
3. EJEMPLO DEPURACIÓN HABILITADA:
   SERVIDOR
3. EJEMPLO DEPURACIÓN HABILITADA:
   FINANZAS
3. MITIGACIÓN DEPURACIÓN HABILITADA



 • Para depuración de código:
   – ¿Qué datos se guardan en logs?
   – ¿Dónde se guardan los datos?


 • Android: Eclipse deshabilita la
   depuración en la versión “release”
3. VALIDACIÓN DE DATOS


• La App no realiza una validación de
  datos adecuada

• Fuente de multitud de vulnerabilidades

• OWASP Mobile: M4- Client Side Injection
3. EJEMPLO SQL DINÁMICO: FINANZAS
3. EJEMPLO CROSS SITE SCRIPTING (XSS): VIAJES
3. EJEMPLO CROSS SITE SCRIPTING (XSS),
   POR SI NO LO VISTE BIEN
3. EJEMPLO VALIDACIÓN DE DATOS: OCIO
3. MITIGAR VALIDACIÓN DE DATOS

• Validar datos:
   – Válidos
   – Seguros
   – Longitud


• Para consultas SQL usar sentencias preparadas

• Validar y escapar los datos antes de mostrarlos
  para aplicaciones web

• Utilizar lista blanca en vez de lista       negra.
  Recomendadas las librerías OWASP ESAPI.
3. VIOLACIÓN PRIVACIDAD (PII)


• La App recoge información PII
  – Usuario: nombre, contactos, bookmarks
  – Dispositivo: versión S.O., nombre, IMEI,
    IMSI, versión kernel, UUID
  – Info general: geo localización

– OWASP Mobile Risk Classification: M8 – Side
  Channel Data Leakage
3. MITIGACIÓN VIOLACIÓN PRIVACIDAD

• Las Apps no deben recoger todo lo que
  puedan, sólo lo que necesiten

• Si necesita recoger PII:
  – ¿Dónde va esa información?
     • Ficheros logs
     • Base de datos
     • Red

  – Protégela:
     • En tránsito
     • En reposo
3. INTEGRACIÓN LIBRERÍAS DE TERCEROS

• La App integra librerías de terceros:

  –   Facebook
  –   Greendroid
  –   Android.ads
  –   Apache
  –   google.android.apps.analytics
  –   Json
  –   Mozilla
  –   Javax
  –   xmlrpc.android
  –   slf4j
3. MITIGACIÓN INTEGRACIÓN LIBRERÍAS DE
   TERCEROS

• Si utilizas librerías    de     terceros,   usa
  librerías conocidas

• ¿Qué información        están    recolectando
  estas librerías?

• ¿Necesitamos realmente librerías de
  redes sociales integradas en nuestras
  aplicaciones de Finanzas?
3. PERMISOS


• Es importante entender los permisos
  de aplicación

• La App puede comprometer el bolsillo
  del usuario y la seguridad del
  dispositivo
3. EJEMPLO DE PERMISOS - SEXYPIC
3. EJEMPLO DE PERMISOS - DROIDDREAM
3. MITIGAR PERMISOS


• Usuario: Aplicar sentido común

• Desarrollador: No abusar de la
  solicitud de permisos
  (overprivileged)
3. CRYPTO DÉBIL


• Uso incorrecto de librerías
  criptográficas

• Desarrollar algoritmo de
  cifrado propio – “killer”

• M9 - Broken Cryptography
3. EJEMPLO CRYPTO DÉBIL - SEGURIDAD


Contraseña en código


    Cifrar contraseña con MD5 (sin
    salt)

        Hash almacenado en fichero
        texto con permisos world

           Fichero almacenado en la tarjeta
           SD




http://www.md5-hash.com/
3. MITIGAR CRYPTO DÉBIL


• Uso de librerías criptográficas conocidas
  y leer la documentación

• Olvídate de cifrado propietario

• Si utilizas SHA1 o MD5 para contraseñas
  aplica salt, mejor utilizar SHA-256

• Si utilizas SHA1PRNG define la semilla
3. CREDENCIALES EN CÓDIGO


• Las credenciales están integradas en el
  código

• Fáciles de identificar para
  los atacantes

• OWASP Mobile: M10- Sensitive
  Information Disclosure
3. EJEMPLO CREDENCIALES EN CÓDIGO:
   SERVIDOR
3. MITIGAR CREDENCIALES EN CÓDIGO

• Fácil, no escribir las credenciales en
  archivos de código 



• ¿Qué sucede al cambiar las credenciales?
  Una nueva App al market!


• Las credenciales deben utilizar
  almacenamientos de datos seguros
3. ANÁLISIS DE APP I - PROCESO
3. ANÁLISIS DE APP II - CÓDIGO
3. ANÁLISIS DE APP III - CONCLUSIÓN

                     APP BANCO   APP SOSPECHOSA
VULNERABILIDADADES   NO          SÍ
                                 •    Debug Habilitado
                                 •    Contraseñas Texto Claro
                                 •    Contraseñas en Logs
OFUSCACIÓN           SÍ          NO
INFORMACIÓN EN       SÍ          SÍ
TRÁNSITO PROTEGIDA
INFORMACIÓN EN       SÍ          NO
REPOSO PROTEGIDA
MALICIOSA            NO          NO
PRECIO               GRATIS      < 1 EUR
4. CONSEJO (I)

• Todas las Apps necesitan un ciclo de desarrollo seguro



• Realiza Modelos de Amenazas


• Comprende los riesgos de la plataforma y la App

• Revisiones de seguridad profesionales son caras pero
  pequeño ISV y desarrolladores pueden utilizar los
  recursos disponibles
4. CONSEJO (II)

•   Puedes añadir detección de jailbreak pero es una batalla perdida.
     Android:
      • Comprobar si existe /system/app/Superuser.apk
      • Comprobar si existe el paquete com.noshufou.android.su
      • Podemos escribir directamente a /data/data


     IPhone
      • Ejecuta fork()
      • Comprueba si existe /Applications/Cydia.app


     WP7
      •   Permitido por Microsoft (DESCONTINUADO)
          http://labs.chevronwp7.com/

•   Ofuscación de código
4. RECURSOS DE SEGURIDAD


 • Iphone
    – https://developer.apple.com/library/mac/#documentation/securit
      y/Conceptual/SecureCodingGuide/Introduction.html

 • Android
    – http://developer.android.com/guide/topics/security/security.html
    – http://developer.android.com/search.html#q=security&t=5

 • WP7
    – http://msdn.microsoft.com/en-us/library/ff402533(VS.92).aspx

 • OWASP Mobile Security Project
  https://www.owasp.org/index.php/OWASP_Mobile_Security_Project
5. RESUMEN

• Las Apps son un negocio imparable

• Las Apps son realmente interesantes para los atacantes,
  millones de posibles víctimas

   – Autores Malware




• En las Apps analizadas hay algunas vulnerabilidades
  interesantes

• Diferentes clases de vulnerabilidades, pero existen más
  de lo mostrado aquí
5. PRÓXIMOS PASOS


• Automatizar el análisis de Apps
  – Análisis estático
  – Análisis dinámico


• Estudio de las tecnologías
  multiplataforma y su repercusión en
  seguridad
  – Managed Apps (Mono)
  – ¿Son las vulnerabilidades
    multiplataforma?
5. PREGUNTAS




        ¡Gracias!

Más contenido relacionado

Similar a Lo que las apps esconden

116 owasp mobile-top_10_security_risks
116 owasp mobile-top_10_security_risks116 owasp mobile-top_10_security_risks
116 owasp mobile-top_10_security_risks
GeneXus
 
Charla de seguridad en dispositivos móviles
Charla de seguridad en dispositivos móvilesCharla de seguridad en dispositivos móviles
Charla de seguridad en dispositivos móviles
Gissim
 
Vectores de ataque dispositivos moviles
Vectores de ataque dispositivos movilesVectores de ataque dispositivos moviles
Vectores de ataque dispositivos moviles
Cristian Borghello
 

Similar a Lo que las apps esconden (20)

116 owasp mobile-top_10_security_risks
116 owasp mobile-top_10_security_risks116 owasp mobile-top_10_security_risks
116 owasp mobile-top_10_security_risks
 
Marc Fernandez - Auditando aplicaciones iOS [rooted2018]
Marc Fernandez - Auditando aplicaciones iOS [rooted2018]Marc Fernandez - Auditando aplicaciones iOS [rooted2018]
Marc Fernandez - Auditando aplicaciones iOS [rooted2018]
 
Seguridad dispositivos móviles(Android e iOS)
Seguridad dispositivos móviles(Android e iOS)Seguridad dispositivos móviles(Android e iOS)
Seguridad dispositivos móviles(Android e iOS)
 
2020 enero Argentesting
2020 enero Argentesting2020 enero Argentesting
2020 enero Argentesting
 
Análisis de Aplicaciones móviles - aspectos de seguridad
Análisis de Aplicaciones móviles - aspectos de seguridadAnálisis de Aplicaciones móviles - aspectos de seguridad
Análisis de Aplicaciones móviles - aspectos de seguridad
 
Análisis de malware en Android -.Bsides Chile 2014
Análisis de malware en Android -.Bsides Chile 2014Análisis de malware en Android -.Bsides Chile 2014
Análisis de malware en Android -.Bsides Chile 2014
 
Top 10 riesgos de las aplicaciones móviles
Top 10 riesgos de las aplicaciones móvilesTop 10 riesgos de las aplicaciones móviles
Top 10 riesgos de las aplicaciones móviles
 
Hackeando plataformas móviles
Hackeando plataformas móvilesHackeando plataformas móviles
Hackeando plataformas móviles
 
Charla de seguridad en dispositivos móviles
Charla de seguridad en dispositivos móvilesCharla de seguridad en dispositivos móviles
Charla de seguridad en dispositivos móviles
 
Sesion dos azuay
Sesion dos azuaySesion dos azuay
Sesion dos azuay
 
Aplicaciones moviles Multiplataforma
Aplicaciones moviles MultiplataformaAplicaciones moviles Multiplataforma
Aplicaciones moviles Multiplataforma
 
Las apps
Las appsLas apps
Las apps
 
Análisis forense de dispositivos android 01
Análisis forense de dispositivos android 01Análisis forense de dispositivos android 01
Análisis forense de dispositivos android 01
 
Aplicaciones Difusas UNIDAD 5: ÉTICA Y PRIVACIDAD: Parte 1
Aplicaciones Difusas  UNIDAD 5: ÉTICA Y PRIVACIDAD: Parte 1Aplicaciones Difusas  UNIDAD 5: ÉTICA Y PRIVACIDAD: Parte 1
Aplicaciones Difusas UNIDAD 5: ÉTICA Y PRIVACIDAD: Parte 1
 
Vectores de ataque dispositivos moviles
Vectores de ataque dispositivos movilesVectores de ataque dispositivos moviles
Vectores de ataque dispositivos moviles
 
Seguridad y auditoría de Apps o aplicaciones móviles
Seguridad y auditoría de Apps o aplicaciones móvilesSeguridad y auditoría de Apps o aplicaciones móviles
Seguridad y auditoría de Apps o aplicaciones móviles
 
Las apps en tipo presentación
Las apps en tipo presentaciónLas apps en tipo presentación
Las apps en tipo presentación
 
Secure Development, Seguridad al Codificar
Secure Development, Seguridad al CodificarSecure Development, Seguridad al Codificar
Secure Development, Seguridad al Codificar
 
Aplicaciones Móviles Híbridas
Aplicaciones Móviles HíbridasAplicaciones Móviles Híbridas
Aplicaciones Móviles Híbridas
 
Movilidad: situación, estudio y retos
Movilidad: situación, estudio y retosMovilidad: situación, estudio y retos
Movilidad: situación, estudio y retos
 

Más de Eventos Creativos

Análisis forense de dispositivos android 03
Análisis forense de dispositivos android 03Análisis forense de dispositivos android 03
Análisis forense de dispositivos android 03
Eventos Creativos
 

Más de Eventos Creativos (20)

Windows server 2012 para it
Windows server 2012 para itWindows server 2012 para it
Windows server 2012 para it
 
Pentesting con metasploit framework
Pentesting con metasploit frameworkPentesting con metasploit framework
Pentesting con metasploit framework
 
Malware en android
Malware en androidMalware en android
Malware en android
 
Despliegue empresarial de smartphones mdm
Despliegue empresarial de smartphones   mdmDespliegue empresarial de smartphones   mdm
Despliegue empresarial de smartphones mdm
 
Atacando iphone a través de wireless y javascript botnet
Atacando iphone a través de wireless y javascript botnetAtacando iphone a través de wireless y javascript botnet
Atacando iphone a través de wireless y javascript botnet
 
Ataque a redes de datos IPv6 con Evil Foca
Ataque a redes de datos IPv6 con Evil FocaAtaque a redes de datos IPv6 con Evil Foca
Ataque a redes de datos IPv6 con Evil Foca
 
Windows 8
Windows 8Windows 8
Windows 8
 
Análisis forense de dispositivos android 03
Análisis forense de dispositivos android 03Análisis forense de dispositivos android 03
Análisis forense de dispositivos android 03
 
Análisis forense de dispositivos android 02
Análisis forense de dispositivos android 02Análisis forense de dispositivos android 02
Análisis forense de dispositivos android 02
 
Análisis forense de dispositivos ios
Análisis forense de dispositivos iosAnálisis forense de dispositivos ios
Análisis forense de dispositivos ios
 
Arquitectura, aplicaciones y seguridad en ios
Arquitectura, aplicaciones y seguridad en iosArquitectura, aplicaciones y seguridad en ios
Arquitectura, aplicaciones y seguridad en ios
 
Jailbreak y rooting más allá de los límites del dispositivo
Jailbreak y rooting más allá de los límites del dispositivoJailbreak y rooting más allá de los límites del dispositivo
Jailbreak y rooting más allá de los límites del dispositivo
 
I os en el entorno corporativo
I os en el entorno corporativoI os en el entorno corporativo
I os en el entorno corporativo
 
Análisis forense de tarjetas sim, smartcards, etc
Análisis forense de tarjetas sim, smartcards, etcAnálisis forense de tarjetas sim, smartcards, etc
Análisis forense de tarjetas sim, smartcards, etc
 
Firma digital y biométrica en dispositivos móviles
Firma digital y biométrica en dispositivos móvilesFirma digital y biométrica en dispositivos móviles
Firma digital y biométrica en dispositivos móviles
 
Nfc en móviles
Nfc en móvilesNfc en móviles
Nfc en móviles
 
Fraude en tecnológias móviles
Fraude en tecnológias móvilesFraude en tecnológias móviles
Fraude en tecnológias móviles
 
Malware en dispositivos móviles
Malware en dispositivos móvilesMalware en dispositivos móviles
Malware en dispositivos móviles
 
Análisis forense con oxygen forensics suite 2012 analyst
Análisis forense con oxygen forensics suite 2012 analystAnálisis forense con oxygen forensics suite 2012 analyst
Análisis forense con oxygen forensics suite 2012 analyst
 
Arquitectura, aplicaciones y seguridad en Android
Arquitectura, aplicaciones y seguridad en AndroidArquitectura, aplicaciones y seguridad en Android
Arquitectura, aplicaciones y seguridad en Android
 

Último

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
AnnimoUno1
 

Último (11)

Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 

Lo que las apps esconden

  • 1. Curso de Especialización en Dispositivos Móviles A Coruña, 22 de junio de 2012
  • 2. SOBRE MI VULNEX: www.vulnex.com Blog: www.simonroses.com Twitter: @vulnexsl @simonroses
  • 3. OBJETIVOS DE LA CHARLA • Las Apps son la nueva Web • Visión general sobre la postura de seguridad de las Apps en los Markets • Se revelarán las vulnerabilidades pero no las víctimas
  • 4. DESCARGO DE RESPONSABILIDADES Todas las Apps se considerarán seguras hasta que se demuestre su culpabilidad mediante una revisión de seguridad
  • 5. AGENDA 1. TODO GIRA ALREDEDOR DE LAS APPS 2. RIESGOS EN APPS 3. CASOS DE ESTUDIO 4. CONSEJOS DE DESARROLLO SEGURO 5. CONCLUSIONES
  • 6.
  • 7. 1. POR QUÉ LAS APPS? • IDC predice que la venta de smartphones alcanzará los 982 millones de dispositivos en 2015 • Morgan Stanley Research estima que la venta de smartphones superará a la de los PCs en 2012 • La media de aplicaciones instaladas es de 65, pero el consumidor medio sólo utiliza unas 15 Apps habitualmente por semana • En 2011 se lanzó un promedio de 701 Apps en la versión británica de la App Store de Apple CADA DÍA!! • Una aplicación para casi todo…
  • 8. 1. CIFRAS DE INFARTO APPS BAJADAS • IPhone (Marzo 2012) 25 Billions == 25 mil millones • Android (Diciembre 2011) 10 Billions == 10 mil millones • WP7: ¿?
  • 9. 1. DESARROLLO DE APPS (1) Se puede incluir C en Java Apps / Apps de sistemas escritas en C (2) Por el momento sólo Microsoft pero próximamente abierto
  • 10. 1. TECNOLOGÍAS • Android -> Eclipse • iOS -> Xcode • Windows Phone -> Visual Studio • Multiplataforma -> – Comerciales • Xamarin - Mono Touch / Android • Corona SDK – Open Source • Phonegap
  • 11. 1. ANÁLISIS – XAMARIN MONO (ANDROID) I
  • 12. 1. ANÁLISIS – XAMARIN MONO (ANDROID) II
  • 13. 1. ANÁLISIS – XAMARIN MONO (ANDROID) III
  • 14. 1. ANÁLISIS – XAMARIN MONO (IOS) IV
  • 15. 1. ANÁLISIS – PHONEGAP (ANDROID) I
  • 16. 1. ANÁLISIS – PHONEGAP (ANDROID) II
  • 17. 1. ANÁLISIS – PHONEGAP (IOS) III
  • 18.
  • 19. 2. I+D SEGURIDAD APPS • REGLAS  Más de 5000 Apps de los Markets oficiales analizadas  Algunas App una hora de análisis o menos  Diferentes categorías analizadas: • Seguridad • Redes sociales • Comunicaciones • Servidores • Finanzas • Ocio • Productividad • Viajes • Juegos • Utilidades
  • 20. 2. USUARIOS DE APPS ANALIZADAS • Redes sociales +2 millones • Finanzas 500.000 • Productividad 10 millones • Seguridad 5 millones • Medios 100.000 • Viajes 5 millones
  • 21. 2. OWASP MOBILE PROJECT • OWASP inició en 2010 un proyecto de seguridad móvil • Objetivo: Proporcionar a desarrolladores y profesionales de seguridad recursos para asegurar aplicaciones móviles • Hitos: – OWASP Top 10 riesgos móviles – Guías de desarrollo y pruebas de seguridad – Proyecto OWASP GoatDroid
  • 22. 2. OWASP MOBILE TOP 10 RISKS
  • 23. 2. VULNEX - MAPA DE RIESGO EN APPS
  • 24. 1. ANÁLISIS IOS – FAIRPLAY & JAILBREAK I
  • 25. 1. ANÁLISIS IOS – FAIRPLAY & JAILBREAK II
  • 26. 1. ANÁLISIS IOS – FAIRPLAY & JAILBREAK III
  • 27.
  • 28. 3. CONTRASEÑAS EN TEXTO CLARO • La App no protege adecuadamente la información sensible, credenciales • OWASP Mobile: M1- Insecure Data Storage
  • 29. 3. EJEMPLO CONTRASEÑAS EN TEXTO CLARO: CREDENTIALS MANAGER (CVE-2011-1840)
  • 30. 3. MITIGAR CONTRASEÑAS EN TEXTO CLARO • Utilizar cifrado y seguridad de la plataforma (Información en reposo) • Establecer los permisos apropiados para los ficheros – MODE_WORLD_WRITEABLE – MODE_WORLD_READABLE • Evitar guardar datos en áreas de almacenamiento externo y público (principalmente tarjetas SD)
  • 31. 3. CANALES INSEGUROS • App envía datos a la red sin cifrar (HTTP vs. HTTPS) – Atentos a las credenciales – Información PII (chats, Facebook, etc.) • Cuando se utilizan canales codificados, realizar la validación del certificado • OWASP Mobile: M3- Insufficient Transport Layer Protection
  • 32. 3. EJEMPLO DE CANAL INSEGURO: RED SOCIAL
  • 33. 3. MITIGAR CANAL INSEGURO • Cifrar datos confidenciales saliendo del dispositivo (Proteger información en tránsito) • Se aplica a cualquier tipo de conexión
  • 34. 3. DEPURACIÓN HABILITADA • La App tiene la depuración o “logueo” habilitada • Ayuda a un atacante a aprender el funcionamiento de la App • OWASP Mobile: M8- Side Channel Data Leakage
  • 35. 3. EJEMPLO DEPURACIÓN HABILITADA: FINANZAS
  • 36. 3. EJEMPLO DEPURACIÓN HABILITADA: SERVIDOR
  • 37. 3. EJEMPLO DEPURACIÓN HABILITADA: FINANZAS
  • 38. 3. MITIGACIÓN DEPURACIÓN HABILITADA • Para depuración de código: – ¿Qué datos se guardan en logs? – ¿Dónde se guardan los datos? • Android: Eclipse deshabilita la depuración en la versión “release”
  • 39. 3. VALIDACIÓN DE DATOS • La App no realiza una validación de datos adecuada • Fuente de multitud de vulnerabilidades • OWASP Mobile: M4- Client Side Injection
  • 40. 3. EJEMPLO SQL DINÁMICO: FINANZAS
  • 41. 3. EJEMPLO CROSS SITE SCRIPTING (XSS): VIAJES
  • 42. 3. EJEMPLO CROSS SITE SCRIPTING (XSS), POR SI NO LO VISTE BIEN
  • 43. 3. EJEMPLO VALIDACIÓN DE DATOS: OCIO
  • 44. 3. MITIGAR VALIDACIÓN DE DATOS • Validar datos: – Válidos – Seguros – Longitud • Para consultas SQL usar sentencias preparadas • Validar y escapar los datos antes de mostrarlos para aplicaciones web • Utilizar lista blanca en vez de lista negra. Recomendadas las librerías OWASP ESAPI.
  • 45. 3. VIOLACIÓN PRIVACIDAD (PII) • La App recoge información PII – Usuario: nombre, contactos, bookmarks – Dispositivo: versión S.O., nombre, IMEI, IMSI, versión kernel, UUID – Info general: geo localización – OWASP Mobile Risk Classification: M8 – Side Channel Data Leakage
  • 46. 3. MITIGACIÓN VIOLACIÓN PRIVACIDAD • Las Apps no deben recoger todo lo que puedan, sólo lo que necesiten • Si necesita recoger PII: – ¿Dónde va esa información? • Ficheros logs • Base de datos • Red – Protégela: • En tránsito • En reposo
  • 47. 3. INTEGRACIÓN LIBRERÍAS DE TERCEROS • La App integra librerías de terceros: – Facebook – Greendroid – Android.ads – Apache – google.android.apps.analytics – Json – Mozilla – Javax – xmlrpc.android – slf4j
  • 48. 3. MITIGACIÓN INTEGRACIÓN LIBRERÍAS DE TERCEROS • Si utilizas librerías de terceros, usa librerías conocidas • ¿Qué información están recolectando estas librerías? • ¿Necesitamos realmente librerías de redes sociales integradas en nuestras aplicaciones de Finanzas?
  • 49. 3. PERMISOS • Es importante entender los permisos de aplicación • La App puede comprometer el bolsillo del usuario y la seguridad del dispositivo
  • 50. 3. EJEMPLO DE PERMISOS - SEXYPIC
  • 51. 3. EJEMPLO DE PERMISOS - DROIDDREAM
  • 52. 3. MITIGAR PERMISOS • Usuario: Aplicar sentido común • Desarrollador: No abusar de la solicitud de permisos (overprivileged)
  • 53. 3. CRYPTO DÉBIL • Uso incorrecto de librerías criptográficas • Desarrollar algoritmo de cifrado propio – “killer” • M9 - Broken Cryptography
  • 54. 3. EJEMPLO CRYPTO DÉBIL - SEGURIDAD Contraseña en código Cifrar contraseña con MD5 (sin salt) Hash almacenado en fichero texto con permisos world Fichero almacenado en la tarjeta SD http://www.md5-hash.com/
  • 55. 3. MITIGAR CRYPTO DÉBIL • Uso de librerías criptográficas conocidas y leer la documentación • Olvídate de cifrado propietario • Si utilizas SHA1 o MD5 para contraseñas aplica salt, mejor utilizar SHA-256 • Si utilizas SHA1PRNG define la semilla
  • 56. 3. CREDENCIALES EN CÓDIGO • Las credenciales están integradas en el código • Fáciles de identificar para los atacantes • OWASP Mobile: M10- Sensitive Information Disclosure
  • 57. 3. EJEMPLO CREDENCIALES EN CÓDIGO: SERVIDOR
  • 58. 3. MITIGAR CREDENCIALES EN CÓDIGO • Fácil, no escribir las credenciales en archivos de código  • ¿Qué sucede al cambiar las credenciales? Una nueva App al market! • Las credenciales deben utilizar almacenamientos de datos seguros
  • 59. 3. ANÁLISIS DE APP I - PROCESO
  • 60. 3. ANÁLISIS DE APP II - CÓDIGO
  • 61. 3. ANÁLISIS DE APP III - CONCLUSIÓN APP BANCO APP SOSPECHOSA VULNERABILIDADADES NO SÍ • Debug Habilitado • Contraseñas Texto Claro • Contraseñas en Logs OFUSCACIÓN SÍ NO INFORMACIÓN EN SÍ SÍ TRÁNSITO PROTEGIDA INFORMACIÓN EN SÍ NO REPOSO PROTEGIDA MALICIOSA NO NO PRECIO GRATIS < 1 EUR
  • 62.
  • 63. 4. CONSEJO (I) • Todas las Apps necesitan un ciclo de desarrollo seguro • Realiza Modelos de Amenazas • Comprende los riesgos de la plataforma y la App • Revisiones de seguridad profesionales son caras pero pequeño ISV y desarrolladores pueden utilizar los recursos disponibles
  • 64. 4. CONSEJO (II) • Puedes añadir detección de jailbreak pero es una batalla perdida.  Android: • Comprobar si existe /system/app/Superuser.apk • Comprobar si existe el paquete com.noshufou.android.su • Podemos escribir directamente a /data/data  IPhone • Ejecuta fork() • Comprueba si existe /Applications/Cydia.app  WP7 • Permitido por Microsoft (DESCONTINUADO) http://labs.chevronwp7.com/ • Ofuscación de código
  • 65. 4. RECURSOS DE SEGURIDAD • Iphone – https://developer.apple.com/library/mac/#documentation/securit y/Conceptual/SecureCodingGuide/Introduction.html • Android – http://developer.android.com/guide/topics/security/security.html – http://developer.android.com/search.html#q=security&t=5 • WP7 – http://msdn.microsoft.com/en-us/library/ff402533(VS.92).aspx • OWASP Mobile Security Project https://www.owasp.org/index.php/OWASP_Mobile_Security_Project
  • 66.
  • 67. 5. RESUMEN • Las Apps son un negocio imparable • Las Apps son realmente interesantes para los atacantes, millones de posibles víctimas – Autores Malware • En las Apps analizadas hay algunas vulnerabilidades interesantes • Diferentes clases de vulnerabilidades, pero existen más de lo mostrado aquí
  • 68. 5. PRÓXIMOS PASOS • Automatizar el análisis de Apps – Análisis estático – Análisis dinámico • Estudio de las tecnologías multiplataforma y su repercusión en seguridad – Managed Apps (Mono) – ¿Son las vulnerabilidades multiplataforma?
  • 69. 5. PREGUNTAS ¡Gracias!