Seguridad en dispositivos móviles
10 Abril 2015
José Manuel Ortega
@jmortegac
2
https://speakerdeck.com/jmortega
3
4
Congreso de Internet en Alicante
24,25 Abril
http://internet30.es
Agenda
• Situación actual
• Seguridad en aplicaciones Android e iOS
• Prevención y detección de malware
• Phishing en apli...
Agenda
• Situación actual
• Seguridad en aplicaciones Android e iOS
• Prevención y detección de malware
• Phishing en apli...
Situación actual
7
Agenda
• Situación actual
• Seguridad en aplicaciones Android e iOS
• Prevención y detección de malware
• Phishing en apli...
Android
9
/system/
Corresponde al sistema operativo
Contiene aplicaciones preinstaladas
/data/
Almacena los datos de usuar...
Permisos en Android
10
Solicitud de permisos en el AndroidManifest.xml
Información personal (calendario, contactos,…)
I...
Permisos en Android
11
Android Permisos
12
Android Permisos
13
Aplicaciones en Android
14
 Empaqueta todo el contenido de las aplicaciones Android
bajo un mismo fichero
 Es un archivo...
Aplicaciones en Android
15
Aplicaciones en Android
16
Apk extractor
 http://apps.evozi.com/apk-downloader
Firmar aplicaciones en Android
17
Firma de aplicaciones
Almacén de claves por defecto
Firmar aplicaciones en Android
18
Firma de aplicaciones
Generar nuestro propio certificado
cuando queramos subir la apli...
Firmar aplicaciones en Android
19
iOS
20
 Las aplicaciones se cifran con el certificado que
proporciona Apple
 El iPhone descifra las aplicaciones a la ho...
iOS
21
Objective - C
(in Xcode)
Compiled to
ARM and
encrypted
Packaged as
IPA file with
resources
Deployed to
phone file
s...
iOS Permisos
22
Info.plist
Permite asegurar la compatibilidad del dispositivo
iOS Permisos
23
Privacy AnalysisTools for iOs Applications
patia.unileon.es
Permisos Android
24
http://privacygrade.org
Privacidad
25
Permission Manager
Privacidad Android
26
Agenda
• Situación actual
• Seguridad en aplicaciones Android e iOS
• Prevención y detección de malware
• Phishing en apli...
28
 Debemos tener en cuenta que no es necesario, que el
atacante, acceda al dispositivo móvil físicamente. Las
formas más...
Recomendaciones para evitar malware
29
 Instalar de orígenes conocidos
Comprobar los permisos antes de
instalar/actualiz...
VPN
30
https://www.tunnelbear.com
500MB free/month
31
Evitar aplicaciones que no sean de markets oficiales
No aceptar mensajes o archivos vía Bluetooth por parte de
descon...
Antivirus /Antimalware Android
32
AVG Antivirus
Kaspersky Internet Security
NQ Mobile Security & Antivirus
Comodo Mobi...
Antivirus /Antimalware Android
33
Antivirus /Antimalware Android
34
CONAN mobile for Android
35
 https://play.google.com/store/apps/details?id=es.inteco.conanmobile
 Configuración segura d...
CONAN mobile for Android
36
CONAN mobile for Android
37
Herramientas online
38
 “Dexter” online service
 https://dexter.bluebox.com
 “virustotal.com” online service
 https://...
Herramientas online
39
 http://anubis.iseclab.org
 http://mobilesandbox.org
 http://www.visualthreat.com
 http://dunke...
Herramientas online
40
Malware
41
http://forensics.spreitzenbarth.de/android-malware
http://forensics.spreitzenbarth.de/current-ios-malware
Mensajería segura(alternativas a whatsApp)
42
 Mejoran el cifrado y al seguridad de las comunicaciones
 SafeSlinger (Ope...
Telegram(Source Code+ API)
43
Herramientas online
44
Android rooted
45
Check Android rooted
46
IPhone jailbreak
47
 Cydia
 JailbreakME(versiones antiguas hasta la 5)
 Evasion(iOS version>=6)
 http://evasi0n.com
 ...
Check iOS JailBreak
48
Agenda
• Situación actual
• Seguridad en aplicaciones Android e iOS
• Prevención y detección de malware
• Phishing en apli...
Phishing
50
 Estafa que mediante ingeniería social pretende
obtener información de una victima de forma
fraudulenta.
 El...
Phishing en app móviles
51
 Aplicaciones falsas:
 Similares a las aplicaciones legitimas
 Robo de información
 Para ev...
Phishing en app móviles
52
Phishing en app móviles
53
 Particularidades del navegador en el dispositivo:
 Aprovechan las características del navega...
Phishing en app móviles
54
Agenda
• Situación actual
• Seguridad en aplicaciones Android e iOS
• Prevención y detección de malware
• Phishing en apli...
Riesgos en dispositivos móviles
56
Riesgos en
disp móviles
Riesgos en aplicaciones móviles
57
 https://www.owasp.org/index.php/OWASP_Mobile_Security_Project
Riesgos en aplicaciones móviles
58
1- Almacenamiento
de datos inseguro
2- Controles débiles
en el lado del
servidor
3- Pro...
Almacenamiento de datos
59
Encriptación de datos
Nunca almacenar credenciales del usuario
Usar herramientas como SQLCipher...
Autenticación y autorización
60
Utilizar sistemas de autenticación
adecuados, como las claves de acceso, o
los patrones en...
Agenda
• Situación actual
• Seguridad en aplicaciones Android e iOS
• Prevención y detección de malware
• Phishing en apli...
Buenas prácticas desarrollo
62
Pruebas de caja blanca
Análisis estático del código
Pruebas de caja negra
Análisis en tiemp...
Buenas prácticas desarrollo
63
Logs
Almacenamiento en la SDCard
[los datos no se protegen]
JavaScript and Webview
SQLi...
Buenas prácticas desarrollo
64
 Logs
Buenas prácticas desarrollo
65
 Webview
Buenas prácticas desarrollo
66
Tener cuidado con librerías de terceros
Buenas prácticas desarrollo
67
SQLite
La mayoría de las aplicaciones emplean
sqlite para almacenar los datos de las
apli...
Buenas prácticas desarrollo
68
Buenas prácticas desarrollo
69
Cifrado de BD SQLite
Support iOS /
Android
https://www.zetetic.net/sqlcipher/open-source
2...
Buenas prácticas desarrollo
70
 Shared Preferences
Buenas prácticas desarrollo
71
 Shared Preferences
 Librería para securizar este fichero
 https://github.com/scottyab/s...
Buenas prácticas desarrollo
72
Almacenamiento interno en ficheros
WORLD_READABLE / WORLD_WRITABLE
Otras apps podrían leer...
Buenas prácticas desarrollo
73
Android Lint
Inspect Profile
Buenas prácticas desarrollo
74
Buenas prácticas desarrollo
75
Buenas prácticas desarrollo
76
Script que permita detectar funciones peligrosas relacionadas
con:
SharedPreferences
Tap...
Buenas prácticas desarrollo
77
Buenas prácticas desarrollo
78
 https://github.com/maaaaz/androwarn
python androwarn.py -i my_apk.apk -r html -v 3
Teleph...
Buenas prácticas desarrollo
79
Análisis dinámico en tiempo de ejecución
 Cobertura de código
 Hashes para los paquetes ...
Buenas prácticas desarrollo
80
Ofuscar la aplicación para dificultar al máximo la
posibilidad de realizar ingeniería inve...
Buenas prácticas desarrollo
81
http://proguard.sourceforge.net
Buenas prácticas desarrollo
82
Buenas prácticas desarrollo
83
xCode
 Static Analyzer
 Detect memory leaks
Buenas prácticas desarrollo
84
ARC(Automatic Reference Counting)
Buenas prácticas desarrollo
85
Almacenamiento inseguro
 Todos los archivos del SD card pueden ser leídos
por cualquier a...
Agenda
• Situación actual
• Seguridad en aplicaciones Android e iOS
• Prevención y detección de malware
• Phishing en apli...
BYOD(Bring Your Own Device)
87
 Consiste en una política empresarial en la que los empleados llevan sus
propios dispositi...
BYOD(Bring Your Own Device)
88
Riesgos
 Movilidad del usuario
 Uso de dispositivos rooteados o con
jailbreak
 Redes in...
89
1
• Protección del acceso
password, reconocimiento dactilar o facial
2
• Control de la conectividad
WiFi , GPS o Blueto...
MDM(Mobile Device Management)
90
 Software que permite asegurar, monitorear y administrar
dispositivos móviles sin import...
MDM(Mobile Device Management)
91
Componentes
 Servidor centralizado
 Software-cliente instalado en cada dispositivo móv...
MDM(Mobile Device Management)
92
Políticas de Seguridad Móvil
empresarial
93
 Autenticar el acceso a los datos para usuarios y
dispositivos
 Proporcionar...
Acceso al dispositivo iOS
94
 Protección mediante código de desbloqueo(Passcode).
 Aumento del tiempo de reintento tras ...
Acceso al dispositivo Android
95
Encriptación en Android
96
Soportado desde Android 3.0
Lleva 1h encriptar los datos
Implica una reducción del
rendimien...
Encriptación en Android
97
Consejos
98
 No rootear el dispositivo al menos que sea
estrictamente necesario(por ejemplo instalar una
custom room o de...
Consejos
99
100
Gracias
?
Próxima SlideShare
Cargando en…5
×

Seguridad dispositivos móviles(Android e iOS)

581 visualizaciones

Publicado el

Seguridad dispositivos móviles(Android e iOS)

Publicado en: Tecnología
0 comentarios
2 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

Sin descargas
Visualizaciones
Visualizaciones totales
581
En SlideShare
0
De insertados
0
Número de insertados
7
Acciones
Compartido
0
Descargas
18
Comentarios
0
Recomendaciones
2
Insertados 0
No insertados

No hay notas en la diapositiva.

Seguridad dispositivos móviles(Android e iOS)

  1. 1. Seguridad en dispositivos móviles 10 Abril 2015 José Manuel Ortega @jmortegac
  2. 2. 2 https://speakerdeck.com/jmortega
  3. 3. 3
  4. 4. 4 Congreso de Internet en Alicante 24,25 Abril http://internet30.es
  5. 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. 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
  7. 7. Situación actual 7
  8. 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. 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. 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
  11. 11. Permisos en Android 11
  12. 12. Android Permisos 12
  13. 13. Android Permisos 13
  14. 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
  15. 15. Aplicaciones en Android 15
  16. 16. Aplicaciones en Android 16 Apk extractor  http://apps.evozi.com/apk-downloader
  17. 17. Firmar aplicaciones en Android 17 Firma de aplicaciones Almacén de claves por defecto
  18. 18. Firmar aplicaciones en Android 18 Firma de aplicaciones Generar nuestro propio certificado cuando queramos subir la aplicación
  19. 19. Firmar aplicaciones en Android 19
  20. 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. 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
  22. 22. iOS Permisos 22 Info.plist Permite asegurar la compatibilidad del dispositivo
  23. 23. iOS Permisos 23 Privacy AnalysisTools for iOs Applications patia.unileon.es
  24. 24. Permisos Android 24 http://privacygrade.org
  25. 25. Privacidad 25 Permission Manager
  26. 26. Privacidad Android 26
  27. 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. 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. 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.
  30. 30. VPN 30 https://www.tunnelbear.com 500MB free/month
  31. 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. 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
  33. 33. Antivirus /Antimalware Android 33
  34. 34. Antivirus /Antimalware Android 34
  35. 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
  36. 36. CONAN mobile for Android 36
  37. 37. CONAN mobile for Android 37
  38. 38. Herramientas online 38  “Dexter” online service  https://dexter.bluebox.com  “virustotal.com” online service  https://www.virustotal.com/es  foresafe.com/scan  andrototal.org
  39. 39. Herramientas online 39  http://anubis.iseclab.org  http://mobilesandbox.org  http://www.visualthreat.com  http://dunkelheit.com.br/amat/analysis  http://apkscan.nviso.be
  40. 40. Herramientas online 40
  41. 41. Malware 41 http://forensics.spreitzenbarth.de/android-malware http://forensics.spreitzenbarth.de/current-ios-malware
  42. 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
  43. 43. Telegram(Source Code+ API) 43
  44. 44. Herramientas online 44
  45. 45. Android rooted 45
  46. 46. Check Android rooted 46
  47. 47. IPhone jailbreak 47  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)
  48. 48. Check iOS JailBreak 48
  49. 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. 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. 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
  52. 52. Phishing en app móviles 52
  53. 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.
  54. 54. Phishing en app móviles 54
  55. 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
  56. 56. Riesgos en dispositivos móviles 56 Riesgos en disp móviles
  57. 57. Riesgos en aplicaciones móviles 57  https://www.owasp.org/index.php/OWASP_Mobile_Security_Project
  58. 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. 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. 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. 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
  62. 62. Buenas prácticas desarrollo 62 Pruebas de caja blanca Análisis estático del código Pruebas de caja negra Análisis en tiempo de ejecución
  63. 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
  64. 64. Buenas prácticas desarrollo 64  Logs
  65. 65. Buenas prácticas desarrollo 65  Webview
  66. 66. Buenas prácticas desarrollo 66 Tener cuidado con librerías de terceros
  67. 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
  68. 68. Buenas prácticas desarrollo 68
  69. 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
  70. 70. Buenas prácticas desarrollo 70  Shared Preferences
  71. 71. Buenas prácticas desarrollo 71  Shared Preferences  Librería para securizar este fichero  https://github.com/scottyab/secure-preferences
  72. 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();
  73. 73. Buenas prácticas desarrollo 73 Android Lint Inspect Profile
  74. 74. Buenas prácticas desarrollo 74
  75. 75. Buenas prácticas desarrollo 75
  76. 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
  77. 77. Buenas prácticas desarrollo 77
  78. 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. 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
  80. 80. Buenas prácticas desarrollo 80 Ofuscar la aplicación para dificultar al máximo la posibilidad de realizar ingeniería inversa
  81. 81. Buenas prácticas desarrollo 81 http://proguard.sourceforge.net
  82. 82. Buenas prácticas desarrollo 82
  83. 83. Buenas prácticas desarrollo 83 xCode  Static Analyzer  Detect memory leaks
  84. 84. Buenas prácticas desarrollo 84 ARC(Automatic Reference Counting)
  85. 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. 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. 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. 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. 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. 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. 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
  92. 92. MDM(Mobile Device Management) 92
  93. 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. 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
  95. 95. Acceso al dispositivo Android 95
  96. 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
  97. 97. Encriptación en Android 97
  98. 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
  99. 99. Consejos 99
  100. 100. 100 Gracias ?

×