seguridad en windows mobile

Post on 17-Jan-2015

718 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

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

top related