Текст от: MaFrance351

Приветствую всех!
Итак, в сегодняшней статье мы узнаем, как практически любой может воспроизвести феномен утечки информации через эти каналы у себя дома. Мы проведём несколько экспериментов, чтобы понять, как это работает. Как это часто бывает, нас ждёт множество интересных открытий.
Если вы слышали о технической защите информации, вас не удивит акцент на экранировании, подавлении помех и других мерах защиты от электромагнитных и электрических утечек. Однако практически нет документации о том, как перехватывать данные, принимая излучение компьютеров. Даже на Pikabu нет внятной статьи, объясняющей, как это работает.
Итак, в сегодняшней статье мы узнаем, как практически любой может воспроизвести феномен утечки информации через эти каналы у себя дома. Мы проведём несколько экспериментов, чтобы понять, как это работает. Как это часто бывает, нас ждёт множество интересных открытий.
❯ Суть такова
Многие из нас знакомы с этим сюжетом по шпионским романам и фильмам: использование устройства для слежения за тем, что происходит на экране противника. Удивительно, но для достижения той же цели не требуется специализированного оборудования, подобного тому, что есть у агентов Секретной службы, SCP-объектов и других «Людей в чёрном». Всё, что вам нужно, — это компьютер и устройство, способное улавливать боковые электромагнитные излучения и помехи (SEMI) от других компьютеров или мониторов).
Многие люди не раз встречали этот термин в контексте безопасных мест и рабочих станций.

Существуют специальные системы оценки уровня этого излучения (их модели легко найти), а для предотвращения этого явления применяют экранирование, установку генераторов помех и другие подобные меры.
❯ Что мы будем принимать?
Перехват звука — довольно старая тема, поэтому давайте поговорим о перехвате сигналов с компьютерных устройств. Проведём пару экспериментов: в одном мы перехватим изображение, в другом — заставим дисплей отправлять ложный сигнал.

Если вы возьмете в руки радиоприемник и прижмете антенну к дисплею, вы заметите, что устройство издает шум на разных частотах.

Источник помех легко определить, как и монитор: выключите его, и приём прекратится. Сигнал достаточно слаб, чтобы потеряться в шуме в нескольких метрах от экрана, но достаточно силён, чтобы его уловил даже простой аналоговый радиоприёмник, не говоря уже о гораздо более чувствительном SDR-устройстве. Любое компьютерное оборудование содержит множество внутренних источников излучения. Некоторые из них незаметны (например, шум импульсных источников питания, который мешает прослушиванию в помещении на длинных и средних волнах), но другие, будучи принятыми и декодированными, могут предоставить ценную информацию. К ним относятся, например, видеосигналы (даже некачественный видеокабель всё равно действует как антенна) или данные, передаваемые по внутренним кабелям компьютера. Если монитор представляет собой электронно-лучевой передатчик, то схемы, участвующие в его работе, излучают ещё больше.
Именно весь этот шум и следует принять и каким-то образом обработать, чтобы попытаться извлечь из него какой-то полезный сигнал.
❯ Обзор оборудования
Итак, давайте посмотрим, какое оборудование мы будем использовать.

LG Flatron L1732S-SF. Это старый телефон, с небольшими потёртостями на корпусе и царапинами на экране, но он всё ещё отлично работает. Я использую его для подключения к старому компьютеру.

Вот ещё одно устройство, ViewSonic E641-2. Этот монитор упоминался в статье о доступе в интернет через модем, где он использовался как декоративный элемент. Он тоже хорошо работает, проверен и протестирован, и поэтому его исключили из обсуждения, хотя его характеристики, даже среди ЭЛТ-мониторов, не выдающиеся.
Конечно, для дисплея также нужен источник видеосигнала. В моём случае это мой основной компьютер, точнее, второй, поскольку прошло почти два года с момента написания первого черновика этой статьи. Не рекомендую использовать компьютер, принимающий сигнал PEMIN, так как приём сигнала может быть проблематичным.

Это SDR. Он такой же, как Ettus USRP B200mini-i. Конечно, для этой задачи он слишком мощный, и подошёл бы более простой, но я всё равно буду им пользоваться, раз он у меня есть.
❯ Играем музыку при помощи монитора
Итак, первым опытом стало использование монитора в качестве радиопередатчика.
Некоторые из вас, возможно, видели эту демонстрацию: на экране появляются чёрно-белые полосы, а приёмник, настроенный на определённую частоту, воспроизводит музыку. Вот так:
При выводе видеосигнала на монитор можно получить амплитудно-модулированный звук на определённой частоте. Математическое описание этого эффекта можно подробно изучить здесь.
Для этого вам понадобится программа вроде Tempest for Eliza. Эта программа, созданная в начале 2000-х, позволяет: подготовить видео, которое при воспроизведении превратит ваш монитор в радиопередатчик. Я видел другие подобные программы, которые заставляют видеокарту или системную шину «петь», но, к сожалению, не могу найти ни их, ни их исходный код. Поэтому давайте остановимся на том, что есть.
❯ Сборка и запуск Tempest For Eliza
Конечно, эта программа работает под управлением Linux, поэтому для её запуска вам понадобится компьютер с установленным Linux. Конечно, вы также можете скачать готовое видео и открыть его, но тогда весь эффект будет потерян, а качество изображения значительно снизится. Поэтому воспользуйтесь ссылкой выше, чтобы скачать сжатый файл с сайта и скомпилировать программу:
sudo apt-get install libsdl-dev
./настроить
Производство
Если программа не скомпилируется, откройте Makefile и удалите параметр Werror. Как показывает практика, это не влияет на работу.

откройте xvidtune. Нас интересуют значения HDisplay, VDisplay, HTotal и Pixel Clock. Запомните их.
Теперь выполняем следующую команду:
./tempest_for_eliza [pixelclock* 1000000] [HDisplay] [VDisplay] [HTotal] 10000000 songs/forelise
Заменяем квадратные скобки числовыми значениями. Обратите внимание, что частота должна быть в герцах (умножьте значение в открывшемся окне на миллион). Последняя цифра — это частота радиоприёмника (также в герцах), на которой будет приниматься сигнал. Если всё сделано правильно, на экране должно появиться что-то вроде этого:

Отлично! Можете попробовать на реальном компьютере (я сделал этот скриншот на виртуальной машине, чтобы сначала понять, как настроить и запустить программу).

Теперь направляем радиоантенну на экран, настраиваемся на заданную частоту и начинаем плавно вращать ручку настройки вперед и назад.
Если все сделано правильно, из динамиков будет звучать музыка.
Хотя программное обеспечение разработано для ЭЛТ-мониторов, аналогичные эффекты можно наблюдать и на ЖК-мониторах.
❯ Tempest for Windows и прочий софт
Помимо предыдущей программы, существует более новая, похожая программа под названием Tempest Test для Windows. Она разработана для широкоэкранных ЖК-мониторов и должна лучше работать на современных компьютерах. Она не такая мощная, как Tempest для Eliza, но работает на обычном компьютере с Windows.
Есть также проект под названием «System Bus Broadcast». Он использует похожий принцип, но музыка передаётся по системной шине. Есть пример, работающий на MacBook, но у меня его нет, и мой компьютер всё равно не может принять сигнал.
❯ Перехват изображения
Продолжим эксперимент.
Без специальных поляризационных очков такой дисплей будет казаться белым. Итак, теперь давайте посмотрим, как смотреть на него.
Как ЭЛТ-, так и ЖК-мониторы могут быть подвержены помехе Ван Эйка (названной в честь первооткрывателя). Это явление основано на том, что сигнал, излучаемый монитором компьютера во время работы, имеет некоторое сходство с аналоговым телевизионным сигналом. Как вы можете себе представить, при приёме этого сигнала будет получено изображение.

Качество, конечно, было бы очень низким, но в некоторых случаях даже этого было достаточно. Позже тот же подход был применён и к ЖК-дисплеям.
Существуют даже устройства, подобные EckBox, предназначенные для такого рода перехвата. Этот проект довольно старый и требует аналогового радио и адаптера для связи с компьютером, поэтому в этой статье мы его использовать не будем.
Обратите внимание: Мой сынок постоянно слушает музыку и я ему купила телефон BQ Disco Boom. Рассказываю плюсы телефона..
Вместо этого мы воспользуемся более новой программой TempestSDR.❯ Сборка TempestSDR
Что ж, пришло время попробовать.
Для получения изображения с другого монитора вам понадобится компьютер с Linux и SDR-чип, поддерживаемый этой программой. Подойдёт любая достаточно популярная программно-определяемая радиостанция (SDR). Я буду использовать Ettus USRP, поскольку у меня есть именно он. Конечно, для этого эксперимента это немного избыточно; подойдёт и более дешёвая подделка.
Рекомендую использовать операционную систему DragonOS, так как она уже включает драйверы и программное обеспечение для поддержки SDR, так что об этом можно не беспокоиться. Виртуальная машина также не подходит, так как в этом случае обмен данными по USB будет слишком медленным.
На Github проекта уже есть ссылка на собранный TempestSDR, но если вдруг она у вас не сработает, я покажу, как ее скомпилировать.
Для начала нам нужно убедиться, что у нас установлен JDK, поэтому давайте посмотрим, что находится в его пути:
mafrance351@mafrance351:~$ ls /usr/lib/jvm
default-java java-1.11.0-openjdk-amd64 java-11-openjdk-amd64 openjdk-11
как видите, он находится в папке java-11-openjdk-amd64. Если у вас не установлен JDK, вам необходимо его установить. Теперь можно приступить к загрузке и установке программы:
git-клон https://github.com/martinmarinov/TempestSDR
cd TempestSDR/JavaGUI
Сделать все JAVA_HOME=java-11-openjdk-amd64
Подождите несколько минут, пока программа скомпилируется в вашей системе. Если у вас возникнут проблемы с компиляцией, я оставил ссылку на готовый TempestSDR в конце статьи.
❯ Запуск
Подключите SDR к компьютеру и запустите программу. Если программа не запускается при попытке открыть файл, запустите её из терминала:
java -jar JTempestSDR.jar
Если все сделано правильно, откроется окно программы:

Далее нажмите «Файл» и выберите нужный драйвер SDR.

После этого консоль начнёт отображать обычные логи инициализации. После завершения процесса кнопка «Старт» в окне программы станет активной.

Нажмите на него. Если SDR-приемник подключен успешно, в окне появится белый шум.
Теперь пора разобраться, как им пользоваться. Для начала нам нужно задать размер изображения и частоту кадров. Кнопки справа от текстовых полей позволяют включать и выключать функцию автоматического выбора. Далее идёт джойстик — с его помощью можно перемещать изображение в разных направлениях. Кнопка в центре джойстика включает функцию автоматического слежения. Ниже расположены самые важные настройки — частота и усиление. Они используются для грубой настройки нужного нам сигнала. Ниже находятся две шкалы, где можно выбрать частоту кадров и разрешение для оптимального уровня сигнала.

Теперь самое сложное — нам нужно узнать частоту вещания нашего дисплея. Для этого нам нужно вывести на экран какой-нибудь контрастный, легко распознаваемый рисунок. В моём случае это открытый ноутбук с тёмными обоями на заднем плане. Будьте к этому готовы, так как качество изображения может быть довольно низким. Если на экране появляется монохромное изображение, оно может быть легко перекрыто помехами. Качество изображения во многом зависит от устройства и антенны: те, кто использует более простые SDR-антенны, добьются лучших результатов.
Мы настроили частоту на ноль, а затем медленно её увеличивали, следя за помехами и надеясь не пропустить ценный кадр. Как раз когда мы собирались захватить частоту, изображение начало появляться. Чтобы убедиться, что это именно помехи, а не паразитные помехи, мы отодвинули антенну от монитора и убедились, что сигнал исчез.

Выберите на весах наилучший сигнал. Детали изображения должны быть хорошо видны. Должны быть видны панель задач со значком и открытое окно Блокнота.

Теперь попробуем что-нибудь вывести на экран. В моём случае я выведу этот текст.

Вот долгожданный результат. Качество оставляет желать лучшего, но это лучшее, чего можно добиться без специального оборудования, такого как направленные антенны и высокочувствительные приёмники.
❯ RTL-SDR

У многих может возникнуть соблазн попробовать RTL-SDR (чаще всего синий разъём покупают в качестве первого SDR, включая меня). Существует даже руководство по использованию TempestSDR с этим китайским устройством, и некоторые утверждают, что успешно принимали сигналы, но я проверил, и ничего не вышло. Проблема в том, что дешёвый чип RTL2832U сам по себе довольно шумный и не может уловить слабый сигнал, например, боковое излучение монитора, который сам по себе излучает шумы примерно такого же уровня. Увы, для таких экспериментов понадобится более качественный SDR (например, HackRF или SDRPlay).
В целом, RTL-SDR — это не то же самое, что RTL-SDR, поэтому образец более высокого качества может дать лучшие результаты. Однако у меня нет образца, поэтому я не могу это проверить.
❯ Обклеиваем стены фольгой
Теперь поговорим о том, как защититься от этого типа помех. Очевидные варианты — экранирование и заземление, которые минимизируют уровень излучения. Помимо этих методов, существует также активная защита: так называемые генераторы шума, предназначенные для подавления ПЭМИН (сигналов электронных помех), излучаемых компьютерным оборудованием.

У меня даже есть такой экземпляр — ГШ-К-1800, типичный образец такого типа техники.
Эта штука имеет форму обычной платы расширения для компьютера. Такой форм-фактор обусловлен исключительно удобством установки; никаких данных она не получает, а питание подаётся через разъём Molex.

Обратная сторона. Генератор закрыт экраном, защищающим внутренности компьютера от внешних помех. Я не знаю схемы этой платы, но предполагаю, что она устроена следующим образом. Микроконтроллер, установленный на плате, генерирует случайную последовательность и подаёт её на вход генератора, управляемого напряжением, расположенного под экраном. Его выход подключен к усилителю, который подаёт сигнал на катушку. В результате устройство во время работы излучает широкополосный шум, накладывающийся на шумы, излучаемые со всех сторон. Устройство также имеет схему контроля целостности катушки; без этой схемы оно издавало бы непрерывный звуковой сигнал при включении.
Понятия не имею, для чего нужны кнопка «Управление» и разъем «Пульт дистанционного управления.

Устройство выглядит вот так, и у него есть катушка, которую нужно разместить вокруг защищаемого устройства. К сожалению, до меня оно так и не дошло…
Я не знаю спецификаций подключения, но я спросил об этом в Ghost Polygon, и они дали мне приблизительные оценки. Плата оправдывает своё название — изображение на TempestSDR исчезает сразу после подачи питания.
Это другое устройство. Работает оно немного иначе: подключается к разрыву видеокабеля и вносит в сигнал высокочастотную составляющую, которая не влияет на отображение, но затрудняет перехват информации.
❯ А что в итоге?
Итак, как видите, любой человек, у которого есть два компьютера, антенна и SDR, может воспроизвести это явление.
Фактически, стандарты защиты от подобного типа уязвимости уже существуют, например, TEMPEST в США. Для обычного пользователя это явление не представляет никакой угрозы, поскольку сигнал настолько слаб, что принять его вне зоны прямой видимости монитора без специального оборудования нереально (и вряд ли кто-то сможет захватить изображение с монитора домашнего компьютера).
кроме того, поисковый запрос «van Eck phreaking» использовался для поиска дополнительных экспериментов: от перехвата идентичных изображений до считывания ключей шифрования.
Вот так оно и есть.
Написано специально для читателей Timeweb Cloud и Pikabu.
Больше интересных статей и новостей смотрите в нашем блоге на Хабре и канале в Telegram.
Размещайте рекламу у нас на TIMEWEB.CLOUD LLC, ИНН: 7810945525
Больше интересных статей здесь: Гаджеты.
Источник статьи: Учим ЭЛТ-монитор играть музыку.