Патчи Intel против «чипокалипсиса» отправляют ПК в перезагрузку
Устройства, созданные на базе процессоров Intel Broadwell и Haswell начинают самопроизвольно перезагружаться после установки патчей, которые закрывают уязвимости Meltdown и Spectre. Intel не исключает, что ей придется переделать собственные патчи. Компания обещает выпустить обновления для всех своих процессоров не старше пяти лет уже к концу января.
Проблема Broadwell и Haswell
Устройства, созданные на базе процессоров Intel Broadwell и Haswell, начинают чаще проводить перезагрузку системы после установки патчей, которые должны закрыть уязвимости Meltdown и Spectre. Об этом в официальном заявлении сообщил вице-президент по вопросам дата-центров Intel Навин Шеной (Navin Shenoy). Он пишет, что жалобы на частые перезагрузки были получены от некоторого количества пользователей Broadwell и Haswell, и что проблема распространяется как на клиентские устройства, так и на дата-центры.
Напомним, на микроархитектуре Haswell, представленной в июне 2013 г., работает четвертое поколение процессоров Intel Core. Broadwell представляет собой перенос Haswell с техпроцесса 22 нм на 14 нм, на этой микроархитектуре базируется пятое поколение Intel Core.
Компания допускает, что для решения проблемы ей придется переделать собственные патчи против Meltdown и Spectre, которые она уже начала распространять. Модифицированные обновления будут распространяться через стандартные каналы. Несмотря на проблему перезагрузки, Intel советует конечным пользователям продолжать устанавливать патчи, которыми их снабжают производители ПО.
Напомним, незадолго до этого гендиректор Intel Брайан Кржанич (Brian Krzanich) пообещал в официальном обращении, что к 15 января Intel выпустит обновление по крайней мере для 90% процессоров, выпущенных ею в последние пять лет, а концу января обезопасит все эти процессоры. После этого компания сосредоточится на создание патчей для более старых чипов. Процесс разработки и распространения обновлений Кржанич пообещал сделать максимально прозрачным для пользователей.
Проблемы обновления AMD
Тем временем компания Microsoft была вынуждена приостановить распространение созданных ею Windows-патчей для процессоров AMD. Производитель ПО сообщает, что устройства на базе некоторых старых процессоров AMD после установки обновлений перестают загружаться. На это массово жалуются пользователи на форумах поддержки Microsoft.
Microsoft обвинила в сложившейся ситуации AMD, которая предоставила ей некорректную документацию, не соответствующую реальным параметрам описанных в ней процессоров. Компании продолжают совместно работать над созданием патчей против Meltdown и Spectre. Те пользователи, устройства которых перестали загружаться после установки обновлений, для решения проблемы должны посетить сайт поддержки Microsoft.
Что такое «чипокалипсис»
В начале января появилась информация о том, что в процессорах Intel, AMD и ARM64 обнаружены две серьезные уязвимости. Они получили названия Meltdown и Spectre. Meltdown дает возможность пользовательскому приложению получить доступ к памяти ядра, а также к другим областям памяти устройства. Spectre же нарушает изоляцию памяти приложений, благодаря чему через эту уязвимость можно получить доступ к данным чужого приложения. Из-за того огромного количества устройств, которые в итоге оказались под ударом, обнаружение Meltdown и Spectre получило в прессе название «чипокалипсис».
Meltdown и Spectre эксплуатируют недостатки механизма спекулятивного выполнения инструкций. Чтобы повысить скорость работы, процессоры прогнозируют, выполнение каких инструкций потребуется от них в ближайшее время, и начинают их выполнять досрочно. Если прогноз подтверждается, процессор продолжает выполнять инструкцию. Если же оказывается, что в ее выполнении не было необходимости, все то, что процессор уже успел сделать, откатывается назад. При этом данные прерванного выполнения могут сохраняться в кэше.
Meltdown обращается к памяти ядра как раз в ходе такого преждевременного выполнения инструкции. Потом процессор понимает, что у пользовательского приложения нет права читать эту память. Выполнение инструкции прерывается, состояние системы откатывается назад, однако при этом в кэше оседают данные, прочитанные в памяти ядра. Эти данные можно найти в кэше, проведя атаку через сторонние каналы.
Потеря производительности
При нормальной работе процессора, когда пользовательская программа выполняет такие действия как запись в файл или открытие сетевого подключения, она передает контроль над процессором ядру. Чтобы переключение между пользовательским режимом и режимом ядра происходило быстро, ядро присутствует во всех адресных пространствах виртуальной памяти процессов, оставаясь при этом невидимым для программ. Meltdown и Spectre нарушают этот режим невидимости.
Чтобы обезвредить уязвимость, память ядра нужно изолировать от пользовательских процессов, пишет издание The Register, первым сообщившее о проблеме. В результате переключение между режимом пользователя и режимом ядра начнет занимать гораздо больше времени. Это может привести к потери производительности на различных устройствах. По данным The Register, Linux и Windows угрожает замедление работы от 5% до 30%.
Компания Apple, уже выпустившая патчи против Meltdown для своих ОС, утверждает, что проведенные ею тесты не показали сколько-нибудь существенного снижения производительности после применения заплат. Другие разработчики ПО заявляют, что для абсолютного большинства частных и корпоративных пользователей при выполнении подавляющего количества задач потеря производительности не будет заметна.