7. Agenda
• Modelo de permisos en Android e iOS
• Seguridad en aplicaciones
• 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 BYOD y MDM
• Conclusiones
8. Modelo de permisos
iOS Android
Requerido cuando primero sea
necesario
Se solicitan al instalar
Denegar permisos en cualquier
momento
No se pueden denegar permisos
(de forma oficial)
Sí a través de aplicaciones de terceros
9. Permisos en Android
Normal De bajo Riesgo para el usuario
ACCESS_NETWORK_STATE
Dangerous De mayor riesgo para el usuario,pudiendo incluso
acceder a información privada
CAMERA,CONTACTS
Signature Si dos aplicaciones están firmadas con el mismo
certificado, se les concede el acceso a los datos
de la otra
SignatureOrSystem Uso especial cuando varias aplicaciones
necesitan compartir características específicas
11. Permisos dangerous
50% de los usuarios de Android tienen una aplicación con los
siguientes permisos:
android.permission.ACCESS_FINE_LOCATION
android.permission.INTERNET
android.permission.READ_SMS
android.permission.RECORD_AUDIO
android.permission.CAMERA
android.permission.READ_CALL_LOG
android.permission.RECEIVE_BOOT_COMPLETED
17. Agenda
• Modelo de permisos en Android e iOS
• Seguridad en aplicaciones
• 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 BYOD y MDM
• Conclusiones
18. SandBox
• Cada aplicación se ejecuta en su propio contexto de
ejecución
• El objetivo es proteger las aplicaciones unas de otras
a nivel de acceso a datos y permisos
• Por defecto las aplicaciones no pueden interactuar
entre sí y poseen un acceso limitado al sistema
operativo.
• Si una aplicación trata de invadir el espacio asignado
a otra aplicación el sistema operativo se encarga de
evitarlo.
21. Seguridad en Android
• Las aplicaciones son firmadas con certificados
autofirmados por desarrolladores.
• Permisos personalizadosRiesgo para la
privacidad
• Controles de seguridad de Google play
(“Bouncer”) deberían ser más exhaustivos para
la detección de malware
25. JailBreak en iOS
Cydia
JailbreakME(versiones antiguas hasta la 5)
Evasion(iOS version>=6)
http://evasi0n.com
Pangu(Windows,Mac)
http://en.pangu.io
Redsnow, SnowBreeze(reinstala iOS)
26. Android Rooting
• Permite obtener control de superusuario en el
subsistema
• El proceso consiste en explotar alguna vulnerabilidad
en el firmware del dispositivo y copiar el binario de
superusuario
27. Android Rooting
• ¿Qué cosas se pueden hacer cuando eres root?
Instalar ROMS
Eliminar las aplicaciones que vienen por defecto instaladas
Acceso a bajo nivel al hardware
Acceder a apps instaladas
Instalar aplicaciones en la SDCARD
• Riesgos
Pérdida de garantía
Nos exponemos a ataques de malware
Brick
30. Agenda
• Modelo de permisos en Android e iOS
• Seguridad en aplicaciones
• 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 BYOD y MDM
• Conclusiones
33. Malware en Android
• 99% del malware para plataformas
móviles está orientado a Android
• Controles de seguridad en Google
play no son sufucientes
• Aplicaciones que no son del market
oficial suponen un riesgo para el
usuario
35. Recomendaciones
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.
38. Recomendaciones
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.
39. Aplicaciones maliciosas
Suscripción a SMS
premium
Seguimiento de
ubicaciones del
dispositivo
Robo de
información
personal
Grabación de
audio/video
Simulaciones de
aplicaciones:FakeAV
55. Análisis en la nube
http://tracedroid.few.vu.nl
• Análisis online de peticiones
de red,llamadas,sms
• También realiza un análisis
estático y de cobertura de
código
• Está orientada a detección de
malware
56. Agenda
• Modelo de permisos en Android e iOS
• Seguridad en aplicaciones
• 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 BYOD y MDM
• Conclusiones
57. Ataques de ingeniería social
• Phising
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.
59. Ataques de ingeniería social
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.
60. Agenda
• Modelo de permisos en Android e iOS
• Seguridad en aplicaciones
• 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 BYOD y MDM
• Conclusiones
63. 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
https://www.owasp.org/index.php/OWASP_Mobile_Security_Project
65. OWASP Mobile Top 10 Risks
1-
Almacenamient
o 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
66. Riesgos
• Tienda de aplicaciones(appstore)
• Permisos de las aplicaciones
• Malware móvil
• App sandboxingJailBreaking /Rooting
• Cifrado de dispositivo y aplicaciones
• Actualizaciones del sistema y aplicaciones
• Problemas de privacidad(Geolocalización)
• Seguridad de las comunicaciones
• Robo del dispositivo
67. JailBreak/Root Risks
• Las aplicaciones pueden acceder a la capas más bajas
del sistema
• Se podría acceder a datos sensibles de aplicaciones que
tengas instaladas(gmail,evernote)
68. Factores de riesgo
• Permisos en androidManifest.xml
• Verificar la firma de la aplicación
• Origen de la aplicación
• Dispositivo rooteado
• Depuración habilitada en androidManifest
• Ayuda a un atacante a aprender el
funcionamiento de la App
70. Permisos
• Usuario: Aplicar sentido común
• Desarrollador: No abusar de la solicitud
de permisos (overprivileged)
• Principio de mínimo privilegio
71. Permisos
Minimizar el número de permisos que se piden
33% aplicaciones piden más permisos de los necesarios
¿Es necesario android.permission.CAMERA?
73. Almacenamiento en Android
• Ficheros
o Almacenamiento interno
o Almacenamiento externo(SDCARD)
• Base de datos SQLite
• Preferencias de usuario(Shared Preferences)
• Web Cache
75. Ficheros SQLite
• Caché y consultas offline por parte de las aplicaciones
• Gmail almacena la información de emails para acceder
cuando el usuario no tiene conexión
• BD muy rápida que no requiere config
• No soporta encriptación
77. Vectores de ataque
• Manipulación de datos:
Modificación por otra aplicación
JailBreak /root del dispositivo
• Pérdida de datos:
Pérdida del dispositivo
Intento de acceder de forma física
• Malware:
Virus y rootkits
78. Amenazas
Amenazas basadas en aplicaciones
• Malware /• Spyware
• Amenazas de privacidad
• Vulnerabilidades en aplicaciones
Amenazas basadas en la web
• Phishing
• Drive-by-downloads
• Exploits en navegadores
Amenazas basadas en las redes
• Exploits para protocolos de red
• Wi-fi sniffing
Amenazas físicas
• Pérdida o robo del dispositivo
88. Connan Mobile para Android
https://play.google.com/store/apps/details?id=es.inteco.conanmobile
Configuración segura del dispositivo
Permisos de aplicaciones
Servicios proactivos de seguridad
Desarrollada por el INCIBE(Instituto Nacional de
Ciberseguridad)
https://www.osi.es/es/conan-mobile
92. X-Ray
• Aplicación que realiza un escaneo
del dispositivo para determinar si hay
vulnerabilidades o falta de parches
en el sistema
• Presenta una lista de vulnerabilidades
que permiten identificar y revisar la
presencia de cada vulnerabildiad
en el dispositivo
94. Agenda
• Modelo de permisos en Android e iOS
• Seguridad en aplicaciones
• 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 BYOD y MDM
• Conclusiones
95.
96. Buenas prácticas de desarrollo
• Análisis estático
• Análisis dinámico
• Encriptación de datos
• Ofuscación
• Anti-debug
• Anti-patching
106. Análisis de código fuente
• Siempre es buen punto de inicio listar todas las llamadas a funciones que podrían ser
usadas de forma insegura como:
• putString
• setJavaScriptEnabled(true)
• getExternalStorageDirectory()
• getBundleExtra()
• sharedPreferences
108. Análisis dinámico apps
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
113. Almacenamiento 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();
122. Ofuscar el código
Proguard
• Clase gratuita que optimiza, ofusca el código. Detectando y eliminando las
clases no utilizadas, campos, métodos y atributos. Se optimiza el código en
bytes y elimina las instrucciones que no estén siendo utilizadas. Se cambia el
nombre de las clases restantes, campos, métodos por nombres cortos sin
sentido aparente.
• Por defecto al instalar el SDK de Android viene incluido.
• Sólo debemos de activarlo modificando el fichero project.properties y activar
el flag proguard.config=proguard.cfg
• Todas las opciones que queramos incluir las escribiremos en el fichero
proguard.cfg
• Cuando exportemos la aplicación automáticamente nos generara el fichero
APK con el código de la misma ofuscado
124. Testear seguridad aplicaciones
Análisis estático
Código fuente • Code Review
Binario • Ingeniería inversa
Análisis dinámico • Debug en tiempo de ejecución
• Capturar logs y tráfico que generan
• Llamadas a servicios remotos
• Peticiones de red
Análisis forense • Permisos en ficheros
• Análisis del contenido de ficheros
127. Patrón de Bloqueo en Android
adb shell
cd /data/data/com.android.providers.settings/databases
sqlite3 settings.db
update system set value=0 where
name='lock_pattern_autolock';
update system set value=0 where
name='lockscreen.lockedoutpermanently';
adb shell rm /data/system/gesture.key
130. Agenda
• Modelo de permisos en Android e iOS
• Seguridad en aplicaciones
• 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 BYOD y MDM
• Conclusiones
131. Retos actuales en movilidad
• Información sin cifrar(store+ request)
• Diversidad de dispositivos (BYOD)
• Internet of things(IoT)
• Seguridad en la nube
• Sistemas de pago seguro
132. Riesgos de seguridad en la empresa
Riesgo Posible solución
Sin control sobre los dispositivos
(robo o pérdida)
Encriptar
Dispositivos externos
(BYOD / Bring Your Own Device)
MDM
Conexión a redes no confiables VPN
Aplicaciones no conables en
dispositivos de empresa
Concienciar y formar a los usuarios
Contenido de origen desconocido
(QR con página maliciosa)
Antivirus / Antimalware y estar en alerta
Rastreo por GPS Desconexión de GPS cuando sea posible
133. BYOD
• Bring Your Own Device
• Política que permite a los empleados llevar sus dispositivos al trabajo
• 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.
134. 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
135. Medidas para empresas
• Definir estándares de seguridad independientemente de
la plataforma.
• Utilizar los sistemas de administración centralizada
(Mobile Device Manager) para las plataformas
implementadas:
Habilitar borrado remoto
Habilitar bloqueo remoto
Geolocalización del equipo
Aplicación de Políticas (OTA)
136. MDM
• MDM ayuda a implementar directivas en toda la empresa para
reducir costos de soporte,discontinuidad del negocio y riesgos
de seguridad.
• Ayuda a los administradores de sistema a implementar y
administrar aplicaciones de software por todos los dispositivos
de la empresa para asegurar y monitorizar dispositivos
móviles(smartphones,tablets)
• Puede ser utilizado para administrar dispositivos de la
organización y personales
• Permite al personal de TI realizar de forma remota acciones de
registro y rastreo de los dispositivos
137. Políticas de seguridad MDM
• Autenticar el accesos a los datos para usuarios y
dispositivos.
• Proporcionar seguridad en la conexiones.
• Formar a los usuarios.
• Instalación de herramientas para la detección de
malware.
• Centralizar la seguridad de los dispositivos móviles.
139. Administrar MDM
Se instala un agente en cada terminal y permite la gestión desde un
servidor centralizado.
Complejidad de las contraseñas
Tiempos de bloqueo de pantalla
VPNs
Desinstalar funciones específicas
Instalar,actualizar y desinstalar aplicaciones
Localizar dispositivos con GPS
Borrar información de forma remota
142. Aplicaciones
Checkear el estado de la red
Fing(NetWork Discovery,TCP SCan,Ping,traceroute)
Wireless Network Watcher(NetWork Discovery)
Aplicaciones para obtener información sobre paquetes
capturados
WireShark / tcpdump
NetWorkMiner
144. DroidWall
• Funciona como un firewall
para las aplicaciones a la hora
de acceder a la red(wifi,3G)
ROOT
145. Protocolos WIFI
• WEPVulnerable.En pocos minutos se
puede sacar una password
• WPATambién vulnerable frente ataques
por fuerza fruta mediante diccionario
• WPA2+PSKCifrado AES de 256
bits.Actualmente el método más robusto
• Uso de contraseñas seguras para evitar
ataques por diccionario
146. Comunicaciones seguras
• Confidencialidad, integridad, autenticación, no
repudio
• Establecer canales seguros en medios inseguros
• HTTPS
• VPN
• WiFi cifrada con WPA2
• Bluetooth no descubrible
• Uso de PKI
148. Analizando el tráfico de red
• Es importante analizar el tráfico de red que fluye entre
el cliente / servidor en una aplicación.
• Busque credenciales, tokens de autenticación, las claves
API que se transmiten a través de canales http no
seguro.
• El tráfico puede ser analizada utilizando una herramienta
de proxy como BurpSuite
149. Analizando el tráfico de red
• Configurar Burp Proxy para empezar a escuchar el
tráfico.