Непрофильные атаки по побочным каналам глубокого обучения с анализом чувствительности

На конференции CHES 2019 eShard будет на сцене, чтобы представить новые методы анализа побочных каналов, основанные на глубоком обучении. В центре внимания доклада - статья Непрофильные атаки побочного канала на основе глубокого обучения с анализом чувствительности », опубликованная во втором номере журнала ТЧЭС за 2019 год.

В этом посте мы представляем дайджест статьи перед докладом.

Глубокое обучение и атаки по побочным каналам

Атаки по побочным каналам обычно делятся на две категории:

  • Непрофильные атаки, когда злоумышленник имеет доступ только к закрытому целевому устройству, ключ которого не может быть изменен. В таком случае атака обычно выполняется "на лету" с помощью таких методов, как анализ корреляционной мощности (CPA).
  • Профилированные атаки, когда злоумышленник имеет доступ к открытой копии целевого устройства, ключ которого может быть изменен и которая используется для характеристики утечки устройства до атаки.

Профилированные атаки основаны на классификации данных и обычно выполняются с использованием методов машинного обучения, таких как машины опорных векторов или шаблоны. В последние годы тенденция в машинном обучении сместилась в сторону глубокого обучения, которое сегодня демонстрирует отличную производительность для многих приложений машинного обучения, например, для классификации данных.

Совершенно естественно, что, следуя тенденции в машинном обучении, сообщество побочных каналов начало изучать потенциальные применения глубокого обучения для анализа побочных каналов. Наиболее естественное применение - использовать его для выполнения атак по профилированному побочному каналу. Недавно мы видели публикации, показывающие интерес к использованию Deep Learning для выполнения таких атак. Эти публикации показывают, что Deep Learning обычно превосходит предыдущие методы атаки. Одним из преимуществ глубокого обучения для побочного канала является то, что можно адаптировать архитектуру нейронной сети к контексту атаки. Одним из примеров, изученных в литературе, является то, что сверточные нейронные сети особенно эффективны для нацеливания на несинхронизированные трассы.

Однако до сих пор исследовательские усилия были в основном сосредоточены на приложениях Deep Learning для профилированных атак, где доступно устройство профилирования. Отправной точкой этого исследования было изучение того, как глубокое обучение и нейронная сеть могут быть использованы в непрофилированных сценариях, когда устройство профилирования недоступно.

Глубокое обучение как отличительный признак непрофильной атаки

Большинство непрофильных атак используют аналогичную стратегию. Злоумышленник начинает сбор трассировок побочного канала, соответствующих известным значениям открытого или зашифрованного текста. Затем злоумышленник угадывает части секретного ключа, чтобы предсказать чувствительные промежуточные значения целевого криптографического алгоритма, которыми манипулирует устройство. Наконец, злоумышленник использует статистический отличитель, чтобы сравнить прогнозы для каждого предположения ключа с трассировками побочного канала, чтобы отличить правильную ключевую гипотезу от других кандидатов.

Первая идея, представленная в статье, - использовать глубокое обучение в качестве непрофильного отличителя. Для этого сначала выбирается архитектура нейронной сети. Затем для каждого ключевого предположения выполняется обучение глубокому обучению с трассировками в качестве данных для классификации и прогнозами в качестве соответствующих меток. Наконец, эффективность тренингов сравнивается, чтобы определить правильное значение ключа. Атака, получившая название Differential Deep Learning Analysis (DDLA), кратко представлена ​​на диаграмме ниже.

Для правильного ключевого предположения прогнозы промежуточных значений совпадают с набором трассировок, в то время как для других ключевых гипотез прогнозы неверны. Следовательно, можно ожидать, что обучение, выполненное с правильным значением ключа, приведет к лучшему обучению, чем для других кандидатов. Чтобы сравнить эффективность тренингов, первый метод, предложенный в статье, - это наблюдение за классическими метриками Deep Learning, такими как потери и точность тренингов. В успешных случаях потеря и точность обучения, выполненного с правильным ключом, будут лучше, чем метрики для других кандидатов, выявляя правильное значение ключа.

Таким образом, с помощью этого метода можно использовать Deep Learning для выполнения непрофилированных атак, когда устройство профилирования недоступно. Результаты, представленные в документе, показывают, что известные преимущества глубокого обучения для побочного канала по-прежнему применимы при таком подходе. Например, можно успешно использовать глубокое обучение и нейронные сети для выполнения атак высокого порядка и использовать CNN для атаки на несинхронизированные трассировки даже в непрофилированном контексте.

Представляем анализ чувствительности нейронных сетей для обнаружения утечек

Обнаружение утечек чувствительных значений на трассе важно при анализе побочных каналов. Информация о местах утечек может помочь понять реализацию и может быть использована, например, для выполнения высокоуровневых атак.

Вторая идея, представленная в документе, заключается в использовании методов, основанных на анализе чувствительности, для выявления информации о месте утечки в следах. Анализ чувствительности нейронной сети - это исследование чувствительности выходного сигнала сети по отношению к некоторым параметрам сети. Одним из приложений классификации изображений является, например, вычисление так называемых карт значимости, которые указывают, какие пиксели изображения вносят наибольший вклад в классификацию изображений. Существуют разные методы анализа чувствительности. Наиболее распространенный подход - изучить производные сетевого выхода по выбранным параметрам.

В статье мы предлагаем изучить чувствительность нейронной сети к выборкам трасс во время обучения, чтобы определить места утечки на трассе. В статье представлены результаты с использованием нескольких методов. Первый подход заключается в наблюдении за градиентом веса первого слоя, чтобы выявить место утечки. Второй подход заключается в непосредственном наблюдении частных производных по отношению к входным выборкам. Первый подход применим к многослойным сетям персептрона, а второй подход - это общий метод, применимый к любому типу нейронной сети.

Веса, непосредственно связанные с образцами утечки, имеют в среднем большие производные, поскольку они оказывают большее влияние на минимизацию потерь во время обучения. Следовательно, наблюдая за производными относительно весов первого слоя или относительно входных выборок, можно определить местонахождение участков утечки на трассе.

Важно отметить, что даже несмотря на то, что этот метод используется в статье в непрофилированном контексте, тот же метод может быть применен и во время классических атак с профилированным глубоким обучением для обнаружения утечек.

Атаки высокого порядка на замаскированные реализации

В статье представлены результаты успешных атак, выполненных против замаскированных реализаций AES с использованием дифференциального анализа глубокого обучения. Основной интерес использования DDLA для нацеливания на замаскированную реализацию заключается в том, что злоумышленнику не нужно адаптировать процесс атаки к реализации.

При использовании таких методов, как CPA, для нацеливания на замаскированные реализации, злоумышленник должен адаптировать стратегию атаки к реализации. Например, чтобы выполнить CPA высокого порядка, злоумышленник должен учитывать, сколько масок задействовано, и применять определенные методы предварительной обработки, чтобы объединить утечки различных общих ресурсов.

С DDLA злоумышленнику не нужно адаптировать стратегию атаки к реализации или применять какую-либо предварительную обработку. Точно такой же процесс атаки может применяться как к незащищенной, так и к замаскированной реализации. Это нейронная сеть, которая автоматически адаптируется к контексту во время обучения.

Другой интерес заключается в том, что анализ чувствительности также работает с маскированными реализациями и может выделять места утечек масок на трассах.

Поскольку нет необходимости адаптировать стратегию атаки к реализации и что анализ чувствительности может выявить утечки масок, это делает DDLA интересной альтернативой атаке, особенно в сценариях черного ящика, где детали реализации неизвестны. Результаты атаки могут раскрыть информацию о секретном ключе, а также о реализации, например о том, замаскирована ли реализация, и количество масок вместе с их местоположением в трассировках.

Вывод

В документе представлены два новых метода анализа побочных каналов:

  • Метод дифференциального анализа глубокого обучения для использования глубокого обучения для выполнения непрофильных атак. DDLA позволяет использовать возможности глубокого обучения и нейронной сети в непрофилированном контексте.
  • Анализ чувствительности нейронных сетей, применяемый к побочному каналу для определения участков утечки на трассе.

Оба метода были успешно применены к множеству наборов данных, включая набор данных ASCAD и наборы данных, собранные на ChipWhisperer. Эксперименты показывают, что эти методы работают на практике и предоставляют интересную альтернативу для выполнения непрофилированных атак, особенно для атак высокого порядка и против рассинхронизированных трассировок.

Главный недостаток DDLA - сложность атаки. В общем, атаки с глубоким обучением являются дорогостоящими, и в этом случае для каждого ключевого предположения необходимо выполнять обучение с глубоким обучением, что еще больше увеличивает сложность атаки. В документе представлен ряд интересных результатов, но потребуется дальнейшая работа для изучения применимости методов в более сложных сценариях.

В этом году eShard снова рада выступить спонсором конференции CHES. Мы будем в Атланте с 25 по 28 августа, чтобы представить наш последний контент по глубокому обучению и побочным каналам, а также новейшие функции платформы esDynamic. Если вы приедете на CHES 2019, приходите знакомиться с нашей командой!