Открыть сервис

Side-channel атаки

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

История

Первые научные работы, описывающие возможность утечки информации через побочные физические сигналы, появились в середине XX века. В 1943 году инженер Bell Labs Гарри Хаскин заметил, что осциллограф, подключённый к системе телефонной связи, воспроизводит сигналы, позволяющие прослушивать разговоры. Однако систематическое изучение этого явления началось позже.

В 1956 году сотрудники британской разведки MI5 опубликовали отчёт, в котором описали возможность перехвата данных с шифровальной машины «Энигма» по излучению её электромагнитных полей. В 1980-х годах американский криптолог Майкл Вильямс (Michael Williams) ввёл термин «TEMPEST» для обозначения методов защиты от утечки информации через электромагнитное излучение.

Современный этап развития side-channel атак начался в 1996 году, когда Пол Кохер (Paul Kocher) из Стэнфордского университета опубликовал работу, демонстрирующую возможность восстановления секретных ключей RSA с помощью анализа времени выполнения операций. В 1999 году он же представил атаку по анализу энергопотребления (DPA). С тех пор количество публикаций и практических реализаций side-channel атак значительно возросло, что привело к разработке контрмер как в аппаратном, так и в программном обеспечении.

Классификация

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

По типу физического канала

  • Временные атаки (Timing attacks): основаны на измерении времени выполнения криптографических операций. Разница во времени может зависеть от значений обрабатываемых данных (например, от количества битов в ключе). Пример: атака на алгоритм RSA, где время возведения в степень зависит от веса Хэмминга ключа.
  • Атаки по энергопотреблению (Power analysis attacks): анализируют мгновенное потребление тока устройством. Различают простой анализ (SPA — Simple Power Analysis), при котором визуально изучают график энергопотребления, и дифференциальный анализ (DPA — Differential Power Analysis), использующий статистические методы для выделения сигнала из шума.
  • Электромагнитные атаки (EM attacks): регистрируют электромагнитное излучение, возникающее при работе электронных компонентов. Этот метод часто эффективнее анализа энергопотребления, так как позволяет локализовать источник излучения.
  • Акустические атаки (Acoustic attacks): используют звук, издаваемый устройством (например, шум вентилятора, щелчки реле, вибрации конденсаторов). В 2013 году исследователи показали возможность восстановления ключей RSA по звуку процессора.
  • Кэш-атаки (Cache attacks): эксплуатируют разницу во времени доступа к данным в кэш-памяти и оперативной памяти. Примеры: Prime+Probe, Flush+Reload, Evict+Time. Эти атаки особенно актуальны для облачных сред, где несколько виртуальных машин используют общий кэш.
  • Оптические атаки: фиксируют изменения в оптических свойствах устройства (например, свечение светодиодов, отражение лазерного луча от поверхности чипа).
  • Атаки по ошибкам (Fault attacks): вызывают преднамеренные сбои в работе устройства (например, изменение напряжения питания, температуры, облучение лазером) и анализируют результат, чтобы извлечь информацию.

По способу взаимодействия

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

По методу анализа

  • Простые атаки (Simple attacks): используют визуальный или простой математический анализ одного или нескольких сигналов.
  • Дифференциальные атаки (Differential attacks): применяют статистические методы для выделения слабого сигнала, связанного с данными, из большого объёма шума.

Применение

Side-channel атаки имеют широкий спектр применения, как в легальных целях, так и в злонамеренных.

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

  • Восстановление криптографических ключей: основная цель side-channel атак. Успешные атаки были продемонстрированы на алгоритмы AES, RSA, ECC, DES и другие.
  • Тестирование защищённости устройств: производители чипов (например, Intel, AMD, ARM) и разработчики криптографического ПО (OpenSSL, GnuPG) используют side-channel атаки для выявления уязвимостей в своих продуктах.
  • Анализ смарт-карт и банковских карт: side-channel атаки позволяют извлекать секретные ключи из пластиковых карт, используемых в системах EMV.

Кибершпионаж и атаки на критическую инфраструктуру

  • Атаки на облачные серверы: кэш-атаки (например, Meltdown и Spectre, обнаруженные в 2018 году) позволяют злоумышленнику, работающему на одной виртуальной машине, читать память другой виртуальной машины на том же физическом сервере.
  • Атаки на мобильные устройства: с помощью анализа энергопотребления или электромагнитного излучения можно извлекать данные из смартфонов, планшетов и носимых устройств.
  • Атаки на автомобильные системы: современные автомобили содержат множество электронных блоков управления (ECU), которые могут быть подвержены side-channel атакам.

Судебная экспертиза и криминалистика

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

Контрмеры

Защита от side-channel атак требует комплексного подхода, включающего как аппаратные, так и программные меры.

Аппаратные контрмеры

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

Программные контрмеры

  • Постоянное время выполнения: реализация алгоритмов таким образом, чтобы время выполнения не зависело от значений входных данных (например, использование таблиц подстановок с фиксированным временем доступа).
  • Случайные задержки: вставка случайных пауз в выполнение операций для затруднения временного анализа.
  • Маскирование данных: смешивание секретных данных со случайными значениями перед выполнением операций.
  • Изоляция процессов: использование аппаратной виртуализации и изолированных сред выполнения (например, Intel SGX, ARM TrustZone) для предотвращения кэш-атак.

Организационные меры

  • Регулярное тестирование: проведение аудитов безопасности с использованием side-channel атак.
  • Обновление ПО: установка патчей, закрывающих известные уязвимости (например, для Meltdown и Spectre).
  • Обучение персонала: повышение осведомлённости о рисках side-channel атак.

Примеры известных атак

  • Meltdown и Spectre (2018): уязвимости в процессорах Intel, AMD и ARM, позволяющие читать память ядра и других процессов. Meltdown затрагивает процессоры Intel, Spectre — все основные архитектуры. Обе атаки используют кэш-каналы.
  • DPA на смарт-карты (1999): Пол Кохер продемонстрировал, что с помощью анализа энергопотребления можно восстановить ключ AES за несколько минут.
  • Акустическая атака на RSA (2013): исследователи из Тель-Авивского университета показали, что можно восстановить ключ RSA, записывая звук процессора во время выполнения операции.
  • Атака на алгоритм SHA-1 (2017): с помощью анализа времени выполнения удалось восстановить секретный ключ, используемый в алгоритме хеширования.
  • Атака на облачные серверы Amazon (2019): исследователи продемонстрировали возможность извлечения данных из виртуальных машин на серверах Amazon Web Services с помощью кэш-атаки.

Критика и ограничения

Side-channel атаки, несмотря на свою эффективность, имеют ряд ограничений:

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

Источники

  1. Kocher, P. (1996). Timing Attacks on Implementations of Diffie-Hellman, RSA, DSS, and Other Systems. Advances in Cryptology — CRYPTO '96.
  2. Kocher, P., Jaffe, J., & Jun, B. (1999). Differential Power Analysis. Advances in Cryptology — CRYPTO '99.
  3. Mangard, S., Oswald, E., & Popp, T. (2007). Power Analysis Attacks: Revealing the Secrets of Smart Cards. Springer.
  4. Lipp, M., et al. (2018). Meltdown: Reading Kernel Memory from User Space. USENIX Security Symposium.
  5. Kocher, P., et al. (2018). Spectre Attacks: Exploiting Speculative Execution. IEEE Symposium on Security and Privacy.
  6. Genkin, D., Shamir, A., & Tromer, E. (2013). RSA Key Extraction via Low-Bandwidth Acoustic Cryptanalysis. Advances in Cryptology — CRYPTO 2013.
  7. Standaert, F.-X. (2010). Introduction to Side-Channel Attacks. Secure Integrated Circuits and Systems.
  8. Чугунов, А. А. (2015). Атаки по сторонним каналам: методы и контрмеры. Проблемы информационной безопасности, № 3.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →