Ключ AES-256 сняли с расстояния 1 метр по электромагнитному излучению компьютера


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

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

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

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

    Похожие публикации

    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

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

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

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

        А MacBook?

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

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

              +5
              Товарищ майор призывает не пользоваться фольгой и клеткой Фарадея, т.к. это затрудняет их работу.
                0
                ИМХО все же эффективнее тут будет использовать небольшую глушилку, работающую на нужных частотах. Этого будет вполне достаточно, чтобы сделать невозможным выделение полезного сигнала из общего шума.
                +12
                Какая-то дырявая клетка, тогда бы микроволновки убивали.
                  0
                  Клетка Фарадея эффективна только для волн с длиной больше размера её ячейки.
                    0
                    Точнее половина длинны волны должна быть больше размера ячейки, если я не ошибаюсь.
                    0
                    Пробовал на лабораторной — оцинкованная «клетка» прекрасно гасит излучение, но сплошной лист, конечно, хуже.
                      0

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

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

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

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

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

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

                                0
                                Скажу вам по секрету. Это скорее не на комп атака, а на криптованный SSD. Вот там и AES, и ARM, и SoC на сотне мегагерц.
                                  +1
                                  А этим вообще кто-то пользуется? Доверять непрозрачному вендорному шифрованию мягко говоря странно. Не говоря уже о том, что полетит контроллер и попрощаешься с своими данными.
                                +1
                                Хм… А если параллельно на втором ядре шифровать мусор случайным ключом?
                                  +1
                                  Зачем мусор? Просто шифруем необходимое в несколько потоков (емнип, в AES так вроде бы можно). Ну или используем full disk encryption на машине.
                                  0
                                  вопрос номер один, если шифрованием будет заниматься полностью интерпретируемый код (в идеале, без jit), а в интерпретаторе встроить случайный мусор между инструкциями, это достаточно поможет?

                                  вопрос номер два — если шифрованием будет заниматься действительно специализированная железка или универсальный модуль на основе FPGA (когда же уже оно будет в каждом процессоре то), достаточно ли это усложнит анализ?
                                    +3
                                    Все современные процессоры имеют специальные блоки для ускорения шифрования AES, так что будущее уже наступило.
                                      0
                                      Встречный вопрос. А отдельная железка ЭМИ производит? Думаю, тут и ответ.
                                      0
                                      Опять взламываем сферических коней в вакууме?
                                        0
                                        Хартблид для openssl тоже был сферическим, однако же.
                                        Другой момент, что я увидел описание процедуры в статье (ни на ГТ, ни при беглом просмотре в pdf по ссылке), но не увидел результата, удалось ли таки снять ключ, или товарищи из фокса только на пути к этом. Это главный вопрос. Если им удалось — это нифига не сферически тогда, даже если они загоняли под шифр свои данные, заранее заготовленные.
                                        Если же не удалось, тогда это ещё одно предположение, как можно действовать, но не PoC.
                                          0
                                          Не удалось, более того они пишут, что это самое сложное угадать ключ, тем более они похоже не используют нормальное сцепление блоков.
                                            0
                                            НЕ удалось. Модель они даже не пыталися строить. Просто показали «вот тут есть корреляция».
                                          +1
                                          не понимаю скепсиса в коментариях
                                          разнообразие условий не проблема, а просто небольшое ограничение по затратам на дополнительные исследования.

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

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

                                            Какая-то туфта, ну допустим по энергопотреблению видно какая операция производится в данный момент, но как по этим данным вычислить ключ, что для умножения 97x97 нужно больше энергии, чем на 98x98?
                                            Это во-первых, во-вторых, любой нормальный метод шифрования использует адекватный режим сцепления блоков, из-за этого каждые 16 байт данных шифруются разными ключами.
                                            Ну и судя по статье ничего пока что у авторов не получилось в реале кроме, как определить какой этап кодировки в какое время, тем более это всё это для простенького микроконтроллера в идеальных условиях, без всяких многопоточностей, фоновых задач, изменения частоты работы процесса и т.п.
                                              –1
                                              А потом мысли начнут читать, а потом писать… хорошо психам — у них многопоточность :-D
                                              p.s. шапочка не спасает ;-)
                                              imageimage
                                              image
                                                +1
                                                В большинстве случаев проще снять изображение с клавиатуры\монитора тем же темпестом.
                                                Не знаю, как сейчас с LCD дисплеями (по логике, с CRT удалённо снимать данные проще), но, в принципе, изучались даже способы восстанавливать информацию по изменениям яркости частично освещаемой монитором стены.
                                                Тут много интересного, гораздо больше, чем времени на чтение этог интересного.
                                                  0

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

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

                                                    Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                                    Самое читаемое