Si tiene un dispositivo Google Home pero le preocupan los micrófonos siempre encendidos, sus preocupaciones están justificadas.
Tener un dispositivo siempre escuchando en casa es algo bastante común hoy en día, especialmente con la proliferación de la línea de dispositivos Echo de Amazon y la serie Google Home. Si bien son piezas de tecnología increíblemente útiles, no están exentas de preocupaciones sobre la privacidad. Tienen micrófonos siempre activos y una conexión a Internet, lo que para algunas personas es una invasión demasiado grande de la privacidad para estar en casa. El investigador de seguridad Matt Kunze ha demostrado que esos temores pueden estar justificados, ya que pudo convertir su Google Home Mini en lo que esencialmente se puede describir como una intervención telefónica.
Si bien esta vulnerabilidad fue descubierta y probada en un Google Home Mini, Kunze dice que supone que el ataque funcionó de manera similar en otros modelos de altavoces inteligentes de Google.
Ingeniería inversa del Google Home Mini
Una solicitud POST a un punto final /deviceuserlinksbatch, identificado mediante mitmproxy.
Vincular una cuenta a un dispositivo Google Home le brinda mucho control sobre él, y las "Rutinas" del dispositivo pueden ejecutar comandos de forma remota. Las rutinas son útiles para predefinir la funcionalidad en función de condiciones específicas, pero se puede abusar de ellas si se puede acceder al dispositivo de forma remota y controlarlo. Un ejemplo de rutina sería decir "Hola Google, buenos días", enciende las luces y te indica el clima del día.
Kunze se propuso descubrir si era posible que un atacante vinculara su propia cuenta de Google al Google Home de alguien. Básicamente, esto le permitiría aprovechar el control otorgado al vincular una cuenta a un dispositivo y usarse para ejecutar comandos de forma remota en la red de alguien.
Hacer uso de herramientas como el proxy man-in-the-middle (mitmproxy) y Frida, pudo observar el tráfico entre la aplicación Google Home en un teléfono inteligente y el dispositivo Google Home. A partir de ahí, descubrió que se podía vincular una cuenta de Google al dispositivo obteniendo su información a través de una API local y luego enviando una solicitud a los servidores de Google con información para vincularlo. Kunze escribió un script en Python que toma las credenciales de Google y una dirección IP y luego vincula la cuenta de Google al dispositivo en la dirección IP dada.
Una vez que tuvo control sobre el dispositivo dado, pudo crear cualquier rutina y activarla en un dispositivo vinculado. Puede invocar al Asistente para que llame a un número de teléfono, lo que podrá hacer en cualquier momento. Para que el ataque sea lo más sigiloso posible, Kunze también habilitó el "modo nocturno", que disminuye el volumen máximo y el brillo del LED. El volumen de la música no se ve afectado en absoluto, lo que hace que sea menos probable que el usuario lo note.
Sin embargo, la cosa empeora, ya que ni siquiera es necesario estar en la misma red Wi-Fi para que este ataque funcione: sólo necesitas proximidad al dispositivo. Si envía paquetes de desautenticación a un dispositivo Google Home, cree que la red se ha caído y crea una red Wi-Fi para que puedas conectarte a ella nuevamente y reconfigurarla para una nueva Wi-Fi red. Las tramas de desautenticación (que son un tipo de trama de administración) se pueden enviar rastreando la dirección IP y es difícil protegerse contra ellas, ya que las redes WPA2 no cifran las tramas de administración.
Sin embargo, de la misma manera que puedes abusar de la API local del dispositivo Google Home y vincularlo a un Google cuenta al estar en la misma red Wi-Fi, puedes hacer lo mismo una vez que te conectes a ella cuando esté en configuración modo.
Escuchar remotamente el micrófono de Google Home
Kunze escribió y probó una prueba de concepto detallada de cómo se podría usar un Google Home Mini para espiar a alguien.
- Crea una cuenta de Google de "atacante".
- Acércate de forma inalámbrica a Google Home.
- Comience a enviar paquetes de desautenticación a Google Home.
- Conéctese a la red de configuración de Google Home.
- Ejecute el script Python para vincular el dispositivo a la cuenta de Google del atacante.
- Deje de enviar paquetes de desautenticación y espere a que el dispositivo se conecte a Internet.
- Ahora puede ejecutar comandos en el dispositivo Google Home, incluido hacer que llame a su número de teléfono.
Un atacante también puede hacer que el dispositivo envíe solicitudes HTTP arbitrarias dentro de la red del propietario. Esto aumenta la superficie de ataque, ya que un atacante podría intentar interactuar con otros dispositivos de la red, incluido el enrutador.
Google ha solucionado el problema
El lado positivo es que después de que Kunze informara esto el 8 de enero de 2021, Google finalmente lo solucionó. Ya no puedes vincular una cuenta a un dispositivo Google Home sin una invitación de la cuenta ya vinculada y ya no puedes llamar a un número de teléfono de forma remota mediante una rutina. Además, en dispositivos con pantalla, la red que el dispositivo crea para la configuración está protegida por WPA2 y requiere una contraseña para unirse.
Si bien esta vulnerabilidad recién se está revelando, no es imposible que alguien más la haya descubierto y haya abusado de ella. Si le preocupan los dispositivos que siempre escuchan, esta es sin duda una justificación para ello. Incluso si este Se soluciona un problema particular, eso no quiere decir que no habrá más vulnerabilidades en el futuro.
Fuente: Matt Kunze