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)
Ответ на: комментарий от dk-

Тут что, каждый первый отписавшийся админ критичных сервсисов с виртуализацией?

Казалось бы, причем Meltdown к виртуализации. Или даже Spectre.

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

Я так подозреваю что уже есть _поиметые_ этими уязвимостями, и не факт что не было в каком-то одном ДЦ целого гнездовья деструктивного кода, тырящего данные у других виртуалок.

А было бы тихо, никто бы и не рыпался, а так уже целый глобус бурлит гаданием на гуще.

В любом случае, хомяки получат возможные просадки в производительности, побухтят и пойдут в 2019 покупать новые игровые процики.

А вот кого эта новость должна беспокоить, вряд ли расскажут где сейчас они переживают.

Deleted
()

от spectre как защититься?

обновил ядро 2 раза за сутки с PTI.

обновил микрокод (его аж в сентябре пилили)

обновил профиль даже

и шапочку не забыл одеть

а все

Reading at malicious_x = 0xffffffffffdfed67... Unclear: 0xF8=’E’ score=999 (second best: 0xF7 score=999)
Reading at malicious_x = 0xffffffffffdfed68... Unclear: 0xFF=’E’ score=999 (second best: 0xF7 score=999)
Reading at malicious_x = 0xffffffffffdfed69... Unclear: 0xFA=’E’ score=999 (second best: 0xF8 score=999)
Reading at malicious_x = 0xffffffffffdfed6a... Unclear: 0xFA=’E’ score=999 (second best: 0xEA score=999)
Reading at malicious_x = 0xffffffffffdfed6b... Unclear: 0xFA=’E’ score=999 (second best: 0xF7 score=999)
Reading at malicious_x = 0xffffffffffdfed6c... Unclear: 0xFB=’E’ score=999 (second best: 0xF5 score=999)
Reading at malicious_x = 0xffffffffffdfed6d... Unclear: 0xFB=’E’ score=999 (second best: 0xF9 score=999) Reading at malicious_x = 0xffffffffffdfed6e... Unclear: 0xFD=’E’ score=999 (second best: 0xF8 score=999) Reading at malicious_x = 0xffffffffffdfed6f... Unclear: 0xFF=’E’ score=999 (second best: 0xFE score=999)

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

Значит ли, что каждого на планете касаются напрямую вопросы безопасности тормозных систем корейских авто и прочности металлоконструкций зданий?

это типа профильный форум. на форуме строителей вопросы металлоконстр _должны_ обсуждаться

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

Подобные темы напоминают мне криптохайп

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

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

никак. гугл вон предлагает всё перекомпилять специальным компилятором. я предлагаю всё переписать с учётом этого сайд эффекта.

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

> Пока браузеры не пропатчили, есть риск что какой-нибудь жаваскрипт украдет твои куки.

Придётся переходить на тёмную сторону

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

То есть, x86 от AMD на данный момент безопаснее? Интересно, что там с PowerPC.

Не совсем так. Есть два типа атак spectre и meltdown. meltdown есть только для Intel и некоторых AMD с включённой опцией. spectre похоже для почти всех процессоров. Но вроде бы он не так опасен.

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

некоторых AMD с включённой опцией.

опция - это про Spectre и AMD.

она же отключает JIT в пакетном фильтре, который позволяет всю эту муть с кешем и доступом к произвольной памяти експлоитить

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

А пробовал на AMD с отключенными BPF JIT? Выше по треду писали как отключать. Как я понял, AMD не подвержен первой уязвимости, и подвержен второй только с включенным BPF JIT

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

Те кто тут сравнивают васянов с парнокопытными я попрошу не обобщать, к этим животным мы отношения не имеем. По поводу примера кода spectre который выложили. На FreeBSD получилось запустить после замены __rdtscp(&junk) на __rdtsc() и CACHE_HIT_THRESHOLD с 80 на 150.

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

Да, собралось, спасибо. Что-то вылетело с головы что ядру не собирается через Portage.

vertexua ★★★★★
()

На моём AMD Athlon II X4 630 Spectre работает, и даже без всяких манипуляций с CACHE_HIT_THRESHOLD:

./spectre
Reading 40 bytes:
Reading at malicious_x = 0xffffffffffdffb08... Success: 0x54=’T’ score=2
Reading at malicious_x = 0xffffffffffdffb09... Success: 0x68=’h’ score=7 (second best: 0x46 score=1)
Reading at malicious_x = 0xffffffffffdffb0a... Success: 0x65=’e’ score=2
Reading at malicious_x = 0xffffffffffdffb0b... Success: 0x20=’ ’ score=2
Reading at malicious_x = 0xffffffffffdffb0c... Success: 0x4D=’M’ score=7 (second best: 0x16 score=1)
Reading at malicious_x = 0xffffffffffdffb0d... Success: 0x61=’a’ score=7 (second best: 0x4C score=1)
Reading at malicious_x = 0xffffffffffdffb0e... Success: 0x67=’g’ score=2
Reading at malicious_x = 0xffffffffffdffb0f... Success: 0x69=’i’ score=2 
Reading at malicious_x = 0xffffffffffdffb10... Success: 0x63=’c’ score=2
Reading at malicious_x = 0xffffffffffdffb11... Success: 0x20=’ ’ score=2
Reading at malicious_x = 0xffffffffffdffb12... Success: 0x57=’W’ score=2
Reading at malicious_x = 0xffffffffffdffb13... Success: 0x6F=’o’ score=2
Reading at malicious_x = 0xffffffffffdffb14... Success: 0x72=’r’ score=2
Reading at malicious_x = 0xffffffffffdffb15... Success: 0x64=’d’ score=2
Reading at malicious_x = 0xffffffffffdffb16... Success: 0x73=’s’ score=2
Reading at malicious_x = 0xffffffffffdffb17... Success: 0x20=’ ’ score=2
Reading at malicious_x = 0xffffffffffdffb18... Success: 0x61=’a’ score=2
Reading at malicious_x = 0xffffffffffdffb19... Success: 0x72=’r’ score=2
Reading at malicious_x = 0xffffffffffdffb1a... Success: 0x65=’e’ score=2
Reading at malicious_x = 0xffffffffffdffb1b... Success: 0x20=’ ’ score=2
Reading at malicious_x = 0xffffffffffdffb1c... Success: 0x53=’S’ score=2
Reading at malicious_x = 0xffffffffffdffb1d... Success: 0x71=’q’ score=2
Reading at malicious_x = 0xffffffffffdffb1e... Success: 0x75=’u’ score=2
Reading at malicious_x = 0xffffffffffdffb1f... Success: 0x65=’e’ score=2
Reading at malicious_x = 0xffffffffffdffb20... Success: 0x61=’a’ score=2
Reading at malicious_x = 0xffffffffffdffb21... Success: 0x6D=’m’ score=2
Reading at malicious_x = 0xffffffffffdffb22... Success: 0x69=’i’ score=2
Reading at malicious_x = 0xffffffffffdffb23... Success: 0x73=’s’ score=2
Reading at malicious_x = 0xffffffffffdffb24... Success: 0x68=’h’ score=2
Reading at malicious_x = 0xffffffffffdffb25... Success: 0x20=’ ’ score=2
Reading at malicious_x = 0xffffffffffdffb26... Success: 0x4F=’O’ score=2
Reading at malicious_x = 0xffffffffffdffb27... Success: 0x73=’s’ score=2
Reading at malicious_x = 0xffffffffffdffb28... Success: 0x73=’s’ score=2
Reading at malicious_x = 0xffffffffffdffb29... Success: 0x69=’i’ score=2
Reading at malicious_x = 0xffffffffffdffb2a... Success: 0x66=’f’ score=2
Reading at malicious_x = 0xffffffffffdffb2b... Success: 0x72=’r’ score=2
Reading at malicious_x = 0xffffffffffdffb2c... Success: 0x61=’a’ score=2
Reading at malicious_x = 0xffffffffffdffb2d... Success: 0x67=’g’ score=2
Reading at malicious_x = 0xffffffffffdffb2e... Success: 0x65=’e’ score=2
Reading at malicious_x = 0xffffffffffdffb2f... Success: 0x2E=’.’ score=2

С одной стороны неприятно, а с другой мысли об апгрейде уже и без того посещали...

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

Я так подозреваю что уже есть _поиметые_ этими уязвимостями, и не факт что не было в каком-то одном ДЦ целого гнездовья деструктивного кода, тырящего данные у других виртуалок.

Точно никто ничего не скажет, разве что всплывёт случайно. Но пока ситуация выглядит следующей: крупняк знал об этих уязвимостях уже минимум с июля 2017 и потихоньку пилил патчи (а может и юзал исподтишка для своих целей), всё под NDA естественно. В том числе и разрабы линукса пилили. Однако что-то стало потихоньку просачиваться, народ стал обращать внимание на странные вещи, которые делают патчи, появились отдельные статейки ещё в ноябре, и наконец под новый год прорвало на несколько дней раньше срока, а планы были вроде бы 9 января выкатить информацию.

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

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

Мне онлайн.нет прислал ужасные письма пугающие :) Но «мине пох». Ибо на всех двух моих серверах я живу в одиночку.

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

и - да, ты - балбес.

По технической части - безусловно.
Но я не считаю своим долгом высказываться и надувать щеки.
Вот реально обе эти темы - как чатик на бтц-е.ком. Один в один.

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

Интересно. Спасибо за информацию. Получается что AMD сейчас тоже не имеет фикса?

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

Видимо, этому выхлопу вообще верить нельзя. У меня тоже 0 возвращает, однако

zgrep BPF_JIT /proc/config.gz
CONFIG_BPF_JIT=y
CONFIG_HAVE_EBPF_JIT=y
rmCharge
()
Ответ на: комментарий от ptah_alexs

Тем не менее у меня PoC spectre сработал.

ты читал его код? он и будет работать.

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

Вы просто не понимаете масштабов происходящего. Возникающие вопросы, как правильно заметили выше, заставляют «обматываться простынью и ползти в сторону кладбища». Поверьте, Ваша некомпетентность показывает, как смотрит общественность на эту информацию.

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

Но я не считаю своим долгом высказываться и надувать щеки.

просто проблема простая и ясная. оч странно, что специалисты по безопасности давно её не открыли.

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

если junk отделить от остальных интов unsigned int junk = 0;, то варнинги пропадают, но «illegal hardware instruction» при запуске бинарника я по прежнему ловлю.

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

Я вижу, Вас в лагере стало больше ;)

Вот реально обе эти темы - как чатик на бтц-е.ком. Один в один.

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

Неа, ты думал что один живешь на своих виртуалках, а оказалось что СяоВась из ХакерМира, решил что тебя надо уплотнить на твоем же сервере :-)

Deleted
()

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

И получи калькулятор вместо проца?

Ну уж нет.

Я просто:

1. Составлю белый список сайтов для носкрипта.

2. SSH на ключе.

3. Настрою роутер.

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

И это - нормально (в том смысле, что естественно).

dk-
()

Главный инженер Intel, ключевой разработчик процессоров покидает компанию. Об этом инженер-конструктор сообщил в своем микроблоге в соцсети Twitter. Собственное решение сотрудник объяснил желанием попробовать свои силы в новых проектах. 23.07.2017

Я всё не мог связать, почему. Теперь могу.

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

Ну да, в своих тантрических мыслях к своей любимой идеологии!
ЛяоВась ваще не знал куда вломился, но потом обживётся, может пару картинок сольет себе в лачугуIRL.

Deleted
()

Жизнь гентушника

Только собрал 4.14.11-r1, так ироды уже r2 выкатили. И хрен поймешь что туда входит, надо разбираться

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

Почти каждый обязан высказать свое мнение по вопросу

Меня больше интересует мнение русских рэперов по данному вопросу.

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

Там наверное мат 3х этажный стоял, инженеры требовали фиксить сейчас, маркетоиды орали за бабло; Финансисты считали убытки... .

Теперь то уж жахнуло, так жахнуло..

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

Видимо у тебя это менее заметно из-за большей производительности, а вот знакомый обновил свою макось и жалуется на тормоза. Я хз, может и не связано с этим.

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

а с другой мысли об апгрейде уже и без того посещали

И на что ты собрался апгрейдится? Уязвимость есть потенциально на любом CPU с out-of-order execution.

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

А ты думаешь, теперь вендоры будут сидеть сложа руки?

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

а вот знакомый обновил свою макось и жалуется на тормоза. Я хз, может и не связано с этим.

Под macOS фикс был выпущен РОВНО год назад. Твой знакомый (tm) -- гомеопат.

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