Новые атаки на кэш микроопераций обходят механизмы защиты от Spectre

Новые атаки на кэш микроопераций обходят механизмы защиты от Spectre

Уязвимость затрагивает миллиарды компьютеров, и ее будет намного сложнее исправить, чем предыдущие уязвимости Spectre.

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

В своем исследовании под названием «Я вижу dead µops: утечка данных через кэши микроопераций Intel/AMD» («I see dead µops: leaking secrets via Intel/AMD micro-op caches») ученые представили три атаки, позволяющие обойти механизмы защиты от уязвимости Spectre.

В целях улучшения производительности представленные в 2011 году архитектуры процессоров Intel и AMD x86 разбивают сложные инструкции на маленькие команды и сохраняют их в кэше микроопераций, чтобы затем извлекать в процессе спекулятивного исполнения (процессе выполнения инструкции целиком или частично до того, как станет ясно, нужно ли это выполнение).

Атаки Spectre подрывают процесс спекулятивного исполнения и позволяют злоумышленникам получать доступ к чувствительным данным в процессе выполнения инструкций по неправильному пути.

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

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

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

Теория струн? У нас целый оркестр научных фактов!

От классики до авангарда — наука во всех жанрах

Настройтесь на нашу волну — подпишитесь