Атака по побочному каналу - Side-channel attack

Попытка декодировать ключевые биты RSA с помощью анализа мощности . Левый пик представляет изменения мощности процессора во время шага алгоритма без умножения, правый (более широкий) пик - шаг с умножением, позволяющий злоумышленнику прочитать биты 0, 1.

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

Некоторые атаки по побочным каналам требуют технических знаний внутренней работы системы, хотя другие, такие как дифференциальный анализ мощности , эффективны как атаки черного ящика . Рост приложений Web 2.0 и программного обеспечения как услуги также значительно повысил вероятность атак по побочным каналам в Интернете, даже если передача данных между веб-браузером и сервером зашифрована (например, с помощью шифрования HTTPS или WiFi ), согласно исследователям из Microsoft Research и Университета Индианы . Многие мощные атаки по побочным каналам основаны на статистических методах, впервые разработанных Полом Кохером .

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

Общий

Общие классы атак по побочным каналам включают:

  • Атака на кэш - атаки, основанные на способности злоумышленника отслеживать доступ к кешу, сделанный жертвой в общей физической системе, например в виртуализированной среде или в виде облачной службы.
  • Атака по времени - атаки, основанные на измерении времени выполнения различных вычислений (таких как, например, сравнение пароля, заданного злоумышленником, с неизвестным паролем жертвы).
  • Атака с мониторингом мощности - атаки, которые используют различное энергопотребление оборудования во время вычислений.
  • Электромагнитная атака - атаки, основанные на утечке электромагнитного излучения, которые могут напрямую предоставлять открытые тексты и другую информацию. Такие измерения могут использоваться для вывода криптографических ключей с использованием методов, эквивалентных методам анализа мощности, или могут использоваться в некриптографических атаках, например, атаках TEMPEST (также известных как фрикинг или радиационный мониторинг Ван Экка ).
  • Акустический криптоанализ - атаки, использующие звук, производимый во время вычислений (скорее, как анализ мощности).
  • Дифференциальный анализ неисправностей - секреты открываются путем внесения ошибок в вычисления.
  • Сохранение данных - конфиденциальные данные считываются после того, как предположительно были удалены. (например, атака холодной загрузки )
  • Программно-инициированные атаки с ошибками - в настоящее время это редкий класс побочных каналов, Row hammer является примером, в котором запрещенная память может быть изменена путем слишком частого доступа к соседней памяти (что приводит к потере сохранения состояния).
  • Оптический - в котором секреты и конфиденциальные данные могут быть прочитаны путем визуальной записи с помощью камеры высокого разрешения или других устройств, которые имеют такие возможности (см. Примеры ниже).

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

Примеры

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

В 2017 году были обнаружены две уязвимости ЦП (получившие название Meltdown и Spectre ), которые могут использовать побочный канал на основе кеша, чтобы позволить злоумышленнику утечка содержимого памяти других процессов и самой операционной системы.

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

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

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

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

Известны исторические аналоги современных атак по побочным каналам. Недавно рассекреченный документ АНБ показывает, что еще в 1943 году инженер с телефоном Bell наблюдал на осциллографе поддающиеся расшифровке всплески, связанные с расшифрованным выходным сигналом определенного шифровального телетайпа. По словам бывшего офицера МИ5 Питера Райта , британская служба безопасности проанализировала выбросы французского шифровального оборудования в 1960-х годах. В 1980-х годах советские перехватчики подозревались в том, что они подбрасывали жучки внутрь пишущих машинок IBM Selectric, чтобы отслеживать электрические помехи, возникающие при вращении и ударе шарика по бумаге; характеристики этих сигналов могут определять, какая клавиша была нажата.

Потребляемая мощность устройств вызывает нагрев, который компенсируется охлаждающими эффектами. Температурные изменения создают термически индуцированные механические напряжения. Эта нагрузка может создать низкий уровень акустической эмиссии от работающих ЦП (в некоторых случаях около 10 кГц). Недавнее исследование Shamir et al. предположил, что таким же образом можно получить информацию о работе криптосистем и алгоритмов. Это атака акустическим криптоанализом .

Если можно наблюдать поверхность микросхемы ЦП или, в некоторых случаях, корпус ЦП, инфракрасные изображения также могут предоставить информацию о коде, выполняемом на ЦП, что называется атакой с тепловизором .

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

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

Контрмеры

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

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

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

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

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

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

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

Другие частичные контрмеры пытаются уменьшить количество утечки информации из-за разницы мощности, зависящей от данных. Некоторые операции используют мощность, которая коррелирует с количеством 1 бит в секретном значении. Использование кода с постоянным весом (например, использование вентилей Фредкина или двухканального кодирования) может уменьшить утечку информации о весе Хэмминга секретного значения, хотя пригодные для использования корреляции, вероятно, останутся, если балансировка не будет идеальной. Эту «сбалансированную схему» можно аппроксимировать программно, управляя как данными, так и их дополнением вместе.

Несколько «безопасных процессоров» были построены как асинхронные процессоры ; у них нет глобальной привязки по времени. Хотя эти процессоры были предназначены для затруднения атак по времени и мощности, последующие исследования показали, что отклонения по времени в асинхронных схемах устранить труднее.

Типичным примером второй категории (декорреляции) является техника, известная как ослепление . В случае дешифрования RSA с секретным показателем и соответствующими показателем и модулем шифрования метод применяется следующим образом (для простоты модульное сокращение на m в формулах опущено): перед дешифровкой, то есть перед вычислением результата для учитывая зашифрованный текст , система выбирает случайное число и для его получения шифрует его с помощью публичной экспоненты . Затем выполняется расшифровка, чтобы получить . Поскольку система дешифрования сделала выбор , она может вычислить свой обратный модуль, чтобы компенсировать множитель в результате и получить фактический результат дешифрования. Для атак, требующих сбора информации по побочным каналам от операций с данными, контролируемыми злоумышленником , ослепление является эффективной мерой противодействия, поскольку фактическая операция выполняется над рандомизированной версией данных, о которой злоумышленник не имеет никакого контроля или даже не знает.

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

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

Смотрите также

использованная литература

дальнейшее чтение

Книги

Статьи

внешние ссылки