PDF de programación - Lo que las Apps esconden

Imágen de pdf Lo que las Apps esconden

Lo que las Apps escondengráfica de visualizaciones

Actualizado el 21 de Marzo del 2018 (Publicado el 28 de Octubre del 2017)
714 visualizaciones desde el 28 de Octubre del 2017
5,5 MB
69 paginas
Creado hace 11a (24/06/2012)
Curso de Especialización en

Dispositivos Móviles

A Coruña, 22 de junio de 2012

SOBRE MI

VULNEX: www.vulnex.com

Blog:

Twitter:

www.simonroses.com


@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
público

almacenamiento
(principalmente tarjetas SD)

externo

y

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


lista blanca en vez de

lista negra.

• Utilizar

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

librerías de
redes sociales integradas en nuestras
aplicaciones de Finanzas?

realmente

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

VULNERABILIDADADES NO




APP BANCO

APP SOSPECHOSA


• Debug Habilitado
• Contraseñas Texto Claro
• Contraseñas en Logs

OFUSCACIÓN

INFORMACIÓN EN
TRÁNSITO PROTEGIDA

INFORMACIÓN EN
REPOSO PROTEGIDA







MALICIOSA

PRECIO

NO

GRATIS

NO



NO

NO

< 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_P
  • Links de descarga
http://lwp-l.com/pdf7294

Comentarios de: Lo que las Apps esconden (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad