Все техники взлома криптографических систем разделяют на две большие группы: использующие недостатки самих алгоритмов шифрования и их физических реализаций. В этой статье мы рассмотрим последние, которые называют SCA (side-channel attacks) — атаки по сторонним (или побочным) каналам.
Статья написана в исследовательских целях. Вся информация в ней носит ознакомительный характер. Ни автор, ни редакция не несут ответственности за любой возможный вред.
В отличие от абстрактной математической модели, любая физическая реализация шифрсистемы не может быть полностью изолирована. Она всегда состоит из каких-то серийно выпускаемых компонентов, имеющих свои особенности работы. Например, криптомодуль неодинаково потребляет электроэнергию во время разных битовых операций, создает характерные радиочастотные помехи, испытывает отличающиеся в зависимости от входных данных задержки, сильнее нагревается в одном случае и слабее в другом. Все это — косвенные данные, которые позволяют узнать секретную информацию, не имея к ней прямого доступа.
На практике SCA в различных вариантах используются очень широко — от подслушивания паролей до считывания защищенных областей памяти в обход изоляции адресного пространства, причем необязательно на локальной машине.
Суть SCA состоит в том, чтобы вместо лобовой атаки перехватить какие-то побочные сигналы, возникающие при обработке изолированных или зашифрованных данных. Затем по этим сигналам пытаются восстановить секретную информацию (пароль, хеш, ключ шифрования, текст сообщения) без прямого обращения к защищенным данным.
Простейший пример: ты хочешь узнать пароль своего коллеги, но не можешь подсмотреть его во время набора. При этом на слух удается определить его длину и однократное использование пробела — эта клавиша звучит очень своеобразно. Безо всякого оборудования и хитрых программ ты уже узнал многое о пароле, просто навострив уши.
Если же сделать несколько аудиозаписей того, как логинится коллега, а затем применить статистический анализ, то ты смог бы восстановить весь пароль или его большую часть. Единичные неуверенно распознанные символы все равно подбираются по маске за короткое время.
Такой же по сути (но более сложный в плане реализации) метод атаки по сторонним каналам использовало британское агентство GCHQ в середине шестидесятых. Оно установило микрофоны в египетском посольстве и записывало звуки, которые издает механическая шифровальная машина. По ним выяснили начальные положения двух символьных дисков, а дальше вскрыли схему шифрования обычным перебором.
Сегодня SCA редко выполняются по акустическому каналу — разве что это делается в качестве академического исследования. Например, известный криптограф Ади Шамир задался целью восстановить ключ RSA по диктофонной записи звуковых паттернов шифрования. (Да, электроника тоже по-разному скрипит, когда выполняет типовые операции.) Ему в итоге удалось это сделать, правда в совершенно нетипичных условиях: компьютер непрерывно шифровал одним и тем же ключом в течение часа, все остальные процессы были выгружены.
Куда чаще на практике измеряют электромагнитное излучение (ЭМИ). Оно тоже меняется в зависимости от того, какой скан-код отправляется компьютеру с клавиатуры и какие инструкции выполняют разные чипы. По-русски это называется регистрация ПЭМИН (побочных электромагнитных излучений и наводок), а в англоязычной литературе — TEMPEST (Transient Electromagnetic Pulse Emanation Standard).
Аббревиатура TEMPEST была взята из одноименной секретной программы США семидесятых годов. К настоящему времени на ее основе был разработан целый набор стандартов, где описаны требования для защиты оборудования разного класса от демаскирующих ЭМ-излучений. В нулевых годах термин TEMPEST стали использовать для обозначения любой атаки, основанной на регистрации побочного ЭМИ.
В современном варианте для анализа ПЭМИН чаще всего используются программируемые радиосистемы (SDR). Например, в работе Stealing Keys from PCs using a Radio авторы показывают, как с помощью ресивера FUNcube Dongle Pro+ можно вскрыть RSA-ключи, находясь в полуметре от обрабатывающего их ноутбука.
Еще одна любопытная модификация этой атаки — непрерывное измерение электрического потенциала на корпусе ноутбука во время шифрования или дешифрования. Сопоставив график с известным шифртекстом и алгоритмом, можно вычислить ключ даже очень большой длины.
Материалы из последних выпусков становятся доступны по отдельности только через два месяца после публикации. Чтобы продолжить чтение, необходимо стать участником сообщества «Xakep.ru».
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», увеличит личную накопительную скидку и позволит накапливать профессиональный рейтинг Xakep Score! Подробнее
1 год7690 р. |
1 месяц720 р. |
Я уже участник «Xakep.ru»
Читайте также
Последние новости