Японские специалисты в очередной раз обратились к классической задаче кибершпионажа — определению вводимых символов по издаваемым клавиатурой звукам
Для экспертов в области нестандартных методов слежки распознавание набора по акустическому сигналу является чем-то вроде «первого шага» — фундаментальной проблемы, которую пытались решить многократно. В недавней статье представителей трёх японских вузов приводится шесть отсылок к более ранним работам по этой тематике, причём самая старая из них опубликована ещё в 2004 году. Однако все прежние практические изыскания, хотя и сулили определённые успехи, сопровождались столь существенными допущениями, что вряд ли могли заинтересовать даже гипотетических агентов спецслужб. Авторы свежей публикации заявляют, что сумели преодолеть большую часть этих препятствий. Попробуем понять, за счёт чего это было сделано и насколько предложенный подход осуществим в реальных условиях.
Прежним исследователям удавалось идентифицировать нажатые клавиши по звуку лишь при условии предварительного изучения акустических характеристик конкретной модели клавиатуры. В более сложных случаях требовалась целая система микрофонов для точного улавливания нюансов звучания каждой кнопки. К тому же все эти методы работали только при полном отсутствии фонового шума. Подобные ограничения делали атаку абсолютно непрактичной.
Японские учёные продемонстрировали возможность уверенного перехвата набора, находясь рядом с целью в общественном месте, фиксируя звук во время онлайн-встречи или даже прослушивая через преграду с использованием контактного датчика. И всё это — с высокой достоверностью и при минимальном объёме обучающих данных. Достаточно записать 150–200 нажатий, чтобы все последующие символы определялись с вероятностью до 99%.
Первоначально аудиоматериал автоматически сегментируется на отдельные звуки каждого нажатия. Запись обрабатывается специальным алгоритмом, упрощающим последующий анализ. Похожие сигналы группируются в кластеры — на этапе распознавания это позволяет предполагать, что они соответствуют одной и той же клавише. Отдельного внимания заслуживает выделение клавиши пробела: её звучание настолько заметно отличается от прочих кнопок, что по ней можно уверенно разделять слова. Это, в свою очередь, облегчает следующий этап — обработку подготовленного материала с помощью лингвистических моделей.
В данном методе задействованы сразу две языковые модели. Первая многократно анализирует распознаваемый текст, пытаясь сопоставить записанные звуки с конкретными символами. На каждом цикле, опираясь на словарные базы, выдвигаются гипотезы о том, какая клавиша была нажата, исходя из соответствия набираемого текста лексическим шаблонам. Вторая модель выполняет итоговую корректировку, получая на вход не сырые, а уже многократно обработанные данные. Но и на этом этапе процесс не завершается: результаты проверяются вручную, для нераспознанных сигналов вводятся предположения, после чего алгоритм запускается повторно. Цель таких циклических итераций — добиться расшифровки при минимальном объёме исходных данных, оптимально — не более двухсот нажатий. Это выгодно отличает новый подход от предшественников, которым требовались гораздо более объёмные выборки. Кластеризация акустических сигналов позволяет сгруппировать близкие по звучанию нажатия ещё до основного этапа распознавания.
Тестирование проводилось на четырёх различных ноутбуках с неодинаковым «голосом» клавиатуры. В каждом опыте участник вводил 2400 знаков, а для анализа бралось от 50 до 400 нажатий. Во всех случаях текст удавалось надёжно определять при наличии записи от 150 нажатий. Точность превышала 80%, а при 200 зафиксированных сигналах приближалась к стопроцентной. Сходные показатели были получены и в условиях, приближенных к реальным, когда микрофон находился в трёх метрах от устройства. Однако авторы проверили и более сложный вариант — перехват через стену с применением специального датчика. Здесь точность несколько падала, но не для всех протестированных моделей. Устройства Dell и Lenovo обеспечивали около 80% правильных определений при 200 нажатиях, тогда как клавиатуры Apple и HP распознавались почти безошибочно.
Говоря об успехах методики, не стоит забывать и о её слабых сторонах. Очевидные недостатки: все испытания проводились на английских текстах, набираемых строчными буквами. Учитывались только буквы, пробел, точка и запятая — всего 29 символов, без учёта цифр. Таким образом, случайные последовательности вроде паролей расшифровать крайне сложно. А ведь именно они чаще всего представляют главный интерес.
Впрочем, японские учёные исследовали и парольную тематику. Разумеется, точность здесь оказалась невысокой. Но авторы предложили иной подход к оценке эффективности. Во-первых, почти всегда есть возможность записать не только ввод пароля, но и другую активность пользователя, где используется естественный язык и мало спецсимволов. Если при анализе звучания пароля привлечь и эти дополнительные данные, шанс на угадывание возрастает. Во-вторых, исследователи справедливо указали, что даже несколько возможных вариантов пароля повышают вероятность взлома того или иного сервиса жертвы. При наличии 426 записанных нажатий, длине пароля всего в пять символов и ста попытках подбора успех с вероятностью 90% гарантирован. Разумеется, более длинные пароли распознаются значительно хуже.
Несмотря на все ограничения, работа японских специалистов — это серьёзный шаг вперёд в области акустического перехвата клавиатурного ввода. В ней предложен вполне реалистичный сценарий, при котором злоумышленник делает непродолжительную запись нажатий. Затем, уже в спокойной обстановке, эти данные обрабатываются многократно, в несколько проходов, с периодическим контролем и корректировкой. Разумеется, прослушивание в шумном кафе или тем более сквозь стену вряд ли станет массовым явлением. А вот перехват набора во время онлайн-конференций с последующей расшифровкой — вполне осуществимая угроза. В целом новое исследование наглядно показывает, что современные алгоритмы позволяют значительно повысить эффективность акустического перехвата.
По материалам Касперский