Возможно, идея мифического руткита BadBIOS, который копирует себя в BIOS соседнего компьютера при помощи ультразвука, не такая уж фантастическая. Ученые из института связи, обработки информации и эргономики Общества им. Фраунгофера (Германия) реализовали на практике идею скрытой передачи информации по звуку.
Созданный им концепт позволяет снимать данные или передавать команды на компьютер, который не подключен к сети. Например, это может быть защищенный изолированный ПК, использующийся для управления атомной станцией или запуском баллистических ракет. Такие компьютеры запрещено подключать к сети, но, теоретически, их все равно можно заразить вирусом: в конце концов, изолированные компьютеры на российской АЭС и Международной космической станции уже заражались с флэшек, если верить Евгению Касперскому.
Немецкие исследователи Михаэль Ханспах (Michael Hanspach) и Михаэль Гетц (Michael Goetz) опубликовали техническую статью о скрытых акустических mesh-сетях “On Covert Acoustical Mesh Networks in Air” (зеркало), в которой рассказали об успешном опыте построения скрытой сети из нескольких ноутбуков Lenovo, которые скрытно передавали друг другу информацию на расстоянии до 20 метров. Статья опубликована в научном журнале Journal of Communications.
В качестве канала связи использовались встроенные динамики и микрофоны пяти ноутбуков ThinkPad T400 под операционной системой Debian. Исследователи установили не просто двусторонний канал между компьютерами, а полноценную mesh-сеть, которая способна маршрутизировать пакеты от одного компьютера к другому, третьему — и так далее, пока не найдет канал доступа в интернет и не сможет передать информацию на удаленный сервер.
В экспериментальной сети использовалась передача данных на частоте 18,6 кГц, чуть ниже ультразвукового предела (20 кГц). Но тестовый сценарий включал в себя передачу сигналов на частотах 16-21 кГц, в том числе неслышимых для человеческого уха.
Протокол
В качестве протокола передачи использовался GUWAL (Generic Underwater Application Language), который разработан в армии для подводной связи. Протокол оптимизирован для передачи данных в сетях с очень низкой пропускной способностью. Там используются пакеты по 16 байт, из которых заголовок 2 байта и код CRC 2 байта. Для адреса предусмотрено всего 6 бит, что гораздо экономнее 32 бит в стандартном IPv4.
Исследователи добились стабильной скорости передачи 20 бит/с на расстояние до 19,7 метров. Такой канал связи не подвержен помехам на других частотах, например, из-за громкой человеческой речи.
Недостатки
Ханспах и Гетц признали, что их метод по-прежнему имеет ряд недостатков. Например, ноутбуки должны быть в поле зрения друг друга, потому что отраженный от стен сигнал не может быть обработан. Например, если перед ноутбуком сядет человек и закроет его от соседнего ноутбука, то поток данных обрывается. То же самое относится к ноутбуку в закрытой комнате.
Тем не менее, даже с учетом описанных ограничений, научная работа Ханспаха и Гетца демонстрирует, что существование руткита вроде BadBIOS технически вполне реально, несмотря на скепсис со стороны экспертного сообщества.