El Honeywell X2S Smart Thermostat es un termostato con Wi-Fi pensado para integrarse a tu setup típico de smart home, con control desde app móvil. Por supuesto, usarlo tal como viene sería extremadamente aburrido, así que afortunadamente alguien lo tomó para aplicarle ingeniería inversa al firmware encriptado.

¿Qué chips trae el X2S por dentro?

De los dos cerebros del termostato, el primero es un MCU Renesas con el sucinto nombre R7FA6M4AF3CFP, que contiene un núcleo Cortex-M33 a 200 MHz con funcionalidades TrustZone para mantener teóricamente afuera a los hackers de firmware. La parte inalámbrica la maneja un SoC Realtek RTL8721DM que combina Wi-Fi y BLE 5.0. Hay también dos chips Flash Winbond conectados a estos dos chips principales, con sus contenidos por supuesto encriptados.

¿Cómo se rompió el cifrado del Realtek?

Afortunadamente hay muchos puntos de prueba para conectarse, para lo cual el investigador creó una placa breakout custom equipada con pogo-pins. Romper el cifrado del Realtek resultó tan simple como usar su funcionalidad RSIP decrypt-on-the-fly. Desde ahí, explorar el firmware fue el paso siguiente, con un problema TLS relativo a la validación de certificados que hace fáciles los ataques man-in-the-middle, junto a un bug de seeding en el PRNG que hace posible recuperar claves de sesión.

¿Qué falta por reversar?

Aunque el firmware del MCU Renesas todavía debe ser desencriptado y el handshake inalámbrico completo necesita ser reversado, estos parecen ser pasos sólidos hacia la ingeniería inversa completa del termostato. También deja muy claro una vez más que la "S" en IoT efectivamente significa security. Quizá por eso se reventó la burbuja del smart home.

¿Por qué importa este hallazgo?

Termostatos como el X2S aparecen en miles de hogares y oficinas, y la combinación de Cortex-M33 con TrustZone más un módulo Wi-Fi de Realtek BLE 5.0 es exactamente la receta que se repite en cientos de productos smart home de gama media. El problema de TLS con validación de certificado y el bug en el PRNG, por separado, ya son serios. Combinados convierten al dispositivo en un blanco accesible para alguien con acceso a la red local y un dispositivo capaz de hablar Wi-Fi.

Para integradores y administradores de hogares conectados, la lectura corta es: VLAN aislada para dispositivos IoT, monitoreo del tráfico saliente, y desconfianza por defecto del fabricante hasta que el firmware se actualice con validación correcta de certificado y seeding de PRNG hecho a partir de una fuente de entropía real, no de un valor predecible al boot.