Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!
Многие, как я думаю, услышав фразу "кибератака" представляют злоумышленников, которые воруют много миллионов долларов, сидя у себя дома, или группу российских хакеров, которые помогают продвинуться кандидату в предвыборной гонке, или, на худой конец, у них в голове всплывает образ взломщика, который подбирает пароль от аккаунта в ВКонтакте или Instagram, а может даже и пароль Трампа от Twitter. На самом деле, начиная с конца XX века в обществе криптоаналитиков обрели популярность атаки по побочным каналам (side-channel attacks). О таких посягательствах я и хочу рассказать в этой статье.
Введение
В компьютерной безопасности, атаки по сторонним каналам (side-channel attacks) - класс атак, базирующийся на уязвимости криптографических систем, как физического объекта. В противовес атакам в теоретической криптографии, где взлом реализуется за счет обнаружения и использования уязвимостей алгоритмов шифрования, в ходе атак по побочным каналам используется информация о физических процессах, происходящих в ходе реализации шифрования и дешифрования. Таким образом, предложение: "Компьютеры работают не на бумаге, а на физических законах", можно назвать главной парадигмой такого рода атак.
Часто используемыми параметрами для взлома вычислительных машин принято выделять: время исполнения операций, потребляемая системой мощность, электромагнитное излучение, выделяемое в ходе работы, звуки, издаваемые как внутренними комплектующими, так и внешними устройствами.
В отличие от теоретических криптографических атак, атаки по сторонним каналам требуют более индивидуального подхода к каждой криптосистеме, что намного повышает эффективность их реализации, но, с другой стороны, обязывает злоумышленника обладать большими знаниями в области статистики, радиотехники, криптоанализа.
Классификация атак по взаимодействию с криптосистемой
По контролю над криптосистемой атаки разделяют на:
Пассивные (passive) - атакующая сторона слабо влияет на вычислительные процессы системы, функционирование алгоритмов происходит в стандартном режиме
Активные (active) - атакующая сторона воздействует на систему, при этом изменяется ее поведение. В ходе такого влияния атакующим собирается информация о криптосистеме.
По уровню доступа к криптографической системе посягательства делятся на:
Агрессивные (invasive) - атакующая сторона получает полный доступ к внутренним компонентам вычислительной системы.
Неагрессивные (non-invasive) - не реализуется внедрение в вычислительную машину, собирается только внешне доступная информация. Неагрессивные атаки почти невозможно детектировать, ввиду отсутствия прямого влияния на криптографическую систему. Этот вид атак является наиболее экономически выгодным, так как масштабные атаки не требуют увеличения стоимости оборудования.
Полу-агрессивные (semi-invasive) - промежуточный тип взаимодействия, основанный на доступе к внутренним компонентам, который не требует непосредственного контакта с устройством, например, взаимодействие осуществляется через лазер.
По методу анализа данных атаки подразделяют на:
Простые (simple) - определение прямой зависимости между процессами в криптографической системе и полученной криптоаналитиком информацией.
Разностные (differerntial) - использование статистических методов для исследования зависимости между входными данными и информацией, полученной атакующей стороной.
Классификация атак по получаемой информации
Атаки по остаточным данным (Data remanence atacks)
Остаточные данные - остаточное представление цифровых данных, которые сохраняются даже после попыток удалить информацию. Такое может возникнуть в случае, когда данные оказались нетронутыми в результате операций удаления файлов, переформатирования носителя данных, при котором не удаляется ранее записанная информация, или из-за физических свойств носителя. В таком случае возможно восстановление данных, которые могут содержать конфиденциальную информацию.
Атаки по ошибкам вычислений (Differential fault analysis)
Класс атак, главным принципом которых является воспроизведение сбоев, непредвиденных условий окружающей среды для вычислительной системы. Как пример, плата может подвергаться воздействию высокой/низкой температуры, неподдерживаемого напряжения или тока питания, чрезмерно высокого разгона процессора, сильных электрических и магнитных полей, или даже ионизирующих излучений. При такой ситуации могут начать выводиться неверные результаты из-за физического повреждения данных, что может помочь злоумышленникам определить инструкции, которые выполняет процессор или каково состояние внутренних данных.
Атаки по видимому излучению (Optical attacks)
Новый класс полу-агрессивных атак по сторонним каналам, который базируется на внедрении оптических неисправностей в микросхемы шифрования.
Активные атаки с внедрением оптических ошибок могут участвовать в атаках на такие алгоритмы как RSA, AES.
Анализ излучения фотонов представляет собой разновидность пассивной атаки, в ходе которой собирается информация об излученных работающим чипом фотонах. Это позволяет выбрать конкретную часть чипа для углубленного анализа работы. Такой точечный подход дает лучшее соотношение сигнал-шум по сравнению с электромагнитным анализом или анализом потребляемой мощности, которые концентрируются на общесистемной утечке информации через посторонний канал.
Атаки по электромагнитному излучению (Electromagnetic attacks)
Класс атак, основанный на получении информации об изменении электромагнитного излучения, испускаемого вычислительной системой в ходе реализации криптографических алгоритмов, и дальнейшем изучении полученных данных.
Атаки по электромагнитному излучению, в основном, неагрессивные и пассивные, это означает, что такие посягательства могут выполняться путем наблюдения за нормальным функционированием целевого устройства без внесения физического вреда.
Такие атаки успешны против криптографических алгоритмов, которые по-разному излучают в зависимости от выполняемых действий. В итоге, электромагнитный след шифрования может показать точные выполняемые операции, позволяя злоумышленнику получить полные или частичные ключи шифрования.
Атаки по электромагнитному излучению чаще всего реализуются в союзе с другими атаками, например, атаками по потребляемой мощности. Такое совместное использование подходов позволяет более эффективно взламывать вычислительные машины.
Атаки по энергопотреблению (Power-monitoring attacks)
Корреляционная атака по мощности (correlation power analisys) является эффективным типом атаки, который позволяет анализировать зависимость между расчетным и измеренным током питания в процессе шифрования. По изменениям протекающих в схеме токов, злоумышленник может определить происходящие в чипе процессы.
Выделяют 2 основных вида атак:
Простой анализ мощности (simple power analysis), включающий визуальную интерпретацию графиков зависимости мощности.
Дифференциальный анализ мощности (differential power analisys) - более продвинутая форма анализа мощности, которая позволяет злоумышленнику вычислить промежуточные значения в криптографических вычисления посредством статистического анализа данных, собранных в результате нескольких циклов работы вычислительной системы.
Противодействие таким атакам
Атаки анализа мощности обычно не могут быть обнаружены устройствами, поскольку мониторинг злоумышленников чаще всего пассивен, более того атака неагрессивна. В результате наличие детекторов оказывается неэффективным методом борьбы. Вместо этого инженеры криптосистем должны следить за тем, чтобы изменения потребляемой мощности устройств не раскрывали информацию о выполняемых процессах.
Простой анализ мощности может легко отличить результат условных переходов при выполнении алгоритмов, поскольку устройство делает разные операции, потребляя разную мощность, в зависимости от того, выбрано ли условное переходное состояние. По этой причине следует позаботиться о том, чтобы не было секретных значений, влияющих на условные переходы.
Дифференциальный анализ мощности предотвратить труднее, поскольку даже небольшие отклонения в потребляемой мощности могут привести к уязвимостям, которые можно использовать. Некоторые стратегии противодействия включают алгоритмические модификации, которые приводят к тому, что операции происходят с данными, которые связаны с фактическим значением с помощью некоторой математической зависимости, которая сохраняется после криптографических операций. Другие подходы основываются на модификации оборудования: изменение внутренней тактовой частоты микросхемы используется для рассинхронизации электрических сигналов, что в свою очередь усложняет идентификацию исполняемых инструкций.
Атаки по времени (timing attacks)
Множество атак, базирующихся на изучении поведения системы с течением времени, в зависимости от получаемых данных.
Временные характеристики криптографической системы зависят как от реализуемых алгоритмов, так и от ключей шифрования, используемых в определенный момент в алгоритме. Различие времени выполнения операций обуславливается оптимизацией производительности, ветвлением, наличием условных операторов в алгоритмах, инструкций процессора, ОЗУ.
Основным подходом для взлома систем является статистический анализ данных, полученных в ходе реализации криптоалгоритма.
Первая реализованная атака
Впервые данная атака была проведена П. Кохером в 1996 году в отношении алгоритма шифрования RSA.
Для получения исходного сообщения необходимо провести вычисление в выражении , где С - шифротекст, N - модуль алгоритма RSA, d - секретный ключ. Злоумышленнику нужно найти d, для этого требуется, чтобы вычислительная система производила расчеты на специально выбранных значениях С. Точные вычисления затраченного на реализацию времени и изменения временных интервалов обработки, позволяют атакующей стороне восстанавливать по одному биту секретного ключа за раз. То есть атака по времени сводится к проблеме обнаружения сигнала. Явное изменение приходящего сигнала символизирует приход целевого бита секретного ключа, а шум приводит всего лишь к небольшому колебанию приходящего сигнала. Таким образом, количество требуемых отсчетов синхронизации определяется свойствами сигнала и шума.
Возможные способы защиты
Наиболее распространенным способом защиты от временных атак является внесение в алгоритм случайности, которая позволяет регулярно варьировать временя исполнения. Это приводит к небольшой потере производительности в пределах от 2% до 10% процентов.
Другим способом обезопасить вычислительную систему - квантовать все вычисления, то есть сделать их кратными некоторому заранее заданному кванту времени. Главный недостаток этого подхода состоит в том, что этот квант времени будет определяться самым большим временем выполнения алгоритма, а это исключает возможность оптимизации производительности.
Акустические атаки (acoustic cryptanalysis)
Совокупность атак, базирующихся на статистическом анализе различных звуков, производимых вычислительной системой в ходе работы.
Первоначально атаки были нацелены на принтеры, подключенные к компьютерам, и электромеханические шифровальные машины. В данный момент атаки в приоритете используют звуки внешних устройств ввода и шумы, издаваемые внутренними компонентами. Основной мишенью таких атак становятся изолированные от внешней сети вычислительные системы, доступ к которым сильно ограничен.
Более ранние скрытые акустические каналы прослушки полагались на наличие звукового оборудования в составе вычислительной системы. Для осуществления политики безопасности было запрещено использование такого рода оборудования, чтобы создать, так называемую, "акустическую изоляцию". Также отключение поддержки звуковых устройств материнской платой может быть произведено в BIOS. Такие меры позволяют противостоять наиболее простым акустическим атакам.
В наше время существуют методы получения данных от изолированных вычислительных систем, которые базируются на изучении звуков, производимых CPU и вентиляторами охлаждения, так как эти звуки напрямую связаны с программным обеспечением. Как пример, вредоносный код на зараженном компьютере может намеренно регулировать скорость вращения охлаждающих вентиляторов, для управления формой издаваемой звуковой волны.
Противодействие атакам
Выделяют 3 основных категории противодействия:
Процедурные. Главный подход - изоляция систем. Вычислительные системы располагаются в закрытых зонах, где запрещено использование мобильных телефонов, микрофонов и другого электронного оборудования. Однако такая изоляция не всегда возможна ввиду практических соображений.
Программные контрмеры заключаются в использовании конечных точек доступа для обнаружения вредоносных действий на компьютере.
Аппаратное противодействие может включать детекторы шума, которые контролируют звуковую волну в определенных диапазонах, однако возможны ложные срабатывания из-за окружающего шума. Также не исключается физическая изоляция, при которой корпус компьютера покрывается специальным шумоизолирующим слоем, но этот метод очень дорог и непрактичен в больших масштабах.
Источники
Side-channel attacks(wikipedia.org)
Timing Attacks on RSA: Revealing Your Secrets through the Fourth Dimension
Fansmitter: Acoustic Data Exfiltration from (Speakerless) Air-Gapped Computers
Optical Side Channel Attacks on Singlechip