LINUX.ORG.RU

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

 , , ,


11

12

Ошибка проектирования всех процессоров Intel, выпущенных за последние 10 лет, заставила разработчиков Linux и Windows в срочном порядке перерабатывать схему разделения адресных пространств ядра и пользователя, брешь в которой вызвана этой ошибкой. По известным сейчас данным, переработка требует модификации критических частей ядра и приводит к падению производительности приложений от 5 до 30% (чипы Intel 2010 года и новее имеют в своём арсенале возможности, чтобы сократить это падение).

Суть уязвимости, скорее всего, заключается в том, что спекулятивное исполнение кода косвенно нарушает контроль доступа, и это позволяет приложению «видеть» содержимое защищенного адресного пространства ядра (раннее описание). Детали уязвимости находятся под эмбарго до выпуска исправлений, который намечается на середину января 2018, когда выйдет новое ядро Linux и ежемесячное обновление безопасности для Windows.

Для решения проблемы разработчикам ядер пришлось полностью разделить память ядра и память пользовательских процессов, однако такое решение приводит к серьёзному падению производительности из-за необходимости сброса части кэша транслированных виртуальных адресов (TLB) при входе в ядро.

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

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

Обсуждение патча на LWN, с результатами тестов.

Общие подробности от издания The Register

>>> Технические подробности, демонстрационный код PoC

★★★★★

Проверено: tailgunner ()
Ответ на: комментарий от dzidzitop

разработчиков процессоров покусали бешеные маркетологи?

Такова реальность -_-"

NextGenenration ()
Ответ на: комментарий от I-Love-Microsoft

Я давно уже на AMD сижу что на десктопе что на ноуте, бугагагагага ))))))))))

А отключение psp уже завезли?

NextGenenration ()
Ответ на: комментарий от dzidzitop

Я ничего не изобрел. Я просто не понимаю, почему от этой технологии отказались.

SR_team ()
Ответ на: комментарий от lucentcode

но это значит что ядро прийдётся собирать частенько...

Добро пожаловать на дебиан с замороженным ядром. Или на центось

NextGenenration ()

Правильно понимаю, если применить патч к гипервизору и гостям, то производительность может свалиться на 60% ?

bdfy ★★★ ()
Ответ на: комментарий от tailgunner

Покупатель хотел разлоченный множитель частоты - продавец продал.

А где тогда проц без me?

NextGenenration ()
Ответ на: комментарий от bdfy

А если виртуализация вложенная, то вообще в минус уйдёшь.

post-factum ★★★★★ ()
Ответ на: комментарий от mv

Скорее всего, повар со стажировки просто не вернётся.

Действительно, зачем возвращаться из Франции в глубинку?

NextGenenration ()
Ответ на: комментарий от anonymous

Схерали гуглу нарушать эмбарго, которое до 9-го числа должно быть?

post-factum ★★★★★ ()
Ответ на: комментарий от post-factum

8 часов назад был опубликован PoC. Дальше ждать смысла нет.

Материться не обязательно.

// b.

anonymous ()
Ответ на: комментарий от anonymous

Процессоры AMD к одной из атак уязвимы!

A PoC that demonstrates the basic principles behind variant 1 in userspace on the tested Intel Haswell Xeon CPU, the AMD FX CPU, the AMD PRO CPU and an ARM Cortex A57 [2]. This PoC only tests for the ability to read data inside mis-speculated execution within the same process, without crossing any privilege boundaries.

Читать память из того же процесса не выглядит особой уязвимостью.

A PoC for variant 1 that, when running with normal user privileges under a modern Linux kernel with a distro-standard config, can perform arbitrary reads in a 4GiB range [3] in kernel virtual memory on the Intel Haswell Xeon CPU. If the kernel's BPF JIT is enabled (non-default configuration), it also works on the AMD PRO CPU. On the Intel Haswell Xeon CPU, kernel virtual memory can be read at a rate of around 2000 bytes per second after around 4 seconds of startup time. [4]

Второй вариант на АМД работает только если включен BPF JIT. Так что пока картина для АМД выглядит сильно лучше чем для Интела.

Censo ()
Ответ на: комментарий от Censo

В чем? Во всем кроме продаж камней для серверов?

dk- ()
Ответ на: комментарий от dk-

В чем? Во всем кроме продаж камней для серверов?

Если по английски непонятно написано, то в том, что в дефолтном линуксе на их (AMD) камнях не работает PoC. Только если включить BPF JIT. На Интеле же все три эксплоита выполняются успешно.

Censo ()

Отличные новости! Скоро можно будет закупаться акциями Интела по сниженным ценам :3

anonymous ()
Ответ на: комментарий от anonymous

Отличные новости! Скоро можно будет закупаться акциями Интела по сниженным ценам :3

Это ещё вопрос: если они по-быстрому объявят о выпуске проца с закрытой дырой - очень многие побегут закупаться - продажи возрастут.

alt-x ★★★★★ ()
Ответ на: комментарий от NextGenenration

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

SakuraKun ()
Ответ на: комментарий от SakuraKun

Посмотрел ещё раз на код и осознал ошибку. Там в расчёт брались только x86_vendor

NextGenenration ()
Ответ на: комментарий от Censo

Я про доли рынка. Те не для отрасли почти пофигу как дела у амд. Важнее как Интел оьосрался.

dk- ()
Ответ на: комментарий от Citramonum

Сейчас код ещё хуже: «обделался-то Intel, но замедлять мы будем всех - пусть страдают все, за компанию!»

В идеальном мире, должны немедленно заменить на «замедлять всех кроме AMD» - а дальше пускай старается Intel, будет тестировать все свои процессоры чтобы выяснить какие подвержены уязвимости а какие нет, чтобы потом добавлять исключения. Старые пеньки ведь тоже замедляются сейчас без причины!

Предполагаемая эволюция патча: «замедлять всех» (как сделано сейчас) ---> «замедлять всех кроме AMD» ---> «замедлять только вот эти вот группы процессоров, остальные не трогать»

SakuraKun ()
Ответ на: комментарий от NextGenenration

Ну, пока только в ARM64 нашли подобный баг. По-моему глупо отрицать, что чем проще будет проц и его архитектура, тем меньше вероятностей внезапно обнаружить нечто подобное.

Возможно, даже, что это всё не случайность, а закладка от какого-нибудь АНБ.

DawnCaster ()
Ответ на: комментарий от DawnCaster

Ну, пока только в ARM64 нашли подобный баг

а есть другие современные реализации arm?

По-моему глупо отрицать, что чем проще будет проц и его архитектура, тем меньше вероятностей внезапно обнаружить нечто подобное.

Я не отрицаю. Реальность такова, что найти к примеру ноутбук на малопопулярной технологии будет сложно, а если ещё и говорить про практическое применение...

NextGenenration ()
Ответ на: комментарий от alt-x

Вполне возможно! Тем пристальнее надо следить чтобы не упустить момент. Сегодня Интел подешевел на 3.39%.

anonymous ()
Ответ на: комментарий от NextGenenration

Или ты предлагаешь в каждый офисный комп 32 гига пихать?

Современные планки увеличивают минимальное количество доступной памяти. Просто так купить 512 Мб в ближайшем магазине не выйдет.

ЯННП, зачем мне 512 МБ?

h578b1bde ★☆ ()
Ответ на: комментарий от NextGenenration

idea, который в 64x занимает 8 Гб

Ты бы ещё какое-нибудь говно типа атома на электроне предложил сравнивать.

h578b1bde ★☆ ()
Последнее исправление: h578b1bde (всего исправлений: 1)
Ответ на: комментарий от h578b1bde

ЯННП, зачем мне 512 МБ?

Емнип минимум у ddr4 - 4 Гб. Остаётся узнать сколько будет у ddr5

NextGenenration ()
Ответ на: комментарий от h578b1bde

в каждый офисный комп 32 гига пихать

Я так и делаю, и не только в офисный. Зависимость есть, брат жив.

> free -m
              total        used        free      shared  buff/cache   available
Mem:          32117        1892       25298          49        4926       29722
Swap:             0           0           0
anonymous ()
Ответ на: комментарий от h578b1bde

Ты бы ещё какое-нибудь говно типа атома на электроне предложил сравнивать.

Только вот используется прямо здесь и сейчас, принося деньги. Где твой оптимизированный софт?

NextGenenration ()
Ответ на: комментарий от h578b1bde

Осталось найти людей с DDR4.

А откуда будет браться железо для офисных компов через некоторое время? С интернет барохолок будут брать?

NextGenenration ()
Ответ на: комментарий от NextGenenration

Только вот используется прямо здесь и сейчас, принося деньги.

Кому оно приносит деньги — тот пусть с ним и сношается. Я же лучше возьму нормальный текстовый редактор чем буду страдать с каким-нибудь дерьмом на электроне, превращающим 24-ядерный ЦП в тыкву.

h578b1bde ★☆ ()
Ответ на: комментарий от h578b1bde

Ну это сейчас. А когда работаю, то контейнеры запускаю, виртуалки, Фаерфокс чтобы тормозил поменьше. Всегда есть чем оперативку занять.

anonymous ()
Ответ на: комментарий от NextGenenration

А откуда будет браться железо для офисных компов через некоторое время?

4 гига хватит всем.

h578b1bde ★☆ ()
Ответ на: комментарий от anonymous

Ну это сейчас. А когда работаю, то контейнеры запускаю, виртуалки, Фаерфокс чтобы тормозил поменьше.

Так и вижу секретутку, запускающую контейнеры, виртуалки и 100500 вкладок в жирнофоксе.

h578b1bde ★☆ ()
Ответ на: комментарий от h578b1bde

превращающим 24-ядерный ЦП в тыкву

В итоге ты так и не читал ту статью, на какую ссылаешься

NextGenenration ()
Ответ на: комментарий от h578b1bde

4 гига хватит всем

640 Кб хватает уже не одно десятилетие же! Очевидно же!

NextGenenration ()
Ответ на: комментарий от h578b1bde

Осталось найти людей с DDR4.

Зачем искать-то?

> sudo dmidecode | grep -i ddr4
        Type: DDR4
        Type: DDR4
        Type: DDR4
        Type: DDR4
anonymous ()
Ответ на: комментарий от NextGenenration

В итоге ты так и не читал ту статью, на какую ссылаешься

Что не так? В любом случае отрицать адские тормоза говна на электроне при любой конфигурации весьма глупо. Мои нервы мне дороже.

h578b1bde ★☆ ()
Ответ на: комментарий от NextGenenration

640 Кб хватает уже не одно десятилетие же! Очевидно же!

Побольше говен на электроне запускай, всей энергии вселенной не хватит.

h578b1bde ★☆ ()
Ответ на: комментарий от h578b1bde

Что не так?

Явное отсутствие твоей логики. Проблемы были не в электроне, а в винде

NextGenenration ()
Последнее исправление: NextGenenration (всего исправлений: 1)
Ответ на: комментарий от h578b1bde

Побольше говен на электроне запускай, всей энергии вселенной не хватит.

Даже с твоей неадекватностью ты не можешь согласится с достаточностью 640

NextGenenration ()
Ответ на: комментарий от NextGenenration

Явное отсутствие твоей логики.

У тебя проблемы с чтением?

В любом случае отрицать адские тормоза говна на электроне при любой конфигурации весьма глупо. Мои нервы мне дороже.

h578b1bde ★☆ ()
Ответ на: комментарий от h578b1bde

всей энергии вселенной не хватит

Но ведь она кончится рано или поздно в любом случае. Какая разница когда?

anonymous ()
Ответ на: комментарий от h578b1bde

Тормоза электрона != тормоза движения курсора. Очевидно же.

отрицать адские тормоза говна на электроне при любой конфигурации весьма глупо

Вот далеко не факт. На малине не факт что через 1000 лет вылезет из свопа и будет работать, а на 32 Гб можно даже всю систему в память засунуть

NextGenenration ()
Ответ на: комментарий от anonymous

Но ведь она кончится рано или поздно в любом случае. Какая разница когда?

Разница есть если нервы кончатся раньше.

h578b1bde ★☆ ()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)