Теги → микрокод

Intel остановила разработку микрокода для защиты «старых» процессоров от атаки Spectre V2

В начале февраля компания Intel начала распространять исправленный микрокод для процессоров поколения Skylake, который закрывал уязвимости Spectre и Meltdown. Тогда же компания сообщила, что исправленный микрокод для процессоров прежних поколений всё ещё разрабатывается или проходит тестирование у клиентов. Обновление было обещано позже. Свежая информация гласит, что Intel решила остановить разработку обновлений для целого спектра выпущенных раньше процессоров.

В частности, процессоры поколений Penryn (2007), Yorkfield (2007), Wolfdale (2007), Bloomfield (2008), Clarksfield (2009), Jasper Forest (2010) и Intel Atom SoFIA (2015) не получат защиты от второго варианта атаки Spectre (CVE - 2017 - 5715). Согласно исследованию Intel, для этого имеются как минимум три веские причины. Во-первых, атака Spectre Variant 2 на указанных (и других микроархитектур) трудно реализуемая. Во-вторых, системы на процессорах старше 7–11 лет не могут похвастаться широкой коммерческой поддержкой (они не интересны ни производителям материнских плат, которые должны будут выпустить обновлённый BIOS, ни разработчикам операционных систем и приложений).

В-третьих, согласно опросам клиентов, все перечисленные выше поколения процессоров лежат в основе ныне «закрытых систем». Иначе говоря, они используются без подключения к Интернету (что справедливо для госкомпаний и органов власти, которые редко спешат обновлять парк ПК и ограниченно используют Интернет). На основе всех трёх заключений в Intel приняли решение остановить разработку исправленного микрокода с защитой старых процессоров от конкретной атаки Spectre, что, впрочем, не означает, что в случае появления эффективного инструмента для взлома с использованием Spectre Variant 2 компания не возобновит работы. При необходимости, сообщают в Intel, разработка микрокода может быть возобновлена.

Intel выпустила обновление микрокода против Spectre для Ivy Bridge и Sandy Bridge

Инженеры Intel продолжают засучив рукава трудиться над исправлением проблемы аппаратных уязвимостей процессоров компании, известной под именами Spectre и Meltdown. Впервые ещё в январе производитель выпустил помимо прочих заплаток обновления микрокода против Spectre для своих процессоров с архитектурами Broadwell, Haswell, Skylake, Kaby Lake и Coffee Lake. Но всё оказалось несколько сложнее — заплатки приводили к сбоям и перезагрузкам компьютеров, так что в итоге Intel рекомендовала партнёрам и пользователям воздержаться от установки заплаток до их доработки.

Затем компания стала более размеренно выпускать такие обновление начиная с самых актуальных процессоров и спускаясь всё дальше в прошлое — планируются заплатки для CPU вплоть до различных 45-нм решений. После ряда обновлений для Skylake, Kaby Lake, Coffee Lake, Broadwell и Haswell, выпущенных после тщательного тестирования и обкатки, дошла очередь и до архитектур Ivy Bridge и Sandy Bridge.

Компания выпустила обновления микрокода не только для настольных вариантов этих чипов, но и для различных их серверных версий, а также для некоторых вариантов Haswell, которые не были затронуты прошлыми заплатками. Напомним: обновление микрокода требуется для борьбы с вариантом Spectre CVE-2017-5715 (целевое внедрение в ветвь). Теоретически на его основе для конечных потребителей могут быть выпущены новые версии прошивок BIOS (впрочем, микрокод может загружаться и при старте ОС).

Теперь все ждущие исправлений чипы относятся к поколениям старше Sandy Bridge: речь идёт, например, о 32-нм Westmere (первый 6-ядерный CPU на базе Nehalem), 4-ядерных Nehalem (Bloomfield, Lynnfield), а также различных мобильных процессорах вроде 32-нм Arrandale и Clarkdale. Вслед за исправлением всего семейства Nehalem, Intel приступит к выпуску нового микрокода и для некоторых ещё более старых процессоров Core 2 Quad и Core 2 Duo, хотя эти заплатки всё ещё находятся на ранних стадиях тестирования.

Отрадно видеть, что компания преодолела начальные трудности и выпускает обновления на регулярной основе. Это важно, учитывая тот факт, что Spectre — очень вредная уязвимость. Она, например, может быть использована даже для доступа к данным, хранящимся в защищённых областях Intel SGX (Software Guard Extensions). Другими словами, обновления против Spectre и Meltdown по сути обязательны для всех, кто минимально заботится о неприкосновенности информации и своих паролей, хотя в некоторых задачах они могут приводить к существенному снижению производительности, особенно на относительно старых CPU.

Для множества устаревших материнских плат производители могут никогда и не выпустить новых версий BIOS, включающих свежие версии микрокода. Однако Microsoft время от времени представляет обновления Windows, включающие такие заплатки — в качестве примера можно привести KB4090007, выпущенную в конце февраля. Пока не ясно, будет ли Microsoft выпускать такие исправления для Haswell и более старых чипов.

О прогрессе инженеров Intel в деле выпуска новых версий микрокода можно следить в особом официальном документе, который постоянно обновляется.

Intel выпустила обновление микрокода против Spectre для Broadwell и Haswell

Проблема аппаратных уязвимостей современных процессоров, известная под именами Spectre и Meltdown, похоже, долгое время будет беспокоить производителей и пользователей. Ещё в январе Intel помимо прочих заплаток выпустила обновления микрокода против Spectre для своих процессоров с архитектурами Broadwell, Haswell, Skylake, Kaby Lake и Coffee Lake. Но всё оказалось не так просто — заплатки приводили к сбоям и перезагрузкам систем.

В итоге Intel рекомендовала партнёрам и пользователям воздержаться от установки заплаток до их доработки. В начале февраля был представлен исправленный вариант микрокода для мобильных и настольных потребительских чипов семейства Skylake. Позже вышли новые версии микрокода для Kaby Lake, Coffee Lake, а также ряда незатронутых предыдущим обновлением Skylake-базированных платформ.

Теперь компания выпустила переработанные заплатки для более старых архитектур Broadwell и Haswell. Эти обновления доступны для всех семейств с указанными архитектурами, кроме Broadwell Server EX и Haswell Server EX, которые всё ещё находятся в стадии бета-тестирования. Поддерживаются процессоры Xeon и Intel Core i, включая Broadwell H 43e и Broadwell U и Y.

Напомним: обновление микрокода требуется для борьбы с вариантом Spectre CVE-2017-5715 (целевое внедрение в ветвь). Теоретически на их основе для конечных потребителей будут выпущены новые версии прошивок BIOS. Работа над обновлениями микрокода для других процессоров продолжается. В частности, заплатки для семейства Intel Sandy Bridge и Ivy Bridge пребывают в состоянии бета-теста. Точно так же, хотя большая часть чипов Skylake получила обновления, микрокод Skylake Xeon E3 остаётся в статусе беты. В опубликованном ранее документе, Intel расписала планы по выпуску исправлений микрокода для других своих продуктов, начиная с 45-нм чипов вроде Core 2.

Intel на этой неделе также объяснила государственным органам США, почему она не сообщила Координационному центру CERT Департамента национальной безопасности страны о проблеме до того, как Google обнародовала информацию о Meltdown и Spectre вслед за утечкой через издание The Register. Отвечая на вопросы Комитета Палаты представителей США по энергетике и торговле, Intel заявила, что была намерена проинструктировать правительство до запланированного публичного раскрытия 9 января, но планы были сорваны из-за утечки информации раньше срока.

«Компьютерная команда экстренной готовности США (US-CERT) была впервые проинформирована об этих уязвимостях посредством публичного раскрытия информации 3 января 2018 года. Intel оперативно обсудила это разглашение с US-CERT в тот же день и снова двумя днями спустя, 5 января 2018 года», — сказано в сообщении. Intel также заявила, что с момента обнаружения потенциальных уязвимостей и до их обнародования, информацией о них обменивалась только с Google, Apple, Microsoft и ARM, что вполне соответствует отраслевым стандартам реагирования на подобные инциденты.

Intel выпустила обновления микрокода для нескольких поколений CPU

С начала января сложно было пропустить новости, касающиеся аппаратных уязвимостей Spectre и Meltdown — настолько серьёзной и всеобъемлющей оказалась тема. Хотя производители знали об этих проблемах ещё с лета прошлого года, большинство, похоже, начало реагировать лишь после обнародования подробностей специалистами команды Google Project Zero.

Например, Intel ещё в январе помимо прочих заплаток выпустила обновления микрокода против Spectre для своих процессоров Broadwell, Haswell, Skylake, Kaby Lake и Coffee Lake. Но почти сразу выяснилось, что они приводят к сбоям и перезагрузкам систем. Вначале Intel заявила, что проблема касается только чипов Broadwell и Haswell, но позже признала существование сбоев на компьютерах с процессорами Skylake, Kaby Lake и Coffee Lake и рекомендовала партнёрам и пользователям пока воздержаться от установки заплаток. Наконец, в начале февраля был представлен исправленный вариант микрокода, но только для мобильных и настольных потребительских чипов семейства Skylake.

Теперь, после месяца интенсивных тестов и обкатки заплаток Intel и её партнёрами, пришло время и других более или менее актуальных процессоров: были выпущены обновления микрокода для чипов на базе архитектур Kaby Lake и Coffee Lake, а также незатронутых предыдущим обновлением Skylake-базированных платформ. Речь идёт о процессорах 6, 7 и 8-го поколений Intel Core i, а также последних семейств Core X, Xeon Scalable и Xeon D.

Новый вариант микрокода будет доступен в большинстве случаев через выпуск OEM-производителями новых прошивок материнских плат и ноутбуков. Intel по-прежнему призвала людей постоянно обновлять свои системы до актуальных версий, а также опубликовала документ, в котором расписала состояние аналогичных исправлений микрокода для других своих продуктов, в том числе более ранних чипов, начиная с 45-нм Core 2. Для каких-то из этих чипов заплатки только планируются, для других — находятся в состоянии раннего тестирования, для третьих — существуют уже в виде бета-версии. Как правило, чем старее архитектура, тем позже она получит прошивки с защитой против Spectre. Тем не менее, обновления микрокода для более-менее актуальных архитектур Sandy Bridge, Ivy Bridge, Haswell и Broadwell уже находятся в состоянии бета-тестирования. Также ряд чипов Atom и даже ускорители Xeon Phi уже получили заплатки.

Intel напомнила, что существуют и другие методы борьбы против вскрытых уязвимостей блока предсказания ветвлений в современных процессорах. Например, Retpoline, разработанный Google против Spectre CVE-2017-5715 (branch target injection или целевое внедрение в ветвь). Для тех, кто интересуется дополнительной информацией о Retpoline и принципах его работы, компания опубликовала особый технический доклад.

Выпущенные Intel обновления микрокода против Spectre в ближайшие дни и недели начнут выходить в виде свежих прошивок BIOS для различных материнских плат. Любопытно, окажут ли они дополнительный эффект на деградацию производительности конечных систем?

Готово первое обновление AMD AGESA

Первенец AMD, способный потягаться на равных с решениями Intel, а кое в чём и превзойти их, процессор AMD Ryzen, как и любое новое, рискованное решение, оказался не лишён детских болезней. Они известны всему миру: это сравнительно медленный контроллер памяти с большими, относительно контроллера Kaby Lake, задержками, проблемы с работой модулей памяти на высоких частотах и ошибка в реализации FMA3, которая в определённых случаях может приводить к зависанию системы. 

Но создатели Ryzen проводят активную работу над ошибками и уже готово первое обновление AMD AGESA (AMD Generic Encapsulated Software Architecture), оно имеет номер версии 1.0.0.4. Вскоре следует ждать волны соответствующих обновлений BIOS от производителей системных плат — они будут включать в себя все исправления, сделанные AMD. А таковых уже в первой версии сделано немало:

  • Снижена латентность памяти примерно на 6 наносекунд (повысится производительность);
  • Исправлена ошибка в реализации FMA 3 (зависаний больше не будет);
  • Исправлена ошибка типа «overclock sleep bug» (некорректная установка частоты при выходе из S 3);
  • Утилита AMD Ryzen Master больше не требует включение системного таймера в режим HPET (повысится производительность).

В первом случае речь идёт о сценариях, чувствительных к задержкам в подсистеме памяти, в последнем же производительность должна немного возрасти в целом.

А вот проблема с количеством и частотой модулей памяти пока не решена, но AMD работает над её разрешением и обещает новое обновление кода AGESA уже в мае. Компания официально заявила, что в будущем обновлении сфокусируется именно на поддержке «разгона памяти DDR4», а значит можно ожидать, что четыре двухранговых модуля DDR4, наконец-то, смогут работать на частотах выше 1866 МГц и что улучшится совместимость с различными оверклокерскими комплектами памяти, которых на рынке существует огромное множество. С другой стороны, AMD активно сотрудничает и с разработчиками игр: обновление для Ashes of the Singularity уже приносит до 30 % прироста производительности, а совсем недавно патч для DOTA 2 позволил поднять минимальную частоту кадров на 15 % (с 79 до 91) и снизить латентность ввода на 1,7 миллисекунды. Ожидаются соответствующие обновления и для ряда других популярных игр.

Ошибка в процессорах AMD Ryzen связана с набором инструкций FMA3

Выпуск нового процессора, особенно, если речь идёт о новой архитектуре, а не об усовершенствовании старой, проверенной, обычно влечёт за собой и наличие ошибок. Чаще всего эти ошибки не фатальны, хотя их список может исчисляться десятками страниц, но история знает и яркие примеры серьёзных провалов: «двойная сигма», не позволявшая дефектным процессорам Intel 80386 работать в 32-битном режиме, ошибка F00F в ранних Pentium, приводившая к зависанию системы, а также некорректная отработка операции деления в первых Pentium 60/66. Увы, как выяснилось на днях, не минула сия судьба и AMD Ryzen на базе новейшей архитектуры Zen.

Краткое описание сущности набора инструкций FMA. Источник: Wikipedia

Краткое описание набора инструкций FMA. Источник: Wikipedia

Как сообщают зарубежные источники, разработчику Александру Еэ (Alexander Yee) удалось выловить серьёзную ошибку в текущей ревизии кремния Ryzen с помощью специальной тестовой программы собственной разработки. Называется программа просто flops и целью её является измерение производительности процессора в операциях с плавающей запятой. Она использует максимально оптимизированный код с поддержкой всех современных наборов инструкций, включая SSE и FMA3 (Fused Multiply-Add 3). В Ryzen AMD отказалась от поддержки FMA4, но в реализацию FMA3 вкралась ошибка: использование 128-битных команд FMA3 может приводить к краху системы, и Александру Еэ удалось добиться воспроизводимости этого результата.

Он опубликовал свою находку на форумах HWBot под ником Mystical, после чего другие пользователи сообщили о том, что проблема действительно существует и регулярно воспроизводится вне зависимости от конфигурации системы: достаточно, чтобы её сердцем был один из новых процессоров Ryzen. Коллеги с ресурса Heise Online проверили поведение Ryzen 7 1700X на плате MSI X370 XPower Gaming Titanium и Ryzen 7 1700 на одной из самых популярных плат с разъёмом AM4 —  ASUS Crosshair VI Hero. Оба раза им удалось добиться «успеха»: система уходила в чёрный экран и намертво зависала, что лечилось только холодной перезагрузкой. Как сообщает глава ресурса HWBot, ошибка всегда проявляется при определённых условиях использования FMA3 и лежит в области микрокода (AGESA, AMD Generic Encapsulated Software Architecture). Следовательно, она не является неисправимой и проблему можно решить обновлением микрокода процессора (в том числе с помощью обновления BIOS системной платы), но AMD пока никак не прокомментировала ситуацию.

Мы надеемся, что в ближайшем времени последует волна обновлений от производителей системных плат, избавляющая системы на базе Ryzen от серьёзного риска зависания при использовании функций FMA3. Но хотелось бы также дождаться и официальных комментариев Advanced Micro Devices.

window-new
Soft
Hard
Тренды 🔥