19.12 // Улучшенные методы извлечения ключей по акустическому и другим побочным каналам



Дэниэл Дженкин. Технион и Университет Тель-Авива
Ади Шамир. Институт наук Вейцмана
Эран Тромер. Университет Тель-Авива
Перевод © 2013 unknown[link1]


Многие компьютеры излучают высокочастотные шумы во время работы вследствие вибраций своих электронных компонентов. Эти акустические эманации могут не только раздражать слух: они приводят к утечкам информации о работе программ, запускаемых на компьютере и, в частности, могут приводить к утечкам чуствительной информации о вычислениях, связанных с безопасностью. В предшествующей презентации[link2] мы показали, что разные RSA-ключи создают разные звуковые паттерны, но по ним был неясно, как извлекать отдельные биты ключей. Основная проблема в том, что акустический побочный канал имеет крайне низкую пропускную способность (порядка 20 кГц при использовании обычных микрофонов и несколько сотен герц при использовании ультразвуковых микрофонов), что на много порядков ниже гигагерцевых частот работы атакуемых компьютеров.

Мы рассмотрим новую акустическую криптоаналитическую атаку извлечения ключей, применимую к текущей реализации RSA в GnuPG. Эта атака может извлекать полный 4096-битный RSA-ключ расшифрования из лэптоп-компьютеров (разных моделей) в течение часа, используя звук, генерируемый компьютером в процессе дешифровки некоторых подобранных шифртекстов. Нами было экспериментально продемонстрировано, что такая атака может быть осуществлена посредством простого мобильного телефона, находящегося рядом с компьютером, или посредством более чуствительного микрофона, расположенного на расстоянии до 4-ёх метров.

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

Публикация


Подробное рассмотрение результатов и их контекст представлены в полной версии нашей работы 8MB PDF[link3].

Примечание: это последние результаты, впервые опубликованные 18-го декабря 2013 г. Предварительные результаты были анонсированы на «Eurocrypt 2004 Rump Session» в презентации, озаглавленной «Акустический криптоанализ: о любопытных людях и шумных машинах», сейчас она доступна в архиве[link2]. Прогресс с того момента отражён в FAQ из 16 вопросов.

FAQ 16

Q1: Какая информация утекает?

Это зависит от специфического комьютерного железа. Нами протестированы различные лэптопы и десктопы.

Q2: Что является источником шума?

Интересующий нас акустический сигнал создаётся вибрациями электронных компонентов (конденсаторов и катушек) в цепях регулирования напряжения, которые стремятся поддерживать постоянное напряжение для подачи его на процессор несмотря на существенные флуктуации потребления энергии, вызываемые различными паттернами процессорных операций. Соответствующий сигнал не вызывается ни механическими компонентами, такими как вентиляторы или жёсткие диски, ни встроенными спикерами лэптопов.
Q3: Нужно ли специальное оборудование для проведения атаки?

С его помощью результат будет определённо лучше, и в своей работе мы показываем установку дорогостоящего оборудования для получения максимальной чуствительности и различения частоты. Однако, в некоторых случаях подойдёт и обычный мобильный телефон, который оказывается способным к акустическому извлечению ключей из лэптопа, находящегося на расстоянии 30 см.
Q4: Каково рабочее расстояние для акустической атаки?

Это зависит от множества факторов. Использование чуствительных параболических микрофонов позволяет достичь расстояния в 4 метра. Для этого потребуется громоздкая установка из источника питания, усилителя, фильтров и лэптопа, запускающего атакующий код. Таким путём можно извлечь RSA-ключ на другом конце комнаты.

Без параболического концентратора расстояние сокращается до 1 метра. При этом к цели достаточно вынести лишь правильно расположенный и ориентированный микрофон, а остальную часть оборудования можно замаскировать.
Q5: Каковы возможные примеры сценариев атаки?

Перспективные сценарии атак рассмотрены в работе. В частности:

Q6: Можно ли обойтись без микрофонов, или какие методы применять в зашумленных помещениях?

Нами был продемонстрирован ещё один низкоскоростной канал: электрический потенциал корпуса лэптопа. Во многих компьютерах этот потенциал «земли» подвержен флуктуации (даже при подключении к заземлённому источнику питания) и проводит к утечке интересующего сигнала. Его измерения могут быть выполнены разными способами, например:

Q7: Можно ли вместо этого применить анализ потребляемой мощности?

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

Конечно, если атакующий может проводить измерения на частотах работы компьютера, изучая утечки питания в гигагерцевом диапазоне, то такой анализ будет намного эффективнее и быстрее. Однако, обычно это невозможно из-за экранирования таких частот в блоке питания.
Q8: Почему низкочастотные (кГц) акустические утечки могут выдавать полезную информацию о значительно более высоких частотах (гГц)?

Индивидуальные операции процессора слишком быстрые, чтобы их мог засечь микрофон, но длительные операции, такие как возведение в степень по модулю в RSA, могут создавать характерные акустические спектральные отпечатки на протяжении многих миллисекунд, что может быть продетектировано. В атаках извлечения ключа с подобранным шифртекстом мы тщательно подбираем входы для RSA-расшифрования, чтобы максимизировать зависимость спектрального отпечатка от секретных битов ключа.
Q9: Насколько уязвима GnuPG в данный момент?

Мы раскрыли свою атаку разработчикам GnuPG в CVE-2013-4576[link5], предложив подходящие меры защиты, и помогаем разработчикам в их проверке. Новые версии GnuPG 1.x и libgcrypt (это библиотека, лежащая в основе GnuPG 2.x) содержат эти контрмеры и способны сопротивляться нашей текущей версии атаки извлечения ключа. Тем не менее, некоторые из атак (включая различимость RSA ключей) остаются актуальными.
Q10: Насколько уязвимы другие алгоритмы и их криптографические реализации?

Мы не знаем. Наша атака требует тщательного криптографического анализа реализации, что пока проведено только для реализации RSA в GnuPG 1.x. Реализации на основе маскировки шифртекста (распространённая мера противодействия атакам против побочных каналов) представляется менее уязвимой. Однако, мы видели, что реализация алгоритма шифрования Эль-Гамаля в GnuPG позволяет проводить различимость ключей акустическим способом.
Q11: Возможно ли реалистичное выполнение атаки с подобранным шифртекстом против GnuPG?

Для применения атаки против GnuPG нами был найден способ вызова GnuPG для автоматической дешифровки шифртекстов, посылаемых атакующим. Идея состоит в использовании шифрованных почтовых сообщений в формате OpenPGP[link6] или PGP/MIME[link7]. Например, Enigmail[link8] (популярный плагин для почтового клиента Thunderbird) автоматически расшифровывает входящую почту (в целях уведомлений) с использованием GnuPG. Атакующий может посылать тщательно-подобранные сообщения жертве, ждать, когда они достигнут целевого компьютера, и наблюдать за акустическими отпечатками при их дешифровании (как было показано ранее), закрывая таким образом цикл адаптивной атаки.
Q12: Можно ли помешать атаке использованием шумных вентиляторов, выполнением многозадачных вычислений или установкой множества компьютеров в одной комнате?

В общем, нет. Представляющие интерес акустические сигналы находятся в основном выше 10 кГц, в то время как обычный шум компьютера и помещения сконцентрирован в области низких частот и, таким образом, может быть отфильтрован. При переключении задач разные задачи могут быть выделены по разным спектральным отпечаткам, а загрузка множества ядер лишь помогает нашей атаке, смещая частоты сигнала на некоторую величину вниз. Эффект наличия множества компьютеров нейтрализуется тщательной пространственной локализацией и различением их акустических отпечатков (которые отличаются от акустических отпечатков, порождаемых аппаратной начинкой, температурой и другими параметрами окружающей среды).
Q13: Какие контрмеры доступны?

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

В качестве альтернативы можно изменить криптографическое ПО и применить алгоритмические методы для уменьшения пользы от излучений для атакующего. Такие методы включают в себя грубое округление времени исполнения алгоритма в зависимости от входящих данных, что приводит к некоторому снижению производительности, но может уменьшить эффект от некоторых атак по побочным каналам. Это то, что мы помогли реализовать в GnuPG (см. Q9).
Q14: Почему нужно применять програмные методы защиты? Разве это не задача для аппаратной части — предотвращение физических утечек?

Это заманчиво — вынести всю ответственность за физические утечки на физический уровень аппаратной части. К сожалению, часто такое низкоуровневое предотвращение ошибок непрактично: получается слишком невыгодное соотношение затрат на меры обеспечения безопасности. Во-первых, так получается, потому что остаётся возможность для любой утечки быть усиленной за счёт манипуляций на верхнем уровне, как в нашем случае атак с подобранным шифртекстом. Во-вторых, из-за того, что низкоуровневые механизмы пытаются защитить все типы вычислений, это непрактично для тех из них, которые нечувствительны или малочуствительны к утечкам (а таких большинство). В третьих, утечки часто являются неизбежным побочным эффектом механизмов повышения производительности вычислений (как, например, в кэш-атаках).

На уровне приложений специфические изменения алгоритмов могут, в противовес этому, сделать утекающий сигнал практически бесполезным в плане извлечения из него пригодной к использованию информации. Часто это дёшево и эффективно. Пример — GnuPG и libgcrypt, которые уже включают множество таких контрмер как на уровне кода, так и на уровне выбора алгоритмов. На самом деле, стойкость програмного исполнения к атакам на основе побочных каналов является серьёзным фактором при выборе криптографических примитивов. Например, требование такой стойкости входило в критерии выбора NIST при организации конкурсов AES и SHA-3.
Q15: Что насчёт других акустических атак?

Смотрите обсуждения и ссылки в нашей работе, а также статью в википедии[link9] про акустический криптоанализ. В частности:

Прослушивание набора текста на клавиатуре является часто обсуждаемым; клавиши могут быть различимы по времени или по разным звукам. Хотя эта атака применима к данным, которые вводятся вручную (например, пароли), это неприменимо к большим секретам, таким как RSA-ключи. Другой источник шумов — это позиционирование головок винчестера; с его помощью не удаётся получить достаточное количество информации для проведения атаки из-за кэширования, отложенной записи и многозадачности. До эпохи современных компьютеров MI5 использовало технику «ENGULF», описанную в книге Питера Райта «Охотники за шпионами»: например, прослушивание телефонной линии использовалось в Египте для получения данных со стоящей в посольстве шифровальной машины «Hagelin», в частности — для восстановления её шифровальных ключей. Рассекреченные публикации американских властей описывают «TEMPEST», в том числе, и как акустическую утечку с механических и электромеханических устройств, однако, ничего не говорят про современные компьютеры.
Q16: Что появилось нового по сравнению с нашей презентацией на «Eurocrypt 2004»?

Благодарности


Лев Пачманов написал большую часть ПО, использованного в наших экспериментах, включая собственную программу сбора сигналов. Avi Shtibel, Ezra Shaked и Oded Smikt помогали конструировать и настраивать экспериментальное оборудование. Assa Naveh помог во множестве экспериментов и высказал немало полезных предложений. Sharon Kessler обеспечил помощь в редактировании. Мы благодарим Вернера Коха, ведущего разработчика GnuPG, за незамедлительный отклик на нами раскрытую информацию об атаке и за продуктивное сотрудничество по внедрению необходимых контрмер. Ещё мы должны отметить Pankaj Rohatgi за подсказку оригинальной идеи в нашем исследовании, а также Nir Yaniv за предоставленную возможность использовать его Nir Space Station и за существенную помощь в аудиозаписи. National Instruments Israel великодушно предоставило карту National Instruments PCI-6052E DAQ и устройство MyDAQ. Наши благодарности Erik Olson — за программу Baudline, использованную в части наших анализов сигналов. Также мы благодарим множество добровольцев за предоставленные для тестов машины.

Работа была профинансирована Институтом информационной безопасности «Чек Пойнт», министерством науки и технологий Израиля, Израильским центром повышения качества исследований I-CORE (center 4/11), а также отделом публичной дипломатии НАТО в рамках программы «Наука во имя мира».

Источник: Школа компьютерных наук Блаватника при университете Тель-Авива[link10]
См. также: акустический криптоанализ — технический канал утечки информации[link11]

Ссылки
[link1] http://www.pgpru.com/proekt/poljzovateli?profile=unknown

[link2] http://www.cs.tau.ac.il/~tromer/acoustic/ec04rump/

[link3] http://www.tau.ac.il/~tromer/papers/acoustic-20131218.pdf

[link4] http://www.gnupg.org/

[link5] http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-4576

[link6] http://tools.ietf.org/rfc/rfc4880

[link7] http://tools.ietf.org/rfc/rfc3516

[link8] https://www.enigmail.net/

[link9] https://en.wikipedia.org/wiki/Acoustic_cryptanalysis

[link10] http://www.cs.tau.ac.il/~tromer/acoustic/

[link11] http://www.pgpru.com/forum/kriptografija/akusticheskijjkriptoanaliztehnicheskijjkanalute