Британские исследователи показали, что микрофоны умной колонки способны подслушать текст, вводимый на смартфоне, по звуку нажатий пальцев на экранную клавиатуру.
Точность атаки невысока — при подборе пятизначного пин-кода за десять попыток шанс угадать его составляет 15 процентов. В качестве защиты от такой атаки авторы предложили разработчиком операционных систем или виртуальных клавиатур воспроизводить лишние звуки во время набора текста.
Умные колонки вызывают большие опасения у исследователей в области информационной безопасности с момента появления такого класса устройств в 2014 году, когда Amazon выпустила первую колонку Echo.
Абсолютное большинство исследований сконцентрировано вокруг самих колонок: они оснащены постоянно слушающим микрофоном, который может переслать на сервера компании (а при взломе — на сервера злоумышленника) конфиденциальные данные.
Также голосовым помощникам, как правило, доступны другие устройства и личная информация, поэтому в некоторых работах исследователи создавали методы скрытного управления колонкой, к примеру, при помощи ультразвука.
Исследователи из Кембриджского университета под руководством Росса Андерсона (Ross Anderson) показали, что умную колонку можно использовать в качестве промежуточного звена при атаке на смартфон.
Они исходили из результатов своего предыдущего исследования, которое показало, что вводимый на смартфоне текст можно распознавать по звукам, возникающим в устройстве, когда палец нажимает на клавиши, поскольку нажатие в разные места вызывает разные звуки. В новой работе авторы, по сути, дистанцировали атаку и «отвязяли» ее от устройства, с которого нужно украсть данные.
У предложенного ими метода есть несколько важных предварительных условий: у злоумышленника должен быть доступ к микрофонам колонки или записями с нее, а также копия смартфона или планшета, с которого он пытается добыть текст или пароль. Второй пункт необходим из-за того, что звуки, возникающие при наборе текста, специфичны для каждой модели смартфона, и более того, на них влияют даже чехол или пленка на экране.
Исследователи имитировали умную колонку при помощи чипа ReSpeaker с шестью микрофонами, предназначенного как раз для сборки умных колонок, и микрокомпьютера Raspberry Pi. В нескольких десятках сантиметров от микрофонов располагались смартфоны или планшеты. Авторы записывали звук как шестимикрофонной платы, так и с самого смартфона — они не учитывали записи с устройства во время распознавания, только для анализа.
Распознавание набранных символов работает в два этапа. Сначала алгоритмы анализируют звук и распознают в нем нажатия, а затем эти нажатия относятся к тому или иному символу. Запись на смартфоне позволила исследователям частично автоматизировать сбор и разметку данных, поскольку результаты разметки данных со смартфона можно считать истинными из-за большего отношения сигнала к шуму. Авторы собрали датасет из записей с ассоциированными временными метками и символами, что позволило обучить алгоритмы.
Исследователи создали две модели для распознавания нажатий и символов, работающие на основе сверточной нейросети или линейного дискриминантного анализа. Они провели тесты на трех типах данных: пятизначных пин-кодах, состоящих из цифр, отдельных буквах и английских словах. Точность зависела от модели смартфона и алгоритма, в качестве типичных значений авторы приводят 15 процентов после 10 попыток для пин-кода и 50 процентов для слов.
Один из недостатков этого метода заключается в сложности доступа к записи звука с умной колонки, и в качестве одного из решений авторы предложили использовать функцию звонка, доступную в некоторых колонках.
Потенциально команду на звонок можно дать с помощью другой атаки, разработанной в прошлом году инженерами из Японии и США. Они научились давать голосовые команды при помощи лазерного луча, направляя его в микрофон и изменяя интенсивность излучения так, чтобы диафрагма микрофона преобразовывала свет в звук.