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

Но тебя это не убеждает. Ты крепок в вере сайтам, на которые ходишь.

Самое забавное, что в крупных эпидемиях типа wannacry использовались гораздо более примитивные пути распространения

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

а если нативное приложение сможет читать данные из другого адресного пространства (хотя бы и только ring 3), на которые нет debug-привилегий, вот это уже задница.

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

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

Чтобы ты купил новый процессор. Казна ZOG пустеет.

Но ведь там нет закладки! Непорядок!

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

Ха, с -O2, -O3 вот такое:

./spectre
Reading 40 bytes:
Reading at malicious_x = 0xffffffffffdfed10... Unclear: 0x03=’�’ score=2 (second best: 0x00 score=3)
Reading at malicious_x = 0xffffffffffdfed11... Success: 0x03=’�’ score=1 
Reading at malicious_x = 0xffffffffffdfed12... Success: 0x11=’�’ score=7 (second best: 0x03 score=1)
Reading at malicious_x = 0xffffffffffdfed13... Success: 0x03=’�’ score=2 
Reading at malicious_x = 0xffffffffffdfed14... Success: 0x03=’�’ score=5 (second best: 0xB2 score=1

[irony]Вывод: включайте оптимизацию, ребята :D[/irony]

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

Хотя не удивлюсь если эти наши веб-гении станут заявлять что, вместо того чтобы делать защищать память компа от [веб-]приложений

Нужно не от веб приложений защищаться, а от дырявых процессоров

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

> Интересно, как будут этот Spectre зашивать и будут ли вообще.

Я кино смотрел 007: Spectre. Там так называли непобедимый мафиозный синдикат.

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

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

Я не уверен, что я «бровировал». Просто я знаю и русский, и английский, но в переводах иногда бывают неровности(!), ибо лень вычитывать. Плюс 90% времени читаю нерусские ресурсы, поэтому русский забывается.

Я смотрю, у вас проблема и с родным языком тоже. Бывает. Попробуйте прочитать несколько толстых книг классиков, объёмом не меньше 2000 страниц. Резко улучшится чутьё на язык.

// b.

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

Ну вот, а я хотел свою старую газонокосилку апгрейдить на IvyBridge. А она-то ещё ого-го!

# head /proc/cpuinfo 
processor	: 0
vendor_id	: GenuineIntel
cpu family	: 6
model		: 23
model name	: Intel(R) Xeon(R) CPU           L5420  @ 2.50GHz
stepping	: 6
microcode	: 1551
cpu MHz		: 2500.000
cache size	: 6144 KB
physical id	: 0
# uname -r
2.6.32-696.16.1.el6.x86_64
# ./spectre 
Reading 40 bytes:
Illegal instruction
mv ★★★★★
()
Ответ на: комментарий от rechnick

Я хочу уязвимый дырявый быстрый процессор и самый уязвимый, совершенно незащищённый софт.

И чтоб он умирал как только вставили сетевой шнур

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

Единственное спасение для браузеров, это LibreJS

Главное - отркытые трояны

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

То, что ты считаешь, что глубоко в теме, но говоришь почему-то банальности, и при этом обвиняешь меня в истерике.

Ну так ты истеришь. Если ты глубоко в теме - то объясни мне в чем трагичность текущего момента и я присоединюсь к твоей истерике. Я ж не строю из себя знатока. Проблема с этим сайдэффектом не преодолима переписыванеим софта? Если преодолима - то это не проблема процессоров. Это проблема секьюрити-экспертов, которые раньше не предупредили о подобного типа атаке.

но говоришь почему-то банальности

Так я ж не эксперт и знаю только базовые вещи, но пытаюсь разобраться.

То, что ты считаешь, что глубоко в теме

Почему ты сразу начинаешь выставлять напоказ свою глупость? Я цитирую исходный PDF со статьей и пытаюсь переварить то, что там написано.

В PDF в качестве примера указана атака следующего типа.

1. Пусть некоей проверкой if(A) защищается косвенное обращение к памяти target[interesting[cookie]].

2. За счет спекуляций target[interesting[cookie]] изменит состояние кеша так, что состояние кеша станет функцией от interesting[cookie], даже если cookie не прошло проверку в if(A)

3. Существуют способы это состояние кеша считать.

Я просто офигеваю от 3, как условия для атаки. Ты хочешь сказать, что я что-то не понял в статье и вышеперечисленное неверно? Или что для софт, который уязвим для пункта 3, невозможно переписать так, чтобы он при этом был неуязвим для атаки 1-2?

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

А если сделать bs=1, то вообще будет жопа. Только зачем?

Вменяемые программы используют буфер чтения/записи 128KB, который проблему нивелирует.

// b.

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

Я кино смотрел 007: Spectre. Там так называли непобедимый мафиозный синдикат.

Я думаю, баг так назвали от SPECulaTive instRuction Execution.

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

«ко-ко-ко Эльбрус не нужен, ко-ко-ко какой Эльбрус дорогой куд-кудах»

У тебя десктоп/лаптоп - эльбрус?

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

Который точная копия сайта https://spectreattack.com/ , который есть в тексте новости. Отличная наблюдательность, поздравляю!

// b.

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

Если оно спекулятивное, это ещё не значит, что оно подвержено данной уязвимости

Судя по всему ещё никто не тестировал это

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

Да что же ты за человек такой? ))

Здесь как бы уязвимость обсуждается, а не кто и что имел ввиду, я и так в курсе, что опечатался, но уже влом было править.

А ты и так понял, ибо

языкознания большой Вы корифей

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

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

Кстати, попробуй другой компилятор и/или уровни оптимизации.

А еще вот тут я позволил себе немного подправить варнинги: https://pastebin.com/Tb4qYE9a

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

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

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

т.е. если полностью отключить в браузере javascript, то данными уязвимостями воспользоваться не получится?

Почему это? Ты уже просканировал под микроскопом код всех браузеров;) Остаётся возможность закладок в хтмл страницы закладок, при обработке которых сработает встроенный троян.

Napilnik ★★★★★
()

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

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

а вот спалиться на бекдоре это да.

Этот «бекдор» (если имеется в виду Spectre) лежит у всех на виду уже 20 лет.

tailgunner ★★★★★
()
Ответ на: эльбрусы от mumpster

кстати, нет никаких гарантий, что там похожего нет.:-|

Для начала они должны появится в магазине по сопоставимой цене. Без этого не важно

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

Мне интересно - как? И как будут объяснять 30% потери (если PCID не перенесут заодно)?

Red Hat-то при чём? Если у армии и прочего гавернмента, который сидит на древнем RHEL'е есть вопросы, пусть задают их виновнику.

Ну и, это... Пусть лучше номера социального страхования ищутся на 30% медленней, чем допустить их очередную массовую утечку.

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

Мне интересно - как? И как будут объяснять 30% потери (если PCID не перенесут заодно)?

Red Hat-то при чём?

Ну как же... почему вы, Red Hat, не перенесли работу с PCID на наше любимое окаменевшее ядро? ЗА ЧТО МЫ ВАМ ДЕНЬГИ ПЛАТИМ?!!!11

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

-=8-((
Very blue sarcasm mode ON::


Братишка(С)

Ты там передавай привет гугловцам, от благодарных клиентов зоопрака под вывеской Андроид.


Если чё, мы им покушать теперь принесём, из своих протухших девайсов нажористое пожирадло навалим 8-(

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

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

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

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

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

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

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

О полной безопасности, к сожалению, даже мечтать не стоит, но по крайней мере от совсем «левых» атак хотелось бы защититься.

Вся реклама, сейчас, на яваскрипт и практически любой желающий может поместить свою рекламу а значит и код на (почти) любой сайт.

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

Всё верно переведено.

Сам же привёл ссылку «разрушение из-за расплавления». Зачем добавлять то, чего нет?

«дырка» не обязательно «дырка в жопе», а «снаряд» не обязан быть ни «межконтинентальным баллистическим», ни «спортивным».

frob ★★★★★
()

Выше я уже писал, где следить за обновлениями для SUSE. Теперь напишу как следить за Debian.

Вот тут ищете свою ветку: 3.16 для 8.0 Jessie, 4.9 для 9.0 Buster. Заходите в директорию Debian и смотрите ChangeLog. В настоящий момент фикса нет. Когда появится, то по ссылке обновится номер версии ядра, и нужно будет снова проверить ChangeLog.

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

Сам же привёл ссылку «разрушение из-за расплавления». Зачем добавлять то, чего нет?

Потому что meltdown - это жаргонизм, специфичный в основном именно для АЭС. Поэтому его и выбрали исключительно удачно для названия атаки, когда ядро (данные ядра) как бы проплавляются из корпуса (нулевого кольца) в приложения.

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

распихивание процессов по разным VM с полной (а не паравиртуализацией) тоже должно помочь

У меня пока не вышло запустить spectre в HyperV, но в VmWare работает замечательно.

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

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

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

Спасибо. Обе проблемы исправляет? Или только одну?

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

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

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

Вот только фанаты веба и до этого нежданьчика кукарекали что для безопасности пользователя его данные нужно держать подальше от его железа

MrClon ★★★★★
()

Кстати, в венде уже апдейт прикатил? Если Windows 10, то стоит дергать мам или бабушек чтобы они там что-то кликали, или оно их принудительно перезагрузит?

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

Микроархитектура с того времени стала сложнее

В этом плане да

а также понимания причин их существования

тут можно поспорить. Есть мнение что к тому о чём пойдёт речь дальше относится переполнение буфера, на я не настолько хорошо понимаю машинный код. Есть огромное количество уязвимостей как под копирку, основанных на возможности инъекции. Этому подвержены sql, веб страницы, и куча мала скриптов на чём-то типа баше или руби, и даже подобное может быть в софте на расте/крестах. Причина проста - отсутствие экранирования. Недавно о подобной уязвимости в гите писали

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

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