> > > > Intel: новое обновление микрокода закрывает уязвимость с кэшем инструкций

Intel: новое обновление микрокода закрывает уязвимость с кэшем инструкций

Опубликовано:

intelЗа последние месяцы не прекращают появляться сведения о новых уязвимостях, которые усложняют жизнь Intel. Например, уязвимость ZombieLoad в варианте 2 затрагивает процессоры, которые уже защищены от ранее обнаруженных атак, таких как MDS, RIDL или Fallout.

Вместе с исследователями, обнаружившими MDS, RIDL и Fallout, Intel опубликовала сведения о новой уязвимости. Как и стратегию по ее закрытию. Основой для уязвимости с кэшем инструкций стала ошибка Jump Conditional Code (JCC). Проблемы связаны с инструкциями перехода, которые вызывают инструкции из кэша декодированных инструкций за пределами 32-битной зоны. Уязвимость можно закрыть обновлением микрокода, но придется смириться с потерей производительности.

Уязвимости подвержены следующие поколения процессоров:

  • Amber Lake
  • Cascade Lake
  • Coffee Lake
  • Comet Lake
  • Kaby Lake
  • Skylake
  • Whiskey Lake

То есть наиболее важные архитектуры настольных ПК и серверов. Снижения производительности из-за обновления микрокода можно избежать в ассемблере, обновив цепочку компилятора. В таком случае можно убрать ошибочные инструкции перехода, чтобы с аппаратной стороны не пришлось вносить изменения в кэш декодированных инструкций или буфер.

Intel говорит о потере производительности от 0 до 4% после обновления микрокода. Но в некоторых ситуациях падение может составить и больше 4%. Если исправление уязвимостей Spectre, Meltdown, L1TF и MDS повлияло лишь на некоторые приложения, ошибка JCC может сказаться на более широком спектре сценариев. Phoronix провела первые тесты и сравнила старые и новые процессоры с обновлением микрокода и без такового.

Intel опубликовала краткое описание ошибки JCC, но также и детальное Deep Dive, плюс Security Advisory Disclosure. Насколько ошибка JCC опасна для конечных пользователей, пока неизвестно.

Мы уже оценивали влияние исправления уязвимости MDS в тестах процессоров Xeon Platinum 8180 и 8280.

Обновление:

Phoronix привела результаты первых игровых тестов до обновления микрокода и после. В зависимости от игры, влияние на производительность может быть ощутимо, но также и незаметно. Если вы считаете каждый кадр в секунду, то JCC сыграет свою негативную роль. Когда Intel начнет распространять новый микрокод через обновления BIOS - неизвестно.

Обновление 2:

Сразу же следует указать на ошибку в нашей новости, поскольку ZombieLoad v2 не имеет отношения к ошибке JCC. ZombieLoad v2 - другая уязвимость, которую Intel описывает как TSX Asynchronous Abort (TAA). Intel опубликовала в общей сложности 77 уязвимостей, две из которых как раз ZombieLoad v2 и JCC Erratum.

Для Intel проблемы ZombieLoad v2 и TSX Asynchronous Abort (TAA) связаны с тем фактом, что процессоры Xeon Scalable второго поколения (Cascade Lake-SP и -AP) были заявлены как аппаратно защищенные от подобных уязвимостей. Но в случае TAA защита не сработала, как Intel узнала еще в апреле. Однако уязвимость не была публично объявлена до вчерашнего дня.

Все процессоры Skylake подвержены TAA, в том числе современные настольные процессоры Coffee Lake Refresh и грядущие Core X на основе Cascade Lake. Более серьезно то, что современные процессоры Xeon, тоже на основе Cascade Lake, подвержены уязвимости в случае активных расширений Transactional Synchronization Extensions (TSX).