Уязвимость в процессорах Intel: патч-исправление может замедлить ПК на 5–30 %

Уязвимость в процессорах Intel: патч-исправление может замедлить ПК на 5–30 %


Если сообщения верны, Intel допустила весьма серьёзную уязвимость в своих центральных процессорах, и её нельзя исправить обновлением микрокода. Уязвимость затрагивает все процессоры Intel за последние лет десять как минимум.

 

Закрытие уязвимости требует обновления ОС, патчи для Linux уже вышли, Microsoft планирует закрыть её в рамках традиционного ежемесячного «вторника патчей». На данный момент детали уязвимости не разглашаются, но некоторые подробности всё-таки выплыли наружу благодаря Python Sweetness и The Register.
Уязвимость позволяет программам получать несанкционированный доступ к определённым данным в защищённой области памяти ядра. Предотвратить это можно, внедрив изоляцию памяти ядра (Kernel Page Table Isolation), которая сделает ядро «невидимым» для текущих процессов. Это не идеальное решение проблемы, но грядущие патчи для Windows, Linux и macOS будут использовать именно этот подход.

Уязвимость в процессорах Intel: патч-исправление может замедлить ПК на 5–30 %


Однако подобное решение может очень серьёзно ударить по производительности. Падение производительности из-за изоляции может достигать 30 процентов. К счастью, последние модели процессоров Intel с технологией PCID (идентификаторы контекста процесса), возможно, позволяют уменьшить падение производительности, хоть и не избежав его совсем.
Уязвимость может эксплуатироваться в реальных условиях; под удар, в первую очередь, могут попасть компании, использующие виртуализацию.
«Разработка программного решения проблемы ведётся в срочном порядке, и уже недавно оно было внедрено в ядро Linux; в ядрах NT схожее решение начало появляться в ноябре,» — сообщает блок Python Sweetness. — «В худшем случае это повлечёт за собой серьёзное замедление в повседневных задачах.
»Есть повод подозревать, что уязвимы популярные окружения для виртуализации, включая Amazon EC2 и Google Compute Engine."
Microsoft Azure и Amazon Web Services уже запланировали временное отключение серверов на следующей неделе, хоть и не дают комментариев по поводу причины работ. Однако, вероятно, именно необходимость защититься от возможных атак с использованием найденной уязвимости является его причиной.
Заметьте, что AMD пока не упоминалась ни разу. Всё просто: процессоры AMD не подвержены данной уязвимости — а, следовательно, и не нуждаются в ресурсоёмкой защите от неё.
Томас Лендаки, участник работающей с Linux группы в AMD, сообщает:
«Процессоры AMD не подвержены атакам, от которых защищает изоляция памяти ядра. Архитектура AMD не позволяет получить доступ к данным при отсутствии соответствующих привилегий.»

Уязвимость в процессорах Intel: патч-исправление может замедлить ПК на 5–30 %


К тому же, новые серверные чипы EPYC от AMD, а также их десктопные процессоры Ryzen Pro имеют технологию шифрования защищённой памяти, дающую дополнительную защиту от атак подобного рода.
Так или иначе, пока детали патчей не раскрываются, и Intel по понятным причинам предпочитает молчать, нам остаётся только ждать, когда можно будет полностью оценить серьёзность проблемы и угрозу, которую она несёт существующим компьютерным платформам. Но на данный момент всё это выглядит очень серьёзно. Патч с решением (kpti) для Linux добавил в ядро лично Линус Торвальдс.
Phoronix уже протестировали производительность при включённом kpti и пришли к выводу, что возможны просадки до 17-18 процентов.
Также сообщается, что патч для Linux будет по умолчанию включать kpti и на компьютерах с процессорами AMD, вызывая соответствующее падение производительности. AMD не рекомендует использовать kpti на компьютерах с процессорами AMD. Детали решения для Windows пока неизвестны.

Уязвимость в процессорах Intel может замедлить ПК на 5–30 %

Уязвимость в процессорах Intel: патч-исправление может замедлить ПК на 5–30 %


У технологических компаний есть небольшие провалы, есть крупные, а есть и огромные: сообщается, что практически все процессоры Intel, выпущенные за последнее десятилетие, имеют серьёзную уязвимость в безопасности. В результате, как предполагается, обычные пользовательские программы — начиная с приложений баз данных и заканчивая кодом JavaScript в веб-браузерах могут получать до определённой степени доступ к структуре данных из защищённых областей памяти, относящихся к ядру операционной системы.


По сути, современные процессоры Intel включают ошибку проектирования, которая может позволить вредоносным программам читать защищённые области памяти ядра (область ОЗУ, выделенная для наиболее важных основных компонентов операционной системы и их взаимодействия с системным оборудованием). Этот недостаток может потенциально открыть защищённую информацию, такую как пароли. Поскольку ошибка внесена на аппаратном уровне 64-битных чипов Intel, она требует исправления на базовом уровне в каждой популярной операционной системе, включая Windows, Linux и macOS.

Уязвимость в процессорах Intel: патч-исправление может замедлить ПК на 5–30 %


Детальные сведения об ошибке проектирования кристаллов и о том, насколько уязвимы пользователи, в настоящее время специалисты хранят в секрете, но поскольку разработчики работают над программными заплатками засучив рукава, желая выпустить обновления в ближайшие недели, похоже, дело весьма серьёзное. В самом худшем предполагаемом сценарии даже такое простое и распространённое ПО, как JavaScript или облачное вредоносное ПО, запущенные через веб-страницу в браузере, могут получить доступ к некоторым наиболее чувствительным внутренним функциям компьютеров на базе чипов Intel.
Поскольку заплатка повлечёт за собой полное разделение памяти ядра и пользовательских процессов, «исправленные» операционные системы потенциально могут привести к значительному падению производительности ПК — от 5 % до 30 %, в зависимости от конкретной задачи и модели процессора. Издание The Register поясняет:
«Эти исправления KPTI [Kernel Page Table Isolation] переносят ядро ОС в полностью отдельное адресное пространство, поэтому оно не просто незаметно для запущенного процесса, его нет в этом адресном пространстве. В нормальных условиях такие меры совершенно не требуются, но проблема лежит в аппаратной архитектуре чипов Intel и в противном случае позволяет каким-то образом обходить защиту доступа к ядру ОС.

Уязвимость в процессорах Intel: патч-исправление может замедлить ПК на 5–30 %


Но проблема такого разделения памяти состоит в том, что достаточно ресурсоёмко поддерживать переключение между двумя отдельными адресными пространствами для каждого системного вызова и для каждого аппаратного прерывания. Эти переключения контекста не происходят мгновенно, и они заставляют процессор выгружать кешированные данные и заново загружать информацию из оперативной памяти. Это увеличивает расходы ресурсов на работу ядра ОС и снижает производительность компьютеров с процессорами Intel».
От 5 до 30 процентов — это чудовищное прогнозируемое падение производительности, но из-за связанной с проблемой секретности в настоящее время трудно сказать, насколько заметным в реальности окажется воздействие заплаток на работу рядовых пользователей. Наибольший урон могут понести такие масштабные системы, как центры обработки данных. Например, при работе СУБД PostgreSQL исправление KPTI приносит падение производительности в лучшем случае на 17 %, а в худшем — на 23 %. Для среднестатистического пользователя, возможно, заплатка принесёт минимальные проблемы. Кроме того, в будущем не исключено появление более эффективных способов решения аппаратной проблемы.

Блог Python Sweetness написал недавно: «Срочная разработка программной заплатки ведётся в открытом и недавно выпущенном ядре Linux, аналогичные новшества стали добавляться в ядра NT в ноябре. В худших случаях исправления приводят к весьма существенным замедлениям некоторых типичных задач. Есть основания считать, что уязвимость заметно влияет и на распространённые среды виртуализации, включая Amazon EC2 и Google Compute Engine».

Уязвимость в процессорах Intel: патч-исправление может замедлить ПК на 5–30 %


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