Отключение микрофонов на Станциях

Материал из База знаний
Перейти к навигации Перейти к поиску



Лирическое отступление

Периодически в чате сообщества кто-то задаётся вопросом, можно ли "со стороны" включить микрофоны, раз они деактивируются кнопкой, а не "тумблером" с двумя чётко видимыми состояниями?

Кто-то откровенно смеётся, упоминая паранойю, а кто-то наоборот - придаёт, скажем так, преувеличенное значение важности произносимых ими в быту фраз. Но порой для опасений действительно есть основания. Ведь как показали исследования, кнопка “Mute” не выключает микрофон в нативных программах для телеконференций (веб-версии в этом плане защищены лучше), а в передаче записей платным подрядчикам засветились компании Apple, Amazon, Facebook, Google и, конечно, как без Microsoft.

Есть и третья группа пользователей, которая просит сделать управление микрофонами программно доступным, чтобы использовать эту возможность в сценариях и голосовых командах.

Как же дела обстоят с микрофонами на умных колонках от Яндекса? Поставим точку в этом вопросе.


Когда и как слушают микрофоны

Смежная с основной темой статьи, но важная для её понимания информация. Распознавание состоит из нескольких фаз:

  • Микрофоны и процессор постоянно мониторят окружающий фон на наличие ключевых активационных слов (они называются "споттеры"): "Алиса", "Яндекс" и несколько команд управления экраном ("Выше", "Ниже", "Домой"). За это отвечает маленькая нейронная сеть в самих колонках, которая обучена распознавать споттеры (и только споттеры) на большом количестве тестовых сэмплов (образцов голоса) разных голосов и дикций. Кстати, это ответ на вопрос, можно ли дать колонке "своё" имя - нет. Потому что для этого требуется обучение сети на том самом большом количестве сэмплов.
  • Если споттер найден - обезличенный обработанный сэмпл отправляется на сервера Яндекса, где уже взрослая большая нейронная сеть подтверждает или нет правильность распознавания. Когда вы видите кратковременно загоревшийся индикатор в кольце или на панели Станций - это как раз второй случай.
  • Если "большая сеть" подтвердила - сэмпл распознаётся, из него выделяется интент (команда пользователя) и передаётся в соответствующий сервис (прогноз погоды, новости, умный дом, такси итд). Команда выполняется. Индикатор выключается.
  • Микрофоны ищут следующий споттер.
То есть, пока не произнесён споттер (или похожее на него слово), окружающие звуки для колонки ничего не значат и, конечно же, не обрабатываются и никуда не передаются. Другими словами, колонка "слушает" непрерывно, но игнорирует всё, кроме обращений к себе.


Зачем отключать микрофоны?

Причины могут быть разными. Кто-то продолжает считать, что нарушается его конфиденциальность. У кого-то отзывается "не та" колонка. Кто-то хочет избежать ложных включений (например, в ночное время) - хотя, кажется, правильнее для этого убирать громкость колонки (для этого отлично подходят сценарии по расписанию).

Что же происходит, когда мы отключаем микрофоны на Станции? Давайте разбираться.


Способы управления цепями

Начнём с вариантов управления любой цепью (необязательно микрофонной). Их можно условно разделить на три группы:

  • аппаратное электрическое (грубо говоря, разорвать провод);
  • аппаратное электронное (развитие предыдущего способа, когда отключением управляет электронная схема);
  • программное (когда сигнал отключения поступает от процессора или другой микросхемы с программной логикой на борту).

Всё остальное - это их комбинации. Например, выключатель может подавать логический сигнал на микропроцессор (что сводит на нет все доводы любителей приводить фото с выключателем на корпусе Homepod) и процессор сам решит, отключать ли звук на самом деле, или включит звук позже, в нужный для него момент.

Первый вывод: выключатель на внешней панели - никакая не гарантия защиты от управления со стороны.

Электронное управление - развитие первого варианта. Здесь кнопка подаёт сигнал на логическую схему (как правило, это триггер), которая попеременно включает и выключает цепь. И да, команда на переключение тоже может поступать в микропроцессор ))

Второй вывод: кнопка и выключатель - чисто внешние, декоративные элементы, никак не связанные с фактической реализацией отключения.

То есть, вопрос безопасности не в том, какая рюшка выведена на панель устройства, а в том, куда она подаёт сигнал: на ножку процессора или на изолированную электрическую цепь.

Третий вывод: единственный важный фактор - изолированность управляющих цепей от любого воздействия со стороны программного обеспечения.


Колонки с Алисой

Перейдём к устройству Станций, благо Яндекс открыто публикует информацию о цепях управления.

Схема и блок-схема отключения микрофонов на первой Станции (источник - статья из блога Яндекса на Хабре "Яндекс Станция. Как мы создавали первое устройство с Алисой").

Как видим, аппаратная часть полностью изолирована от программной и не может изменять состояние микрофонов без нажатия кнопки. Станция Макс имеет аналогичную схему. Перейдём к меньшим колонкам на примере Мини:

Схема взята из записи стрима на канале "Разработка" под названием "Я.Железо: разбираем Яндекс.Станцию Мини в прямом эфире". Вот ссылка на тайм-код подробного описания работы этого узла. Отсюда понятно, что при перезагрузке колонки программно (без отключения питания, даже если такую возможность предположить) микрофон останется отключённым. А вот при отключении вами колонки от розетки при запуске микрофоны включатся, так как последовательность заряжающихся RC-цепочек проинициализирует триггер в состояние "микрофоны активны". То же произойдёт и при кратковременном отключении света.

Закрепим: при включении не считываются какие-то "ранее сохранённые значения из EEPROM", а происходят фиксированные электрические процессы. То есть, управление микрофонами отделено от логики процессора - что, как мы и выяснили выше, является ключевым фактором защиты от несанкционированной активации.

Что не менее важно, любой желающий может вскрыть колонку и проверить открытую Яндексом информацию. И здесь мы подходим к ещё одному - не столь, может быть, очевидному - доказательству безопасности. На момент создания этой страницы прошло ровно 4 (четыре) года. Ужа на весну прошлого года было продано 1,3 миллиона колонок с Алисой, и темпы только растут. Если бы в Станциях была подобная уязвимость - она была бы обнаружена далеко не одним человеком, а затем её проверили бы как минимум сотни любопытных пользователей, независимых лабораторий и журналистов.

Но этого нет, и доказательством в данном случае выступает само время.


Несколько цитат из чата сообщества в ходе очередной дискуссии

Напоследок пара любопытных высказываний из чата сообщества, которые нельзя не привести:

А кто мешает поставить липовый переключатель, у которого будет программно считываться состояние и при этом программно отключаться микрофон. Потом вы попросите, чтобы микрофоны просто вынимались, как вставная челюсть бабушки?
Можно вообще что угодно обойти, поставив дополнительный секретный микрофон
Но тут, если беспокоиться об этом, надо уехать в лес в землянку жить. Вокруг сотни микрофонов, телефоны, планшеты, ноутбуки...

Без комментариев )

Источник — https://wiki.yaboard.com/index.php?title=Отключение_микрофонов_на_Станциях&oldid=6929 // MOD ext links // End MOD