Три сценария для гипотетического секретного канала передачи данных: колонки-колонки, колонки-наушники (без микрофона) и наушники-наушники (без микрофонов)
Специалисты из научно-исследовательского центра компьютерной безопасности в университете имени Бен-Гуриона за последние годы представили немало креативных способов снятия информации с изолированного компьютера: по морганию светодиода HDD, электромагнитному излучению разъёма USB, шуму кулера GPU и так далее.
В конце 2016 года они представили программу Speake(a)r, которая незаметно для пользователя превращает его наушники в микрофон. Сейчас специалисты описали атаку MOSQUITO с описанием протокола для обмена данными между колонками и наушниками на разных компьютерах, расположенных на расстоянии до 10 метров.
На аппаратном уровне микрофон и колонки/наушники работают по схожему принципу. Микрофон преобразует звук в электрические сигналы, а пассивные колонки или наушники осуществляют обратную операцию. В обоих устройствах присутствует маленькая диафрагма, которая колеблется в магнитном поле для генерации/детектирования звуковых волн. Схожее аппаратное устройство позволяет использовать микрофон вместо наушников или наушники вместо микрофона.
Особенность программы Speake(a)r состоит в том, что она незаметно меняет назначение аудиоразъёма, куда подключены наушники. Вместо аудиовыхода (line out) разъём начинает работать на приём данных (line in).
Атака MOSQUITO предусматривает, что зловред каким-то образом устанавливается на компьютер, изолированный от внешних каналов передачи данных (air-gapped), а затем передаёт секретную информацию найденную на этом компьютере — локальные файлы — генерируя звук через подключенные колонки или наушники.
Информация принимается на другом ПК. Предполагается, что этот второй компьютер или принадлежит злоумышленнику, или тоже заражён зловредом, но при этом подключен к интернету, так что может «слить» информацию во внешний мир. Компьютер-приёмник получает аудиосигнал через подключенные колонки или наушники и восстанавливает исходные файлы. Нужно заметить, что активные колонки нельзя использовать в качестве микрофонов. В этом качестве работают только пассивные колонки или обычные наушники.
Исследователи опубликовали детали протокола передачи данных и испытали его на рсстояниях от 1 до 9 метров. Максимальная скорость передачи составила 1200-1800 бит/с в случае, если колонки двух компьютеров направлены друг на друга, а звук издаётся в слышимом диапазоне (ниже 18 кГц).
Если же рассматривать более реалистичные сценарии, когда передачу данных требуется скрыть от присутствующих людей, а колонки развёрнуты в разные стороны, то скорость передачи существенно снижается. Проблема в том, что колонки для домашних пользователей часто оптимизируются для более качественного звучания исключительно на средних частотах, которые лучше всего воспринимаются человеческим слухом. Соответственно, в не воспринимаемых человеком сверхнизких и сверхвысоких частотах колонки работают не очень качественно.
Скорость передачи также снижается, если вместо колонок для передачи звука использовать наушники-вкладыши — от 300 до 600 бит/с, а в случае наголовных микрофонов ещё меньше — до 250 бит/с. Причина в том, что закрытые наушники направляют звук в одном направлении и довольно хорошо изолируют его в остальных, так что успешная передача данных возможно только на очень малом расстоянии.
В лабораторных условиях на расстоянии 3 метра в диапазоне от 18 кГц до 24 кГц с коэффициентом ошибок не более 1% передача килобайтного файла произведена на скорости 166 бит/с. На расстоянии от 4 до 9 метров с тем же коэффициентом ошибок скорость понижается до 10 бит/с.
Среди других факторов, которые ограничивают скорость передачи данных, учёные называют окружающие шумы, в том числе музыку и человеческую речь. Но многих помех можно избежать, если передавать информацию в диапазоне выше 18 кГц.
Исследователи считают, что самый действенный способ защититься от подобной атаки — отключить от компьютера наушники и динамики, но это не всегда возможно.