Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Curso de Especialización en     Dispositivos MóvilesA Coruña, 22 de junio de 2012
SOBRE MIVULNEX:    www.vulnex.comBlog:      www.simonroses.comTwitter:           @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 Market...
DESCARGO DE RESPONSABILIDADESTodas las Apps se consideraránseguras hasta que se demuestresu culpabilidad mediante unarevis...
AGENDA1.   TODO GIRA ALREDEDOR DE LAS APPS2.   RIESGOS EN APPS3.   CASOS DE ESTUDIO4.   CONSEJOS DE DESARROLLO SEGURO5.   ...
1. POR QUÉ LAS APPS?•   IDC predice que la venta de smartphones alcanzará los 982    millones de dispositivos en 2015•   M...
1. CIFRAS DE INFARTO                       APPS BAJADAS                       • IPhone (Marzo 2012)                       ...
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...
1. TECNOLOGÍAS• Android -> Eclipse• iOS -> Xcode• Windows Phone -> Visual Studio• Multiplataforma ->  – Comerciales     • ...
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 ...
2. USUARIOS DE APPS ANALIZADAS• Redes sociales   +2 millones• Finanzas         500.000• Productividad    10 millones• Segu...
2. OWASP MOBILE PROJECT• OWASP inició en 2010 un proyecto de  seguridad móvil• Objetivo: Proporcionar a desarrolladores y ...
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- I...
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...
3. CANALES INSEGUROS• App envía datos a la red sin cifrar  (HTTP vs. HTTPS)  – Atentos a las credenciales  – Información P...
3. EJEMPLO DE CANAL INSEGURO:   RED SOCIAL
3. MITIGAR CANAL INSEGURO• Cifrar datos confidenciales saliendo  del dispositivo (Proteger información  en tránsito)• Se a...
3. DEPURACIÓN HABILITADA• La App tiene la depuración o “logueo” habilitada• Ayuda a un atacante a aprender el funcionamien...
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 ...
3. VALIDACIÓN DE DATOS• La App no realiza una validación de  datos adecuada• Fuente de multitud de vulnerabilidades• OWASP...
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 pr...
3. VIOLACIÓN PRIVACIDAD (PII)• La App recoge información PII  – Usuario: nombre, contactos, bookmarks  – Dispositivo: vers...
3. MITIGACIÓN VIOLACIÓN PRIVACIDAD• Las Apps no deben recoger todo lo que  puedan, sólo lo que necesiten• Si necesita reco...
3. INTEGRACIÓN LIBRERÍAS DE TERCEROS• La App integra librerías de terceros:  –   Facebook  –   Greendroid  –   Android.ads...
3. MITIGACIÓN INTEGRACIÓN LIBRERÍAS DE   TERCEROS• Si utilizas librerías    de     terceros,   usa  librerías conocidas• ¿...
3. PERMISOS• Es importante entender los permisos  de aplicación• La App puede comprometer el bolsillo  del usuario y la se...
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 - Br...
3. EJEMPLO CRYPTO DÉBIL - SEGURIDADContraseña en código    Cifrar contraseña con MD5 (sin    salt)        Hash almacenado ...
3. MITIGAR CRYPTO DÉBIL• Uso de librerías criptográficas conocidas  y leer la documentación• Olvídate de cifrado propietar...
3. CREDENCIALES EN CÓDIGO• Las credenciales están integradas en el  código• Fáciles de identificar para  los atacantes• OW...
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 la...
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 SOSPECHOSAVULNERABILIDADADES   NO          SÍ     ...
4. CONSEJO (I)• Todas las Apps necesitan un ciclo de desarrollo seguro• Realiza Modelos de Amenazas• Comprende los riesgos...
4. CONSEJO (II)•   Puedes añadir detección de jailbreak pero es una batalla perdida.     Android:      • Comprobar si exi...
4. RECURSOS DE SEGURIDAD • Iphone    – https://developer.apple.com/library/mac/#documentation/securit      y/Conceptual/Se...
5. RESUMEN• Las Apps son un negocio imparable• Las Apps son realmente interesantes para los atacantes,  millones de posibl...
5. PRÓXIMOS PASOS• Automatizar el análisis de Apps  – Análisis estático  – Análisis dinámico• Estudio de las tecnologías  ...
5. PREGUNTAS        ¡Gracias!
Lo que las apps esconden
Lo que las apps esconden
Lo que las apps esconden
Lo que las apps esconden
Lo que las apps esconden
Upcoming SlideShare
Loading in …5
×

Lo que las apps esconden

924 views

Published on

Charla: Lo que las Apps esconden, impartida por Simón Roses de Vulnex para el curso de Especialización en Dispositivos Móviles que tuvo lugar en la Facultad de Informática de la Universidad de A Coruña del 20 al 22 de Junio de 2012.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Lo que las apps esconden

  1. 1. Curso de Especialización en Dispositivos MóvilesA Coruña, 22 de junio de 2012
  2. 2. SOBRE MIVULNEX: www.vulnex.comBlog: www.simonroses.comTwitter: @vulnexsl @simonroses
  3. 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. 4. DESCARGO DE RESPONSABILIDADESTodas las Apps se consideraránseguras hasta que se demuestresu culpabilidad mediante unarevisión de seguridad
  5. 5. AGENDA1. TODO GIRA ALREDEDOR DE LAS APPS2. RIESGOS EN APPS3. CASOS DE ESTUDIO4. CONSEJOS DE DESARROLLO SEGURO5. CONCLUSIONES
  6. 6. 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…
  7. 7. 1. CIFRAS DE INFARTO APPS BAJADAS • IPhone (Marzo 2012) 25 Billions == 25 mil millones • Android (Diciembre 2011) 10 Billions == 10 mil millones • WP7: ¿?
  8. 8. 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
  9. 9. 1. TECNOLOGÍAS• Android -> Eclipse• iOS -> Xcode• Windows Phone -> Visual Studio• Multiplataforma -> – Comerciales • Xamarin - Mono Touch / Android • Corona SDK – Open Source • Phonegap
  10. 10. 1. ANÁLISIS – XAMARIN MONO (ANDROID) I
  11. 11. 1. ANÁLISIS – XAMARIN MONO (ANDROID) II
  12. 12. 1. ANÁLISIS – XAMARIN MONO (ANDROID) III
  13. 13. 1. ANÁLISIS – XAMARIN MONO (IOS) IV
  14. 14. 1. ANÁLISIS – PHONEGAP (ANDROID) I
  15. 15. 1. ANÁLISIS – PHONEGAP (ANDROID) II
  16. 16. 1. ANÁLISIS – PHONEGAP (IOS) III
  17. 17. 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
  18. 18. 2. USUARIOS DE APPS ANALIZADAS• Redes sociales +2 millones• Finanzas 500.000• Productividad 10 millones• Seguridad 5 millones• Medios 100.000• Viajes 5 millones
  19. 19. 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
  20. 20. 2. OWASP MOBILE TOP 10 RISKS
  21. 21. 2. VULNEX - MAPA DE RIESGO EN APPS
  22. 22. 1. ANÁLISIS IOS – FAIRPLAY & JAILBREAK I
  23. 23. 1. ANÁLISIS IOS – FAIRPLAY & JAILBREAK II
  24. 24. 1. ANÁLISIS IOS – FAIRPLAY & JAILBREAK III
  25. 25. 3. CONTRASEÑAS EN TEXTO CLARO• La App no protege adecuadamente la información sensible, credenciales• OWASP Mobile: M1- Insecure Data Storage
  26. 26. 3. EJEMPLO CONTRASEÑAS EN TEXTO CLARO: CREDENTIALS MANAGER (CVE-2011-1840)
  27. 27. 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)
  28. 28. 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
  29. 29. 3. EJEMPLO DE CANAL INSEGURO: RED SOCIAL
  30. 30. 3. MITIGAR CANAL INSEGURO• Cifrar datos confidenciales saliendo del dispositivo (Proteger información en tránsito)• Se aplica a cualquier tipo de conexión
  31. 31. 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
  32. 32. 3. EJEMPLO DEPURACIÓN HABILITADA: FINANZAS
  33. 33. 3. EJEMPLO DEPURACIÓN HABILITADA: SERVIDOR
  34. 34. 3. EJEMPLO DEPURACIÓN HABILITADA: FINANZAS
  35. 35. 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”
  36. 36. 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
  37. 37. 3. EJEMPLO SQL DINÁMICO: FINANZAS
  38. 38. 3. EJEMPLO CROSS SITE SCRIPTING (XSS): VIAJES
  39. 39. 3. EJEMPLO CROSS SITE SCRIPTING (XSS), POR SI NO LO VISTE BIEN
  40. 40. 3. EJEMPLO VALIDACIÓN DE DATOS: OCIO
  41. 41. 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.
  42. 42. 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
  43. 43. 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
  44. 44. 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
  45. 45. 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?
  46. 46. 3. PERMISOS• Es importante entender los permisos de aplicación• La App puede comprometer el bolsillo del usuario y la seguridad del dispositivo
  47. 47. 3. EJEMPLO DE PERMISOS - SEXYPIC
  48. 48. 3. EJEMPLO DE PERMISOS - DROIDDREAM
  49. 49. 3. MITIGAR PERMISOS• Usuario: Aplicar sentido común• Desarrollador: No abusar de la solicitud de permisos (overprivileged)
  50. 50. 3. CRYPTO DÉBIL• Uso incorrecto de librerías criptográficas• Desarrollar algoritmo de cifrado propio – “killer”• M9 - Broken Cryptography
  51. 51. 3. EJEMPLO CRYPTO DÉBIL - SEGURIDADContraseña en código Cifrar contraseña con MD5 (sin salt) Hash almacenado en fichero texto con permisos world Fichero almacenado en la tarjeta SDhttp://www.md5-hash.com/
  52. 52. 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
  53. 53. 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
  54. 54. 3. EJEMPLO CREDENCIALES EN CÓDIGO: SERVIDOR
  55. 55. 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
  56. 56. 3. ANÁLISIS DE APP I - PROCESO
  57. 57. 3. ANÁLISIS DE APP II - CÓDIGO
  58. 58. 3. ANÁLISIS DE APP III - CONCLUSIÓN APP BANCO APP SOSPECHOSAVULNERABILIDADADES NO SÍ • Debug Habilitado • Contraseñas Texto Claro • Contraseñas en LogsOFUSCACIÓN SÍ NOINFORMACIÓN EN SÍ SÍTRÁNSITO PROTEGIDAINFORMACIÓN EN SÍ NOREPOSO PROTEGIDAMALICIOSA NO NOPRECIO GRATIS < 1 EUR
  59. 59. 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
  60. 60. 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
  61. 61. 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
  62. 62. 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í
  63. 63. 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?
  64. 64. 5. PREGUNTAS ¡Gracias!

×