Este documento presenta una agenda para una charla sobre seguridad en dispositivos móviles. La agenda cubre temas como la situación actual de la seguridad móvil, seguridad en aplicaciones Android e iOS, prevención de malware, phishing en aplicaciones, riesgos en aplicaciones, buenas prácticas de desarrollo seguro, y seguridad en empresas mediante enfoques BYOD y MDM. El documento también incluye diapositivas para cada sección de la agenda.
5. Agenda
• Situación actual
• Seguridad en aplicaciones Android e iOS
• Prevención y detección de malware
• Phishing en aplicaciones móviles
• Riesgos en aplicaciones móviles
• Buenas prácticas de desarrollo
• Seguridad en la empresa mediante los
enfoques BYOD y MDM
• Conclusiones
5
6. Agenda
• Situación actual
• Seguridad en aplicaciones Android e iOS
• Prevención y detección de malware
• Phishing en aplicaciones móviles
• Riesgos en aplicaciones móviles
• Buenas prácticas de desarrollo seguro
• Seguridad en la empresa mediante los
enfoques BYOD y MDM
• Conclusiones
6
8. Agenda
• Situación actual
• Seguridad en aplicaciones Android e iOS
• Prevención y detección de malware
• Phishing en aplicaciones móviles
• Riesgos en aplicaciones móviles
• Buenas prácticas de desarrollo seguro
• Seguridad en la empresa mediante los
enfoques BYOD y MDM
• Conclusiones
8
9. Android
9
/system/
Corresponde al sistema operativo
Contiene aplicaciones preinstaladas
/data/
Almacena los datos de usuario y aplicaciones
/data/app/
Almacena aplicaciones
/data/data/
Almacena datos de las aplicaciones
Incluye un subdirectorio por aplicación, con los permisos de esa aplicación
root
10. Permisos en Android
10
Solicitud de permisos en el AndroidManifest.xml
Información personal (calendario, contactos,…)
Información del dispositivo(Datos de red, SMS,..)
Hay que tratar de minimizar los permisos
que se solicitan
14. Aplicaciones en Android
14
Empaqueta todo el contenido de las aplicaciones Android
bajo un mismo fichero
Es un archivo comprimido.zip con extensión APK
Es posible descomprimirlo utilizando software archivador de
ficheros
Contiene:
• Assets
• META-INF
• res
• resources.asrc
• AndroidManifest.xml
• classes.dex
20. iOS
20
Las aplicaciones se cifran con el certificado que
proporciona Apple
El iPhone descifra las aplicaciones a la hora de ejecutarlas
Desarrolladas en el lenguaje de programación Objetive-C
/Swift
Las aplicaciones se distribuyen e instalan bajo el formato.ipa
21. iOS
21
Objective - C
(in Xcode)
Compiled to
ARM and
encrypted
Packaged as
IPA file with
resources
Deployed to
phone file
system as .app
directory
27. Agenda
• Situación actual
• Seguridad en aplicaciones Android e iOS
• Prevención y detección de malware
• Phishing en aplicaciones móviles
• Riesgos en aplicaciones móviles
• Buenas prácticas de desarrollo seguro
• Seguridad en la empresa mediante los
enfoques BYOD y MDM
• Conclusiones
27
28. 28
Debemos tener en cuenta que no es necesario, que el
atacante, acceda al dispositivo móvil físicamente. Las
formas más habituales son las siguientes:
Spyware, capaces de obtener una trazabilidad, sobre nuestros
contactos, emails, llamadas, SMS y enviarlos al atacante.
Malware, que realizan compras, obtienen acceso a servicios de
pago a cargo de su tarjeta.
Phishing, que en apariencia se confunden con aplicaciones
legítimas, como entidades bancarias o redes sociales, para robar
las credenciales
Procesos en background, que vigilan lo que sucede en los
dispositivos, esperando su oportunidad.
29. Recomendaciones para evitar malware
29
Instalar de orígenes conocidos
Comprobar los permisos antes de
instalar/actualizar
Revisar comentarios de los usuarios
Deshabilitar conexión automática a redes
Wifi y evitar conectarnos a redes Free.
31. 31
Evitar aplicaciones que no sean de markets oficiales
No aceptar mensajes o archivos vía Bluetooth por parte de
desconocidos.
No instalar aplicaciones sin haber verificado su procedencia,
especialmente si no están firmadas.
En caso de hacer jailbreak a tu iPhone, cambia la contraseña de
superusuario.
Si tienes un Android rooteado, instala Superuser para que
toda aplicación solicite permiso.
Instala programas antivirus /antimalware móvil para tu
plataforma.
Recomendaciones para evitar malware
32. Antivirus /Antimalware Android
32
AVG Antivirus
Kaspersky Internet Security
NQ Mobile Security & Antivirus
Comodo Mobile Security
Norton Antivirus y Seguridad
BitDefender Mobile Security
Mobile Security & Antivirus (avast!)
Lookout Antivirus & Seguridad
MobiShield free
F-Secure Mobile Security
35. CONAN mobile for Android
35
https://play.google.com/store/apps/details?id=es.inteco.conanmobile
Configuración segura del dispositivo
Aplicaciones instaladas
Permisos de aplicaciones
Servicios proactivos de seguridad
Desarrollada por el INCIBE(Instituto Nacional de
Ciberseguridad)
https://www.osi.es/es/conan-mobile
42. Mensajería segura(alternativas a whatsApp)
42
Mejoran el cifrado y al seguridad de las comunicaciones
SafeSlinger (Open Source)
Disponible en Android e iOS
https://www.cylab.cmu.edu/safeslinger/index.html
Surespot encrypted messenger
https://surespot.me
Telegram(Open source)
API for developers
https://telegram.org
49. Agenda
• Situación actual
• Seguridad en aplicaciones Android e iOS
• Prevención y detección de malware
• Phishing en aplicaciones móviles
• Riesgos en aplicaciones móviles
• Buenas prácticas de desarrollo seguro
• Seguridad en la empresa mediante los
enfoques BYOD y MDM
• Conclusiones
49
50. Phishing
50
Estafa que mediante ingeniería social pretende
obtener información de una victima de forma
fraudulenta.
El estafador envía un email a la victima haciéndose pasar
por una organización legitima.
En este email se insta a la victima a acceder a un enlace
adjunto e introducir sus datos con el fin de confirmar su
cuenta, recibir dinero, haber ganado un concurso.
El enlace dirige a una aplicación web controlada por el
estafador y similar a la de la organización suplantada.
La victima accede a la aplicación web del enlace e
introduce en ella los datos solicitados.
La aplicación web envía los datos introducidos al
estafador.
51. Phishing en app móviles
51
Aplicaciones falsas:
Similares a las aplicaciones legitimas
Robo de información
Para evitarlo:
Descargar aplicaciones únicamente de los markets oficiales
Verificar el desarrollador
Verificar los permisos solicitados
Uso de antivirus / antispyware
Aplicar el sentido común
53. Phishing en app móviles
53
Particularidades del navegador en el dispositivo:
Aprovechan las características del navegador de los dispositivos móviles
para realizar Phishing
UrlSpoofingAtack:
Aprovechan que solo se muestra el inicio de la url en el navegador
Phising con nombres de subdominio legítimos
UISpoofingSafari:
Ciertas versiones de Safari ocultan la pestaña de navegación tras cargar
una página.
Aprovechando lo anterior mediante la inserción de una imagen,se puede
hacer creer al usuario que se encuentra en un dominio legitimo.
55. Agenda
• Situación actual
• Seguridad en aplicaciones Android e iOS
• Prevención y detección de malware
• Phishing en aplicaciones móviles
• Riesgos en aplicaciones móviles
• Buenas prácticas de desarrollo seguro
• Seguridad en la empresa mediante los
enfoques BYOD y MDM
• Conclusiones
55
57. Riesgos en aplicaciones móviles
57
https://www.owasp.org/index.php/OWASP_Mobile_Security_Project
58. Riesgos en aplicaciones móviles
58
1- Almacenamiento
de datos inseguro
2- Controles débiles
en el lado del
servidor
3- Protección
insuficiente en la
capa de transporte
4- Inyección en el
lado del cliente
5- Sistema pobre de
autenticación y
autorización
6- Gestión
inadecuada de la
sesión
7- Decisiones de
seguridad a partir
de entradas
inseguras
8- Canal lateral de
fuga de datos
9- Rotura de la
criptografía
10- Divulgación de
información
confidencial
59. Almacenamiento de datos
59
Encriptación de datos
Nunca almacenar credenciales del usuario
Usar herramientas como SQLCipher,
para almacenar datos en BBDD internas
No otorgar permisos globales a las aplicaciones,
usar el principio de “privilegio más bajo”
60. Autenticación y autorización
60
Utilizar sistemas de autenticación
adecuados, como las claves de acceso, o
los patrones en los dispositivos móviles.
Apoyarse en sistemas de autenticación
como Oauth.
61. Agenda
• Situación actual
• Seguridad en aplicaciones Android e iOS
• Prevención y detección de malware
• Phishing en aplicaciones móviles
• Riesgos en aplicaciones móviles
• Buenas prácticas de desarrollo seguro
• Seguridad en la empresa mediante los
enfoques BYOD y MDM
• Conclusiones
61
63. Buenas prácticas desarrollo
63
Logs
Almacenamiento en la SDCard
[los datos no se protegen]
JavaScript and Webview
SQLite
Conexiones HTTP
Debuggable
Shared preferences
Análisis estático de aplicaciones
67. Buenas prácticas desarrollo
67
SQLite
La mayoría de las aplicaciones emplean
sqlite para almacenar los datos de las
aplicaciones en el dispositivo
Sqlite no tiene soporte
para cifrar los datos
69. Buenas prácticas desarrollo
69
Cifrado de BD SQLite
Support iOS /
Android
https://www.zetetic.net/sqlcipher/open-source
256-bit AES Encrypt SQLite database
71. Buenas prácticas desarrollo
71
Shared Preferences
Librería para securizar este fichero
https://github.com/scottyab/secure-preferences
72. Buenas prácticas desarrollo
72
Almacenamiento interno en ficheros
WORLD_READABLE / WORLD_WRITABLE
Otras apps podrían leer el fichero si conocen la ruta
Los ficheros deberían crearse en MODE_PRIVATE
FileOutputStream fos = openFileOutput(“MyFile",
Context.MODE_PRIVATE);
fos.write(“contenido”.getBytes());
fos.close();
76. Buenas prácticas desarrollo
76
Script que permita detectar funciones peligrosas relacionadas
con:
SharedPreferences
TapJacking(Ejecutar código sin que el usuario se dé
cuenta cuando realiza una acción)
Almacenamiento
Algoritmos de cifrado
Tráfico inseguro
Flag de depuración
78. Buenas prácticas desarrollo
78
https://github.com/maaaaz/androwarn
python androwarn.py -i my_apk.apk -r html -v 3
Telephony identifiers exfiltration: IMEI, IMSI, MCC, MNC, LAC, CID, operator's name...
Device settings exfiltration: software version, usage statistics, system settings, logs...
Geolocation information leakage: GPS/WiFi geolocation... Connection interfaces
information exfiltration:WiFi credentials, Bluetooth MAC adress...
Telephony services abuse: premium SMS sending, phone call composition...
Audio/video flow interception: call recording, video capture... Remote connection
establishment: socket open call, Bluetooth pairing,APN settings edit...
PIM data leakage: contacts, calendar, SMS, mails...
External memory operations: file access on SD card...
PIM data modification: add/delete contacts, calendar events... Arbitrary code execution:
native code using JNI, UNIX command, privilege escalation...
Denial of Service: event notification deactivation, file deletion, process killing, virtual keyboard
disable, terminal shutdown/reboot...
79. Buenas prácticas desarrollo
79
Análisis dinámico en tiempo de ejecución
Cobertura de código
Hashes para los paquetes analizados
Datos de red mediante herramientas como wireShark
para analizar los paquetes de red
Información de debug
Operaciones de lectura/escritura en ficheros
Operaciones de criptografía utilizando la API de Android
Envío de SMS y llamadas de teléfono
85. Buenas prácticas desarrollo
85
Almacenamiento inseguro
Todos los archivos del SD card pueden ser leídos
por cualquier aplicación.
Programadores erróneamente guardan
información sensible.
SharedPrefs es un simple archivo XML que puede
ser extraído
/data/data/nombre.de.paquete/:
• cache
• databases
• lib
• shared_prefs
root
86. Agenda
• Situación actual
• Seguridad en aplicaciones Android e iOS
• Prevención y detección de malware
• Phishing en aplicaciones móviles
• Buenas prácticas de desarrollo seguro
• Seguridad en la empresa mediante los
enfoques BYOD y MDM
• Conclusiones
86
87. BYOD(Bring Your Own Device)
87
Consiste en una política empresarial en la que los empleados llevan sus
propios dispositivos al lugar de trabajo, para acceder a recursos de la
empresa.
Espías y hackers podrían captar esta información si no se implantan los
sistemas de seguridad adecuados para impedirlo.
Controlar las aplicaciones que se instala el usuario. Tanto aplicaciones
pasa uso personal como aplicaciones que se usan para incrementar la
productividad en el trabajo.
Modelos BYOT (Bring Your Own Technology), BYOA (Bring Your
Own Application), CYOD (ConnectYour Own Device),
88. BYOD(Bring Your Own Device)
88
Riesgos
Movilidad del usuario
Uso de dispositivos rooteados o con
jailbreak
Redes inseguras o con una mala
configuración
Interconexión con otros sistemas
Uso de servicios de localización
89. 89
1
• Protección del acceso
password, reconocimiento dactilar o facial
2
• Control de la conectividad
WiFi , GPS o Bluetooth
3
• Controlar el acceso y permisos de la aplicaciones
debemos considerarlo durante la instalación
4
• Mantener el firmware y S.O. actualizado
considerar las actualizaciones del fabricante
5
• Mantener copia de los datos
sobre los datos críticos, personales y de la empresa
6
• Borrar datos si el dispositivo se pierde
algunos servicios permiten el borrado de datos de forma remota
7
• No almacene información privada
datos como tarjetas de crédito y passwords
8
• Cuidado con las aplicaciones gratuitas
pueden haber sido alteradas o contener spyware
9
• Use antivirus y herramientas de escaneo
tenerlos actualizados
10
• Use software MDM
configuran y monitorizan el acceso
90. MDM(Mobile Device Management)
90
Software que permite asegurar, monitorear y administrar
dispositivos móviles sin importar el operador o proveedor de
servicios
Instalación masiva de aplicaciones
Políticas de control sobre las aplicaciones
Localización y rastreo de dispositivos
Sincronización de archivos, reportes de datos y acceso a dispositivos
Bloqueo de funciones (activar o desactivar cámara, micrófono, USB, etc.)
Control de gastos (duración de llamadas, consumo de datos, etc.)
Borrado remoto en caso de pérdida o robo
Aplicar contraseña desde el servidor (configurando la longitud, el tipo, si
es alfanumérica o numérica, el número de intentos, etc.)
91. MDM(Mobile Device Management)
91
Componentes
Servidor centralizado
Software-cliente instalado en cada dispositivo móvil
Base de datos centralizada con el estado de cada
dispositivo conectado a la red
Modelo de comunicación entre el servidor
centralizado y cada uno de los dispositivos móviles. Por
ejemplo una OTA capaz de configurar de forma
remota cada dispositivo a nivel de actualizaciones de
aplicaciones y S.O, escaneo de forma remota de los
dispositivos en busca de malware
93. Políticas de Seguridad Móvil
empresarial
93
Autenticar el acceso a los datos para usuarios y
dispositivos
Proporcionar seguridad en la conexiones
Concienciar y formar a los usuarios
Instalación de herramientas para la detección de
malware
Centralizar la seguridad de los dispositivos móviles
94. Acceso al dispositivo iOS
94
Protección mediante código de desbloqueo(Passcode).
Aumento del tiempo de reintento tras código incorrecto.
Configuración de la complejidad del código mediante MDM
MDM (Mobile Device Management) permite aplicar una
serie de contramedidas de seguridad, como borrar
remotamente la información en caso de pérdida, o
desconectar los dispositivos de la red corporativa si se
detectase una intrusión
96. Encriptación en Android
96
Soportado desde Android 3.0
Lleva 1h encriptar los datos
Implica una reducción del
rendimiento
No se puede deshabilitar
98. Consejos
98
No rootear el dispositivo al menos que sea
estrictamente necesario(por ejemplo instalar una
custom room o desinstalar algunas aplicaciones
que traen por defecto)
No instalar aplicaciones desde fuentes
desconocidas
Leer los permisos antes de instalar
Leer opiniones de la gente en los market