LINUX.ORG.RU

Meltdown и Spectre — названия двух атак на процессоры Intel/AMD/ARM64/Power

 , , , ,


10

9

Разработчики из Google Project Zero опубликовали детали уязвимостей, которые затрагивают не только процессоры Intel и ARM64, но и AMD тоже (есть сообщения, что только при включении BPF JIT в ядре, что по умолчанию выключено). Названия им дали: Meltdown и Spectre (расплавление ядерного реактора и призрак).

Meltdown позволяет приложению читать любую память компьютера, включая память ядра и других пользователей. Этой атаке подвержены процессоры Intel. Точных сведений об уязвимых процессорах нет, но скорее всего минимум начиная с Core Duo.

Spectre создаёт брешь в изоляции различных приложений и позволяет атакующему обманным способом получить данные чужого приложения. Этой атаке подвержены процессоры Intel, AMD, ARM64, Power8 и 9. По неподтвержденным данным узявимы практически все процессоры, умеющие спекулятивное исполнение кода. Для Intel это процессоры, начиная с Pentium Pro (1995 год), кроме Itanium и Atom. Есть сообщения о том, что уязвимость проверена на Pentium-M 1.5 ГГц (2004 год).

Эксплоит, эксплуатирующий Meltdown позволяет читать память ядра со скоростью 2000 байт в секунду на процессоре Intel Xeon архитектуры Haswell.

Уязвимостям назначены следующие CVE: CVE-2017-5753, CVE-2017-5715 и CVE-2017-5754.

Напомню, что пользователи ежедневно запускают чужой код на своих компьютерах, посещая веб сайты с JavaScript (>99%), поэтому применение патча (здесь и здесь) обязательно, если вы дорожите своими данными. Есть PoC (п.4.3) , демонстрирующий атаку с этой уязвимостью через JavaScript.

Разработчики ARM приводят подробности атаки для ARM, заявляют о том, что уязвимы лишь некоторые процессоры ARM, дают их список и меры по повышению безопасности.

Технические подробности про spectre (есть пример кода в конце файла)
Код из spectre.pdf выложенный отдельно.
Технические подробности про meltdown
Еще про meltdown
Видео, демонстрирующее утечку памяти meltdown
Технические детали для ARM-процессоров
Отчёт от Red Hat, упоминающий процессоры IBM Power как уязвимые.

UPD: Хорошая статья на русском языке про meltdown
UPD2: Продолжение про два вида Spectre

>>> Подробности

★★★★★

Проверено: anonymous_incognito ()
Последнее исправление: hobbit (всего исправлений: 24)

Ответ на: комментарий от FiXer

The patch developer confirmed that x86 (32-bit) is still vulnerable. Spread the word, boys and girls:

Hi,
I'm writing to you because I noticed your involement with the KPTI/KAISER
patches. Across several varieties of linux distributions, users have
noticed that kpti is impossible to enable because it depends on x86_64.
Many of us are concerned that we are running 32-bit systems that are
still vulnerable to meltdown; we are also concerned because it's a
handful of users who have brought this to light, and major news and
information from our distros are keeping silent on the topic. We are all
wondering if you could shed some light: in particular, is x86 vulnerable?

Yes, 32bit is vulnerable. We haven't yet had time to look into that as the vast majority of systems, especially the most endangered cloud stuff, runs 64bit. We know about it and the 32bit mitigation has been under discussion already, but I can't tell at the moment when we are going to have that.

Sorry that I can't tell you better news.

Thanks,

Thomas

sloan ★★
()

Это в menuconfig ядра где-то отключается или нет, если что?

Gonzo ★★★★★
()

Известны ли названия обновлений мастдая которые будут фиксить и тормозить?

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

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

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

Самое важное не все пути воспроизведения, а то как сделать так чтобы этой проблемы не было. Если бы ты писал ядро, то как бы это решил?

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

там почему-то операции load/flush на I/O буферах влияют на другие операции с памятью. Может, есть global lock какой-то. Вот этого нужно избегать и не останавливать выполнение кода, который не нуждается в I/O. Ну и как-то ограничивать размер I/O буферов, чтобы избегать OoM.

Конкретно для линукса один из ключевых компонентов этой проблемы - kswapd.

dzidzitop ★★
()
Последнее исправление: dzidzitop (всего исправлений: 1)

Извините у меня вопрос не совсем в тему но все таки рядом и думаю если его перенесут в соответствующую тему то это хорошо.

Если этот баг внутри ядра и который нельзя 100 процентов закрыть какой либо патчами на ядро-ось почему почему не снижают цены на процессоры ? К примеру раз так в 5 ?

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

Зачем, если ты, хомячок, исправно покупал, покупаешь и будешь покупать эти процессоры ?)

vblats
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.