Авторы новой атаки, получившей название «Простой анализ прогнозов ветвления», или кратко 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. В упомянутых корпорациях, судя по всему, пытливый ум учёного пришёлся не ко двору, поэтому ныне он работает в австрийском Институте информатики при Инсбрукском университете. Создаётся впечатление, что конкретно для Зайферта эта работа — выразительный способ доказать свою правоту.