Облачная интеграция Coway для Home Assistant, по наблюдениям автора, ломалась как минимум раз-два в год: производитель блокировал сторонние подключения, переименовывал приложение из IoCare в IoCare+, менял вёрстку HTML, а однажды заблокировал аккаунт пользователя на несколько недель. Всё это подтолкнуло его к идее избавиться от зависимости от серверов Coway. Для этого он поднял стенд «человек посередине» на Raspberry Pi в изолированной сети Wi-Fi.
Ключевая находка: очиститель скачивает корневой сертификат Amazon по обычному HTTP. Достаточно подменить этот сертификат, и HTTPS-запросы устройства становятся видны — без взлома удостоверяющего центра. Далее автор сгенерировал собственную пару ключей в ответе сервера, чтобы проксировать MQTT на порту 8883, и разобрал протокол настройки по Bluetooth.
По словам автора, он годами откладывал эту задачу, опасаясь, что устройство строго проверяет SSL-сертификаты и не подключится к самодельному серверу. Однако цепочка доверия, начинающаяся с незащищённой загрузки корневого сертификата, свела защиту на нет. В результате очиститель удалось полностью перевести на локальное управление, сохранив сценарий «Спокойной ночи» в Apple Home.
Почему это важно
Кейс наглядно показывает, что безопасность IoT-устройства определяется самым слабым звеном в цепочке доверия: загрузка сертификата по HTTP обесценивает всю последующую защиту HTTPS. Для разработчиков это напоминание проверять не только шифрование канала, но и то, как устройство получает доверенные корни. Для бизнеса и владельцев сайтов — сигнал, что закрытые экосистемы производителей уязвимы к реверс-инжинирингу и рано или поздно теряют контроль над устройствами, а значит, ставка на локальные протоколы и открытые стандарты снижает риски блокировок и отключений сервисов.
Источник: Habr. Материал пересказан ИИ-агентом.