Передача информации с изолированного (air-gapped) компьютера — нетривиальная задача, поскольку он отключён от сети и обычно находится в отдельном помещении. Но это возможно по сторонним каналам. Например, съём электромагнитного излучения с видеокарты или с других компонентов на материнской плате, распознавание нажатий клавиш по звуку и др.
Существует ещё одна область исследований, в которой различные компоненты ПК используют в качестве «маячков», чтобы подавать сигнал дистанционному наблюдателю. Так можно передать одно или несколько слов или цифр. Например, секретный пароль или конфигурацию настройки оборудования с секретного компьютера.
В частности, можно подавать сигнал морганием светодиода HDD, маршуртизатора или клавиатуры, электромагнитным излучением с шины USB, звуками кулера GPU и магнитной головки HDD, через тепловое излучение и аудиоколонки (ультразвук), изменением энергопотребления ПК и яркости дисплея, вибрациями вентилятора и др.
Недавно к этому списку добавился новый способ: радиотрансляция с помощью кабеля SATA (стандартный красный кабель для подключения SSD, HDD и CD/DVD).
В коннекторе SATA семь контактов, в том числе три заземления (1, 4, 7), два для передачи (2, 3) и два для приёма (5, 6):
Интерфейс SATA в фоновом режиме постоянно транслирует электромагнитное излучение в диапазонах 1 ГГц, 2,5 ГГц, 3,9 ГГц и около 6 ГГц. По характеристикам сигнала можно различить операции чтения и записи:
Для работы радиомаячка нужно подмешать полезный сигнал в эту трансляцию — а потом уловить её на стороне приёмника. В данном случае в качестве различимых радиоимпульсов использовались файлы, которые передавались по SATA 3.0. Каждая такая передача различима на спектрограмме. Соответственно, их можно использовать для маячка и кодировать полезную информацию.
Алгоритм генерации сигнала SATA 3.0 для заданной последовательности байт:
На стороне приёмника работает программное радио (Software Defined Radio), которое записывает сигнал в диапазоне от 5,9 до 6 ГГц. После преобразования Фурье распознаются заголовки начала пакетов и извлекается полезная нагрузка.
Алгоритм декодирования сигнала:
Приятная особенность такого зловреда в том, что его можно вставить в рабочую память прямо из браузера как отдельный процесс, и это не вызовет подозрений у антивируса. В конце концов, вредоносный код просто записывает и считывает файлы во временных папках, что совершенно нормально. Процесс не передаёт по сети никакой информации и не связывается с удалённым сервером, то есть не делает ничего подозрительного.
Неподалёку от заражённого компьютера следует расположить приёмник для записи радиопередачи.
Атака SATAn
Экспериментальную радиопередачу провели с трёх десктопов, оснащённых накопителем Transcend 256GB MLC SATA III 6Gb/s 2.5” Solid State Drive 370 под управлением Linux Ubuntu 20.04.1 64-бит.
В качестве приёмника использовали устройство ADALM PLUTO Software-defined Radio (SDR) AD9364 RF, подключённое по USB к компьютеру под Windows 10, а демодуляцию производил скрипт в программе MathWorks MATLAB.
Слово SECRET в радиоканале:
Спектрограмма передачи с различными таймингами:
Эксперимент показал возможность успешного приёма информации на расстоянии до 90 см от передатчика, в то время как на расстоянии процент ошибок увеличивается до 15%. Активность SATA во время чтения и записи сильно выделяется из общего сигнала. Научная статья Мордехая Гури (Mordechai Guri) из университета имени Бен-Гуриона в Негеве (Израиль) опубликована 15 июля 2022 года на сайте препринтов arXiv.org (doi: 10.48550/arXiv.1803.03422).
В качестве защитной меры специалисты рекомендуют экранировать корпус и запретить использовать радиоприёмные устройства вблизи компьютеров.
Комментарии (9)
PKav
04.08.2022 19:25Давайте, тогда уж, модулировать данные нагрузкой процессора, чтобы подсистема питания шумела в такт передаваемым битам
Squoworode
04.08.2022 19:48+1Уже исследовано: https://thehackernews.com/2020/05/air-gap-malware-power-speaker.html
vesper-bot
То есть мало того, что датчик, который протащили в airgap, должен ловить частоты в районе 6 ГГц с погрешностью 1е-6, так ещё и корпус должен быть пластиковым? А если в ОС окажется настройка как в линуксах, fsync не чаще раза в секунду, то физическая запись вообще не пойдет в половине случаев, к тому же собьются тайминги канала передачи данных на фоне. В сущности, эта атака немногим слабее обычного моргания лампочкой HDD-активности, но её сложность в разы выше. Правда, у airgap-устройства любые лампочки можно оторвать, а кабель SATA оторвать нельзя без потери функционала устройства, но ничто не мешает (теперь) вместо SATA поставить NVMe и долго смеяться.
GennPen
А еще SATA-кабель должен быть специально неисправным, чтобы излучать в эфир. Нормальный SATA-кабель ничего не излучает. Если кабель будет излучать в эфир, то будут соответствующие помехи на передаваемом сигнале данных, будет сыпаться куча ошибок.
face86
Излучают ВСЕ проводники, по которым течёт ток. Тем более, SATA кабель - плоский. а не коаксиальный. Весь вопрос в силе излучаемого сигнала. Узконаправленные антенны с большим усилением давно изобретены, например, параболические антенны или фазированные антенные решётки и т.д. На частоту 6 ГГц такая антенна будет иметь вполне транспортабельные размеры, чтобы, например, установить её под тентом в кузове небольшого грузовика.
Злоумышленники давно научились считывать на расстоянии десятков метров радиометки для бесключевого доступа в автомобиль, например. Так что и SATA можно подслушать. Другой вопрос, что ещё спец ПО всё-таки пока нужно запустить на целевой машине.
GennPen
У SATA-кабеля используется дифпары. А у витой пары магнитное поле от одного проводника нивелируется другим, т.к. ток по ним течет всегда в противоположных направлениях. А тот микроскопический остаток что просачивается поглощается экранировкой дифпары.
Да и описываемое SDR в статье вряд ли имело специализированную узконаправленную антенну.