Аппаратура для съёма электромагнитного сигнала

Любой компьютер во время работы создаёт электромагнитное поле, у которого слегка меняются спектральные компоненты в зависимости от операций, которые выполняет устройство. Эти законы физики являются базой для проведения атаки по электромагнитному излучению — представителя класса атак по сторонним каналам. Информации о физических процессах в устройстве может быть достаточно, чтобы восстановить значение битов в памяти.

Сканирование электромагнитного излучения ПК для считывания паролей осуществлялось и раньше, здесь нет ничего нового. Но раньше для этого применялась масса дорогого и громоздкого оборудования. Теперь угроза вышла на новый уровень. В принципе, такую атаку можно проводить даже незаметно для жертвы, просто сидя рядом с ПК с маленьким «жучком» в кармане (на фото вверху).

Исследователи из компании Fox-IT продемонстрировали атаку TEMPEST с расстояния 1 метр, используя минимальный набор оборудования стоимостью всего 200 евро. Для сбора необходимого количества информации нужно записывать электромагнитное излучение в течение 5 минут (расстояние 1 метр) или 50 секунд (расстояние 30 см).

Более подробно условия эксперимента авторы описали в научной работе (pdf). Алгоритм атаки изображён на схеме внизу. Он включает в себя четыре фазы:

  1. Аналоговые измерения.
  2. Запись радиосигнала.
  3. Предварительная обработка.
  4. Анализ.



Для аналоговых измерений нужна антенна с сопутствующей электроникой, которая будет измерять характеристики электромагнитного поля, фильтровать нужные частоты и усиливать сигнал. Как выяснилось, на удивление эффективно ловит сигнал маленькая и простая петлевая антенна, которую очень легко сделать из кусочка ненужного кабеля и скотча.


Петлевая антенна

Дальше сигнал фильтруется и усиливается. Исследователи фильтровали участок шириной 10 МГц около тактовой частоты (142 МГц) и усиливали его с помощью дешёвого усилителя производства Mini Circuits. Стоимость всего «железа» — менее 200 евро.


Усилитель с фильтром

Перед записью радиосигнала выполняется преобразование в цифровую форму. Записывать сигнал можно на разное оборудование: от дорогой профессиональной аппаратуры до бюджетного программного радио в виде флешки за 20 евро. Эксперименты показали, что даже такой дешёвой флешки достаточно, чтобы записать сигнал для успешной атаки. Другими словами, проводить подобную атаку могут не только спецслужбы или корпорации с большими бюджетами на разведку, но и абсолютно любые люди. Много денег тут не нужно.

Во время предварительной обработки программа ищет участки сигнала, где начинается шифрование в памяти компьютера с использованием ключа AES-256. Сигнал делится на соответствующие блоки. Происходит также преобразование данных для последующего анализа.

На иллюстрации внизу показан сигнал, который записал радиоприёмник SR-7100 в полосе частот шириной 10 МГц. Этот сигнал соответствует одному блоку шифрования AES-256, работающему на SoC SmartFusion2. В эксперименте применялась OpenSSL реализация AES на ядре ARM Cortex-M3. Как можно убедиться, заметны явные, чистые паттерны на каждой стадии обработки. Виден сигнал ввода-вывода данных с процессора, фаза вычислений для расписания ключей и 14 раундов шифрования.



Конечно, по такому маленькому фрагменту шифр не восстановить. Нужно накопить очень много таких вычислительных блоков с раундами шифрования на разных входных данных. Для накопления информации и требуется сидеть рядом с компьютером несколько минут, спрятав антенну в кармане.

Записанный сигнал электромагнитного излучения соответствует энергопотреблению устройства. В свою очередь, оно коррелирует с данными, которые в конкретный момент времени обрабатывает процессор.

В конце концов, анализ выполняется с помощью программы Riscure Inspector. Задача заключается в поиске корреляций между догадками байтов ключа и записанным сигналом. Это самая сложная часть, потому что нужно разработать эффективную модель утечки информации из памяти компьютера в электромагнитное поле, чтобы анализ действительно мог предсказывать байты ключа шифрования. В данном случае анализ выполняется методом перебора всех 256 возможных значений каждого байта ключа. Исследователи пишут: для того, чтобы угадать корректное значение каждого байта достаточно всего нескольких секунд (256 вариантов на байт, для 32 байт это 8192 попытки). Для сравнения, прямой брутфорс на AES-256 потребовал бы перебора 2256 вариантов и продолжался бы до скончания Вселенной.

Итак, специалистам Fox-IT удалось сложить воедино все части головоломки. Насколько они могут судить, это первая публичная демонстрация скрытой атаки по электромагнитному излучению на расстоянии. Это повод задуматься тем, кто стремится надёжно защитить компьютер от утечек информации. Для такой защиты нужно его надёжно экранировать. Может быть, заворачивать в фольгу.
Поделиться с друзьями
-->

Комментарии (36)


  1. GennPen
    24.06.2017 21:42

    Может быть, заворачивать в фольгу.

    Компьютер итак хорошо экранирован металлическим корпусом. Это у ноутбуков корпус пластмассовый и как правило не имеет (или имеет, но слабую в виде слоя металлического напыления) экранировку.


    1. CreFroD
      25.06.2017 07:21

      А MacBook?


    1. Alexeyslav
      26.06.2017 14:04
      +1

      Металлический корпус не является экраном, к сожалению. Особенно незаземлённый.
      И «шапочка из фольги» тоже не работает.
      Единственное что поможет, это фильтрация питания прямо по месту потребления, уменьшающая контуры по которым течёт ВЧ-ток. Но на всём экономят безбожно.
      Структурная схема вообще бредовая, взятая наобум может даже с какой-то реальной схемы из которой выкинуты непонятные блоки. Что за Mixer с одним входом? с АЦП выходит так же аналоговый сигнал? описание похоже на инструкцию «как нарисовать сову в два этапа».


  1. menstenebris
    24.06.2017 21:56
    -6

    Как вы уже надоели со своей фольгой. Для СВЧ в районе 1 ГГц даже заземленная клетка Фарадея дает примерно -3дБ к уровню сигнала практически без изменения формы, не заземленная почти ничего не меняет. Проверял лично.


    1. Kiano
      24.06.2017 22:08
      +4

      Это еще смотря какая "клетка", а что касается затухания сигнала — вот не верю. Wifi роутер в кастрюле работает не на 3дб хуже, проверьте собственноручно


      1. KonstantinSpb
        24.06.2017 23:12
        +5

        Товарищ майор призывает не пользоваться фольгой и клеткой Фарадея, т.к. это затрудняет их работу.


      1. agugnin
        26.06.2017 12:38

        ИМХО все же эффективнее тут будет использовать небольшую глушилку, работающую на нужных частотах. Этого будет вполне достаточно, чтобы сделать невозможным выделение полезного сигнала из общего шума.


    1. rogoz
      24.06.2017 22:50
      +12

      Какая-то дырявая клетка, тогда бы микроволновки убивали.


    1. evocatus
      24.06.2017 23:49

      Клетка Фарадея эффективна только для волн с длиной больше размера её ячейки.


      1. Daramir1
        25.06.2017 12:41

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


    1. Shlyahten
      25.06.2017 07:21

      Пробовал на лабораторной — оцинкованная «клетка» прекрасно гасит излучение, но сплошной лист, конечно, хуже.


    1. ptica_filin
      25.06.2017 11:19

      А заземляли на что? На стационарную шину заземления?
      Если этаж выше подвального, для СВЧ такое заземление ни о чём.


  1. KonstantinSpb
    24.06.2017 22:07

    поэтому ключи храним в регистрах, для линукса такой проект есть


  1. arheops
    24.06.2017 22:22
    +1

    Правда, еще надо 1) чтоб было ровно одно рабочее ядро 2) система не прерывалася другими задачами 3) точно знать частоту(которую современные процессоры постоянно меняют).


    1. khanid
      25.06.2017 15:42

      Которую современные процессоры постоянно меняют

      А вот это, кстати, не сильно важно.
      1) Шифрование операция затратная. Соответственно, уровень производительности будет повышаться.
      2) Зачастую при настройке систем им выставляют по дефолту максимальную производительность.


      1. arheops
        25.06.2017 16:01

        Современный процессор(те же интелы) меняет частоту на дефолтных настройках постоянно. Откройте task manager на ноутбуке и посмотрите за частотой.


      1. zapimir
        25.06.2017 16:13
        +1

        Шифрование операция затратная

        1. Затратная? На современных процессорах (с инструкциями AES-NI) скорость шифрования AES намного больше скорости чтения с диска, даже SSD. Там 4-7 гигабайт в секунду скорость шифрования, так что это нужно некисло так пригрузить проц.
        2. Это в современных процессорах не значит, что он будет молотить на максималке постоянно, тем более еще есть такая вещь как Turbo Boost. Ну и кроме того многозадочность, как вы будете выделять именно шифрующее ядро, когда загружены 4 ядра, к примеру архив жмется и шифруется?


  1. sic
    24.06.2017 22:26
    +7

    Ну все-таки пугать не надо. В лабораторных условиях может и смогли получить ключ, но только
    1) с известной системы
    2) с SoC, работающей на сотне мегагерц
    3) и это ARM
    4) почти наверняка без побочной нагрузки на чип,
    5) и, вероятно, без сильных фоновых электромагнитных шумов
    А каждый из этих пунктов сокращает необходимый набор информации (= время прослушки) на несколько порядков.

    То есть, это как шпилькой открыть замок офисной тумбочки — вроде бы и занятный результат, но на замки от домашних дверей не экстраполируется.


    1. superhackkiller1997
      25.06.2017 07:23
      +2

      >> В лабораторных условиях может и смогли получить ключ, но только
      Не смогли. «бла-бла мы видим как график скачет — значит мы 100% его восстановим, но пока нам не повезло, но атака 100% возможна». Действительно. Получили.

      Просто создают видимость работы. Это такой же булшит, как атака по времени, по «энергопотреблению», шуму и прочему. Рецепт прост. Берём и железяку и измеряем всё что угодно. Утверждаем, что из этого можно получить ключи. Как это сделать мы не знаем, но можно. На худой конец можно и фекануть. Никаких нет проблем создать модель, которая угадает в шуме искомый ключ. А далее раз угадала — значит работает. А если не работает в других случаях — но то просто «слабая модель», да и вообще никто проверять это не будет.


    1. mat300
      25.06.2017 17:43

      Скажу вам по секрету. Это скорее не на комп атака, а на криптованный SSD. Вот там и AES, и ARM, и SoC на сотне мегагерц.


      1. sic
        25.06.2017 18:06
        +1

        А этим вообще кто-то пользуется? Доверять непрозрачному вендорному шифрованию мягко говоря странно. Не говоря уже о том, что полетит контроллер и попрощаешься с своими данными.


  1. pda0
    24.06.2017 22:37
    +1

    Хм… А если параллельно на втором ядре шифровать мусор случайным ключом?


    1. isden
      25.06.2017 10:14
      +1

      Зачем мусор? Просто шифруем необходимое в несколько потоков (емнип, в AES так вроде бы можно). Ну или используем full disk encryption на машине.


  1. rPman
    24.06.2017 22:44

    вопрос номер один, если шифрованием будет заниматься полностью интерпретируемый код (в идеале, без jit), а в интерпретаторе встроить случайный мусор между инструкциями, это достаточно поможет?

    вопрос номер два — если шифрованием будет заниматься действительно специализированная железка или универсальный модуль на основе FPGA (когда же уже оно будет в каждом процессоре то), достаточно ли это усложнит анализ?


    1. sumanai
      25.06.2017 00:46
      +3

      Все современные процессоры имеют специальные блоки для ускорения шифрования AES, так что будущее уже наступило.


    1. khanid
      25.06.2017 15:53

      Встречный вопрос. А отдельная железка ЭМИ производит? Думаю, тут и ответ.


  1. robo2k
    25.06.2017 07:22

    Опять взламываем сферических коней в вакууме?


    1. khanid
      25.06.2017 15:58

      Хартблид для openssl тоже был сферическим, однако же.
      Другой момент, что я увидел описание процедуры в статье (ни на ГТ, ни при беглом просмотре в pdf по ссылке), но не увидел результата, удалось ли таки снять ключ, или товарищи из фокса только на пути к этом. Это главный вопрос. Если им удалось — это нифига не сферически тогда, даже если они загоняли под шифр свои данные, заранее заготовленные.
      Если же не удалось, тогда это ещё одно предположение, как можно действовать, но не PoC.


      1. zapimir
        25.06.2017 16:02

        Не удалось, более того они пишут, что это самое сложное угадать ключ, тем более они похоже не используют нормальное сцепление блоков.


      1. arheops
        25.06.2017 16:03

        НЕ удалось. Модель они даже не пыталися строить. Просто показали «вот тут есть корреляция».


  1. rPman
    25.06.2017 10:20
    +1

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

    Сейчас исследуемый стенд — конкретная железка и ограниченный список приложений, следующим шагом буудет повторение тех же исследований (что однозначно проще, так как инструментарий наработан) для разных машин и приложений.

    Надо не фи говорить, а ой.


  1. zapimir
    25.06.2017 15:31

    Записанный сигнал электромагнитного излучения соответствует энергопотреблению устройства. В свою очередь, оно коррелирует с данными, которые в конкретный момент времени обрабатывает процессор.

    Какая-то туфта, ну допустим по энергопотреблению видно какая операция производится в данный момент, но как по этим данным вычислить ключ, что для умножения 97x97 нужно больше энергии, чем на 98x98?
    Это во-первых, во-вторых, любой нормальный метод шифрования использует адекватный режим сцепления блоков, из-за этого каждые 16 байт данных шифруются разными ключами.
    Ну и судя по статье ничего пока что у авторов не получилось в реале кроме, как определить какой этап кодировки в какое время, тем более это всё это для простенького микроконтроллера в идеальных условиях, без всяких многопоточностей, фоновых задач, изменения частоты работы процесса и т.п.


  1. DezWark
    25.06.2017 15:34
    -1

    А потом мысли начнут читать, а потом писать… хорошо психам — у них многопоточность :-D
    p.s. шапочка не спасает ;-)
    imageimage
    image


  1. ClearAirTurbulence
    25.06.2017 22:05
    +1

    В большинстве случаев проще снять изображение с клавиатуры\монитора тем же темпестом.
    Не знаю, как сейчас с LCD дисплеями (по логике, с CRT удалённо снимать данные проще), но, в принципе, изучались даже способы восстанавливать информацию по изменениям яркости частично освещаемой монитором стены.
    Тут много интересного, гораздо больше, чем времени на чтение этог интересного.


  1. Alexsandr_SE
    26.06.2017 00:25

    Я так понял, что сейчас стенд, это открытый корпус и антена рядом. В жизни это почти не применимо, а если добрались уже физически до ПК, то какой шанс, что нужно ломать AES? Какой шанс, что все соседи вырубят всю свою электронику, да бы не мешала?
    Это как по мне очень теоретический взлом, требующий лабораторию.


  1. snuk182
    26.06.2017 14:08
    +1

    Здесь должен быть комментарий про Криптономикон.