Экспериментальная установка. Камера наблюдения (слева) снимает индикатор питания на смарт-ридере (справа) с расстояния 16 м

Известный эксперт в области криптоанализа Бен Насси (Ben Nassi) с коллегами из университета им. Бен-Гуриона опубликовали результаты уникальных экспериментов по восстановлению криптографических ключей с помощью видеозаписи светодиода питания устройства, на котором хранится/используется этот ключ.

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

Криптоанализ на основе видео


Восстановление секретных криптографических ключей на основе простого наблюдения (видеозаписи) светодиода — это принципиально новый метод криптоанализа.

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

Злоумышленники могут использовать стандартные видеокамеры (например, камеру iPhone 13 или видеокамеру безопасности, подключённую к интернету) для извлечения секретных ключей из устройств. Со смартфона нужно снимать с очень близкого расстояния, чтобы изображение светодиода заполняло весь кадр. В этом случае можно использовать временно́й параллакс (роллинг-шаттер) видеокамеры — об этом ниже.

Кадры светодиода анализируются в пространстве RGB, а энергопотребление вычисляется из соответствующих значений RGB.


Значения RGB из 96-ти последовательных кадров (со 103 680 строками) видеозаписи светодиода питания смарт-ридера во время выполнения шести различных операций подписи ECDSA, разделённых эпизодами бездействия длительностью 200 мс. Цвета соответствуют каналу RGB, источник

В качестве демонстрации исследователи осуществили две криптоаналитические атаки по сторонним каналам (в данном случае это канал времени). В первой они восстановили 256-битный ключ ECDSA от смарт-карты путём анализа видеозаписи смарт-ридера через взломанную камеру наблюдения, расположенную в 16 м. Во втором восстанавливается 378-битный ключ SIKE от Samsung Galaxy S8 путём анализа видеозаписи светодиода питания USB-динамиков Logitech Z120, которые подключены к тому же USB-концентратору, который используется для зарядки Galaxy S8. Запись ведётся с близкого расстояния качественной камерой iPhone 13 Pro Max.


Роллинг-шаттер для смартфона


Особый интерес вызывает метод, который исследователи применили для увеличения частоты дискретизации видеокамеры смартфона с помощью временно́го параллакса (роллинг-шаттер), то есть последовательного считывания разных частей оптического изображения. При этом изображение искажается, как все видели на фотографиях фотофиниша бегунов и других спортсменов.

Дело в том, что большинство коммерческих смартфонов и охранных/IP-видеокамер снимают видео с максимальной частотой 60−120 FPS, чего недостаточно для проведения криптоанализа. Чтобы увеличить количество измерений в секунду (частоту дискретизации) до необходимого уровня, злоумышленник может применить временно́й параллакс или роллинг-шаттер видеокамеры.

При использовании этого метода кадр/картинка фактически состоит не из одного снимка, сделанного в определённый момент времени, а из нескольких снимков, сделанных по вертикали/горизонтали в разное время. Следующая диаграмма наглядно демонстрирует этот процесс:



При вертикальном роллинг-шаттере пиксели сенсора экспонируются и считываются последовательно ряд за рядом в разное время сверху вниз (или слева направо) в соответствии с настраиваемой выдержкой (E). Она определяет количество времени, в течение которого сенсор подвергается воздействию света. Поскольку каждый ряд в сенсоре снимается в разное время, злоумышленники могут увеличить частоту дискретизации со стандартной частоты видеокамеры (60/120 FPS) до скорости записи рядов, которая основана на скорости затвора.

Для этого необходимо установить затвор видеокамеры на максимальную скорость и приблизить видеокамеру к светодиоду так, чтобы вид светодиода заполнил весь кадр видеозаписи. Таким образом, злоумышленник гарантирует, что всё время сканирования кадра (на диаграмме выше S) посвящено получению RGB-образцов светодиода. Это позволяет увеличить частоту дискретизации на несколько порядков: с 60−120 измерений в секунду до приблизительной частоты затвора видеокамеры (60 тыс. измерений в секунду на iPhone 13 Pro Max).


Тепловая карта расчётного времени выполнения 7826 операций подписи ECDSA в зависимости от количества ведущих нулевых битов в нонсе

Эксперименты


Исследователи провели два эксперимента:

  1. Восстановление ключа ECDSA по видеозаписи LED-индикатора питания смарт-ридера с веб-камеры на расстоянии 16 и 5,5 м через двухслойное стекло. Достаточно нескольких секунд видеозаписи
  2. Восстановление ключа SIKE от Samsung Galaxy S8 с помощью видеозаписи LED-индикатора питания USB-динамиков Logitech Z120. При этом видеозапись получена с помощью iPhone 13 Pro Max


    Вторая экспериментальная установка. Видеокамера iPhone 13 Pro Max направлена (через объектив) на светодиод питания колонок Logitech Z120



Статья «Криптоанализ на основе видео: Извлечение криптографических ключей из видеозаписи светодиода питания устройства» опубликована 14 июня 2023 года в электронном журнале Cryptology ePrint Archive.

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


  1. Hardcoin
    25.06.2023 14:05
    +17

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


  1. pistoletov
    25.06.2023 14:05

    Вообще не понял как такое можно. Светодиод питания обычно не RGB. И как можно анализировать данные загружаемые в регистры алу по энергопотреблению. Разве что бекдор морзянкой код ключа передает-) энергопотребление насколько знаю влияет на яркость но не на спектр диода. Опираясь конечно на свой багаж знаний-)


    1. Maxim_Q
      25.06.2023 14:05
      +3

      Вообще не понял как такое можно.

      Есть подозрение что это только для smartcard пяти производителей, продаваемых на Amazon, это на них проводилось тестирование. Наверное эти картридеры именно морзянкой и переддают данные: 1 - напряжение есть и лампочка светится сильней, 0 - напряжение нет и лампочки всетится тусклей. Подробностей в статье нет и понять как это точно работает не получится пока.


  1. yurrig
    25.06.2023 14:05

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


    1. zatim
      25.06.2023 14:05
      +1

      В 99,9% его запитывают через резистор большого сопротивления, что почти равно источнику тока.


      1. yurrig
        25.06.2023 14:05

        Вряд ли очень большого - нужно пару миллиампер получить при паре-тройке вольт падения, если от 5 вольт питать. Т.е. примерно 1-2К. Простейший источник тока на одном полевике и резисторе пару сотен килоом должен дать, т.е. колебания яркости светодиода раз в 100 уменьшатся только за счет этого.


  1. mmMike
    25.06.2023 14:05
    +7

    Одна только эта фраза из исходной статьи

    256-bit ECDSA key from a smart card by analyzing video footage of the power LED of a smart card reader via a hijacked Internet-connected security camera located 16 meters away from the smart card reader

    Навевает на мысль что либо "журналист укусил ученого в голову" либо это просто вранье.
    Smart card reader НЕ считает DSA ключ (сессионный ключ). Он просто передает APDU команды карте. Это ридер, а не конечное устройство (комп), к которому подключен ридер.

    Но, даже очень точный анализ на цепи питания карты (ток) не может позволить вскрыть ключ карты (включая сессионный). Поскольку этот способ известен уже лет 20 и защита от него входит в реализацию OS карты всегда.
    Даже на SIM картах, где не настолько этим заморачиваются как на банковских это фактически невозможно.

    Разве что, если алгоритм ECDSA сделан специально этими "исследователями", на пример, на javacard в апплете. И там этот код специально делает просадки по потреблению (дикие, что бы это еще на светодиоде сказалось ридера) в процессе расчета для "отстукивания" значения ключа.

    Да еще из ридера выпаяны все конденсаторы по питанию, что бы в рамках единиц ms (ну пусть даже 100-тен. но тогда вообще цирк) как то отследить по светодиоду (!) хотя бы 256 бросков напряжения необходимы для "отстукивания" самопальным кодом расчета DSA значения ключа.

    В общем, бред и хайп.


  1. moskittt
    25.06.2023 14:05

    Эта уязвимость только для смарт карт или для любых устройств что работают с криптоключами, например модемы и роутеры что устанавливают VPN соединения? У меня есть подозрение что и на модемы может распространяться уязвимость.


  1. Bayram_dev
    25.06.2023 14:05

    Атака эффективна только при использовании уязвимых реализаций ECDSA и SIKE в библиотеках Libgcrypt и PQCrypto-SIDH.

    Q: Assuming I use the most updated cryptographic libraries, am I still at risk?

    A: We cannot say for sure because maybe some 0-day vulnerabilities exist in the code of the most updated cryptographic libraries. Remember that somewhere in the past, the known vulnerable cryptographic libraries were considered the most updated libraries.

    Выдыхаем