NCN V, 18/10/2005 Seguridad en bluetooth.

1 NCN V, 18/10/2005 [email protected] Seguridad en bluet...
Author: Narciso Solomon
0 downloads 0 Views

1 NCN V, 18/10/2005 [email protected] Seguridad en bluetooth

2 Agenda Introducción. Introducción. Identificación de dispositivos. Identificación de dispositivos. Vulnerabilidades. Vulnerabilidades. Otras consideraciones. Otras consideraciones. Conclusiones. Conclusiones.

3 Introducción Historia. Historia. Toma el nombre del Rey danés Harald Blaatand (940-981). Toma el nombre del Rey danés Harald Blaatand (940-981). Conocido como diente azul (bluetooth). Conocido como diente azul (bluetooth). Famoso por el dialogo y la conversión al cristianismo de los vikingos. Famoso por el dialogo y la conversión al cristianismo de los vikingos. El emblema viene de sus iniciales. El emblema viene de sus iniciales.

4 Introducción Bluetooth Special Interest Group (SIG). Bluetooth Special Interest Group (SIG). Diseñado con la intención de sustituir cables en pequeños dispositivos. Diseñado con la intención de sustituir cables en pequeños dispositivos. Fundado en 1998 por una organización formada por empresas como Ericsson, Nokia, IBM, Toshiba, Microsoft e Intel. Fundado en 1998 por una organización formada por empresas como Ericsson, Nokia, IBM, Toshiba, Microsoft e Intel.

5 Introducción Cambios de 1.2 a EDR (Enhanced Data Rate) o 2.0. Cambios de 1.2 a EDR (Enhanced Data Rate) o 2.0. Mayor alcance: hasta 100m. Mayor alcance: hasta 100m. Velocidad: 721Kb/sec a 2Mbit/sec. Velocidad: 721Kb/sec a 2Mbit/sec. Saltos de frecuencia (evita interferencias). Saltos de frecuencia (evita interferencias). Reducción de velocidad en el establecimiento de enlace. Reducción de velocidad en el establecimiento de enlace. Hedy Lamarr (1913-2000)

6 Introducción Diferencias entre bluetooth y wireless: Diferencias entre bluetooth y wireless: Bluetooth: diseñado para sustituir cables en pequeños dispositivos móviles. Bluetooth: diseñado para sustituir cables en pequeños dispositivos móviles. 802.11b: diseñado para sustituir cables en LAN. 802.11b: diseñado para sustituir cables en LAN. Bluetooth: no necesita poco ancho de banda. Bluetooth: no necesita poco ancho de banda. 802.11b: requiere amplio ancho de banda. 802.11b: requiere amplio ancho de banda. Similitudes entre bluetooth y wireless: Similitudes entre bluetooth y wireless: Ambas emiten en 2.4Ghz. Ambas emiten en 2.4Ghz.

7 Introducción Piconet: Piconet: Un “maestro” por piconet. Un “maestro” por piconet. El maestro define parámetros de conexión. El maestro define parámetros de conexión. Máximo de 7 clientes esclavos. Máximo de 7 clientes esclavos.

8 Introducción Scatternet: Scatternet: Un maestro no puede serlo en dos piconet. Un maestro no puede serlo en dos piconet. Dos esclavos en una misma piconet. Dos esclavos en una misma piconet. Soporte opcional. Soporte opcional.

9 Introducción Modos de seguridad: Modos de seguridad: Modo 1: Permite conexiones desde cualquier dispositivo. Modo 1: Permite conexiones desde cualquier dispositivo. Modo 2: requiere una seguridad sencilla por servicio: L2CAP. Modo 2: requiere una seguridad sencilla por servicio: L2CAP. Modo 3: utiliza procedimientos de seguridad antes de establecer el canal de la comunicación: Modo 3: utiliza procedimientos de seguridad antes de establecer el canal de la comunicación: Uso de autenticación mediante PIN. Uso de autenticación mediante PIN. filtro por dirección de origen (BD_ADDR). filtro por dirección de origen (BD_ADDR). Cifrado mediante SAFER+. Cifrado mediante SAFER+.

10 Introducción Pila Bluetooth: Pila Bluetooth: Bluetooth radio: convierte datos a señal de radio y viceversa. Bluetooth radio: convierte datos a señal de radio y viceversa. Baseband: parámetros de bajo nivel de conexión (cifrar y descifrar paquetes, corrección de errores). Baseband: parámetros de bajo nivel de conexión (cifrar y descifrar paquetes, corrección de errores). Link Manager: gestión de conexiones, comprueba su estado o las elimina si han terminado. Link Manager: gestión de conexiones, comprueba su estado o las elimina si han terminado. L2CAP: quienes y donde están conectados. Capa Intermediaria entre la API y protocolos más bajos. L2CAP: quienes y donde están conectados. Capa Intermediaria entre la API y protocolos más bajos. RFCOMM: Emula puertos serie. RFCOMM: Emula puertos serie. TCS: gestiona las conexiones de audio. TCS: gestiona las conexiones de audio. SDP: sistema por el cual se gestionan los servicios de los dispositivos. SDP: sistema por el cual se gestionan los servicios de los dispositivos. OBEX: protocolo de intercambio de datos. OBEX: protocolo de intercambio de datos.

11 Introducción Pila Bluetooth: Pila Bluetooth:

12 Introducción Seguridad en autenticación - PIN: Seguridad en autenticación - PIN: Generalmente de 4 dígitos (soporta hasta 16). Generalmente de 4 dígitos (soporta hasta 16). Productos con PIN por defecto: 0000. Productos con PIN por defecto: 0000. Posibilidad de obtener un PIN de 6 dígitos en 12,5 segundos (fuente: @atstake). Posibilidad de obtener un PIN de 6 dígitos en 12,5 segundos (fuente: @atstake).

13 Identificación de dispositivos. Captura de tramas HCI.

14 Introducción Claves utilizadas en el “Paring”: Claves utilizadas en el “Paring”: Kx: Kx = E21(LK_RAND, BD_ADDR): clave de cada dispositivo Kx (se genera solo una vez). Kx: Kx = E21(LK_RAND, BD_ADDR): clave de cada dispositivo Kx (se genera solo una vez). Kinit: Kinit=E22(PIN, PIN_LENGTH, IN_RAND): clave inicial necesaria para siguientes pasos. Kinit: Kinit=E22(PIN, PIN_LENGTH, IN_RAND): clave inicial necesaria para siguientes pasos. “A” genera y manda en texto claro a “B”, IN_RAND, un número aleatorio. “A” genera y manda en texto claro a “B”, IN_RAND, un número aleatorio. Se genera en cada dispositivo: LK_RAND. Se genera en cada dispositivo: LK_RAND. Se transmiten los RAND. Se transmiten los RAND. Klink: clave temporal de enlace. Klink: clave temporal de enlace. Puede ser Kx o Kab (depende del modo de seguridad y características del dispositivo). Puede ser Kx o Kab (depende del modo de seguridad y características del dispositivo). Se utiliza en el proceso de autenticación. Se utiliza en el proceso de autenticación.

15 Introducción Clave Kx: Clave Kinit:

16 Introducción Autenticación en el “Paring”: Autenticación en el “Paring”: Dispositivo “B” transmite a “A” su BD_ADDR. Dispositivo “B” transmite a “A” su BD_ADDR. Dispositivo “A”, genera AU_RAND y lo transmite a “B”. Dispositivo “A”, genera AU_RAND y lo transmite a “B”. Dispositivo “B” genera SRES y lo envía a “A”. Dispositivo “B” genera SRES y lo envía a “A”. SRES: SRES=E1(AU_RAND, BD_ADDRb, Klink) SRES: SRES=E1(AU_RAND, BD_ADDRb, Klink) Se comprueba que ambos dispositivos tienen el mismo SRES y se concluye la autenticación. Se comprueba que ambos dispositivos tienen el mismo SRES y se concluye la autenticación.

17 Introducción Clave Kab, generada dependiendo del modo de seguridad: Clave Kab, generada dependiendo del modo de seguridad: Ambos dispositivos crean la clave. Ambos dispositivos crean la clave. Se genera en cada dispositivo LK_RANDx. Se genera en cada dispositivo LK_RANDx. Se transmiten LK_RAND usando Kinit. Se transmiten LK_RAND usando Kinit. Se genera la clave K del otro dispositivo, con el LK_RAND y Kinit. Se genera la clave K del otro dispositivo, con el LK_RAND y Kinit. Se genera Kab: Kab=XOR(Ka,Kb). Se genera Kab: Kab=XOR(Ka,Kb).

18 Introducción Autenticación: Clave Kab:

19 Introducción Cifrado de datos: Cifrado de datos: Los datos se cifran con el algoritmo:XOR(BD_ADDR, CLOCKa, Kc). Los datos se cifran con el algoritmo:XOR(BD_ADDR, CLOCKa, Kc). Generación de Kc: Generación de Kc: Kc: Kc=E3(EN_RAND, Klink, COF). Kc: Kc=E3(EN_RAND, Klink, COF). COF: Obtenido de ACO, en el proceso de autenticación. COF: Obtenido de ACO, en el proceso de autenticación. COF: Concatenación de ambas BD_ADDR. COF: Concatenación de ambas BD_ADDR. CLOCKa: hora del sistema. CLOCKa: hora del sistema.

20 Introducción Clave Kc: Cifrado de datos:

21 Identificación de dispositivos. Identificación de dispositivos visibles. Identificación de dispositivos visibles. Hcitool: herramienta del paquete “bluez” de Linux. Hcitool: herramienta del paquete “bluez” de Linux. # hcitool scan 22:22:22:22:22:22 PDA 22:22:22:22:22:22 PDA 33:33:33:33:33:33 t630 33:33:33:33:33:33 t630 44:44:44:44:44:44 nokia660 44:44:44:44:44:44 nokia660 Obtención de información posiblemente interesante: modelos y marcas de dispositivos. Obtención de información posiblemente interesante: modelos y marcas de dispositivos.

22 Identificación de dispositivos. Blueprint. Blueprint. Identificación de dispositivos utilizando una base de datos, que almacena: Identificación de dispositivos utilizando una base de datos, que almacena: BD_ADDR. BD_ADDR. Servicios (SDP). Servicios (SDP). # sdptool browse --tree 00:02:78:38:94:3C |./bp.pl 00:02:78:38:94:3C -nomac 00:0A:D9@4063698 device: Sony Ericsson T610 version: R1L013 date: n/a type: mobile phone note: n/a

23 Identificación de dispositivos.

24 RedFang. RedFang. Identificación de dispositivos “no detectables”, mediante fuerza bruta. Identificación de dispositivos “no detectables”, mediante fuerza bruta. Soporte para múltiples “dongles”. Soporte para múltiples “dongles”. Excesivamente lento. Excesivamente lento.

25 Identificación de dispositivos.

26 Bluespam. Bluespam. Identificación de la categoría de dispositivos con el fin de mandarle Spam. Identificación de la categoría de dispositivos con el fin de mandarle Spam. Clase: mediante este atributo es posible obtener que tipo de dispositivo es. Clase: mediante este atributo es posible obtener que tipo de dispositivo es. https://www.bluetooth.org/foundry/assignnumb/document/baseband https://www.bluetooth.org/foundry/assignnumb/document/baseband

27 Vulnerabilidades Bluejacking. Bluejacking. Consiste en enviar un contacto cuyo nombre es el texto que se desea que aparezca a la persona en la pantalla de su terminal. Consiste en enviar un contacto cuyo nombre es el texto que se desea que aparezca a la persona en la pantalla de su terminal. No es una vulnerabilidad, no implica riesgo. No es una vulnerabilidad, no implica riesgo. Utilizada para mandar mensajes de texto a modo de “chat”. Utilizada para mandar mensajes de texto a modo de “chat”. http://www.bluejackq.com/ http://www.bluejackq.com/

28 Vulnerabilidades PSM Scanning. PSM Scanning. Comprobar los servicios disponibles sin utilizar SDP (browse). Comprobar los servicios disponibles sin utilizar SDP (browse). Similar a un análisis de puertos en TCP/IP. Similar a un análisis de puertos en TCP/IP. Herramienta: BTAudit. http://www.betaversion.net/btdsd/download/ Herramienta: BTAudit. http://www.betaversion.net/btdsd/download/

29 Identificación de dispositivos.

30 Vulnerabilidades BlueSnarf. BlueSnarf. Es posible obtener datos confidenciales sin realizar autenticación: agenda, sms. Es posible obtener datos confidenciales sin realizar autenticación: agenda, sms. Utilizando OBEX realiza el GET en un servicio utilizado generalmente para recibir contactos (vCards); “OBEX PUSH”. Utilizando OBEX realiza el GET en un servicio utilizado generalmente para recibir contactos (vCards); “OBEX PUSH”. Archivos conocidos: (IrMC, Ir Mobile Communications ). Ejemplo: telecom/pb.vcf. Archivos conocidos: (IrMC, Ir Mobile Communications ). Ejemplo: telecom/pb.vcf. Sony Ericsson T68, T68i, R520m, T610, Z1010. Sony Ericsson T68, T68i, R520m, T610, Z1010. Nokia 6310, 6310i, 8910, 8910i. Nokia 6310, 6310i, 8910, 8910i.

31 Identificación de dispositivos.

32 Vulnerabilidades BlueSnarf++. BlueSnarf++. Similar en concepto a bluesnarf. Similar en concepto a bluesnarf. El contenido es navegable (semejante a un FTP). El contenido es navegable (semejante a un FTP). Se pueden obtener datos de sistemas de almacenamiento externos; SD, MMC. Se pueden obtener datos de sistemas de almacenamiento externos; SD, MMC. Permite escritura y lectura. Permite escritura y lectura. - No existen datos públicos (WTH).

33 Vulnerabilidades Bluebug. Bluebug. Riesgo alto. Riesgo alto. Permite realizar una conexión al terminal e introducir comandos AT (RFCOMM). Permite realizar una conexión al terminal e introducir comandos AT (RFCOMM). Llamadas de voz/datos, envío de SMS, obtención de información: IMEI, modelo del sistema, agenda. Llamadas de voz/datos, envío de SMS, obtención de información: IMEI, modelo del sistema, agenda. Lista de comandos AT: Lista de comandos AT: http://new.remote-exploit.org/index.php/BT_main.

34 Identificación de dispositivos.

35 Vulnerabilidades BlueSmack. BlueSmack. Denegación de servicio al estilo “ping de la muerte”. Denegación de servicio al estilo “ping de la muerte”. Se realiza utilizando peticiones del tipo “request”, en L2CAP. Se realiza utilizando peticiones del tipo “request”, en L2CAP. No requiere autenticación. No requiere autenticación. Riesgo bajo. Riesgo bajo.

36 Identificación de dispositivos.

37 Vulnerabilidades Abuso del modo 3. Abuso del modo 3. Ataque que aprovecha la falta de autorización por canal. Ataque que aprovecha la falta de autorización por canal. Ejecución: Ejecución: El atacante consigue introducirse en la lista de dispositivos de confianza, enviando una vCard por ejemplo. Requiere ingeniería social. El atacante consigue introducirse en la lista de dispositivos de confianza, enviando una vCard por ejemplo. Requiere ingeniería social. El dispositivo no comprobará a que servicios puede acceder permitiéndole acceder al servicio de puerto serie, Obex FTP, etc. El dispositivo no comprobará a que servicios puede acceder permitiéndole acceder al servicio de puerto serie, Obex FTP, etc.

38 Vulnerabilidades BlueBump. BlueBump. Requiere ingeniería social: crear una conexión segura. Requiere ingeniería social: crear una conexión segura. Ejemplo: Enviar un vCard y forzar el modo-3. Ejemplo: Enviar un vCard y forzar el modo-3. El atacante solicita borrar su clave, manteniendo la conexión establecida. El atacante solicita borrar su clave, manteniendo la conexión establecida. La victima no controla que aun sigue la conexión establecida. El atacante solicita que la clave se regenere. La victima no controla que aun sigue la conexión establecida. El atacante solicita que la clave se regenere. El atacante consigue entrar en la lista de la victima sin tener que autentificarse nuevamente. El atacante consigue entrar en la lista de la victima sin tener que autentificarse nuevamente.

39 Vulnerabilidades BlueDump o Bluespoof. BlueDump o Bluespoof. Se realiza para obtener el PIN del emparejamiento de dos dispositivos. Se realiza para obtener el PIN del emparejamiento de dos dispositivos. Es necesario conocer ambas BD_ADDR. Es necesario conocer ambas BD_ADDR. Consiste en realizar un “spoof” de uno de los dispositivos (BD_ADDR y class) y enviar una petición del tipo “HCI_Link_Key_Request_Negative_Reply”, que causa la generación de una nueva clave. Consiste en realizar un “spoof” de uno de los dispositivos (BD_ADDR y class) y enviar una petición del tipo “HCI_Link_Key_Request_Negative_Reply”, que causa la generación de una nueva clave.

40 Vulnerabilidades Denegación de servicio en OBEX Denegación de servicio en OBEX Mala implementación del protocolo OBEX. Mala implementación del protocolo OBEX. Dispositivos afectados: nokia 7610, 3210, ¿otros?. Dispositivos afectados: nokia 7610, 3210, ¿otros?. Envío de un archivo con caracteres “prohibidos” por el protocolo: “:” y “\”. (Punto 4.3, pagina 46 de IrOBEX12.pdf). Envío de un archivo con caracteres “prohibidos” por el protocolo: “:” y “\”. (Punto 4.3, pagina 46 de IrOBEX12.pdf). Requiere aceptar la conexión: riesgo bajo. Requiere aceptar la conexión: riesgo bajo.

41 Identificación de dispositivos.

42 Otras consideraciones Carwhisper. Carwhisper. Enlace con sistema de manos libres en coches. Enlace con sistema de manos libres en coches. Clave por defecto. Clave por defecto. Oír o interferir en las conversaciones. Oír o interferir en las conversaciones.

43 Otras consideraciones Bluetooone / Bluesniper. Bluetooone / Bluesniper. Potenciar la señal de los dispositivos bluetooth mediante antenas. Potenciar la señal de los dispositivos bluetooth mediante antenas. Bluesniper: Bluesniper: http://www.tomsnetworking.com/Sections-article106.php

44 Otras consideraciones Gusanos. Gusanos. Cabir: vallez@29A. Cabir: vallez@29A. Primer gusano de transmisión vía bluetooth. Primer gusano de transmisión vía bluetooth. Requiere aceptar la instalación Requiere aceptar la instalación Riesgo bajo. Riesgo bajo. Commwarior: e10d0r. Commwarior: e10d0r. Primer virus de propagación por MMS. Primer virus de propagación por MMS. Lasco: vallez@29A. Lasco: vallez@29A. Evolución de Cabir Evolución de Cabir Infecta otros archivos “.sis”. Infecta otros archivos “.sis”.

45 Medidas de Seguridad Desactivar Bluetooth si no se utiliza. Desactivar Bluetooth si no se utiliza. Configurar el dispositivo como “no detectable”. Configurar el dispositivo como “no detectable”. Utilizar un nombre que no sea representativo de las especificaciones técnicas. Utilizar un nombre que no sea representativo de las especificaciones técnicas. Utilizar un PIN complejo. Utilizar un PIN complejo. No aceptar conexiones de dispositivos desconocidos. No aceptar conexiones de dispositivos desconocidos. Verificar, de forma periódica, los dispositivos tipificados como de confianza. Verificar, de forma periódica, los dispositivos tipificados como de confianza. Configurar el dispositivo para que acepte cifrado. Configurar el dispositivo para que acepte cifrado. Mantener el “firmware” actualizado. Mantener el “firmware” actualizado.

46 Conclusiones Los fallos encontrados pertenecen a una mala implementación del protocolo en el dispositivo. Los fallos encontrados pertenecen a una mala implementación del protocolo en el dispositivo. Actualmente se puede considerar un protocolo seguro. Actualmente se puede considerar un protocolo seguro. Se han reportado debilidades en multitud de sistemas distintos. Se han reportado debilidades en multitud de sistemas distintos.

47 Referencias http://www.bluetooth.org http://www.bluetooth.org http://www.trifinite.org/ http://www.trifinite.org/ http://www.securityfocus.com/infocus/1836. http://www.securityfocus.com/infocus/1836. http://www.blackops.cn/whitepapers/atstake_smashing_teeth.p df http://www.blackops.cn/whitepapers/atstake_smashing_teeth.p df http://www.geektown.de/index.php?catid=9&blogid=1. http://www.geektown.de/index.php?catid=9&blogid=1.

48 Agradecimientos Organización de NCN, Govern Balear, Parc BIT. Organización de NCN, Govern Balear, Parc BIT. !dSR !dSR FREED0M, ICEHOUSE, Ilo--. FREED0M, ICEHOUSE, Ilo--.