Если сообщения верны, Intel допустила весьма серьёзную уязвимость в своих центральных процессорах, и её нельзя исправить обновлением микрокода. Уязвимость затрагивает все процессоры Intel за последние лет десять как минимум.
Закрытие уязвимости требует обновления ОС, патчи для Linux уже вышли, Microsoft планирует закрыть её в рамках традиционного ежемесячного «вторника патчей». На данный момент детали уязвимости не разглашаются, но некоторые подробности всё-таки выплыли наружу благодаря Python Sweetness и The Register.
Уязвимость позволяет программам получать несанкционированный доступ к определённым данным в защищённой области памяти ядра. Предотвратить это можно, внедрив изоляцию памяти ядра (Kernel Page Table Isolation), которая сделает ядро «невидимым» для текущих процессов. Это не идеальное решение проблемы, но грядущие патчи для Windows, Linux и macOS будут использовать именно этот подход.
Однако подобное решение может очень серьёзно ударить по производительности. Падение производительности из-за изоляции может достигать 30 процентов. К счастью, последние модели процессоров Intel с технологией PCID (идентификаторы контекста процесса), возможно, позволяют уменьшить падение производительности, хоть и не избежав его совсем.
Уязвимость может эксплуатироваться в реальных условиях; под удар, в первую очередь, могут попасть компании, использующие виртуализацию.
«Разработка программного решения проблемы ведётся в срочном порядке, и уже недавно оно было внедрено в ядро Linux; в ядрах NT схожее решение начало появляться в ноябре,» — сообщает блок Python Sweetness. — «В худшем случае это повлечёт за собой серьёзное замедление в повседневных задачах.
»Есть повод подозревать, что уязвимы популярные окружения для виртуализации, включая Amazon EC2 и Google Compute Engine."
Microsoft Azure и Amazon Web Services уже запланировали временное отключение серверов на следующей неделе, хоть и не дают комментариев по поводу причины работ. Однако, вероятно, именно необходимость защититься от возможных атак с использованием найденной уязвимости является его причиной.
Заметьте, что AMD пока не упоминалась ни разу. Всё просто: процессоры AMD не подвержены данной уязвимости — а, следовательно, и не нуждаются в ресурсоёмкой защите от неё.
Томас Лендаки, участник работающей с Linux группы в AMD, сообщает:
«Процессоры AMD не подвержены атакам, от которых защищает изоляция памяти ядра. Архитектура AMD не позволяет получить доступ к данным при отсутствии соответствующих привилегий.»
К тому же, новые серверные чипы EPYC от AMD, а также их десктопные процессоры Ryzen Pro имеют технологию шифрования защищённой памяти, дающую дополнительную защиту от атак подобного рода.
Так или иначе, пока детали патчей не раскрываются, и Intel по понятным причинам предпочитает молчать, нам остаётся только ждать, когда можно будет полностью оценить серьёзность проблемы и угрозу, которую она несёт существующим компьютерным платформам. Но на данный момент всё это выглядит очень серьёзно. Патч с решением (kpti) для Linux добавил в ядро лично Линус Торвальдс.
Phoronix уже протестировали производительность при включённом kpti и пришли к выводу, что возможны просадки до 17-18 процентов.
Также сообщается, что патч для Linux будет по умолчанию включать kpti и на компьютерах с процессорами AMD, вызывая соответствующее падение производительности. AMD не рекомендует использовать kpti на компьютерах с процессорами AMD. Детали решения для Windows пока неизвестны.
Автор: betrachtung