Уязвимость процессоров Intel ставит под удар Windows, Linux и macOS

Автор: Богдан Чуб, 03 января 2018, 19:42

В процессорах Intel, выпущенных за последнее десятилетие, обнаружена аппаратная уязвимость, которая позволяет пользовательским программам считывать содержимое памяти ядра ОС, получая доступ к логинам, паролям и другой конфиденциальной информации. Риску подвержены Windows, Linux и macOS, и так как обновление микрокода чипов не решит проблему, разработчики в срочном порядке готовят исправления для операционных систем. Плохая новость заключается в том, что с выходом патча производительность устройств может снизиться на 5-30% в зависимости от выполняемой задачи.

Что произошло?

Детали уязвимости станут известны позже в этом месяце после того, как будут выпущены необходимые обновления (Linux уже, апдейт для Windows на подходе, Apple традиционно отмалчивается). Суть проблемы в следующем: современные операционные системы случайным образом меняют расположение кода ядра при каждой загрузке, но так как процессоры Intel с архитектурой x86-64 выполняют инструкции доступа к памяти без дополнительной проверки на безопасность, приложение может прочитать закрытые данные. Обычные программы так не делают, но это еще одна лазейка для хакеров.

Для решения проблемы разработчикам придется отделить память ядра от памяти пользовательских процессов (модель KPTI или Kernel Page Table Isolation). При этом процессору придется каждый раз сбрасывать буфер ассоциативной трансляции TLB при входе в ядро, что сильно сказывается на скорости работы. В чипах последних лет это не так заметно благодаря поддержке функций PCID / ASID.

Первые тесты показали, что переход на KPTI не окажет серьезного влияния на производительность в играх, а вот при работе с базами данных (PostgreSQL, Redis) разница уже заметна. Как отмечают эксперты, в результате больше всего пострадают платформы облачных вычислений и виртуализации, включая Amazon Web Services, Microsoft Azure и Google Compute Engine.

А что AMD?

По имеющимся сведениям, проблема не затронула процессоры AMD, хотя обновленное ядро Linux автоматически помечает все чипы как ненадежные и использует механизм KPTI. Видимо, разработчики просто не успели сделать исключение для «красных».

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

Источник: The Register

Для тех, кто хочет знать больше: