В тени ветвей у Медвежьего озера
В тени ветвей у Медвежьего озера
Автор: Киви Берд
Анализ побочных каналов утечки информации, с подачи американских военно-шпионских структур часто именуемый звучным кодовым словом Tempest, уже давно перестал быть хайтек-экзотикой, окружённой самыми невероятными слухами и мифами. Хотя государственные спецслужбы по-прежнему, как и десятки лет назад, продолжают заниматься Tempest-разработками под завесой строжайшей секретности, в открытой печати к нынешнему времени опубликован обширный круг исследовательских работ по этой тематике. Интересно здесь то, что каждый новый этап в развитии инфотехнологий порождает и соответствующий скачок в разработках темпест-атак, использующих особенности очередного новшества. Ярким тому примером является только что опубликованный в Интернете способ криптоатаки, по побочным каналам утечки быстро определяющей секретный ключ RSA при его обработке современными многопоточными процессорами вроде Intel P4.
Авторы новой атаки, получившей название «Простой анализ прогнозов ветвления», или кратко SBPA ["On the Power of Simple Branch Prediction Analysis" by Onur Aciicmez, Cetin Kaya Koc and Jean-Pierre Seifert. Cryptology ePrint Archive: Report 2006/351, eprint.iacr.org/2006/351], — турецко-германская команда учёных-криптографов, работающих в университетах Австрии, Израиля, США и Турции. Первоначально исследователи сосредоточились на усовершенствовании уже известных видов таймерных атак, когда неизвестные биты криптоключа восстанавливаются статистическими методами на основе анализа времени шифрования множества сообщений при помощи одного и того же секретного ключа. Метод был специально заточён под мультитрединговые процессоры и применяемую в них технологию прогнозирования ветвлений (Branch Prediction), обеспечивающую существенное ускорение для работающих одновременно программ. Однако по мере углубления в специфику этой технологии исследователи обнаружили куда более эффективный способ атаки, за долю секунды позволяющей восстановить секретный ключ RSA всего по единственной процедуре шифрования.
Суть разработанной атаки в самом кратком изложении такова. «Злоумышленники» имеют в своём распоряжении компьютер (то есть могут запускать на нем свою программу) и хотят вскрыть секретный ключ, используемый для шифрования информации в этом компьютере. Главным объектом атаки становится специализированный кэш процессора, именуемый Branch Target Buffer (BTB) и предназначенный для хранения адресов ранее выполненных ветвей алгоритмов. Поскольку буфер невелик по размеру, ЦПУ может хранить в нем лишь некоторое число таких адресов, а ранее хранившиеся адреса из буфера удаляются, если вместо них процесс должен поместить новый адрес текущей обработки. Существенно, что в условиях мультитредингового процессора кэш BTB является общим для программ, обрабатываемых одновременно, как параллельные потоки.
Для добычи секретного ключа создана специальная шпионская программа, которая все время поддерживает BTB в заполненном состоянии. Эта программа запускается параллельно, но чуть раньше, чем криптографический алгоритм (RSA). Поскольку BTB постоянно заполнен ветвями «шпиона», то каждый раз, когда место в буфере забирает под себя ветвь RSA, вытесняется ветвь шпионской программы. Шпион, в свою очередь, тут же замечает задержку в выполнении своей ветви, вытесненной из BTB алгоритмом RSA, а это даёт информацию о значении обрабатываемого бита секретного ключа. Работоспособность этой концепции продемонстрирована на примере практически моментального вскрытия 512-битного ключа RSA в условиях работы программ из популярной и широко распространённой криптобиблиотеки OpenSSL.
При первом взгляде на этот результат он кажется сенсационным, учитывая повсеместное распространение RSA для закрытия самой разной информации — от финансовой до военной. Но на самом деле далеко не все так ужасно. Содержательный комментарий к новой работе дал, в частности, авторитетный новозеландский криптограф Питер Гутманн, один из главных соавторов OpenSSL. Гутманн отметил, что метод взлома SBPA успешно применён к старой версии OpenSSL, которая а) не имеет уже используемых ныне средств защиты и б) специально модифицирована, чтобы стать более уязвимой конкретно к данной атаке. Спору нет, замечает новозеландец, нам представлена новая и явно интересная атака. Однако говорить на основании того, что продемонстрировано, будто «OpenSSL взломана» или «RSA взломан», — это, конечно, преувеличивать реальную угрозу.
Как бы то ни было, разработчикам нового компьютерного железа атака SBPA и её разновидности очевидно добавляют работы в области обеспечения безопасности данных. Особенно если учесть, что ныне — для защиты высококачественного контента Голливуда на аппаратном уровне — отчётливо видна тенденция к зашиванию криптографии непосредственно в чипы. Буквально на днях в Интернет утекли слайды корпорации Intel, демонстрирующие полную интеграцию в грядущий новый чипсет Bearlake («Медвежье озеро») технологий HDMI/HDCP для защиты видео и аудио высокой чёткости.
Как подчеркнул известный криптоэксперт Брюс Шнайер, самое очевидное применение атак типа SBPA — это как раз взлом DRM-защиты контента. Тут же, наконец, имеет смысл отметить, что один из соавторов SBPA, немец Жан-Пьер Зайферт, в прошлые годы успел поработать в Infineon и Intel, где занимался по сути тем же самым — исследованием побочных каналов утечки в кэшах чипов при работе с криптоалгоритмами AES, на эллиптических кривых и, естественно, RSA. В упомянутых корпорациях, судя по всему, пытливый ум учёного пришёлся не ко двору, поэтому ныне он работает в австрийском Институте информатики при Инсбрукском университете. Создаётся впечатление, что конкретно для Зайферта эта работа — выразительный способ доказать свою правоту.