stringtranslate.com

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

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

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

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

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

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

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

Примеры

ААтака по сторонним каналам кэша работает путем мониторинга критических для безопасности операций, таких какAEST[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) . Microsoft Research . Симпозиум IEEE по безопасности и конфиденциальности 2010 г. Архивировано (PDF) из оригинала 17.06.2016 . Получено 16.12.2011 .
  2. ^ Ashokkumar C.; Ravi Prakash Giri; Bernard Menezes (2016). «Высокоэффективные алгоритмы извлечения ключей AES при атаках на доступ к кэшу». Европейский симпозиум IEEE по безопасности и конфиденциальности 2016 г. (EuroS&P) . стр. 261–275. doi :10.1109/EuroSP.2016.29. ISBN 978-1-5090-1751-5. S2CID  11251391.
  3. ^ Горка Иразоки; Мехмет Синан Инджи; Томас Эйзенбарт; Берк Сунар, Подождите минутку! Быстрая кросс-VM атака на AES (PDF) , заархивировано (PDF) из оригинала 2017-08-11 , извлечено 2018-01-07
  4. ^ Ювал Яром; Катрина Фолкнер, Flush+Reload: атака по сторонним каналам кэша L3 с высоким разрешением и низким уровнем шума (PDF) , заархивировано (PDF) из оригинала 05.07.2017 , извлечено 07.01.2018
  5. ^ Мехмет С. Инджи; Берк Гулмезоглу; Горка Иразоки; Томас Эйзенбарт; Берк Сунар, Атаки на кэш позволяют массово восстанавливать ключи в облаке (PDF) , заархивировано (PDF) из оригинала 17.07.2016 , извлечено 07.01.2018
  6. ^ Дэвид Брамли; Дэн Бонех (2003). "Удалённые атаки по времени практичны" (PDF) . Архивировано (PDF) из оригинала 2011-07-28 . Получено 2010-11-05 .
  7. ^ Ковач, Эдуард (2023-08-01). "Почти все современные процессоры пропускают данные для новой атаки по сторонним каналам Collide+Power". SecurityWeek . Архивировано из оригинала 2024-07-11 . Получено 2023-08-02 .
  8. ^ Клэберн, Томас. «Обнаружена еще одна уязвимость, приводящая к утечке данных в ЦП. К счастью, это непрактично». www.theregister.com . Получено 2023-08-02 .
  9. ^ Collide+Power, Институт прикладной обработки информации и коммуникаций (IAIK), 2023-08-01, архивировано из оригинала 2023-08-01 , извлечено 2023-08-02
  10. ^ Лерман, Лиран; Бонтемпи, Джанлука; Маркович, Оливье (1 января 2014 г.). «Атака с использованием анализа мощности: подход, основанный на машинном обучении». Международный журнал прикладной криптографии . 3 (2): 97–115. doi :10.1504/IJACT.2014.062722. ISSN  1753-0563. Архивировано из оригинала 25 января 2021 г. . Получено 25 сентября 2020 г. .
  11. ^ Тимон, Бенджамин (28.02.2019). «Непрофилированные атаки по боковым каналам на основе глубокого обучения с анализом чувствительности». Труды IACR по криптографическому оборудованию и встраиваемым системам : 107–131. doi : 10.13154/tches.v2019.i2.107-131. ISSN  2569-2925. S2CID  4052139. Архивировано из оригинала 12.11.2021 . Получено 19.11.2021 .
  12. ^ «X-DeepSCA: Cross-Device Deep Learning Side Channel Attack» Архивировано 22 февраля 2020 г. на Wayback Machine Д. Дасом, А. Голдером, Дж. Даниалом, С. Гошем, А. Рейчоудхури и С. Сеном на 56-й конференции ACM/IEEE по автоматизации проектирования (DAC) 2019 г.
  13. ^ «Практические подходы к атаке по сторонним каналам питания на основе глубокого обучения между устройствами». Архивировано 11 июля 2024 г. на Wayback Machine А. Голдером, Д. Дасом, Дж. Даниалом, С. Гошем, А. Рейчоудхури и С. Сеном в IEEE Transactions on Very Large Scale Integration (VLSI) Systems, том 27, выпуск 12, 2019 г.
  14. ^ «Рассекреченный документ АНБ раскрывает секретную историю TEMPEST». Wired . Wired.com. 29 апреля 2008 г. Архивировано из оригинала 1 мая 2008 г. Получено 2 мая 2008 г.
  15. ^ "Введение в TEMPEST | SANS Institute". Архивировано из оригинала 2017-09-05 . Получено 2015-10-06 .
  16. Чёрч, Джордж (20 апреля 1987 г.). «Искусство высокотехнологичного шпионажа». Time . Архивировано из оригинала 4 июня 2011 г. Получено 21 января 2010 г.
  17. Эдуард Ковач (23 февраля 2017 г.), «Светодиод жесткого диска допускает кражу данных с изолированных ПК», Security Week , заархивировано из оригинала 2017-10-07 , извлечено 2018-03-18
  18. ^ J. Ferrigno; M. Hlaváč (сентябрь 2008 г.), «Когда AES мигает: введение оптического побочного канала», IET Information Security , 2 (3): 94–98, doi :10.1049/iet-ifs:20080038, заархивировано из оригинала 2018-01-11 , извлечено 2017-03-16
  19. ^ S. Angel; S. Kannan; Z. Ratliff, «Частные распределители ресурсов и их применение» (PDF) , Труды симпозиума IEEE по безопасности и конфиденциальности (S&P), 2020. , заархивировано (PDF) из оригинала 24-06-2020 , извлечено 23-06-2020
  20. ^ Tortuga Logic (2018). «Выявление проблем изоляции в современных архитектурах микропроцессоров». Архивировано из оригинала 2018-02-24 . Получено 2018-02-23 .
  21. ^ abcd «Сетевая асинхронная архитектура для криптографических устройств» Архивировано 29 сентября 2011 г. на Wayback Machine Лилианой Спадавеккья 2005 г. в разделах «3.2.3 Контрмеры», «3.4.2 Контрмеры», «3.5.6 Контрмеры», «3.5.7 Программные контрмеры», «3.5.8 Аппаратные контрмеры» и «4.10 Анализ побочных каналов асинхронных архитектур».
  22. ^ «Модель безопасности счетчика программ: автоматическое обнаружение и устранение атак по сторонним каналам потока управления». Архивировано 19 апреля 2009 г. на Wayback Machine Дэвидом Молнаром, Мэттом Пиотровски, Дэвидом Шульцем, Дэвидом Вагнером (2005).
  23. ^ ""Модель безопасности счетчика программ: автоматическое обнаружение и устранение атак по сторонним каналам потока управления" Презентация USENIX Work-in-Progress" (PDF) . Архивировано (PDF) из оригинала 2017-08-14 . Получено 2014-10-04 .
  24. ^ Jeong, C.; Nowick, SM (январь 2007 г.). «Оптимизация надежных асинхронных схем с помощью релаксации локальной входной полноты». Азиатско-тихоокеанская конференция по автоматизации проектирования 2007 г. стр. 622–627. doi :10.1109/ASPDAC.2007.358055. ISBN 978-1-4244-0629-6. S2CID  14219703.
  25. ^ «Маскировка против атак по сторонним каналам: формальное доказательство безопасности». Архивировано 11 августа 2017 г. на Wayback Machine Эммануэлем Пруффом и Матье Ривеном в книге «Достижения в криптологии – EUROCRYPT 2013».
  26. ^ "Электромагнитная и силовая SCA-устойчивая AES-256 в 65 нм КМОП с >350-кратным затуханием сигнатуры в токовом домене" Архивировано 07.08.2020 на Wayback Machine Д. Дасом и др. на Международной конференции IEEE по твердотельным схемам (ISSCC), 2020 г.,
  27. ^ «STELLAR: Общая защита от атак по сторонним каналам с помощью анализа первопричин». Архивировано 22 февраля 2020 г. на Wayback Machine Д. Дасом, М. Натом, Б. Чаттерджи, С. Гошем и С. Сеном на Международном симпозиуме IEEE по аппаратно-ориентированной безопасности и доверию (HOST), Вашингтон, округ Колумбия, 2019 г.
  28. ^ "ASNI: ослабленная инъекция сигнатурного шума для защиты от атак по боковым каналам с низкими издержками". Архивировано 22 февраля 2020 г. на Wayback Machine Д. Дасом, С. Майти, С. Б. Насиром, С. Гошем, А. Рейчоудхури и С. Сеном в IEEE Transactions on Circuits and Systems I: Regular Papers, 2017, том 65, выпуск 10.
  29. ^ «Высокоэффективная защита от атак по сторонним каналам с использованием шумовой инъекции в области ослабленных сигнатур». Архивировано 22 февраля 2020 г. на Wayback Machine Д. Дасом, С. Майти, С. Б. Насиром, С. Гошем, А. Рейчоудхури и С. Сеном на Международном симпозиуме IEEE по аппаратно-ориентированной безопасности и доверию (HOST), Вашингтон, округ Колумбия, 2017 г.

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

Книги

Статьи

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