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

Ждем обновление жидкомягких и жалобный ной ГЕЙмеров, которые забыли отключить обновления в дырке 10.

Не жди. Игрунов это вряд ли коснётся.

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

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

anonymous
()

Что-то слишком много дыр в железе на единицу времени

Intel и ARM64, но и AMD

Тоесть 99% рынка

Это какой-то заговор

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

Чего ты хотел от мира монополистов и кумовского капитализма. Я уверяю, brand-loyalty они особо не потеряют. А если потеряют, легко вернут, зомбированием и агрессивной рекламой, как эпл, например.

anonymous
()

Интересно, побьёт ли убытки от FDIV бага.

Этой атаке подвержены процессоры Intel, AMD и ARM64.

Это целый новый вектор атак?

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

Spectre-то ладно, закроют без особых проблем, баги с упреждающим выполнением кода - штука довольно ожидаемая. :)

Но вот с meltdown в интелах в ближайшее время придется жить...

anonymous
()

Я так понял, серьёзной проблемы для большинства пользователей нет. Если ты локально запустил бинарник с чем попало, скорей всего у тебя уже всё плохо и ещё один способ вычитать рута сильно хуже не сделает (а где то может быть даже полезно, например рутовать всякие проприетарные девайсы вроде айфонов). Атаковать через джаваскрипт достаточно нетривиально и браузеры эти векторы постараются закрыть. Серьёзные проблемы только у продавцов виртуальных серверов, у них и на компьютерах выполняется что попало и расходы повысятся с новым патчем.

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

И как теперь с этим быть?

Делай в грабе два пункта: один fast, другой secure. Если нужно скопировать что-то тяжёлое, загружайся в fast.

Или забей на патч.

ox55ff ★★★★★
()

Выясняется, что не так уж и погорячился Крис, когда заявлял в 2008-ом, что аппаратные баги уже настолько серьёзны, что можно на JS эксплот писать.

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

Вот как после такой паранойи утверждать что Эльбрусы ненужны...

А ты уверен, что там нет тех же уязвимостей?

Deleted
()

демонстрирующий атаку с этой уязвимостью через JavaScript

Интересно, что тогда нашёл мыщъх.
https://lenta.ru/news/2008/07/15/kris/
Анонимность и уязвимости в процессорах Intel

Российский хакер, известный как Крис Касперски, обнаружил уязвимость в процессорах Intel, которая позволяет совершить удаленный взлом системы при помощи скрипта на JavaScript или TCP/IP-пакета вне зависимости от операционной системы.

15 июля 2008

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

Ну ка праздник?

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

Серверные ЦПУ - сразу улетают по частоте на -1ГГц из 2.5-3х усредненных (это если принимать пенальти в 30%)

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

Серверные ЦПУ - сразу улетают по частоте на -1ГГц из 2.5-3х усредненных (это если принимать пенальти в 30%)

Это не так, конечно.

Но интересно, как будут бэкпортить kpti на какой-нибудь RHEL 6.

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

Выясняется, что не так уж и погорячился Крис, когда заявлял в 2008-ом, что аппаратные баги уже настолько серьёзны, что можно на JS эксплот писать.

А потом он баг не раскрыл, но внезапно разбогател. И так же внезапно разбился на парашюте. Всё сходится!

Harald ★★★★★
()

А что с Android?

Вопрос: что делать с Android? У значительного числа планшетов/телефонов прошивка не обновляется. Один простой ява-скриптик может создать армию зомби-телефонов, которые будут кому-нибудь звонить или отправлять СМС? Да с миллионом телефонов можно даже криптомонеты майнить.

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

Бага только в ARM64.

Нет, если верить ссылке - во всех со спекулятивным (Out-of-order) выполнением.

То есть в Cortex-A9, Cortex-A15 есть (ARMv7), а в Cortex-A53 нет (хоть и 64-битный ARMv8).

https://developer.arm.com/support/security-update

И, следовательно, все смартфоны на немодифицированным ARM ядрах (MediaTek, HiSilicon, да вообще все китайцы) точно уязвимы. Всякие Samsung, Qualcomm делают свое ядро, но я так понимаю они берут за основу все-равно готовый VHDL от ARM и вряд ли знали про эту уязвимость или могли ее случайно исправить.

PS. Интересно уязвимы ли QorIQ с Power ядром?

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

Это не совсем анекдот. Именно так всё и происходит на самом деле.

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

Есть подозрение, что на старых процессорах такой эксплойт не возможен в принципе.

lenin386 ★★★★
()

Что внушает некоторый оптимизм, так это то, что аналог KPTI на Mac заметных тормозов не вызывает:

Haven’t noticed myself, or seen any reports of performance drops in 10.13.2 - does that mean that macOS works around the problem without penalty?

Так что на относительно новых Linux (с поддержкой PCID) тоже всё будет норм.

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

в федору капнуло ядро, по результам гикбенча особой разницы нет, единственное это Memory Bandwidth в однопотоке просело на 10%

Intel Core i5-3230M

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

Самое главное: «замедляющий на 5%-30% патч» необходим только для процессоров Intel !

https://www.phoronix.com/scan.php?page=news_item&px=Linux-Tip-Git-Disable...

К счастью в ядро приняли в таком виде:

setup_force_cpu_cap(X86_FEATURE_ALWAYS);

- /* Assume for now that ALL x86 CPUs are insecure */
- setup_force_cpu_bug(X86_BUG_CPU_INSECURE);

+ if (c->x86_vendor != X86_VENDOR_AMD)
+ setup_force_cpu_bug(X86_BUG_CPU_INSECURE);

Теперь у всех процессоров Intel в /proc/cpuinfo можно наблюдать cpu_insecure
(хотя если по правде - любой проц с Intel ME / PSP / Trustzone уже и так insecure)

SakuraKun ★★★★★
()
Последнее исправление: SakuraKun (всего исправлений: 3)
Ответ на: комментарий от Novell-ch

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

рано пузыри пускаешь: 1. сегодня уже пропатчили патч 2. пенальти на преключениях контекста sys <-> user 3. пока не увидишь патча для олдСтаблДемьяна - ничего не закончилось https://security-tracker.debian.org/tracker/CVE-2017-5754

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

Вронг. Оно по факту коснулось всех. Вопрос заключается в том насколько сильно.

Уже запихали в вындовс инсайдерские сборки. И результаты на уровне погрешности играх.

Так что не набрасывай.

PS: а так ещё и скажи, что в направлении Китая дунешь, и там ветер усилится :D

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

У Apple уже залатано было

Но это не точно)

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

действительно, проиграл с этого в голос, они бы еще во флаги это засунули

cat /proc/cpuinfo |grep ins
bugs            : cpu_insecure
bugs            : cpu_insecure
bugs            : cpu_insecure
bugs            : cpu_insecure
Novell-ch ★★★★★
()

но и AMD тоже (есть сообщения, что только при включении BPF JIT в ядре, что по умолчанию выключено).

в убунтушке включено...

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

Уже запихали в вындовс инсайдерские сборки.
И результаты на уровне погрешности играх.

DX-игры тестили? пруф есть?

sloan ★★
()

> детали уязвимостей, которые затрагивают не только процессоры Intel и ARM64, но и AMD тоже (есть сообщения, что только при включении BPF JIT в ядре, что по умолчанию выключено)

А в ядре Windows?

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

А там эта фича реализована с выключателем в АНБ

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

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

Откуда возьмётся быстрый syscall, если у нас есть только «ряд долгих инструкций» и наша «инструкция, которую хотим выполнить в режиме ядра»?

инструкция syscall изменит состояние проца, подняв CPL

Ага. И сбросит все конвейеры.

а ваша инструкция еще ожидает операндов

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

спалил линус всю контору одним предложением.

Это ты спалил свою некомпетентность одним постом.

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

Нет конечно, но во время гипотетического столкновения я таки буду на этой стороне, а не на той. И компы со штеудами полетят у нас, а не у них.

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

во время гипотетического столкновения я таки буду на этой стороне, а не на той. И компы со штеудами полетят у нас, а не у них.

Если у вас на компьютерах уже запущен недоверенный код, вы уже проиграли.

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

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

В более типичных случаях всё равно чаще будет проседать I/O либо на НЖМД/ТТН, либо на сетевухе. Проигрыш будет, но не такой драматичный.

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

В более типичных случаях всё равно чаще будет проседать I/O либо на НЖМД/ТТН... Проигрыш будет, но не такой драматичный.

Да, меньше 10%.

vvn_black ★★★★★
()

А всё началось куда заранее.

МС объявляет о прекращении поддержки Шин7 на процессорах 2017(?)++ года. Багулечку то под NDA давно раскрыли 8-) Все ждали что может пронесёт, но нет, нашелся свистун где-то в цепочке

Deleted
()

Энергопотребление

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

Или не совсем так?

BattleCoder ★★★★★
()
Ответ на: Энергопотребление от BattleCoder

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

Естественно. На тот же процент, что и производительность.

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