Daniel M. рассказал в X, как одна цифра собрала вокруг колонок Яндекса сообщество любителей своих прошивок. Эта цифра — 4. Таким оказался один из приватных ключей индийского удостоверяющего центра eMudhra.
17 октября исследователь сообщил разработчикам браузеров, что ключи восьми промежуточных сертификатов eMudhra вычисляются из открытых данных: вместо 384 бит случайности там стояли числа вроде 4, 56 и 66. С 17 по 20 октября Firefox, Chrome, Apple и Microsoft заблокировали эти сертификаты. Колонки, телевизоры и роутеры, которые редко обновляют список доверенных сертификатов, так быстро не реагируют.
20 октября пользователь с ником bitracker показал, что Яндекс Станция Мини 2 продолжала доверять этой цепочке. Колонка приняла подставной «сервер Яндекса», получила от него настройку с включённой сетевой отладкой ADB и пустила владельца внутрь с правами суперпользователя. Дальше, по словам Даниэля, люди начали снимать копии системы, экспериментировать с микрофонами, откатывать прошивки, добавлять AirPlay и даже поднимать на колонке сервер Minecraft.
Яндекс подтвердил изданию «Код.ру» уязвимость и уже рассылает обновление, оно ставится само. В компании уточнили, что способ давал права суперпользователя только к своей Станции, а к чужой попасть было почти невозможно. Над сценарием со сбросом к заводским настройкам, после которого, как пишет Даниэль, старый сертификат возвращается, там ещё работают.
У этой истории две стороны. Устройство с микрофонами в квартире доверяло ключу, который вычисляется из открытых данных, и закрыть это может только производитель. Зато владельцы впервые без отвёртки заглянули внутрь колонки, которая слушает их дом. Чем больше ИИ-ассистентов переезжает в квартиры, тем важнее, у кого ключи от них. PS: К слову, стоило этому приколу стать достоянием публики, как подержанных колонок Яндекса на досках объявлений внезапно стало в разы меньше.
Следующий шаг
Если вы выбираете умные устройства для дома или офиса и хотите понимать, кому они доверяют и кто ими управляет, это лучше разобрать до покупки.
Если захотите обсудить, как это применить у себя или в команде — пишите в Telegram @pimenov

