Про взломанные электросамокатыРебятушки, не первый и не второй раз мне присылают
шокирующую новость про удалённое управление самокатами Xiaomi M365.
Шокирующая она только для широкой публики, однако эта информация была давно известна тем, кто интересуется углублённо. Например, нашим соотечественникам, которые делали кастомные прошивки для обоих самокатов, Xiaomi M365 и Ninebot ES1/2/4.
Я не вчитывалась, что там пишут, но имейте в виду, если Xiaomi отыгрывают удивление и обещают всё исправить — это чушь. Эти уязвимости — особенности протокола, в котором изначально не заложена хотя бы какая-то авторизация.
Да, самокаты можно запаролить, но знаете, как проверяется авторизация? Приложение шлёт запрос самокату "эй, вот этот пароль правильный?" и получает ответ "да, всё ок" или "нет, он неправильный". Если получает первый ответ, приложение рисует вам интерфейс управления самокатом, а если второй, выводит ошибку. Только вот никакая сессия не устанавливается, а все дальнейшие запросы выполняются без паролей и ключей.
Это просто проверка на фронтенде. Вы можете вырезать её из приложения и делать с самокатом что угодно. Это я выяснила, когда
интегрировала статус самоката в систему умного дома.
Поверьте, такие уязвимости не допускаются случайно, это просто изначальное нежелание нормально продумывать протокол. Подобная ситуация была, когда я
реверсила протокол чайника Xiaomi. Я не помню, писала ли об этом публично, поэтому на всякий случай повторюсь. Процедура привязки, которую вы видите в приложении Mi Home, где нужно нажать кнопку на чайнике для завершения регистрации — такая же фикция, как и пароль на самокате. На самом деле приложение завершает регистрацию ещё до того, как просит вас нажать кнопку. А если вы её не нажмёте, регистрация просто сбрасывается. Если почитаете мой разбор протокола, вы поймёте, что можете управлять соседскими чайниками, даже не имея физического доступа в квартиру.
Чего уж говорить про весы Xiaomi Mi Smart Scale, про датчики для цветов Mi Flora и многие другие "лайтовые" устройства. Там и вовсе никакой обфускации нет, ничего реверсить не нужно. Подключаетесь и читаете последний измеренный вес своей подружки.
Пожалуйста, не надо ждать от дешёвых китайцев прорывных технологий вроде
проверки сессии, чтобы потом не было неприятных удивлений. Боитесь за воду в чайнике, приватность своих килограммов, сохранность ваших косточек при поездках на самокате? Не используйте Bluetooth устройства от Xiaomi. Единственное из подопытных устройств, запросившее реальное подтверждение при регистрации — Mi Band.