Descubierta una “función” oculta preocupante en un popular reloj inteligente para niños

ActualidadIoTniñosvulnerabilidad

Si casi no leíste este artículo porque pensaste que el titular sonaba como una historia que podrías dar por sentado, como lo harías si vieras un artículo llamado “Los dinosaurios aún están extintos” o “El sol saldrá por el este”, entonces ten en cuenta que nosotros casi no lo escribimos por la misma razón.

Lamentablemente, los errores y las vulnerabilidades en los dispositivos fabricados para niños de precio reducido no son un problema nuevo ni inusual.

Sin embargo, según los investigadores noruegos de ciberseguridad que analizaron el reloj XPLORA 4 que se describe a continuación, la empresa que lo vende afirma tener cerca de medio millón de usuarios e ingresos anuales cercanos a los 10.000.000 $.

Por lo tanto, parece que escribir sobre errores de seguridad de los relojes inteligentes sigue siendo importante, porque estos dispositivos se venden constantemente a pesar de su problemático historial de ciberseguridad.

Los relojes inteligentes para niños son populares. Tener tu primer reloj después de aprender a decir la hora sigue siendo un paso más en el desarrollo de la infancia de los niños, al menos en países donde los relojes son asequibles. Y un reloj inteligente ayuda a las familias a matar tres pájaros de un tiro.

En primer lugar, para los niños, ¡es un reloj! ¡Puedes decir la hora tu mismo! ¡Estarás a la moda!

En segundo lugar, no es solo un reloj pasado de moda, porque es lo suficientemente genial y moderno como para encajar directamente en nuestro mundo contemporáneo y conectado.

En tercer lugar, para los padres, es un salvavidas de emergencia que sus propios padres nunca tuvieron, pero que probablemente habrían acogido con satisfacción si hubiesen tenido la oportunidad.

Después de todo, los relojes inteligentes pueden ayudarte a realizar un seguimiento de tus hijos cuando están solos, por lo que ya no tendrás que preocuparte demasiado cuando no llegan a tiempo.

El factor preocupante

Desafortunadamente, los relojes inteligentes que pueden rastrear a tus hijos tienen un factor preocupante que los de pulsera de cuerda y los simples relojes LCD que funcionan con baterías de antaño no tenían.

Esto se debe a que la mayoría de los relojes inteligentes realizan un seguimiento de dónde se encuentra a través de algún tipo de servicio de Internet que requiere acceso a la red siempre activo (o casi siempre activo).

Esto significa que incluso los relojes inteligentes económicos suelen incluir conectividad de teléfono móvil; a menudo ejecutan un sistema operativo de teléfono móvil completo, aunque reducido, como Android; y establecen conexiones de red con regularidad que permiten comunicaciones bidireccionales.

Esas conexiones de red se pueden utilizar no solo para cargar y almacenar datos de seguimiento en los servidores en la nube del proveedor, sino también para descargar actualizaciones y comandos.

Así que hay muchas cosas que podrían salir mal, incluso en un reloj inteligente para niños programado con los objetivos más nobles que podrían poner la privacidad de tus hijos y tu familia en un riesgo innecesario.

La ironía de comprar un reloj para mejorar la seguridad de tu hijo y descubrir que al mismo tiempo reduces su seguridad no pasa desapercibida para los investigadores que escribieron los hallazgos que cubriremos aquí.

Harrison Sand y Erlend Leiknes de mnemonic, una empresa noruega de respuesta a ciberamenazas, trabajaron con el Consejo de Consumidores de Noruega sobre ciberseguridad en relojes inteligentes en 2017 en un informe titulado #WatchOut: análisis de relojes inteligentes para niños, por lo que conocen sobradamente el tema.

Este año, decidieron volver a estudiar el último modelo de una de las marcas de relojes inteligentes que analizaron la primera vez:

Desde el [informe de 2017], [el proveedor noruego de relojes inteligentes] Xplora está emergiendo como uno de los líderes en sus mercados geográficos y se está expandiendo a nuevos territorios. Teniendo esto en cuenta, pensamos que valía la pena analizar su modelo actualizado, el XPLORA 4. En nuestra evaluación anterior, nuestro alcance y enfoque se limitaba a la comunicación entre el reloj y los servidores locales, y la aplicación parental. Esta vez se decidió echar un vistazo más profundo al reloj en sí.

No vamos a explicar en detalle cómo los investigadores realizaron la tarea, si estás interesado puedes leer aquí su informe completo.

Está muy bien escrito: no es lo suficientemente técnico como para que solo lo pueda entender un ingeniero informático con experiencia o un codificador de Android para seguir lo que hicieron, pero tiene suficientes detalles para convertirse en una guía excelente si deseas introducirte en la ciberseguridad de Android.

Lo que encontraron

En resumen, los investigadores:

  • Instalaron un cable USB que se conectaría al punto de conexión del reloj.
  • Usaron una herramienta de software ya disponible para descargar el firmware del dispositivo.
  • Modificaron el firmware para permitir el acceso de nivel raíz (administrador) a través de USB.
  • Cargaron el firmware modificado de nuevo en el dispositivo.
  • Conectado mediante ADB (abreviatura de Android Debug Bridge), la herramienta estándar para el acceso USB.
  • Introdujeron un shell de root en el dispositivo.

Root, como probablemente sepas, es más o menos para Linux y Android lo que Administrador y SYSTEM serían para Windows.

Con un símbolo del sistema de nivel de raíz, los investigadores pudieron explorar el sistema operativo y las aplicaciones de Android en el reloj, y rápidamente descubrieron un paquete llamado Servicio de conexión persistente.

Esta aplicación parecía, entre otras cosas, ser una especie de proceso de depuración o monitoreo del sistema que realizaba un seguimiento automático de los programas que se estaban ejecutando y los mensajes de control que se aceptarían.

Convenientemente, el Servicio de conexión persistente escribió una ruta de depuración que identificaba estos procesos y sus mensajes de control compatibles, por lo que los investigadores notaron rápidamente numerosas líneas fascinantes en el registro de depuración, que se envía a través de la conexión USB a través de ADB.

El resultado de depuración de ejemplo que se muestra en el documento identifica aplicaciones y mensajes de control (conocidos en Android como Intents) con nombres muy sospechosos, como:

 134=com.qihoo.kidwatch.action.COMMAND_LOG_UPLOAD
 165=com.qihoo.kidwatch.action.REMOTE_EXE_CMD
 126=com.qihoo.watch.action.WIRETAP_INCOMING
 317=com.qihoo.watch.action.WIRETAP_BY_CALL_BACK
 320=com.qihoo.watch.action.REMOTE_SNAPSHOT
 303=com.qihoo.kids.smartlocation.action.SEND_SMS_LOCATION

Un análisis más detallado reveló que este servicio de conexión aceptaría por sí mismo mensajes entrantes a través de SMS y utilizaría el contenido de esos mensajes para activar uno de los mensajes de control mencionados anteriormente.

Sin embargo, no bastaría con cualquier SMS entrante: los investigadores descubrieron que estos “metamensajes” (la palabra de la jerga que usamos aquí para describir los mensajes de control utilizados para enviar otros mensajes de control) estaban cifrados con una clave de cifrado secreta compartida entre el fabricante o vendedor y el teléfono.

Aparentemente, la clave secreta es única para cada dispositivo y está programada en la NVRAM del reloj, en algún momento entre la fabricación y el envío. (NVRAM se refiere a la memoria de la computadora que no es volátil, por lo que mantiene su contenido incluso cuando la batería se descarga).

Entonces, los investigadores eligieron uno de los comandos secretos que suenan más jugosos que se muestran arriba, a saber, REMOTE_SNAPSHOT, e intentaron activarlo ellos mismos.

Leyeron la clave de encriptación de la NVRAM del reloj, construyeron su propio mensaje de control cifrado y lo enviaron por SMS al número de teléfono de la tarjeta SIM del reloj.

¡Pillados!

Sin comentarios visibles o audibles, el reloj tomó una imagen encubierta con la cámara incorporada y cargó la imagen en los servidores en la nube del proveedor sin esperar ningún tipo de aprobación.

No se investigó más, presumiblemente pensando razonablemente que su punto ya estaba bien probado y asumiendo que los otros mensajes de control que descubrieron también harían exactamente lo que sugerían sus nombres.

Como lo expresaron sucintamente:

Resumiendo, se puede enviar un SMS cifrado al reloj para activar las funciones de vigilancia.

¿Qué más?

Aparentemente, los investigadores proporcionaron al proveedor, Xplora, sus hallazgos y, de manera creíble, Xplora creó un parche de seguridad que eliminó el problema antes de que pudieran publicaran su informe.

Sin embargo, no pudimos encontrar ninguna mención del informe o del parche en el sitio web o el blog de Xplora, por lo que confiamos aquí en nuestros amigos de Ars Technica, quienes citaron una declaración que recibieron de Xplora que decía:

Este problema que identificaron los evaluadores se basó en una función de instantánea remota incluida en los relojes prototipo internos iniciales para una función potencial que los padres podrían activar después de que un niño presione un botón de emergencia SOS. Eliminamos la funcionalidad para todos los modelos comerciales debido a problemas de privacidad. El investigador descubrió que parte del código no se eliminó por completo del firmware.

Xplora también señaló que cualquier atacante que no esté afiliado con el fabricante o el proveedor del reloj necesitaría acceso físico para poder leer la clave de cifrado de la NVRAM, más el número de teléfono de la tarjeta SIM, antes de poder atacar a un dispositivo específico.

No hemos visto el código que gestiona el cifrado, pero el análisis mnemotécnico lo describe como usando el cifrado RC4, un algoritmo de cifrado con fallos graves que ya no debería usarse en absoluto, con una clave de 32 bits, que es bastante corta comparado con las directrices actuales. Por lo tanto, un análisis más detallado podría haber demostrado que solo el número de teléfono del reloj era realmente necesario para un ataque bien formulado y que la clave de cifrado se podría calcular, adivinar o inferir.

¿Qué hacer?

La pregunta “¿Qué hacer?” es mucho más complicada de lo habitual en un caso como este.

Por lo general, respondemos, “Parchea rápido, parchea a menudo”, pero en este caso, algunos padres pueden pensar que el parche no es suficiente.

Después de todo, todavía quedan dos preguntas importantes sin respuesta:

  • ¿Se eliminaron también los otros comandos remotos, como los preocupantemente llamados REMOTE_EXE_CMD y WIRETAP_INCOMING?
  • ¿Cómo llegaron a incluirse esas funciones en el firmware del fabricante en primer lugar?

O, como los investigadores preguntaron en tono burlón, “Este es [un conjunto de Intents] que se ha creado con una intención. ¿Cuál es exactamente esa intención?

Desafortunadamente, si posees un dispositivo inteligente, especialmente uno diseñado para niños, y resulta que tiene vulnerabilidades desde el principio, es posible que ya no quieras confiar en él.

En ese caso, no tiene más remedio que dejar de usarlo por completo, sin importar cuánto cueste en primer lugar, y el único consejo que podemos ofrecer es: “Recicla de manera responsable”.

Ah, y si usted es un programador o un diseñador de software, no agregues prototipos de “características” de seguridad indocumentadas solo porque creas que podrían ser útiles en el futuro.

Y no utilicse un cifrado obsoleto e inadecuado solo porque pienses que nadie se dará cuenta.

Leave a Reply

Your email address will not be published.