We Be Jammin '- Sin pasar por las puertas de garaje Chamberlain myQ


La idea de controlar la puerta de su garaje de forma remota y verificar que todo esté seguro en casa, o que los paquetes se entreguen directamente en su garaje es atractivo para muchas personas. La conveniencia que ofrecen muchos de estos dispositivos IOT a menudo persuade a los consumidores de pensar en las posibles preocupaciones de seguridad.

McAfee Advanced Threat Research investigó recientemente MyQ Hub de Chamberlain, una plataforma de automatización de puertas de garaje "universal". La forma en que Chamberlain ha hecho que este dispositivo sea universal es a través de un Hub, que actúa como un nuevo abridor de puerta de garaje, similar al que tendría en su automóvil. Esto permite que MyQ Hub se adapte y trabaje con una amplia variedad de puertas de garaje.

Descubrimos que Chamberlain hizo un trabajo bastante bueno al asegurar este dispositivo, que generalmente es poco común para los dispositivos IOT. Sin embargo, descubrimos que hay una falla en la forma en que MyQ Hub se comunica con el sensor remoto a través de frecuencias de radio.

Desde la perspectiva del ataque, hay tres vectores principales que comenzamos a analizar: red local, acceso remoto (API o integración de terceros) y comunicaciones de RF entre el sensor y el Hub. Lo primero que intentamos fue obtener acceso al dispositivo a través de la red local. Un escaneo rápido del puerto del dispositivo reveló que estaba escuchando en el puerto 80. Al intentar navegar al dispositivo en el puerto 80, redirigiría a start.html y devolvería un error 404. No se abrieron otros puertos en el dispositivo.

El interior del Chamberlain MyQ Hub

Desmontar el Hub reveló un pequeño módulo SOC (sistema en un chip) que manejaba las comunicaciones Wi-Fi y web y un microcontrolador PIC secundario que era responsable de controlar el lado de RF de las cosas tanto para la puerta del garaje como para el sensor remoto de la puerta. El MyQ Hub listado en Sitio web de la FCC También incluía un módulo Bluetooth que no estaba presente en los dos Hubs MyQ que compramos.

La conexión UART se desconectó o no se habilitó, pero la conexión JTAG funcionó para comunicarse directamente con el módulo Wi-Fi principal. Con la conexión JTAG pudimos volcar todo el contenido del chip flash y depurar el sistema sin restricciones. El módulo principal de Wi-Fi era un microcontrolador Marvell que ejecutaba un RTOS (Sistema operativo en tiempo real), que actúa de manera muy diferente a un sistema Linux normal. Si bien seguirá ejecutando aplicaciones predefinidas, RTOS generalmente no tiene un sistema de archivos como los sistemas tradicionales. Extrajimos todo el contenido del microprocesador Marvell y pudimos analizar el ensamblaje y determinar cómo se comporta el servidor web.

Al mirar a través del código del servidor web pudimos identificar cómo se configura el dispositivo a través de la API local, así como encontrar algunos comandos interesantes, aunque no muy útiles, que podríamos enviar.

Comandos API locales

Hubo más URL a las que encontramos accesibles y algunas rutas de API adicionales, pero nada se destacó como un buen lugar para comenzar un ataque. En este punto, decidimos investigar los otros vectores de ataque.

No pasamos demasiado tiempo mirando el vector de ataque de terceros y la API remota, ya que se convierte en una especie de área gris para la investigación. Mientras estábamos probando con la llamada a la API / sys / mode, pudimos poner el dispositivo en un restablecimiento de fábrica, donde pudimos intentar agregar el dispositivo a una cuenta diferente. Al capturar el tráfico SSL en la aplicación móvil, pudimos ver que estaba fallando ya que el número de serie ya estaba registrado en otra cuenta. Utilizamos una técnica llamada fijación de SSL para descifrar el tráfico de la aplicación de Android; publicaremos un blog futuro explicando este proceso con mayor detalle. Una cosa que queríamos probar era modificar la aplicación de Android para enviar un número de serie diferente. Como no creemos que el dispositivo haya borrado la información original de la puerta del garaje, podríamos haber abierto el dispositivo desde la nueva cuenta. Sin embargo, todo esto es especulación y no se probó porque no queríamos acceder a la API remota.

El último vector que vimos fue RF. Comenzamos a tratar de descomponer la modulación de frecuencia entre el sensor remoto de la puerta y el Hub. Originalmente pensamos que era una especie de FSK (modulación por desplazamiento de frecuencia) donde los datos se transmiten digitalmente. Si la señal está en una frecuencia, el bit correspondiente es 0 y si la señal se muestra en otra frecuencia, el bit es 1. Esta idea fue descartada ya que el sensor remoto MyQ estaba usando 3 frecuencias diferentes, no solo dos.

Al observar el archivo FCC del sensor de puerta, notamos una revisión particularmente útil que hicieron.

OOK significa "On OFF Keying" y es otro método de codificación de bits digitales en RF. OOK enviará una señal (1) o no enviará una señal (0). Esto significa que tanto el transmisor como el receptor deben estar sincronizados.

On Off Keying Representación gráfica

Aquí está la representación binaria para la señal capturada desde el sensor remoto de puerta MyQ. Esta es una ventana estrechamente ampliada de toda la señal.

Un mensaje completo capturado, cada color tiene una frecuencia diferente

aaaaaaaa559999aa59655659a6965aa9a99996aa6aa0aaaaaaaa55a9699a6566696699555a6a5556966555500aaaaaaaa559999aa59655659a6965aa9a99996aa6aa

Podemos observar la transmisión de estado capturada de las tres frecuencias y convertida a hexadecimal. Es fácil identificar patrones de datos dentro de la transmisión, como se representa en el color anterior, pero nunca pudimos descifrarlo para transmitir arbitrariamente estados falsos desde nuestro SDR (Software Defined Radio). También notamos que los ingenieros de RF en Chamberlain tenían en mente la seguridad no solo al separar la señal en tres frecuencias separadas, sino también al implementar códigos continuos. Puede estar familiarizado con la técnica del código móvil de cosas como su abre-puertas de garaje estándar o el llavero de su automóvil. Los dispositivos de código continuo evitan que un atacante capture directamente una señal y la reproduzca. Esto es evitado por la señal que contiene un identificador único que el receptor anota y si el receptor vuelve a ver esa señal con la ID única, la ignorará.

La forma en que los atacantes han superado los dispositivos de código móvil es mediante un método llamado "Roll Jam. ”Un atacante bloqueará la señal del código móvil del transmisor, impidiéndole que llegue al receptor, mientras que simultáneamente captura el código móvil válido y lo almacena. De esta manera, el atacante ahora tiene un código móvil válido y no utilizado que el receptor nunca ha visto antes. La advertencia de este método es que normalmente la víctima notará que la puerta del garaje o el automóvil no se desbloquearon. Un método más sigiloso para Roll Jam siempre es capturar el último código y reproducir la última señal menos 1. De esta manera, el automóvil o la puerta se abrirán, pero el atacante aún posee el último código para su uso.

MyQ también tenía una implementación de código variable con la que pudimos desarrollar una variante de esta técnica. Tomamos el concepto de bloquear el código original del receptor al transmitir una gran cantidad de "ruido" directamente adyacente a la frecuencia de señal válida. Esto hace que el receptor en MyQ Hub se sobrecargue y no escuche la señal válida. Sin embargo, con la precisión del SDR, pudimos ignorar el ruido que estamos transmitiendo y almacenar la señal. Esto se complicó aún más por el hecho de que había tres frecuencias que teníamos que escuchar y tocar simultáneamente. Si está interesado en esta técnica Roll Jam de FHSS (espectro de salto de frecuencia), lea nuestro documento técnico.

Dentro de la investigación relacionada con el Hub de puerta de garaje de Chamberlain que se describe en este blog, la única interferencia fue la frecuencia de radio del espectro sin licencia durante el período mínimo mientras el centro de la puerta de garaje transmitía una señal de estado, y no hubo interferencia con ninguna señal de comunicaciones autorizada o autorizada bajo la Ley de Comunicaciones o las reglas de la FCC.

Esta técnica funcionó, pero dado que el sensor remoto y el MyQ Hub siempre tienen la ventaja en el paisaje de RF, no era confiable. El aspecto de bloqueo del ataque funcionó bien; Sin embargo, dado que estamos fuera del garaje y el sensor remoto y el Hub están ubicados dentro del mismo garaje, es más difícil atascarse y escuchar al mismo tiempo con la puerta del garaje y las paredes actuando como barreras. Con radios de mayor potencia, antenas sintonizadas en frecuencia y sin tener en cuenta las leyes de la FCC, el bloqueo del sensor remoto podría tener lugar a una distancia mucho mayor de la que pudimos probar en nuestro entorno de laboratorio.

Una vista en cascada de la señal del sensor remoto (rojo) y la interferencia (negro)

Con nuestra interferencia funcionando de manera confiable, confirmamos que cuando un usuario cierra la puerta del garaje a través de la aplicación MyQ, el sensor remoto nunca responde con la señal cerrada porque la estamos interfiriendo. La aplicación alertará al usuario que "Algo salió mal. Inténtelo de nuevo ”. Aquí es donde un usuario normal, si no está a la vista directa de la puerta del garaje, pensaría que la puerta de su garaje está abierta, cuando en realidad está bien cerrada. Si el usuario cree en la aplicación MyQ, haría lo que la aplicación indica e "intentará de nuevo": aquí es donde entra en juego la apatridia de las puertas de garaje. MyQ Hub enviará la señal abierta / cerrada a la puerta del garaje y se abrirá, porque ya está cerrada, y simplemente está cambiando de estado. Esto permite que un atacante ingrese directamente al garaje y, en muchos casos, a la casa.

Como ahora la puerta del garaje está realmente abierta, el atacante probablemente no quiera salir del estado tal como está, notificando a la víctima que algo salió mal nuevamente. Poner la puerta del garaje en un estado cerrado y permitir que la aplicación borre el error tranquilizará a la víctima. Esto podría ejecutarse ya sea mediante una repetición de una señal cerrada capturada previamente o, de la manera más simple, quitando el sensor remoto del velcro en la puerta del garaje y colocándolo en posición vertical, señalando al Hub que la puerta se cerró exitosamente.

Diagrama de flujo del estado de reproducción de ataque

También nos dimos cuenta de que en un escenario del mundo real, un atacante probablemente no se sentaría fuera de un garaje todo el día, por lo que decidimos automatizar el ataque. Utilizamos la radio GNU para implementar un método JIT (justo a tiempo) de interferencia donde el SDR permanecerá inactivo escuchando las tres frecuencias separadas de MyQ. En el momento en que advierte que el sensor remoto de la puerta está comenzando una transmisión, habilitará dinámicamente y comenzará a bloquear la señal.

GNU Radio JIT Jamming y State Capture en 3 frecuencias simultáneas

Esto amplía los casos de uso de este tipo de ataque al poder crear un pequeño dispositivo que podría colocarse fuera de la vista cerca de la puerta del garaje. Esta técnica también se describe con más detalle en nuestro documento técnico de FHSS. El bloqueo de JIT hace que sea muy difícil ubicar el dispositivo utilizando la triangulación de RF y permite que esté mejor equipado para el funcionamiento con batería.

Si bien esto puede no ser demasiado común para las personas que usan MyQ Hub, recuerde la referencia anterior a las asociaciones de terceros con MyQ para la entrega en el garaje. Otro posible ataque sería cuando un controlador de entrega utiliza la aplicación. La razón principal por la que los usuarios se suscriben a este servicio es el concepto de entrega de paquetes a un lugar seguro (garaje) incluso cuando no están en casa. La víctima puede estar ausente de la propiedad pero tener acceso a través de la aplicación MyQ a través de Internet para abrir o cerrar la puerta del garaje si un conductor de entrega utiliza el centro MyQ para una entrega en el garaje. Un hacker determinado podría llevar a cabo este ataque y la víctima puede tener una mayor probabilidad de creer que la puerta puede estar abierta. Divulgamos nuestros hallazgos en su totalidad a Chamberlain el 25/09/2019, incluidos los pasos detallados de reproducción para el ataque de interferencia. También hablamos con Chamberlain sobre este problema con los controladores de entrega de terceros y cómo podría encajar en este modelo de ataque. Después de extensas pruebas y validación del problema, el proveedor lanzó una actualización de la aplicación myQ a partir de la versión 4.145.1.36946. Esta actualización proporciona un valioso mensaje de advertencia a los usuarios que indica que el estado de la puerta del garaje puede no ser preciso, pero no elimina que el usuario controle la puerta de forma remota.

La belleza de los dispositivos IOT es que resuelven problemas con los que hemos aprendido a lidiar. Después de experimentar la comodidad y la forma en que estos dispositivos pueden automatizar, proteger o ayudar en nuestras vidas, es difícil ver que desaparezcan. Esta facilidad y automatización a menudo eclipsa la amenaza potencial de seguridad que pueden representar. Incluso las mejoras simples de los productos manuales a lo largo del tiempo tienen este efecto; Tomemos, por ejemplo, el abridor de puerta de garaje ahora heredado en su automóvil. La capacidad de capturar y reproducir las señales básicas transformó la amenaza del espacio físico al digital. Si bien el Chamberlain MyQ Hub finalmente produce un método generalmente más seguro para acceder a los garajes que sus predecesores, los consumidores deben tener en cuenta que cualquier extensión de una plataforma tecnológica, como el uso de WiFi, una aplicación móvil y transmisiones de RF de FHSS, también extiende posibles vectores de amenazas.

Nos gustaría terminar comentando que la probabilidad de un ataque del mundo real contra este objetivo es baja, en función de la complejidad del ataque y la huella de la instalación. Hemos discutido esto con Chamberlain, quien ha validado los hallazgos y está de acuerdo con esta evaluación. Chamberlain ha realizado esfuerzos claros para construir un producto seguro y parece haber eliminado gran parte de la fruta de bajo perfil común a los dispositivos IoT. Ha sido un placer trabajar con este proveedor y prioriza claramente la seguridad como previsión en el desarrollo de su producto.

(incrustar) https://www.youtube.com/watch?v=6ZgK_r7g7kA (/ incrustar)

NOTA: Dentro de la investigación relacionada con el eje de puerta de garaje de Chamberlain descrito en este blog, la única interferencia fue espectro sin licencia radiofrecuencia durante el período mínimo mientras el centro de la puerta del garaje transmitía una señal de estado, y no hubo interferencia con ninguna señal de comunicaciones autorizada o autorizada según la Ley de Comunicaciones o las normas de la FCC.





Enlace a la noticia original