Seguridad En Bluetooth Y Windows Mobile
-
Upload
chema-alonso -
Category
Technology
-
view
3.963 -
download
0
description
Transcript of Seguridad En Bluetooth Y Windows Mobile
Alberto Moreno Tablado
Seguridad en Bluetooth y Windows Mobile
Indice
• Introducción
• Seguridad en Bluetooth
– Seguridad del Medio
– Seguridad de la Implementación en el dispositivo
• Mitigando ataques Bluetooth con SCMDM
• Demo
• 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
Pila de protocolos
Host
Módulo
Medio
Implementación
Seguridad desde dos puntos de vista:
• Seguridad del Medio
– Mecanismos de seguridad del protocolo
• Seguridad de la Implementación
– Implementación insegura en teléfonos móviles
Seguridad de Bluetooth
Mecanismos de seguridad de Bluetooth:
• Salto de frecuencias
• Emparejamiento de dispositivos
• Autenticación y Autorización
• Cifrado
¿Es Bluetooth un estándar seguro?
Seguridad del Medio
• Salto de frecuencias– Evita interferencias con otras tecnologías inalámbricas
– Evita sniffing del tráfico
– Los esclavos de una piconet se sincronizan con el maestro
– Emplea la técnica FHSS (Frequency Hopping 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 obtener la tabla de saltos y sniffar– Durante el establecimiento de conexión a una piconet, se genera
una tabla pseudo-aleatoria con el patrón de saltos de frecuencia
que utilizan los dispositivos que pertenecen a la piconet.
– Se necesita conocer la dirección BD_ADDR del maestro y su reloj
interno para añadir el desplazamiento al reloj del esclavo.
En realidad…
Maestro Esclavo
Piconet
Atacante, obtiene la tabla
de saltos y se sincroniza
para sniffar el tráfico
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
• Emparejamiento de dispositivos– Emparejamiento ≈ Relación de confianza (comparten PIN)
– 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 el PIN 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 las claves temporales generadas coincidan con aquellas
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…
• 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 Kab generada durante el emparejamiento de dispositivos
Mecanismos de seguridad
Kab Kab
Desafío / Respuesta
Si coincide queda autenticado
• 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
• Si el dispositivo está marcado como confiable: acceso transparente
• Si el dispositivos es no confiable, se requiere autorización al usuario
Mecanismos de seguridad
¿Confío en este dispositivo?
Si no es confiable se requiere autorización
• 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 de 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_ADDR 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
Mecanismos de seguridad de Bluetooth:
• Salto de frecuencias | Sniffing Bluetooth
• Emparejamiento de dispositivos | PIN Cracking
• Autenticación y Autorización | BD_ADDR Spoofing
• Cifrado
¿¿¿Es Bluetooth un estándar seguro???
Seguridad del Medio
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 Acceso a Red
Perfil de Transferencia de Archivos (OBEX FTP)
Perfil de Carga de Objetos (OBEX PUSH)
Perfil de Dispositivos de Interfaz Humana
Perfiles Bluetooth → Vectores de ataque
Implementación de Bluetooth
• Ejecución de Comandos AT
Conexión al Perfil de Acceso Telefónico a Redes
• Requiere autenticación y autorización
– Alcance:
• Acceso a llamadas de voz
• Configuración de desvío de llamadas
• Acceso a la agenda de contacto
• Acceso a mensajes SMS
Vectores de ataque
• Acceso a través de OBEX PUSH
Conexión al Perfil de Carga de Objetos
• Requiere autorización
– Alcance:
• Envío de archivos maliciosos, virus, SPAM, …
Vectores de ataque
• Acceso a través de OBEX FTP
Conexión al Perfil de Transferencia de Archivos
• Requiere autenticación y autorización
– Alcance:
• Listado de directorios
• Descarga de archivos
• Subida de archivos, ejecución de código arbitrario
Vectores de ataque
Los fabricantes implementan
de forma independiente su
capa de protocolos de
aplicación (perfiles) sobre
la pila de protocolos de
Bluetooth
Seguridad de la Implementación
Windows Mobile 6, 6.1, 6.5: Implementación insegura
# 1. Autenticado = Autorizado
Un dispositivo autenticado (emparejado) no debería
estar autorizado por defecto, son mecanismos de
seguridad independientes
Implementación correcta en otros fabricantes:
Implementación en
# 2. OBEX FTP Directory Traversal en
• Vulnerabilidad ../ que permite escalar directorios
– Afecta al Servicio OBEX FTP (driver de HTC)
• Teléfonos vulnerables
– HTC con Windows Mobile 6 Professional / Standard
– HTC con Windows Mobile 6.1 Professional / Standard
• Teléfonos no vulnerables
– HTC con Windows Mobile 5
– HTC con Windows Mobile 6.5
– Teléfonos Windows Mobile de otras marcas
Implementación en
# 2. OBEX FTP Directory Traversal en
• Listar directorios situados más allá de los límites
de la carpeta compartida por defecto
Implementación en
# 2. OBEX FTP Directory Traversal en
• Descargar
Implementación en
# 2. OBEX FTP Directory Traversal en
• Subir archivos maliciosos, ejecutar código arbitrario
Implementación en
Demo
# 3. Políticas de seguridad en el registro
Activar los mecanismos de seguridad
en el Perfil de OBEX FTP depende
de 0 ó 1 en el registro
– Autenticación
– Directorio base
– Permiso de escritura
Implementación en
# 3. Políticas de seguridad en el registro
Se pueden modificar a través de un troyano
Windows Mobile permite ejecutar código sólo
con instalar un .CAB (CESetupDLL)
Implementación en
Demo
Permite aplicar políticas de seguridad en
dispositivos Windows Mobile de forma remota
Mitigar ataques con SCMDM
• Política de restricción de perfiles Bluetooth
– Habilitar únicamente perfiles seguros
– Deshabilitar Perfil de OBEX Push
Mitigar ataques con SCMDM
• Política de desactivación de Bluetooth
Mitigar ataques con SCMDM
• 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