Атака по побочному каналу

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

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

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

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

Содержание
  • 1 Общие
  • 2 Примеры
  • 3 Контрмеры
  • 4 См. Также
  • 5 Ссылки
  • 6 Дополнительная литература
    • 6.1 Книги
    • 6.2 Статьи
  • 7 Внешние ссылки
Общие

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

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

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

Примеры

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

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

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

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

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

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

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

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

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

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

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

Контрмеры

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

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

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

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

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

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

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

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

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

Типичным примером второй категории (декорреляции) является метод, известный как ослепление. В случае дешифрования RSA с секретным показателем d {\ displaystyle d}d и соответствующим показателем шифрования e {\ displaystyle e}e и модуль m {\ displaystyle m}m , метод применяется следующим образом (для простоты модульное сокращение на m в формулах опущено): перед расшифровкой, то есть перед вычислением результата yd {\ displaystyle y ^ {d}}y ^ d для заданного зашифрованного текста y {\ displaystyle y}y , система выбирает случайное число r {\ displaystyle r}r и шифрует его публичным показателем e {\ displaystyle e}e , чтобы получить re {\ displaystyle r ^ {e}}r^e. Затем дешифрование выполняется на y ⋅ re {\ displaystyle y \ cdot r ^ {e}}y \ cdot r ^ e , чтобы получить (y ⋅ re) d = yd ⋅ re ⋅ d = yd ⋅ р {\ displaystyle {(y \ cdot r ^ {e})} ^ {d} = y ^ {d} \ cdot r ^ {e \ cdot d} = y ^ {d} \ cdot r}{(y \ cdot r ^ e)} ^ d = y ^ d \ cdot r ^ {e \ cdot d} = y ^ d \ cdot r . Поскольку система дешифрования выбрала r {\ displaystyle r}r , она может вычислить обратный по модулю m {\ displaystyle m}m , чтобы компенсировать множитель r {\ displaystyle r}r в результате и получить yd {\ displaystyle y ^ {d}}y ^ d , фактический результат дешифрования. Для атак, требующих сбора информации о побочных каналах из операций с данными, контролируемыми злоумышленником, ослепление является эффективной мерой противодействия, поскольку фактическая операция выполняется над рандомизированной версией данных, о которой злоумышленник не имеет никакого контроля или даже не знает.

Более общая контрмера (в том смысле, что она эффективна против всех атак по побочным каналам) - это маскирующая контрмера. Принцип маскирования заключается в том, чтобы не манипулировать каким-либо чувствительным значением y {\ displaystyle y}y напрямую, а скорее управлять его совместным использованием: набором переменных (называемых «долями») y 1,..., y d {\ displaystyle y_ {1},..., y_ {d}}y_ {1},..., y_ {d} такой, что y = y 1 ⊕... ⊕ yd {\ displaystyle y = y_ {1} \ oplus... \ oplus y_ {d}}{\ displaystyle y = y_ {1} \ oplus... \ oplus y_ {d}} (где ⊕ {\ displaystyle \ oplus}\ oplus - это операция XOR ). Злоумышленник должен восстановить все значения общих ресурсов, чтобы получить какую-либо значимую информацию.

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

См. Также
Ссылки
Дополнительная литература

Книги

Статьи

Внешние ссылки
Последняя правка сделана 2021-06-08 07:51:10
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте