id: Гость   вход   регистрация
текущее время 06:59 02/05/2024
Владелец: unknown редакция от 19/12/2013 14:54 (автор: unknown) Печать
Категории: криптография, софт, gnupg, шифрование с открытым ключом, уязвимости, атаки, побочные каналы
https://www.pgpru.com/Новости/2013/УлучшенныеМетодыИзвлеченияКлючейПоАкустическомуИДругимПобочнымКаналам
создать
просмотр
редакции
ссылки

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



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

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


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


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

Публикация


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


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

FAQ 16

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


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


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

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


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

Q3: Нужно ли специальное оборудование для проведения атаки?


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

Q4: Каково рабочее расстояние для акустической атаки?


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


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

Q5: Какие возможны примеры сценариев атаки?


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


  • Установка атакующего приложения в своём телефоне, назначение встречи с жертвой, в ходе которой телефон подкладывается на стол рядом с её лэптопом.
  • Взлом мобильного телефона жертвы, установка атакующего приложения туда и ожидание момента, когда жертва положит свой телефон рядом с целевым лэптопом.
  • Использование веб-страниц, способных включать микрофон через браузер, работающий на компьютере (с использованием Flash или HTML Media Capture). Это может использоваться для похищения пользовательского ключа GnuPG.
  • Использвание замаскированных прослушивающих устройств или лазерных микрофонов.
  • Размещение серверов с замаскированными внутри микрофонами (колокэйшн) на площадке с рядом находящимися серверами, откуда можно акустически извлекать ключи.
  • Размещение микрофонов рядом с вентиляционными отверстиями в корпусе TEMPEST-защищённых машин.

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


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


  • Атака волшебным прикосновением: атакующий измеряет потенциал прикосновением своей руки, при этом скрытно измеряя изменение потенциала своего тела по отношению к потенциалу «земли» комнаты (эта атака особенно эффективна в жаркую погоду, так как влажная кожа пальцев снижает электрическое сопротивление).
  • Атака с дальнего конца кабеля: жертва вставляет некий безобидно выглядящий VGA или Ethernet кабель в свой лэптоп. Атакующий измеряет электрический потенциал в экранирущей части на другом конце кабеля (это делается за пределами видимости, в другой комнате или серверном помещении).

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


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


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

Q8: Как получается, что низкочастотные (kHz) акустические утечки выдают полезную информацию о значительно более высоких частотах (GHz)?


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

Q9: Насколько уязвима GnuPG в данный момент?


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

Q10: Насколько уязвимы другие алгоритмы и их криптографические реализации?


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

Q11: Возможно ли реалистичное выполнение атаки с подобранным шифртекстом против GnuPG?


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

Q12: Можно ли помешать атаке использованием шумных вентиляторов, выполнением многозадачных вычислений или установкой множества компьютеров в одной комнате?


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

Q13: Какие контрмеры доступны?


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


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

Q14: Почему нужно применять програмные методы защиты? Разве это не задача для аппаратной части — предотвращение физических утечек?


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


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

Q15: Что насчёт других акустических атак?


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


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

Q16: Что нового по сравнению с нашей презентацией на Eurocrypt 2004?


  • Полная атака на извлечение ключа на основе использования тонкостей внутреннего исполнения RSA в GnuPG.
  • Значительное увеличение расстояния и применимости (с 20 см при открытом корпусе до 4 м в нормальном состоянии).
  • Улучшенная аппаратная часть (частично самодельная), позволяющая использовать большие расстояния и улучшенное различение сигнала.
  • Обработка сигналов и коррекция ошибок позволили выполнить атаку посредством мобильных телефонов, несмотря на их плохие микрофоны.
  • Протестировано значительно больше образцов.
  • Неакустические атаки по каналам с низкой пропускной способностью, включая анализ потенциалов корпуса.
  • Контрмеры, выполненные и протестированны в GnuPG (см. Q9).
  • Детальное описание.

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


Лев Пачманов написал большую часть ПО, использованного в наших экспериментах, включая собственную программу сбора сигналов. 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); отделом публичной дипломатии НАТО в рамках программы «Наука во имя мира».


Источник: Школа комьютерных наук Блаватника при университете Тель-Авива