Группа специалистов по безопасности во главе с учёными из Калифорнийского университета в Сан-Диего на конференции ACM ASPLOS 2024 представила доклад о двух новых найденных уязвимостях в новейших процессорах Intel и AMD. Уязвимость затрагивает неисчислимое множество процессоров, а её устранение грозит катастрофическим снижением производительности.
Никогда такого не было и вот опять. Со времён обнаружения уязвимостей Meltdown и Spectre в процессорах Intel, AMD и других компаний в январе 2018 года, когда об этом было широко объявлено, исследователи обнаружили множество других разновидностей этих дыр в старых, новых, и новейших процессорах обеих компаний и не только. Проблема выявилась в механизме спекулятивного выполнения команд, без чего наращивание производительности процессоров было бы затруднительно. Беда в том, что ограничение подобных механизмов ощутимо снижало производительность процессоров и с этим приходилось мириться.
Новые уязвимости, обнаруженные в новейших процессорах, также имеют отношение к механизмам предсказания и, конкретно, используют механизмы предсказания ветвлений (переходов). Доклад по проблеме называется «Pathfinder: атаки с потоком управления высокого разрешения, использующие предсказатель ветвления», а сама уязвимость получила название Pathfinder.
Компании Intel и AMD были уведомлены об уязвимости заблаговременно, что произошло в ноябре 2023 года. Вчера обе они выпустили объявления по поводу доклада учёных. Компания Intel сообщила, что ничего нового по сравнению с уязвимостями Spectre v1 не открыто и у неё нет никаких новых рекомендаций по проблеме, кроме ранее озвученных. Защита против Spectre v1 уже встроена в новые процессоры компании и не требует коррекции. Копания AMD, в свою очередь, сообщила об отсутствии эксплойтов, эксплуатирующих новые уязвимости, поэтому говорить, в общем-то, не о чем.
По словам безопасников, найденная ими уязвимость стала перовой, которая нацелена на такую функцию в предсказателе ветвления, как регистр истории путей (Path History Register, PHR), который отслеживает как порядок ветвления, так и адреса ветвлений. В результате злоумышленником раскрывается больше информации с большей точностью, чем при предыдущих атаках, которым для большей эффективности не хватало понимания точной структуры предсказания ветвления.
Знание о путях ветвления команд, вне зависимости, принятые они или не принятые, даёт хорошее представление о данных выполняемой программы. Во всём этом ведущую роль играет история ветвлений, данные о которой хранятся в таблицах прогнозирования. Предыдущие атаки, анализируя записи в таблицах, использовали этот механизм, чтобы выявить последние операции по конкретным адресам. Регистр истории PHR в последних архитектурах Intel записывает адреса и точный порядок последних 194 ветвей кода. Учёные показали, что они могут не только фиксировать самые последние результаты переходов, но и результаты каждой ветви в последовательном порядке. Более того, новая уязвимость раскрывает глобальный порядок всех ветвей и даёт доступ не только к последним 194 переходам, но и восстанавливает значительно более длинную историю ветвлений.
«Мы успешно захватили последовательности из десятков тысяч ветвей в точном порядке, используя этот метод для утечки секретных изображений во время обработки широко используемой библиотекой изображений libjpeg», — сказал Хосейн Яварзаде (Hosein Yavarzadeh), аспирант кафедры компьютерных наук и инженерии Калифорнийского университета в Сан-Диего и ведущий автор статьи.
Исследователи также представили исключительно точную атаку типа Spectre, позволяющую злоумышленникам создавать сложные шаблоны неверных предсказаний ветвей в коде жертвы. «Эта манипуляция приводит жертву к выполнению кода по непреднамеренному пути, вынужденно раскрывая её конфиденциальные данные», — добавил профессор компьютерных наук Калифорнийского университета в Сан-Диего Дин Таллсен (Dean Tullsen).
«В то время как предыдущие атаки могли перенаправлять одну ветвь или первый объект ветви, выполняемый несколько раз, у нас теперь есть такой точный контроль, что мы можем перенаправлять, например, 732-й экземпляр ветви, выполняемый тысячи раз», — пояснил Таллсен.
Команда представила доказательство концепции, в котором они заставили алгоритм шифрования временно завершать работу раньше, чем требуется, что привело к раскрытию зашифрованного текста. С помощью этой демонстрации они показали возможность извлечения секретного ключа шифрования AES.
«Pathfinder может выявить результат практически любой ветви практически любой программы-жертвы, что делает его самой точной и мощной атакой с извлечением микроархитектурного потока управления, которую мы видели до сих пор», — говорят исследователи. Но Intel и AMD, как сказано выше, предлагают не беспокоиться по поводу новых уязвимостей, хотя новые бюллетени по безопасности, скорее всего, они выпустят.
Источник: