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

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

Это совершенно не верный вывод. Все инструкции выполняются в правильных режимах.

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

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

ты про чтение говоришь, а я про интелоспецифичный баг. их два вообще-то.

Second, Meltdown exploits a privilege escalation vulnerability specific to Intel processors, due to which speculatively executed instructions can bypass memory protection

ckotinko ☆☆☆
()

Noscript поставили и ядро откомпеляли. Теперь можно надевать шапку из фольги для пущей уверености.

А если по теме: Выключен PTI

dd if=/dev/zero of=testfile bs=512 count=5000000
5000000+0 records in
5000000+0 records out
2560000000 bytes (2.6 GB, 2.4 GiB) copied, 2.34906 s, 1.1 GB/s
Включен PTI
dd if=/dev/zero of=testfile bs=512 count=5000000
5000000+0 records in
5000000+0 records out
2560000000 bytes (2.6 GB, 2.4 GiB) copied, 4.91892 s, 520 MB/s

В /tmp который tmpfs

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

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

ты про чтение говоришь, а я про интелоспецифичный баг. их два вообще-то.

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

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

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

Хотя может там и получше есть :)

alexru ★★★★
()

Разработчики АНБшники из Google Project Zero...

Пофиксил.

Deleted
()

АНБ молодцы. Так долго бэкдор скрывали. Интересно, какие данные они от всех нас получили, проприетарные гугловские скрипты на всех сайтах есть, включая якобы за открытое ПО и линукс как ЛОР.

anonymous
()

Я не понял, kpti исправляет проблему ?

И второй вопрос - kpti автоматически включается для проблемных процов или для всех сразу, в том числе и amd ?

Не хочется терять 30 процентов скорости, если есть amd

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

P.S. Ядро у меня Linux localhost 4.14.11-1-hardened #1 SMP PREEMPT Wed Jan 3 18:26:28 CET 2018 x86_64 GNU/Linux

dnb ★★★★
()

Чето не верится что такие грандионзые дыры нашли только сейчас. За 10 лет их могли уже найти и использовать

Похоже это пример грамотной работы АНБ или кто там заказывает дыры в чипах

ism ★★★
()

Что-то зачастили они с этими дырами в штеуд.

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

shkolnick-kun ★★★★★
()
Ответ на: комментарий от ism

За 10 лет их могли уже найти и использовать

Есть подозрение, что дыре не 10, а 22 года, просто пока на старых процессорах не проверяли.

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

Китайские бэкдорщики один хрен ушлее всех наших НКВД вместе взятых.

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

Дело не в условиях, и не деньгах, вопрос ментальности. 99,9% китайцев счастливы поработать на правительство, а 2/3 наших держат нос по ветру фигу в кармане. А тех из них, кто, быть может, и готов отдать родине немножечко интеллекта, почти обязательно будут пытаться держать за идиота на коротком поводке, обкладывая по периметру батальоном офисных потаскушек дружбанов-в-законе, которые с чувством выполненного долга будут выкусывать нервы по миллиметру.

Какая уж тут работа на правительство?

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

если они так в своих процах уверены

у вас батхёрт выглядывает.

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

Странно, что Сноуден молчит по этому поводу до сих пор

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

VKraft ★★
()

Этой атаке подвержены процессоры Intel (по неподтвержденным данным все модели с 1995 года, кроме Itanium и Atom)

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

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

Точно, все твои котики теперь подшиты к твоему делу в АНБ.

anonymous
()

Раньше амуде всегда были чуть хуже хуинтела. Теперь же, все, что было нажито непосильным трудом просрано в даунгрейд от 5% до 30% процентов. Ждем обновление жидкомягких и жалобный ной ГЕЙмеров, которые забыли отключить обновления в дырке 10.

anonymous
()

Тут вчера на заборе начитался, ЦЕО удачно акции продал, но нивинуватый ваще, это программа трейдинга продала по заранее спланированному _олгоритму. Запланировал он продажу давно, еще весной.

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

Стремление налюбить кого-нибудь появилось ещё раньше.

StReLoK ☆☆
()

Ждём пресс-релиза, где герои из корпорации объявляют х86 устаревшим, возглавляют революцию перехода назад, в прошлое, на Итаник, господа, на Итаник!

Ответные иски Друшлагеля к НР, SGI и правительству, за давление на бизнес и принуждение корпорации к выпуску старой архитектуры второй половины 70х годов.

Ой, недайбо я описал будущее..

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

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

Benefactor
()

Короче все валим на MIPS.

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

судя по точной работе - там Предсказатель с Искривым процессором подсуетился 8-)

Deleted
()

Проверил еще на древнем AMD Athlon XP2500+ с Linux ubuntu-desktop 4.13.0-16-generic #19-Ubuntu SMP Wed Oct 11 18:33:49 UTC 2017 i686 athlon i686 GNU/Linux.

Там не работает

$ ./spectre 
Reading 40 bytes:
Illegal instruction (core dumped)

dnb ★★★★
()

Это не баги, это закладки. За всем стоит ЗОГ.

provaton ★★★★★
()

C whitepaper Spectre

The practicality of microcode fixes for existing proces- sors is also unknown. It is possible that a patch could dis- able speculative execution or prevent speculative mem- ory reads, but this would bring a significant performance penalty. Buffering speculatively-initiated memory trans- actions separately from the cache until speculative exe- cution is committed is not a sufficient countermeasure, since the timing of speculative execution can also reveal information. For example, if speculative execution uses a sensitive value to form the address for a memory read, the cache status of that read will affect the timing of the next speculative operation. If the timing of that opera- tion can be inferred, e.g., because it affects a resource such as a bus or ALU used by other threads, the mem- ory is compromised. More broadly, potential counter- measures limited to the memory cache are likely to be insufficient, since there are other ways that speculative execution can leak information. For example, timing ef- fects from memory bus contention, DRAM row address selection status, availability of virtual registers, ALU ac- tivity, and the state of the branch predictor itself need to be considered. Of course, speculative execution will also affect conventional side channels, such as power and EM. As a result, any software or microcode countermea- sure attempts should be viewed as stop-gap measures pending further research.

С whitepaper Meltdown

Meltdown also heavily affects cloud providers, espe- cially if the guests are not fully virtualized. For per- formance reasons, many hosting or cloud providers do not have an abstraction layer for virtual memory. In such environments, which typically use containers, such as Docker or OpenVZ, the kernel is shared among all guests. Thus, the isolation between guests can simply be circumvented with Meltdown, fully exposing the data of all other guests on the same host. For these providers, changing their infrastructure to full virtualization or us- ing software workarounds such as KAISER would both increase the costs significantly.

Я подозреваю, что Meltdown это бэкдор и кто-то про это все знал намного раньше.

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

Интересно, а Apollo Lake подвержены уязвимости?

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

А нормально.
Очередная гонка технологий. Теперь перепуганные недруги будут вынуждены еще больше тратить на исследования, но это еще более неэффективно.

Deleted
()

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

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

Ну для продавшего теперь точно проблемы отвертеться от нужных органов.

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

ещё патч от анонимусов с лора:

-	/* Assume for now that ALL x86 CPUs are insecure */
-	setup_force_cpu_bug(X86_BUG_CPU_INSECURE);
+	if (c->x86_vendor != X86_VENDOR_AMD
+       && !(c->x86_vendor == X86_VENDOR_INTEL && c->x86_model == 0x1c)) {
+		setup_force_cpu_bug(X86_BUG_CPU_INSECURE);
+       } /* Stav' skobki, Vasyan! */

теперь атомы не тормозят, можете не благодарить.

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