Upload
jose-manuel-ortega-candel
View
530
Download
1
Embed Size (px)
Citation preview
Seguridad en dispositivos móviles
José Manuel Ortega @jmortegac
Intereses
About me
https://about.me/jmortegac
https://medium.com/@jmortegac
About me
Conferencias de seguridad
https://speakerdeck.com/jmortega
Presentaciones
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
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
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
Top 15 permisos https://github.com/android/platform_frameworks_base/blob/master/core/res/AndroidManifest.xml
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
Ejemplos
Android Permisos http://privacygrade.org
Permisos en Android M
• Permisos en tiempo de ejecución
iOS Permisos
Privacy Analysis Tools for iOs Applications patia.unileon.es
Privacidad
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
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.
Aplicaciones en Android
Obtener apk Apk extractor
http://apps.evozi.com/apk-downloader
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
Firma aplicaciones
iOS architecture
Seguridad en iOS
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)
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
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
Aplicaciones Root en Android
Acceso Root en Android
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
Malware iOS http://forensics.spreitzenbarth.de/current-ios-malware
Malware Android http://forensics.spreitzenbarth.de/android-malware
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
Verificación de apps
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.
Wifi free
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.
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
SMS Premium android.permission.RECEIVE_SMS android.permission.SEND_SMS
Malware/troyan manifest
Anti-malware
Anti-malware
Análisis de malware
• Informes de virusTotal • Permisos • Services • Receivers • ContentProviders • Librerías externas(monetización)
Análisis en la nube
Análisis en la nube
Análisis en la nube https://anubis.iseclab.org
Análisis en la nube http://foresafe.com/submit
Análisis en la nube http://andrototal.org/scan
Análisis en la nube
Análisis en la nube http://www.visualthreat.com
Análisis en la nube http://apkscan.nviso.be
Análisis en la nube
Análisis en la nube http://sanddroid.xjtu.edu.cn
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
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
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.
Ataques de ingeniería social
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.
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
Riesgos
Riesgos en disp móviles
Moble Thread Model
APPS
OS
Hardware
Web
Coporate
Networks
Web Services Websites App Stores Cloud
Storage
SMS
Voice
- Carrie Network
- Local Network
(Wifi, VPN, etc)
Hardware
extensions
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
OWASP Mobile Top 10 Risks
OWASP Mobile Top 10 Risks
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
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
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)
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
Librerías de terceros
• Analizar posibles vulnerabilidades • PhoneGap • Apache Cordova
Permisos
• Usuario: Aplicar sentido común
• Desarrollador: No abusar de la solicitud
de permisos (overprivileged)
• Principio de mínimo privilegio
Permisos Minimizar el número de permisos que se piden
33% aplicaciones piden más permisos de los necesarios
¿Es necesario android.permission.CAMERA?
Permisos
Almacenamiento en Android
• Ficheros o Almacenamiento interno o Almacenamiento externo(SDCARD) • Base de datos SQLite • Preferencias de usuario(Shared Preferences) • Web Cache
Almacenamiento inseguro
Hardware
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
LogCat Android
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
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
Soluciones antiVirus
Localizar dispositivo
Mensajería segura
WhisperSystems
Mensajería segura https://github.com/WhisperSystems/TextSecure
Mensajería segura
Surespot
Telegram • Protección nativa con contraseña
• Mensajes privados con cifrado
• Auto destrucción de mensajes.
Telegram(Source Code + Api)
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
Connan Mobile para Android
Connan Mobile para Android
Escanner de vulnerabilidades
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
Android Vulnerability test suite
https://github.com/nowsecure/android-vts
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
Buenas prácticas de desarrollo
• Análisis estático • Análisis dinámico • Encriptación de datos • Ofuscación • Anti-debug • Anti-patching
Android Lint
Android Lint
Android Inspect Code
Android Sonar plugin https://github.com/SonarCommunity/sonar-android
Sonar security plugin
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
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...
Análisis estático apps
• dex2jar http://code.google.com/p/dex2jar • Java Deceomplier / JD-GUI http://java.decompiler.free.fr
Análisis estático apps
https://code.google.com/p/android-apktool
Análisis estático
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
Script-Droid
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
Análisis dinámico apps
• Wireshark / NetWorkMiner https://www.wireshark.org http://www.netresec.com/?page=NetworkMiner
• Drozer https://www.mwrinfosecurity.com/products/drozer
• DroidBox / introSpy
https://github.com/iSECPartners/Introspy-Android
Análisis dinámico
• WireShark / Ficheros pcap
Cifrado aplicaciones
• 256-bit AES Encrypt SQLite database • http://sqlcipher.net/sqlcipher-for-android
Cifrado aplicaciones
• Secure-Preferences • http://github.com/scottyab/secure-preferences
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();
WebView
Encrypt /Decrypt Android public String encrypt(String cleartext, String password) {
byte[] encryptedText = null; String result = ""; try {
// Get key based on user-provided password PBEKeySpec keySpec = new PBEKeySpec(password.toCharArray(), salt, PBE_ITERATION_COUNT, 256); SecretKeyFactory keyFactory = SecretKeyFactory.getInstance(PBE_ALGORITHM); SecretKey tmp = keyFactory.generateSecret(keySpec); // Encrypt SecretKey secret = new SecretKeySpec(tmp.getEncoded(), "AES"); Cipher encryptionCipher = Cipher.getInstance(CIPHER_ALGORITHM); IvParameterSpec ivspec = new IvParameterSpec(initVector); encryptionCipher.init(Cipher.ENCRYPT_MODE, secret, ivspec); encryptedText = encryptionCipher.doFinal(cleartext.getBytes()); // Encode encrypted bytes to Base64 text to save in text file result = Base64.encodeToString(encryptedText, Base64.DEFAULT); } catch (Exception e) { e.printStackTrace(); } return result; }
Encrypt /Decrypt Android public String decrypt(String encryptedText, String password) {
byte[] encryptedText = null; String result = ""; try {
// Decode Base64 text back to encrypted bytes byte[] toDecrypt = Base64.decode(encryptedText, Base64.DEFAULT); // Get key based on user-provided password PBEKeySpec keySpec = new PBEKeySpec(password.toCharArray(), salt, PBE_ITERATION_COUNT, 256); SecretKeyFactory keyFactory = SecretKeyFactory.getInstance(PBE_ALGORITHM); SecretKey tmp = keyFactory.generateSecret(keySpec); // Decrypt SecretKey secret = new SecretKeySpec(tmp.getEncoded(), "AES"); Cipher decryptionCipher = Cipher.getInstance(CIPHER_ALGORITHM); IvParameterSpec ivspec = new IvParameterSpec(initVector); decryptionCipher.init(Cipher.DECRYPT_MODE, secret, ivspec); byte[] decryptedText = decryptionCipher.doFinal(toDecrypt); result = new String(decryptedText); } catch (Exception e) { e.printStackTrace(); } return result; }
Android root
Android root public class RootUtil { public static boolean isDeviceRooted() { return checkRootMethod1() || checkRootMethod2() || checkRootMethod3(); } private static boolean checkRootMethod1() { String buildTags = android.os.Build.TAGS; return buildTags != null && buildTags.contains("test-keys"); } private static boolean checkRootMethod2(){ String[] paths = { "/system/app/Superuser.apk", "/sbin/su", "/system/bin/su", "/system/xbin/su", "/data/local/xbin/su", "/data/local/bin/su", "/system/sd/xbin/su", "/system/bin/failsafe/su", "/data/local/su" }; for (String path : paths) { if (new File(path).exists()) return true; } return false; } private static boolean checkRootMethod3() { Process process = null; try { process = Runtime.getRuntime().exec(new String[] { "/system/xbin/which", "su" }); BufferedReader in = new BufferedReader(new InputStreamReader(process.getInputStream())); if (in.readLine() != null) return true; return false; } catch (Throwable t) { return false; } finally { if (process != null) process.destroy(); } } }
Seguridad certificados
xCode
Static Analyzer
Detect memory leaks
ARC(Automatic Reference Counting)
Ofuscar el código http://proguard.sourceforge.net
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
Ofuscar el código
Testear seguridad aplicaciones
Hardware
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
Patrón de Bloqueo en Android
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
Santoku linux
Kali linux
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
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
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
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.
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
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)
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
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.
MDM
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
Soluciones MDM • Citrix XenMobile MDM
http://www.citrix.com/products/xenmobile/overview.html
• Airwatch
http://www.air-watch.com
• WSO2 Enterprise Mobility Manager http://wso2.com/products/enterprise-mobility-manager
Administrador de dispositivos Diseñado para la gestión de dispositivos móviles (MDM) de la empresa
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
NetWorkMiner
DroidWall • Funciona como un firewall para las aplicaciones a la hora de acceder a la red(wifi,3G)
ROOT
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
Comunicaciones seguras
Hardware
• Confidencialidad, integridad, autenticación, no
repudio
• Establecer canales seguros en medios inseguros
• HTTPS
• VPN
• WiFi cifrada con WPA2
• Bluetooth no descubrible
• Uso de PKI
Cifrado
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
Analizando el tráfico de red • Configurar Burp Proxy para empezar a escuchar el
tráfico.
Encriptación en Android
Rendimiento 1h 3.0
Segundo factor de autenticación
https://accounts.google.com/smsauthconfig
Segundo factor de autenticación
Segundo factor de autenticación
Conclusiones
Lograr un equilibrio entre la seguridad del dispositivo y la funcionalidad para el usuario
Funcionalidad
Seguridad
Conclusiones
Conclusiones
Leer permisos
Leer comentarios de usuarios
Instalar sólo de market
oficial
Books
Books
Referencias y blogs Open Android Security Assessment Methodology
http://oasam.org/es/oasam
Developer.android.com https://developer.android.com/training/articles/security-tips.html
https://source.android.com/devices/tech/security
http://globbsecurity.com
http://www.securitybydefault.com
http://blog.s21sec.com
http://hacking-etico.com
questions?