Cabecera blog ciberseguridad

Vulnerabilidades Bluetooth en cerraduras inteligentes

Las vulnerabilidades Bluetooth en cerraduras inteligentes pueden causar graves problemas de seguridad

Detectar y mitigar vulnerabilidades Bluetooth en cerraduras inteligentes es fundamental para proteger estos dispositivos IoT

Una cerradura inteligente es un dispositivo IoT que facilita el acceso abriendo una puerta sin necesidad de usar una llave física. En esta segunda parte del análisis de una cerradura inteligente nos centraremos en evaluar las comunicaciones Bluetooth para intentar detectar vulnerabilidades Bluetooth en cerraduras inteligentes.

Concretamente, analizamos la seguridad de Bluetooth y de las comunicaciones de una cerradura inteligente Yale Linus y te contamos los problemas de seguridad identificados.

La importancia de evaluar este mecanismo reside en que la cerradura inteligente que estamos analizando se controla desde una aplicación móvil a través de Bluetooth.

Existen diversas vulnerabilidades en la tecnología Bluetooth. Si bien BIAS y KNOB son las que más atención han recibido, hay vulnerabilidades como BRAKTOOTH que se han explotado durante mucho tiempo y existen otras deficiencias que han tardado años en ser corregidas. Durante el análisis de las comunicaciones Bluetooth se van a comprobar las configuraciones de la cerradura y si esta es vulnerable a estos ataques.

Para una evaluación completa de la seguridad en Bluetooth Low Energy Core 4.2, que es la que usa esta cerradura inteligente, es crucial comprender a nivel técnico algunos aspectos clave de la arquitectura Bluetooth. Esto permitirá identificar posibles riesgos y aplicar las medidas adecuadas para garantizar una comunicación segura a través de la tecnología Bluetooth.

Introducción técnica a Bluetooth

Bluetooth se implementa sobre 4 capas que son L2CAP (control de enlace lógico y conexión), Link Manager (administrador de enlace), Baseband (banda base) y Radio PHY (capa física de radio).

Debido a que desarrollar en Bluetooth sin hacer uso de capas de abstracción es complejo, el SIG (Grupo de intereses especiales de Bluetooth) ha proporcionado una herramienta a los desarrolladores denominada perfiles.

Los perfiles Bluetooth son especificaciones que definen las funciones y comportamientos que los dispositivos deben soportar para realizar tareas específicas. Se pueden citar, entre otros muchos, el perfil manos libres (HFP), el perfil puerto serie (SPP) o el perfil de acceso general (GAP).

Este último, el GAP, es uno de los perfiles fundamentales en la pila de protocolos Bluetooth y debido a ello es obligatorio. A grandes rasgos, GAP es un orquestador y hace uso de componentes Bluetooth como el SDP (protocolo de descubrimiento de servicios), el SM (manejador de seguridad) o el GATT (perfil genérico de atributos).

Analizar las vulnerabilidades Bluetooth en cerraduras inteligentes es fundamental

Uno de los recursos más importantes con los que cuenta el GAP es el GATT. El perfil genérico de atributos (GATT) proporciona la estructura y el conjunto de reglas para la transferencia de datos entre dispositivos Bluetooth, como aquellos que funcionan con la tecnología Bluetooth de baja energía (Bluetooth Low Energy o BLE).

El GATT está soportado por el protocolo ATT (attribute protocol). El protocolo ATT es fundamental en Bluetooth y permite la lectura y escritura de atributos, que son las unidades de información en las que se intercambian los datos.

El GATT utiliza los atributos de ATT y los jerarquiza para definir los siguientes conceptos:

  • Servicio: Colección de datos y comportamientos asociados que implementa una funcionalidad del dispositivo. Se identifica mediante un UUID (universal unique identification) que pueden ser de UUIDs Bluetooth de 16 Bits o 128 Bits.
  • Característica: Unidad de datos de un servicio, que utiliza atributos de ATT para la definición de sus propiedades y valores, y que puede contener datos adicionales en forma de descriptores (también atributos ATT). Se identifica con un UUID.
  • Descriptores: Unidad de dato mínima que permite definir una Característica, es un atributo ATT.
  • Perfil: Conjunto estandarizado de servicios GATT que debe implementar un dispositivo para cumplir con una funcionalidad (no es lo mismo que un perfil Bluetooth como GAP).

GATT utiliza una arquitectura cliente-servidor para el intercambio de datos: el cliente realiza solicitudes y el servidor envía respuestas. Un servidor también puede enviar notificaciones hacia el cliente de forma espontánea.

La seguridad en nuestro dispositivo Bluetooth

La interconectividad es la base de funcionamiento de Bluetooth por ello, ante la aparición de defectos en el protocolo el SIG debe proporcionar una solución, con la dificultad añadida de garantizar la retrocompatibilidad. Esto puede provocar que las vulnerabilidades tarden mucho tiempo en ser remediadas.

Para corregir estos problemas, Bluetooth implementa mecanismos de seguridad en varios puntos del protocolo como en los perfiles, en los modos de operación y en el enlace / emparejamiento.

Hay agencias como NIST y asociaciones como OWASP que plantean guías metodologías para ayudar a los desarrolladores a mejorar la seguridad de los dispositivos, configurando correctamente los mecanismos provistos por el estándar y en algunos proponen implementaciones seguras.

Los defectos de seguridad pueden ocasionar vulnerabilidades de MiTM, problemas de conectividad (DoS) o pérdida del control de la ejecución (RCE).

Tras lo explicado anteriormente uno de los pasos que se acometen durante la auditoría bluetooth de la cerradura inteligente es descubrir los perfiles expuestos y enumerar los atributos agrupados en sus servicios, características y descriptores.

Lo único que se necesita conocer del dispositivo para realizar esta inspección es el MAC-ID del dispositivo. Hemos desarrollado una herramienta que generará la lista de parámetros y se comprobarán las configuraciones de permisos de lectura / escritura.

Device present (%s) 87:C9:85:0F:64:F5
Connecting to device…
INFO: connected
[Service] (%s) 00001800-0000-1000-8000-00805f9b34fb (Handle: 1): Generic Access Profile
INFO: Getting new uuid … [00002a00-0000-1000-8000-00805f9b34fb] Descriptor … [Device Name]
Reading characteristic 00002a00-0000-1000-8000-00805f9b34fb with na‘e ‘Device N’me’…
7 bytes read: 364c3030304655’(b’6L00’FU’)
OK.
Writing 546573745772697465537472696e6732566572696679416363657373 ’(b’TestWriteString2VerifyAcc’ss’)
ERROR: [Characteristic] 00002a00-0000-1000-8000-00805f9b34fb (Handle: 2): Device Name (read), Error: Could not write valu’ b’MachineSerialNumberRand’md’ to characteristic 0002: Access Denied

Tras iniciar la conexión y acceder al servicio GAP, se enumeran los servicios. Dentro del perfil GAP se localiza un descriptor “Device Name” .

De cara a verificar los permisos, tras leer este campo, se intenta realizar una operación de escritura en el mismo. El intento de escritura falla debido a que la configuración de seguridad únicamente permite el acceso de lectura.

Se continúan comprobando los diversos UUID expuestos por los servicios de la cerradura, hasta un total de 44. La mayor parte de ellos no disponen de permisos de lectura o escritura y no tienen un descriptor que ayude a conocer su uso.

Se van a comentar exclusivamente los que han resultado más interesantes de cara al análisis de seguridad.

Manufacturer Name 00002a29-0000-1000-8000-00805f9b34fb

Este campo muestra la información del nombre del fabricante del dispositivo. En este caso ha sido muy útil porque ha permitido desvelar información adicional sobre el dispositivo.

Los profesionales de Tarlogic tienen una amplia experiencia detectando vulnerabilidades Bluetooth en cerraduras inteligentes

Si bien nuestra cerradura es el modelo “Yale Linus”, este atributo indica un fabricante diferente : “August Home Inc.” Esto permite encontrar más información de la cerradura y obtener referencias a problemas de seguridad que han tenido en el pasado y que han sido solucionados. La configuración de lectura / escritura es correcta.

Serial Number 00002a25-0000-1000-8000-00805f9b34fb

Aunque la aplicación móvil tiene controles de seguridad adicionales en la nube, el campo de número de serie es un dato que no debería de exponerse en este dispositivo. Este es el único dato necesario para la configuración de una cerradura en la aplicación. La configuración de lectura / escritura era correcta.

AVDTP 00000019-0000-1000-8000-0026bb765291

Este es el perfil del protocolo de transmisión de audio y video, generalmente esto se configura en dispositivos multimedia como marcos de fotos. No debería estar presente en este dispositivo.

Análisis de comunicaciones Bluetooth

Seguidamente se capturaron las comunicaciones Bluetooth entre el móvil (con la aplicación del fabricante) y la cerradura.

Estas tramas Bluetooth se revisan con la ayuda de WireShark y se comprueba que se han configurado correctamente los mecanismos provistos por el estándar, en este caso son los parámetros de emparejamiento seguro como son la conexión segura (Secure Connection Flag) y prevención contra ataques tipo hombre en el medio (MITM Flag) están activas.

No está configurada el atributo de presionar botón (Keypress Flag) ya que la cerradura carece de botones.

Para detectar vulnerabilidades Bluetooth en cerraduras inteligentes hay que realizar un análisis de las comunicaciones Bluetooth

La información que se obtiene también evidencia que las comunicaciones entre la cerradura y el móvil están cifradas, haciendo uso del cifrado de bluetooth y una codificación en capa de aplicación mediante el intercambio de paquetes de longitud fija, enviando paquetes de 30 Bytes con respuestas de 10 Bytes.

El análisis de comunicaciones muestra información sobre si las comunicaciones entre una cerradura y un móvil están cifradas

Los paquetes de mayor longitud (30 Bytes) son los que inician una comunicación y hacen uso de los manejadores 0x0014 y 0x0019 cuando el mensaje tiene origen en la cerradura y el 0x0012 y 0x0017 si el mensaje se origina en el dispositivo móvil. Los últimos dos bytes de estos paquetes contienen siempre valores 0x02 0x00.

Paquetes obtenidos en el análisis de comunicaciones

Los paquetes de menor longitud (10 Bytes) son los finalizadores de las comunicaciones y parecen ser un ACK (una señal o mensaje enviado por un receptor para indicar que ha recibido la comunicación).

La búsqueda de vulnerabilidades Bluetooth en cerraduras inteligentes debe ser exhaustiva

Gracias al descubrimiento del rebranding se amplió la búsqueda de vulnerabilidades al fabricante August, al que se relacionó con la vulnerabilidad Bluetooth SWEYNTOOTH.

La conclusión que se ha obtenido en esta auditoría es que las configuraciones de seguridad de Bluetooth en la cerradura son correctas, están implementadas con toda la seguridad posible para la versión de estándar utilizada, pero existen algunos defectos de exposición de datos no necesarios:

  1. La característica “Serial Number” no debería de estar disponible públicamente cuando este es el único parámetro necesario para configurar la cerradura en la aplicación, y podría permitir llevar a cabo otros ataques no contemplados hasta la fecha.
  2. El perfil / servicio “AVDTP” no debería estar disponible ya que únicamente aumenta la superficie de ataque de la cerradura y lo más recomendable es desactivarlo al no utilizarse.

Sería relevante estudiar en el futuro el mecanismo de codificación de mensajes intercambiados entre la cerradura y la aplicación, por si pudiesen existir debilidades en el mismo.

Las guías de OWASP y NIST, si bien no son de obligado cumplimiento, deberían de tenerse en cuenta prestando atención a sus recomendaciones para lograr la mejor seguridad posible en los dispositivos.

Además, realizar una auditoría de seguridad IoT es esencial para detectar posibles fallos de seguridad, como las vulnerabilidades Bluetooth en cerraduras inteligentes, y proceder a mitigarlos antes de que sean explotados con éxito por actores hostiles.

Referencias

Bluetooth Errata correction 11838: https://www.bluetooth.org/docman/handlers/DownloadDoc.ashx?doc_id=470741

Más artículos de la serie Cerraduras inteligentes desprotegidas

Este artículo forma parte de una serie de articulos sobre Cerraduras inteligentes desprotegidas

  1. Vulnerabilidades hardware en cerraduras inteligentes
  2. Vulnerabilidades Bluetooth en cerraduras inteligentes