
Суть уязвимости в самой сжатой форме приведена на скриншоте выше: примерно такой кусок кода может вызывать сбои в работе процессоров Intel вплоть до полного отказа в обслуживании. Чтобы разобраться в причинах такого поведения, требуется небольшой экскурс в особенности низкоуровневого программирования. Впрочем, самый важный нюанс таков: префикс rex.rxb не имеет смысла в комбинации с инструкцией movsb для перемещения данных в памяти и по всем правилам должен отбрасываться при выполнении программы. Но по факту процессор как-то его интерпретирует, причем с весьма непредсказуемыми результатами.
Взаимодействие префиксов и инструкций в общих чертах описано в статье Орманди. Он начинает с префикса rep, который указывает, что инструкцию (например, movsb) нужно выполнить несколько раз подряд. Не во всех случаях префиксы имеют смысл, и в нормальных условиях «ненужные» префиксы игнорируются процессором. Орманди приводит такой пример, где повторяющиеся несколько раз префиксы никак не влияют на работу программы:

Префикс rex используется для работы с регистрами процессора, и не во всех случаях, а для обращения к 8 дополнительным регистрам, внедренным в архитектуре x86_64. К инструкции movsb этот префикс не имеет никакого отношения. Поведение процессора при наличии префикса меняется из-за технологии Fast Short Repeat Move, внедренной в 2019 году именно в поколении процессоров Intel Ice Lake. Технология FSRM ускоряет рутинные операции работы с данными (конкретно перенос данных небольшими блоками) и влияет как раз на такие инструкции, как movsb.
Баг был обнаружен благодаря исследованиям Орманди и его коллег в области «фаззинга процессоров». Ранее мы
В чем заключается «нештатность» работы процессоров Intel? Исследователи наблюдали большой ассортимент глюков, начиная с неожиданных переходов к выполнению случайного набора инструкций. В случае эксплуатации бага одновременно на нескольких ядрах процессора можно добиться состояния
Именно возможность провести DoS-атаку делает эту аппаратную проблему достаточно серьезной, особенно для облачных провайдеров. На момент подготовки статьи Intel уже выпустила обновление микрокода, закрывающее проблему, для наиболее современных процессоров Intel 12-го и 13-го поколений. Патч для процессоров 10-го и 11-го поколений готовится. Примечательно, что исследователи из Google не говорят о возможности эксплуатации уязвимости для выполнения произвольного кода — уж слишком непредсказуемо поведение процессора. Но Intel, которая определенно знает о проблеме больше, чем независимые специалисты, в бюллетене прямо указывает на потенциальную эскалацию привилегий и доступ к секретной информации.
Что еще произошло:
Эксперты «Лаборатории Касперского» открывают сезон подведения итогов года
Ряд
Свежая исследовательская