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