stringtranslate.com

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

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

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

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

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

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

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

Примеры

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

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

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

Атака с анализом мощности может предоставить еще более подробную информацию, наблюдая за энергопотреблением аппаратного устройства, такого как процессор или криптографическая схема. Эти атаки грубо делятся на простой анализ мощности (SPA) и дифференциальный анализ мощности (DPA). Одним из примеров является Collide+Power, который затрагивает почти все процессоры. [7] [8] [9] В других примерах используются подходы машинного обучения . [10]

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

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

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

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

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

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

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

Контрмеры

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

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

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

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

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

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

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

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

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

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

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

Недавно моделирование «белого ящика» было использовано для разработки общих мер противодействия на уровне схемы с низкими издержками [26] как против электромагнитных атак, так и против атак по побочным каналам питания. Чтобы свести к минимуму влияние металлических слоев более высокого уровня в ИС, действующих как более эффективные антенны, [27] идея состоит в том, чтобы встроить в криптоядро схему подавления сигнатур, [28] [29] маршрутизируемую локально внутри нижнего уровня. металлические слои, что обеспечивает устойчивость к атакам как по мощности, так и по боковым электромагнитным каналам.

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

Рекомендации

  1. ^ Шуо Чен; Руй Ван; СяоФэн Ван и Кехуань Чжан (май 2010 г.). «Утечки по боковым каналам в веб-приложениях: реальность сегодня, проблема завтра» (PDF) . Исследования Майкрософт . Симпозиум IEEE по безопасности и конфиденциальности 2010.
  2. ^ Ашоккумар К.; Рави Пракаш Гири; Бернар Менезес (2016). «Высокоэффективные алгоритмы получения ключей AES при атаках на доступ к кешу». Европейский симпозиум IEEE по безопасности и конфиденциальности (EuroS&P) , 2016 г. стр. 261–275. дои :10.1109/ЕвроСП.2016.29. ISBN 978-1-5090-1751-5. S2CID  11251391.
  3. ^ Горка Ирасоки; Мехмет Синан Инджи; Томас Эйзенбарт; Берк Сунар, погоди! Быстрая межвиртуальная атака на AES (PDF) , получено 7 января 2018 г.
  4. ^ Юваль Яром; Катрина Фолкнер, Flush+Reload: атака по боковому каналу кэша L3 с высоким разрешением и низким уровнем шума (PDF) , получено 7 января 2018 г.
  5. ^ Мехмет С. Инчи; Берк Гюльмезоглу; Горка Ирасоки; Томас Эйзенбарт; Берк Сунар, Атаки на кэш позволяют массовое восстановление ключей в облаке (PDF) , получено 7 января 2018 г.
  6. ^ Дэвид Брамли; Дэн Бонех (2003). «Удаленные атаки по времени практичны» (PDF) .
  7. ^ Ковач, Эдуард (01 августа 2023 г.). «Почти все современные процессоры сливают данные в результате новой атаки по побочным каналам Collide+Power». Неделя безопасности . Проверено 2 августа 2023 г.
  8. ^ Клэберн, Томас. «Обнаружена еще одна утечка данных процессора. К счастью, это непрактично». www.theregister.com . Проверено 2 августа 2023 г.
  9. ^ Collide+Power, Институт прикладной обработки информации и коммуникаций (IAIK), 1 августа 2023 г. , получено 2 августа 2023 г.
  10. ^ Лерман, Лиран; Бонтемпи, Джанлука; Маркович, Оливье (1 января 2014 г.). «Атака с анализом мощности: подход, основанный на машинном обучении». Международный журнал прикладной криптографии . 3 (2): 97–115. doi :10.1504/IJACT.2014.062722. ISSN  1753-0563.
  11. ^ Тимон, Бенджамин (28 февраля 2019 г.). «Непрофилированные атаки по побочным каналам на основе глубокого обучения с анализом чувствительности». Транзакции IACR на криптографическом оборудовании и встроенных системах : 107–131. doi : 10.13154/tches.v2019.i2.107-131. ISSN  2569-2925. S2CID  4052139 . Проверено 19 ноября 2021 г.
  12. ^ «X-DeepSCA: Атака по боковому каналу глубокого обучения между устройствами» Д. Дас, А. Голдер, Дж. Даниал, С. Гош, А. Рэйчоудхури и С. Сен, на 56-й конференции по автоматизации проектирования ACM / IEEE (DAC) ) 2019.
  13. ^ «Практические подходы к атаке по боковым каналам мощности между устройствами на основе глубокого обучения» А. Голдера, Д. Даса, Дж. Даниала, С. Гоша, А. Рэйчоудхури и С. Сена, в IEEE Transactions on Very Large Системы масштабной интеграции (СБИС), Vol. 27, выпуск 12, 2019.
  14. ^ «Рассекреченный документ АНБ раскрывает секретную историю TEMPEST» . Проводной . Wired.com. 29 апреля 2008 г.
  15. ^ «Введение в TEMPEST | Институт SANS» .
  16. Черч, Джордж (20 апреля 1987 г.). «Искусство высокотехнологичного слежения». Время . Архивировано из оригинала 4 июня 2011 года . Проверено 21 января 2010 г.
  17. Эдуард Ковач (23 февраля 2017 г.), «Индикатор жесткого диска позволяет осуществлять кражу данных с компьютеров с воздушным зазором», Security Week , получено 18 марта 2018 г.
  18. ^ Дж. Ферриньо; М. Главач (сентябрь 2008 г.), «Когда мигает AES: введение оптического бокового канала», IET Information Security , 2 (3): 94–98, doi : 10.1049/iet-ifs:20080038
  19. ^ С. Ангел; С. Каннан; З. Рэтлифф, «Частные распределители ресурсов и их приложения» (PDF) , Материалы симпозиума IEEE по безопасности и конфиденциальности (S&P), 2020.
  20. ^ Логика Тортуги (2018). «Выявление проблем изоляции в современных микропроцессорных архитектурах». Архивировано из оригинала 24 февраля 2018 г. Проверено 23 февраля 2018 г.
  21. ^ abcd «Сетевая асинхронная архитектура для криптографических устройств», Лиляна Спадавечкья, 2005 г., в разделах «3.2.3 Контрмеры», «3.4.2 Контрмеры», «3.5.6 Контрмеры», «3.5.7 Программные контрмеры», «3.5 .8 Аппаратные меры противодействия» и «4.10 Анализ побочных каналов асинхронных архитектур».
  22. ^ «Модель безопасности противодействия программам: автоматическое обнаружение и устранение атак по побочным каналам потока управления» Дэвида Молнара, Мэтта Пиотровски, Дэвида Шульца, Дэвида Вагнера (2005).
  23. ^ «Модель безопасности счетчика программ: автоматическое обнаружение и устранение атак по побочным каналам потока управления» Презентация статьи USENIX в стадии разработки
  24. ^ Чон, К.; Новик, С.М. (январь 2007 г.). «Оптимизация устойчивых асинхронных схем путем ослабления полноты локального ввода». 2007 Конференция по автоматизации проектирования в Азии и Южно-Тихоокеанском регионе . стр. 622–627. дои : 10.1109/ASPDAC.2007.358055. ISBN 978-1-4244-0629-6. S2CID  14219703.
  25. ^ «Маскировка против атак по побочным каналам: формальное доказательство безопасности» Эммануэля Пруффа, Матье Ривена в книге «Достижения в криптологии» - EUROCRYPT 2013.
  26. ^ «EM и Power SCA-Resilient AES-256 в 65-нм КМОП благодаря >350-кратному ослаблению сигнатуры в токовой области» Д. Даса и др., на Международной конференции IEEE по твердотельным схемам (ISSCC), 2020,
  27. ^ «STELLAR: Общая защита от атак по побочным каналам EM посредством детального анализа первопричин» Д. Даса, М. Ната, Б. Чаттерджи, С. Гоша и С. Сена, на Международном симпозиуме IEEE по аппаратному обеспечению Безопасность и доверие (HOST), Вашингтон, округ Колумбия, 2019 г.
  28. ^ «ASNI: ослабленное введение сигнатурного шума для устойчивости к атакам по побочным каналам с низкими издержками мощности» Д. Дас, С. Мэйти, С.Б. Насир, С. Гош, А. Рэйчоудхури и С. Сен, в IEEE Transactions on Circuits and Systems I: Обычные статьи, 2017, Том. 65, выпуск 10.
  29. ^ «Высокоэффективная устойчивость к атакам по побочным каналам мощности с использованием введения шума в области ослабленных сигнатур» Д. Дас, С. Мэйти, С.Б. Насир, С. Гош, А. Рэйчоудхури и С. Сен, на Международном симпозиуме IEEE по аппаратно-ориентированной безопасности. and Trust (HOST), Вашингтон, округ Колумбия, 2017 г.

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

Книги

Статьи

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