Разработчики Linux и Windows работают над закрытием огромной уязвимости в процессорах

Фундаментальная ошибка проектирования всех современных процессоров Intel, выпущенных за последние 10 лет, заставила разработчиков Linux и Windows в срочном порядке переписывать значительные куски кода ядер для того, чтобы закрыть недавно открытую в них уязвимость. Архитектура ARM64 также подвержена уязвимости.

Детали уязвимости находятся под эмбарго до тех пор, пока не будут выпущены исправления, которое намечается на середину января 2018 года, когда выйдет новое ядро Linux и ежемесячное обновление безопасности для Windows. Проблема возможно уже исправлена в ядре 4.14.11, учитывая огромный размер инкрементного патча (229 KiB).

По известным сейчас данным, обход этой аппаратной проблемы может привести к падению производительности приложений на процессорах Intel от 5 до 30% и даже до 63% на некоторых задачах. Более новые чипы от Intel имеют в своём арсенале возможности (PCID / ASID), позволяющие сократить провал в производительности при применении исправления.

Суть уязвимости, скорее всего, заключается в том, что процессоры Intel при спекулятивном выполнении кода не выполняют проверки на безопасность инструкций, которые позволяют читать сегменты памяти, что позволяет любому пользовательскому приложению получить доступ к памяти ядра, тем самым позволяя прочитать закрытые данные, такие как ключи шифрования и пароли. Большую опасность проблема также представляет для систем виртуализации, так как позволяет получить доступ к памяти вне гостевой системы.

Для решения проблемы разработчикам ядер пришлось полностью разделить память ядра и память пользовательских приложений, однако такое решение приводит к серьёзному падению производительности из-за постоянной необходимости замены указателей на память. Разработчики ядра Linux в шутку предлагали следующие аббревиатуры для новой модели разделения памяти ядра и пользовательских процессов: User Address Space Separation (*_uass) и Forcefully Unmap Complete Kernel With Interrupt Trampolines (fuckwit_*), однако остановились на Kernel Page Table Isolation (kpti_*).

Разработчики из GRSecurity протестировали патчи и увидели огромное падение производительности. Разработчики PostgreSQL отметили падение производительности в тесте pgbench на 23% (при использовании процессоров с PCID – 17%). Из-за сильного влияния на производительность разработчики патча предусмотрели опцию для отключения KPTI, которая активируется через передачу параметра “nopti” при загрузке ядра.

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

Дополнение 1: Выполнение программ под DOSEMU и Wine замедлится от исправления ещё больше, ввиду использованияэмуляторами LDT.

Дополнение 2: Исследователь по безопасности под псевдонимом Brainsmoke написал прототип эксплоита, который читает закрытую память ядра при запуске непривилегированного процесса. Судя по всему, ошибка даже более серьёзная, чем предполагалось ранее.

Дополнение 3: Компания Intel опубликовала пресс-релиз, в котором раскритиковала заявления некоторых изданий о том, что уязвимость специфична для процессоров Intel. Детали об уязвимости пока не раскрываются, но сообщается, что текущее состояние анализа проблемы позволяет утверждать, что она затрагивает процессоры различных производителей и многие типы вычислительных устройств, не ограничиваясь продуктами Intel.

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

Дополнение 4: Раскрыты подробности об уязвимости.

 

Источник: http://www.opennet.ru/opennews/art.shtml?num=47849

Вы можете оставить комментарий, или ссылку на Ваш сайт.

Оставить комментарий

Яндекс.Метрика Рейтинг@Mail.ru

Thanks: Studenthelp78