Введение
Любая атака, основанная на информации, полученной в результате реализации компьютерной системы.
В компьютерной безопасности атака по стороннему каналу — это любая атака, основанная на дополнительной информации, которую можно получить из-за принципиального способа реализации компьютерного протокола или алгоритма, а не из-за недостатков в проектировании самого протокола или алгоритма (например, недостатков, выявленных при криптоанализе криптографического алгоритма) или незначительных, но потенциально разрушительных ошибок или упущений в реализации. (Криптоанализ также включает поиск атак по сторонним каналам.) Информация о времени выполнения, энергопотреблении, электромагнитном излучении и звуке — примеры дополнительной информации, которая может быть использована для осуществления атак по сторонним каналам. Некоторые атаки по сторонним каналам требуют технических знаний о внутренней работе системы, в то время как другие, такие как дифференциальный анализ мощности, эффективны как атаки «черного ящика». Распространение веб-приложений 2.0 и программного обеспечения как услуги также значительно увеличило вероятность атак по сторонним каналам в сети, даже когда передачи между веб-браузером и сервером зашифрованы (например, с помощью HTTPS или шифрования Wi-Fi), согласно исследователям из Microsoft Research и Университета Индианы. Попытки взлома криптосистемы путем обмана или принуждения людей, имеющих законный доступ, обычно не считаются атаками по сторонним каналам: см. социальную инженерию и криптоанализ с использованием физического воздействия. Общие классы атак по сторонним каналам включают:
Атака на кэш — атаки, основанные на способности злоумышленника отслеживать обращения к кэшу, выполняемые жертвой в общей физической системе, например, в виртуализированной среде или в определенном типе облачного сервиса. Тайминговая атака — атаки, основанные на измерении времени, необходимого для выполнения различных вычислений (например, сравнения пароля, предоставленного злоумышленником, с неизвестным паролем жертвы). Атака мониторинга энергопотребления — атаки, использующие изменение энергопотребления аппаратным обеспечением во время вычислений. Электромагнитная атака — атаки, основанные на утечке электромагнитного излучения, которое может напрямую предоставлять открытый текст и другую информацию. Эти измерения можно использовать для вывода криптографических ключей с использованием методов, эквивалентных методам анализа мощности, или для некриптографических атак, например, атак TEMPEST (также известных как фрекинг ван Эка или мониторинг излучения). Акустический криптоанализ — атаки, использующие звук, производимый во время вычислений (подобно анализу мощности). Дифференциальный анализ неисправностей — в котором секреты обнаруживаются путем внесения неисправностей в вычисления. Сохранение данных — в котором конфиденциальные данные считываются после того, как они, предположительно, были удалены (например, атака холодной загрузки). Атаки на ошибки, инициированные программным обеспечением — в настоящее время редкий класс сторонних каналов, Row hammer является примером, в котором память, к которой доступ запрещен, может быть изменена путем слишком частого доступа к соседней памяти (вызывая потерю сохранения состояния). Allowlist — атаки, основанные на том, что устройства, использующие списки разрешений, будут вести себя по-разному при взаимодействии с устройствами, включенными в список разрешений (отправляя ответы), и устройствами, не включенными в список разрешений (вообще не отвечая на запросы). Сторонний канал на основе списка разрешений может использоваться для отслеживания MAC-адресов Bluetooth. Оптические — в которых секреты и конфиденциальные данные могут быть прочитаны с помощью визуальной записи с использованием камеры высокого разрешения или других устройств, обладающих такими возможностями (см. примеры ниже). Во всех случаях основной принцип заключается в том, что физические эффекты, вызванные работой криптосистемы (со стороны), могут предоставить полезную дополнительную информацию о секретах в системе, например, криптографический ключ, частичную информацию о состоянии, полный или частичный открытый текст и так далее. Термин «криптофтора» (деградация секрета) иногда используется для обозначения деградации секретного ключевого материала, вызванной утечкой по стороннему каналу.
Software initiated fault attacks — Currently a rare class of side channels, Row hammer is an example in which off limits memory can be changed by accessing adjacent memory too often (causing state retention loss). Allowlist — attacks based on the fact that the allowlisting devices will behave differently when communicating with allowlisted (sending back the responses) and non allowlisted (not responding to the devices at all) devices. Allowlist based side channel may be used to track Bluetooth MAC addresses. Optical in which secrets and sensitive data can be read by visual recording using a high resolution camera, or other devices that have such capabilities (see examples below). In all cases, the underlying principle is that physical effects caused by the operation of a cryptosystem (on the side) can provide useful extra information about secrets in the system, for example, the cryptographic key, partial state information, full or partial plaintexts and so forth. The term cryptophthora (secret degradation) is sometimes used to express the degradation of secret key material resulting from side channel leakage.
Примеры
Атака по боковому каналу кэша работает путем мониторинга критически важных для безопасности операций, таких как обращение к таблице AES T, модульное возведение в степень или умножение, либо доступ к памяти. Затем злоумышленник может восстановить секретный ключ, основываясь на выполненных (или не выполненных) жертвой доступах, и вывести ключ шифрования. Кроме того, в отличие от некоторых других атак по боковому каналу, этот метод не вызывает сбой в текущей криптографической операции и незаметен для жертвы. В 2017 году были обнаружены две уязвимости процессора (под названиями Meltdown и Spectre), которые могут использовать боковой канал на основе кэша, чтобы злоумышленник мог получить доступ к содержимому памяти других процессов и самой операционной системы. Атака по времени отслеживает перемещение данных в процессор или память на аппаратном обеспечении, выполняющем криптосистему или алгоритм. Просто наблюдая за изменениями во времени, необходимом для выполнения криптографических операций, можно определить весь секретный ключ. Такие атаки включают статистический анализ временных измерений и были продемонстрированы в сетях. Атака анализа мощности может предоставить еще более подробную информацию, наблюдая за потреблением энергии аппаратного устройства, такого как процессор или криптографическая схема. Эти атаки грубо подразделяются на простой анализ мощности (SPA) и дифференциальный анализ мощности (DPA). Одним из примеров является Collide+Power, который затрагивает почти все процессоры. Другие примеры используют подходы машинного обучения. Колебания тока также генерируют радиоволны, что позволяет проводить атаки, анализирующие измерения электромагнитного (ЭМ) излучения. Эти атаки обычно используют те же статистические методы, что и атаки анализа мощности. Было продемонстрировано, что атака по боковому каналу на основе глубокого обучения, использующая данные о мощности и ЭМ-излучении с нескольких устройств, может взломать секретный ключ другого, но идентичного устройства, используя всего одну трассу. Известны исторические аналоги современных атак по боковому каналу. Недавно рассекреченный документ АНБ показывает, что еще в 1943 году инженер компании Bell Telephone наблюдал различимые пики на осциллографе, связанные с расшифрованным выходным сигналом определенного шифрующего телетайпа. По словам бывшего сотрудника MI5 Питера Райта, британская служба безопасности анализировала излучения от французского шифровального оборудования в 1960-х годах. В 1980-х годах советские спецслужбы подозревались в установке жучков внутри пишущих машин IBM Selectric для мониторинга электрического шума, генерируемого при вращении и наклоне печатающей головки для удара по бумаге; характеристики этих сигналов могли определить, какая клавиша была нажата. Потребление энергии устройствами вызывает нагрев, который компенсируется охлаждением. Изменения температуры создают термически индуцированные механические напряжения. Это напряжение может создавать низкоуровневые акустические излучения от работающих процессоров (около 10 кГц в некоторых случаях). Недавние исследования Shamir и др. показали, что информацию о работе криптосистем и алгоритмов можно получить и таким образом. Это атака акустического криптоанализа. Если поверхность чипа процессора или, в некоторых случаях, корпуса процессора, находится в поле зрения, то инфракрасные изображения также могут предоставить информацию о коде, выполняемом на процессоре, что известно как атака тепловизионной съемки. Примеры оптической атаки по боковому каналу включают сбор информации с индикатора активности жесткого диска или считывание небольшого количества фотонов, излучаемых транзисторами при изменении состояния. Существуют также боковые каналы, основанные на выделении ресурсов, которые относятся к информации, утекающей при выделении (а не использовании) ресурса, такого как пропускная способность сети, клиентам, одновременно запрашивающим оспариваемый ресурс.
Контрмеры
Поскольку атаки по сторонним каналам полагаются на взаимосвязь между информацией, излучаемой (утекающей) через сторонний канал, и секретными данными, контрмеры делятся на две основные категории: (1) устранение или уменьшение утечки такой информации и (2) устранение взаимосвязи между утекающей информацией и секретными данными, то есть обеспечение того, чтобы утекающая информация была не связана или, скорее, некоррелирована с секретными данными, как правило, посредством некоторой формы рандомизации шифротекста, которая преобразует данные таким образом, что их можно восстановить после завершения криптографической операции (например, расшифровки). В рамках первой категории, дисплеи со специальной экранировкой для уменьшения электромагнитного излучения, снижающие восприимчивость к атакам TEMPEST, теперь доступны в продаже. Кондиционирование и фильтрация линий электропитания могут помочь предотвратить атаки на мониторинг энергопотребления, хотя такие меры следует использовать с осторожностью, поскольку даже очень небольшие корреляции могут сохраняться и скомпрометировать безопасность. Физические корпуса могут снизить риск скрытной установки микрофонов (для противодействия акустическим атакам) и других устройств микромониторинга (против потребления энергии ЦП или атак тепловизионной съемки). Другая контрмера (все еще в первой категории) — это подавление излучаемого канала шумом. Например, случайная задержка может быть добавлена для предотвращения атак по времени, хотя злоумышленники могут компенсировать эти задержки, усредняя несколько измерений (или, в более общем смысле, используя больше измерений в анализе). Когда количество шума в стороннем канале увеличивается, злоумышленнику требуется собрать больше измерений. Другая контрмера в рамках первой категории — использование программного обеспечения для анализа безопасности для выявления определенных классов атак по сторонним каналам, которые могут быть обнаружены на этапах проектирования самого аппаратного обеспечения. Атаки по времени и атаки на кэш можно идентифицировать с помощью определенных коммерчески доступных платформ для анализа безопасности, которые позволяют проводить тестирование для выявления уязвимости к атаке, а также эффективности архитектурных изменений для обхода уязвимости. Наиболее полным методом использования этой контрмеры является создание безопасного жизненного цикла разработки для аппаратного обеспечения, который включает использование всех доступных платформ анализа безопасности на соответствующих этапах жизненного цикла разработки аппаратного обеспечения. В случае атак по времени на цели, чье время вычисления квантуется в дискретные такты, эффективной контрмерой является проектирование программного обеспечения таким образом, чтобы оно было изохронным, то есть выполнялось за точно постоянное время, независимо от секретных значений. Это делает атаки по времени невозможными. Такие контрмеры могут быть сложны в реализации на практике, поскольку даже отдельные инструкции могут иметь переменное время выполнения на некоторых ЦП. Частичной контрмерой против простых атак по мощности, но не против атак дифференциального анализа мощности, является проектирование программного обеспечения таким образом, чтобы оно было "PC-безопасным" в "модели безопасности счетчика программ". В PC-безопасной программе путь выполнения не зависит от секретных значений. Другими словами, все условные переходы зависят только от общедоступной информации. (Это более ограничивающее условие, чем изохронный код, но менее ограничивающее условие, чем код без переходов.) Несмотря на то, что операции умножения потребляют больше энергии, чем NOP практически на всех ЦП, использование постоянного пути выполнения предотвращает утечку секретной информации из-за различий в мощности, зависящих от операции (различий в мощности при выборе одной ветки вместо другой). Другой способ, которым код может быть неизохронным, заключается в том, что современные ЦП имеют кэш памяти: доступ к редко используемой информации влечет за собой значительную задержку по времени, раскрывая некоторую информацию о частоте использования блоков памяти. Криптографический код, предназначенный для противодействия атакам на кэш, пытается использовать память только предсказуемым образом (например, доступ только к входным, выходным и программным данным и делать это в соответствии с фиксированным шаблоном). Например, следует избегать поиска в таблицах, зависящих от данных, поскольку кэш может раскрыть, какая часть таблицы поиска была доступна. Другие частичные контрмеры направлены на уменьшение объема информации, утекающей из различий в мощности, зависящих от данных. Некоторые операции используют мощность, коррелированную с количеством единичных битов в секретном значении. Использование кода постоянного веса (например, использование логических элементов Fredkin или кодирования двойной шины) может уменьшить утечку информации о весе Хэмминга секретного значения, хотя эксплуатируемые корреляции, вероятно, сохранятся, если балансировка не будет идеальной. Этот "сбалансированный дизайн" можно приближенно реализовать в программном обеспечении, манипулируя как данными, так и их дополнением. Типичным примером второй категории (декорреляции) является техника, известная как ослепление. В случае расшифровки RSA с секретным показателем и соответствующим показателем шифрования и модулем техника применяется следующим образом (для простоты модульное приведение по m опущено в формулах): перед расшифровкой, то есть перед вычислением результата для заданного шифротекста, система выбирает случайное число и шифрует его с помощью открытого показателя, чтобы получить Затем расшифровка выполняется на для получения Поскольку расшифровывающая система выбрала , она может вычислить его обратное по модулю , чтобы отменить фактор в результате и получить , фактический результат расшифровки. Для атак, требующих сбора информации по сторонним каналам из операций с данными, контролируемыми злоумышленником, ослепление является эффективной контрмерой, поскольку фактическая операция выполняется на рандомизированной версии данных, над которой злоумышленник не имеет контроля или даже знаний. Более общая контрмера (поскольку она эффективна против всех атак по сторонним каналам) — это контрмера маскирования. Принцип маскирования заключается в том, чтобы не манипулировать непосредственно каким-либо конфиденциальным значением , а манипулировать его разделением: набором переменных (называемых "долями") таким, что (где — операция XOR). Злоумышленнику необходимо восстановить все значения долей, чтобы получить какую-либо значимую информацию. В последнее время моделирование "белого ящика" было использовано для разработки малозатратной универсальной контрмеры на уровне схемы против атак по электромагнитному излучению и по мощности. Чтобы минимизировать влияние верхних металлических слоев в интегральной схеме, действующих как более эффективные антенны, идея заключается в том, чтобы встроить криптографическое ядро с цепью подавления сигнатуры, проложенной локально в нижних металлических слоях, что приводит к иммунитету к атакам по мощности и электромагнитному излучению.
obtain Since the decrypting system chose , it can compute its inverse modulo to cancel out the factor in the result and obtain , the actual result of the decryption. For attacks that require collecting side channel information from operations with data controlled by the attacker, blinding is an effective countermeasure, since the actual operation is executed on a randomized version of the data, over which the attacker has no control or even knowledge. A more general countermeasure (in that it is effective against all side channel attacks) is the masking countermeasure. The principle of masking is to avoid manipulating any sensitive value directly, but rather manipulate a sharing of it: a set of variables (called "shares") such that (where is the XOR operation). An attacker must recover all the values of the shares to get any meaningful information. Recently, white box modeling was utilized to develop a low overhead generic circuit level countermeasure against both EM as well as power side channel attacks. To minimize the effects of the higher level metal layers in an IC acting as more efficient antennas, the idea is to embed the crypto core with a signature suppression circuit, routed locally within the lower level metal layers, leading towards both power and EM side channel attack immunity.