seguridad en windows mobile
DESCRIPTION
TRANSCRIPT
Alberto Moreno Tablado
Conferencias FIST Madrid, Marzo 2009
Seguridad en Windows Mobile
Indice
• Introducción
• Bluetooth y sus mecanismos de seguridad– Salto de frecuencias vs. Sniffing Bluetooth
– Emparejamiento vs. PIN Cracking
– Autenticación y Autorización vs. BD_ADDR Spoofing
• Vectores de ataque Bluetooth– HTC / Windows Mobile OBEX FTP Directory Traversal
• Demo, concatenando formas de ataque
Estadísticas Smartphones
Fuente: Forward Concepts (Feb 5, 2009)
• Windows Mobile Professional (PDAs táctiles)
• Windows Mobile Standard (Smartphones)
Equipos Windows Mobile
• Consumo del $aldo
– Llamadas de voz
– Envío de SMS, MMS, …
– Conexión a Internet
• Acceso a información confidencial
• Inutilización temporal del teléfono
– Bloqueo, reinicio, desvíos de llamadas
Factores de riesgo
Vías de ataque
• ¿Qué es ?Es la especificación que define un estándar global de comunicaciones
inalámbricas para redes de área personal que permite la
transmisión de voz y datos entre diferentes equipos mediante un
enlace de radiofrecuencia en entorno móviles y estáticos.
• Frecuencia de radio– 2.4 GHz, disponible en todo el mundo
• Topología de red– Tecnología de redes PAN (Personal Area Network)
– Comunicación stand-alone a nivel mundial entre dos dispositivos
– Hasta 8 dispositivos se pueden conectar formando una Piconet
– La unión de varias Piconets se denomina Scatternet
Bluetooth
• Salto de frecuencias
• Emparejamiento de dispositivos
• Autenticación
• Autorización
• Cifrado
¿Es Bluetooth un estándar seguro?
Mecanismos de seguridad
• Salto de frecuencias– Se evitan interferencias con otras tecnologías inalámbricas
– Los esclavos de una piconet se sincronizan con el maestro
– Emplea la técnica FHSS (Frequency Hoping Spread Spectrum):
• Divide la banda en 79 canales de longitud 1 MHz
• Realiza 1600 saltos por segundo entre canales
Mecanismos de seguridad
Frecuencia
(GHz)
2.48
2.40
Time Slot
Es posible conseguir la tabla de saltos– Durante el establecimiento de conexión a una piconet, el maestro
genera una tabla pseudo-aleatoria con el patrón de saltos de
frecuencia que utilizan los dispositivos que pertenecen a la piconet.
– El intercambio de esta tabla de saltos desde el maestro al esclavo
se realiza en un canal conocido del espectro de frecuencias.
En realidad…
Maestro Esclavo
Piconet
Atacante, obtiene la tabla
de saltos y se sincroniza
Cronología del sniffing en BluetoothFTE desarrolla el primer sniffer comercial FTS4BT, precio 10,000$
Max Moser publica un procedimiento para construir un sniffer a partir de un
adaptador Bluetooth convencional utilizando el firmware de FTS4BT
Andrea Bittau y Dominic Spill publican el paper Bluesniff
Andrea Bittau desarrolla frontline para enviar comandos a un sniffer hardware
Drgr33n publica Blue|Smash, una suite para sniffing Bluetooth
Sniffing Bluetooth
2005
06
07
08
Construir un sniffer Bluetooth– Hardware:
• Chipset Cambridge Silicon Radio (CSR)
• BC4 External or Flash. Si tiene Memoria ROM no vale.
– Software:
• bccmd: modificar la configuración del firmware
• dfutool: flashear el adaptador y actualizar el firmware
• Firmware airsnifferdev4*bc4.dfu extraído de FTS4BT*
Sniffing Bluetooth
1. Construir sniffer
2. Esperar al intercambio de tabla de saltos
3. Sniffar con frontline de Blue|Smash
Sniffing Bluetooth
• Emparejamiento de dispositivos– Emparejamiento ≈ Relación de confianza
– Dos dispositivos sólo se pueden comunicar si están emparejados
– Algoritmo ¿seguro?
• Entrada: PIN + BD_ADDR de dispositivo + Núm aleatorio IN_RAND
• Salida: Clave de enlace, utilizada para autenticación
Mecanismos de seguridad
Es posible crackear por fuerza bruta– Shaked y Wool publicaron un procedimiento criptológico teórico
para crackear el algoritmo del emparejamiento Bluetooth
– Básicamente, se pueden ir probando entradas por fuerza bruta
hasta que los hashes generados coincidan con aquellos que se
han capturado durante la sesión de sniffing.
– Se necesita…
• PIN (Se genera por fuerza bruta, aunque por lo general son 4 dígitos)
• Direcciones BD_ADDR de los dispositivos emparejados (Se conoce)
• Núm aleatorio IN_RAND que en realidad resulta no ser tan aleatorio,
¿depende en cierta manera del timestamp? (Se conoce el clock-offset)
– Tiempos de respuesta en implementaciones prácticas P4 3.6GHz:
• 0.24 secs en crackear un PIN de 4 dígitos (0.001 secs en FPGA)
• 42 mins en crackear un PIN de 8 dígitos (10 secs en FPGA)
En realidad…
Cronología del PIN CrackingOlly Whitehouse anuncia debilidades en la implementación del
intercambio de claves para el emparejamiento Bluetooth
Shaked y Wool, teoría criptográfica para crackear el emparejamiento
(Joshua Wright demuestra que es posible con su técnica Bluepinning)
Thierry Zoller desarrolla BTCrack para Windows, permite crackear el
PIN y la clave de enlace a partir de la captura del emparejamiento
David Hulton publica btpincrack para proyecto OpenCiphers en Linux
Implementación FPGA de btpincrack / BTCrack
2003
04
05
06
07
08
Bluetooth PIN Cracking
1. Sniffar durante el emparejamiento de dos dispositivos
2. Crackear la captura y obtener el PIN y la clave de enlace
Bluetooth PIN Cracking
• Autenticación– Es el proceso por el cual un dispositivo Bluetooth verifica su
identidad en otro dispositivo para acceder a los servicios que ofrece
– Esquema desafío / respuesta basado en la BD_ADDR y en la clave
de enlace generada durante el emparejamiento de dispositivos
En Windows Mobile,
activarlo depende de
1 ó 0 en el registro!
Mecanismos de seguridad
• Autorización– Es el proceso que determina los derechos que tiene un dispositivo
Bluetooth para acceder a los servicios que ofrece un sistema
– Se gestiona mediante una lista de dispositivos de confianza que
determina la capacidad de acceso a los servicios
• Dispositivos de confianza: acceso sin restricciones
• Dispositivos no confiables: requiere autorización
Mecanismos de seguridad
• AutorizaciónPor norma general, autenticado ≠ autorizado (Ejemplo, en Symbian)
En Windows Mobile, dispositivo autenticado → dispositivo autorizado!
Mecanismos de seguridad
• Cifrado– Garantiza la confidencialidad de la información transmitida sobre
un enlace Bluetooth
– Implementación opcional, pero siempre tras una autenticación
– Clave de cifrado basada en clave de enlace
Mecanismos de seguridad
Credenciales de seguridad en Bluetooth:– Autorización
• Se basa en la BD_ADDR de dispositivo
• Si existe en lista de dispositivos de confianza, queda autorizado
– Autenticación
• Se basa en la BD_ADDR de dispositivo + clave de enlace
• Si la clave en enlace generada durante el emparejamiento con
ese dispositivo coincide, queda autenticado
¿Qué pasa si un atacante suplanta la BD_ADDR de un
dispositivo de confianza?
¿Y si tiene acceso a la clave de enlace de uno de los
dispositivos emparejados?
En realidad…
Permite suplantar la identidad de un dispositivo de confianza para
atacar un teléfono y utilizar sus credenciales para acceder a perfiles
que requieren autenticación y/o autorización
Se desarrolla en dos niveles:
• Suplantación de la dirección BD_ADDR
de un dispositivo de confianza para
acceder a perfiles que requieren
autorización
• Suplantación de la dirección BD_ADDR
y la clave de enlace generada durante el
emparejamiento para acceder a perfiles
que requieren autenticación
BD_ADDR Spoofing
• Suplantar la BD_ADD de un dispositivo de confianza
• Suplantar la clave de enlace (instalar en /var/lib/bluetooth)
• Robar del registro de Windows, de MAC OS, de Linux, …
• Capturar mediante sniffing del emparejamiento Bluetooth
BD_ADDR Spoofing
• Salto de frecuencias
• Emparejamiento de dispositivos
• Autenticación
• Autorización
• Cifrado
¿¿¿Es Bluetooth un estándar seguro???
Mecanismos de seguridad
Perfiles Bluetooth: Definen los protocolos y
características de los modelos de uso de Bluetooth
Perfil de Puerto Serie
Perfil de Acceso Telefónico a Redes
Perfil de Auriculares
Perfil de Pasarela de Audio
Perfil de Acceso a Red
Perfil de Transferencia de Archivos (OBEX FTP)
Perfil de Carga de Objetos (OBEX PUSH)
Perfil de Sincronización
Perfil de Dispositivos de Interfaz Humana
Vectores de ataque
• Ejecución de Comandos ATConexión al Perfil de Acceso Telefónico a Redes
• Requiere autenticación y autorización
– Alcance
Vectores de ataque
Acceso a llamadas de voz
Configuración de desvío de llamadas
Acceso a la agenda de contacto
Acceso a mensajes SMS
• Acceso a través de OBEX PUSHConexión al Perfil de Carga de Objetos
• Requiere autorización
– Envío de archivos maliciosos, virus, SPAM, …
Vectores de ataque
• Acceso a través de OBEX FTPConexión al Perfil de Transferencia de Archivos
• Requiere autenticación y autorización
– Subida y descarga de archivos, listado de directorios
Vectores de ataque
• Vulnerabilidad Directory Traversal en HTC– Fecha de descubrimiento: 19/01/2009 (CVE-2009-0244)
• Afecta el Servicio OBEX FTP (.dll de HTC)
• Teléfonos vulnerables:– HTC con Windows Mobile 6.1 Professional / Standard
– HTC con Windows Mobile 6 Professional / Standard
• Teléfonos no vulnerables:– Windows Mobile 5 (No incluye Servicio OBEX FTP)
– Teléfonos Windows Mobile 6.1 y 6 de otras marcas
HTC Directory Traversal
Supuestamente, sólo se puede acceder al
directorio compartido por defecto
HTC Directory Traversal
Se traga el mítico ../ para escalar directorios
En realidad…
• Explorar directorios situados más allá de los
límites de la carpeta compartida por defecto
(incluida la tarjeta de almacenamiento)
HTC Directory Traversal
• Robo de
HTC Directory Traversal
• Subir archivos maliciosos, troyanos
HTC Directory Traversal
Sniffing del emparejamiento Bluetooth
BD_ADDR Spoofing
HTC / Windows Mobile OBEX FTP Directory Traversal
Demo
• Desactivar Bluetooth mientras no se utilice– Si no se puede, configurar en modo oculto (non discoverable)
• No aceptar conexiones de usuarios no confiables– Ni intentos de emparejamiento, ni intentos de autorización
• No aceptar archivos de dispositivos desconocidos– Ni aunque parezca que nos lo envía un hot spot de una marca comercial
– Un atacante puede engañar y colar al usuario software malicioso fácilmente
• Eliminar entradas de emparejamientos en desuso– Suplantar la BD_ADDR de un dispositivo de confianza es algo trivial
– Se pueden robar claves de enlace por ingeniería social u otros medios
• En definitiva, seguir un comportamiento prudente
Recomendaciones
¡Gracias!
© 2009 Alberto Moreno Tablado
You are free:
• to copy, distribute, display, and perform this work
• to make commercial use of this work
Under the following conditions:
Attribution. You must give the original author credit.
No Derivate Works. You may not alter, transform, or build upon this
work
For any reuse or distribution, you must make clear to others the license terms of this work.
Any of these conditions can be waived if you get permission from the author.
Your fair use and other rights are in no way affected by the above.
This work is licensed under the Creative Commons Attribution-NoDerivs License. To view a
copy of this license, visit http://creativecommons.org/licenses/by-nd/2.0/ or send a letter to
Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
Creative Commons
Attribution-NoDerivs 2.0