[ON] Раскрыты две новые уязвимости механизма спекулятивного выполнения в CPU

Обсуждение новостей, соответствующих тематике форума

Модератор: Модераторы разделов

Ответить
Аватара пользователя
rssbot
Бот
Сообщения: 6002
ОС: gnu/linux

[ON] Раскрыты две новые уязвимости механизма спекулятивного выполнения в CPU

Сообщение rssbot »

Компании Intel, ARM и AMD раскрыли информацию о двух новых уязвимостях в механизме спекулятивного выполнения инструкций. Для полного устранения проблем требуется установка обновления микрокода и внесение изменений на стороне операционной системы. Бета-версия обновления микрокода Intel пока предоставлена только OEM-производителям. Для ядра Linux уже предложены необходимые патчи (защита действует только при обновлённом микрокоде). Обновления пакетов с ядром сформированы для RHEL и Ubuntu, и ожидаются для Debian и SUSE. По предварительной оценке исправление проблем приведёт к снижению производительности на 2-8%.

Нераскрытыми остаются детали о ещё 6 уязвимостях (четыре с высоким уровнем опасности, а две со средним), публикация детальной информации по которым ожидается в августе, после истечения эмбарго. Раскрытым уязвимостям присвоен средний уровень опасности. Первая из раскрытых проблем (Spectre 3a, буква добавлена чтобы избежать путаницы, так как вариант 3 может трактоваться как уязвимость Meltdown) позволяет прочитать содержимое системных регистров, а вторая (Spectre 4) даёт возможность прочитать данные из закрытых областей памяти. Проблемы не специфичны для архитектуры x86 и кроме процессоров Intel и AMD, также проявляются в CPU ARM и IBM (POWER 8, POWER 9, System z).

Определённую опасность представляет Spectre 4 (CVE-2018-3639, SSB - Speculative Store Bypass) - метод атаки напоминает Spectre 1, но базируется на восстановлении осевших в процессорном кэше данных после отбрасывания результата спекулятивного выполнения операций при обработке чередующихся операций записи и чтения с использованием косвенной адресации. Когда операция чтения следует за операцией записи (например, mov [rbx + rcx], 0x0; mov rax, [rdx + rsi]), смещение адреса для чтения уже может быть известно из-за выполнения похожих операций (операции чтения выполняются значительно чаще и чтение может быть выполнено из кэша) и процессор может спекулятивно выполнить чтение раньше записи, не дожидаясь пока будет вычислено смещение косвенной адресации для записи. Если после вычисления смещения выявлено пересечение областей памяти для записи и чтения, процессор просто отбросит уже спекулятивно полученный результат чтения и повторит эту операцию.

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

Практически атака Spectre 4 осуществима только в рамках привилегий одного уровня, т.е. привилегии атакующего должны допускать доступ к исследуемой памяти. Наиболее опасным применением уязвимости является атака на браузеры и системы совместного изолированного выполнения кода (например, JVM, изоляция кода в sandbox, системы с JIT). В контексте браузера атака позволяет получить доступ к памяти с данными других вкладок при помощи выполнения JavaScript-кода, но возможность проведения атак по восстановлению содержимого кэша уже достаточно эффективно блокируется в актуальных выпусках web-браузеров, благодаря ограничению точности таймера.

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

Проблема независимо выявлена исследователями Google Project Zero и Microsoft Security Response Center (MSRC). Для защиты на уровне операционной системы для процессоров Intel предложена техника SSBD (Speculative Store Bypass Disable), основывающаяся на применении нового MSR-бита, который будет доступен после обновления микрокода. Так как блокирование проблемы сопряжено с потерей производительности, а тотальная защита от Spectre 4 не всегда целесообразна, в исправлении для ядра Linux предусмотрена опция speculative_store_bypass_disable, позволяющая отключить защиту. В случае активации защиты для приложений предложен новый интерфейс prctl, при помощи которого программы могут определять наличие защиты и выборочно отключать её для отдельных процессов.

Что касается Spectre 3a (CVE-2018-3640, RSRE - Rogue System Register Read), то уязвимость может привести к чтению содержимого системных регистров с информацией о состоянии оборудования, доступ к которым имеется только у ядра, драйверов и гипервизоров. Проблема выявлена исследователями из компании SYSGO AG.

Дополнительно можно отметить публикацию исследователей из компании Eclypsium, которые показали, что уязвимость Spectre v1 может применяться для атаки на режим системного управления процессора SMM (System Management Mode), более приоритетного, чем режим гипервизора и нулевое кольцо защиты. В ходе эксперимента была продемонстрирована возможность восстановления данных из SMRAM (System Management RAM), области физической памяти в которой сохраняются данные SMM.


Источник: https://www.opennet.ru/opennews/art.shtml?num=48639
(opennet.ru, основная лента)
Последний раз редактировалось rssbot 22.05.2018 19:28, всего редактировалось 3 раза.
Причина: Updated upstream
Спасибо сказали:
Аватара пользователя
devilr
Сообщения: 3669
ОС: Mandriva => Gentoo (~amd64)
Контактная информация:

Re: [ON] Раскрыты две новые уязвимости механизма спекулятивного выполнения в CPU

Сообщение devilr »

Интересно, какая все таки реальная производительность современных процессоров, если убрать всякие спекулятивные "улучшения" производителей? Понятно, что все вокруг стремятся обмануть ради прибыли, но если помечтать...
Мудрость приходит с возрастом.
Иногда возраст приходит один.
Эхо разума
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5289
ОС: Gentoo

Re: [ON] Раскрыты две новые уязвимости механизма спекулятивного выполнения в CPU

Сообщение /dev/random »

devilr
Что значит реальная? Спекулятивное выполнение не притворяется, что производительность выше, оно повышает производительность.
Спасибо сказали:
Аватара пользователя
devilr
Сообщения: 3669
ОС: Mandriva => Gentoo (~amd64)
Контактная информация:

Re: [ON] Раскрыты две новые уязвимости механизма спекулятивного выполнения в CPU

Сообщение devilr »

Само по себе понятие "спекулятивное" предполагает, что происходит некий обман, пускай и в благих целях. Хотя это и просто неблагозвучный термин.
P.S. Производительность то оно повышает, но, судя по произошедшим событием, весьма дорогой ценой...
Мудрость приходит с возрастом.
Иногда возраст приходит один.
Эхо разума
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20793
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: [ON] Раскрыты две новые уязвимости механизма спекулятивного выполнения в CPU

Сообщение Bizdelnick »

devilr писал(а):
22.05.2018 17:41
Само по себе понятие "спекулятивное" предполагает, что происходит некий обман
Оно предполагает, что происходит тыкание пальцем в небо, но не обман.
dic://спекулятивный
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu
Контактная информация:

Re: [ON] Раскрыты две новые уязвимости механизма спекулятивного выполнения в CPU

Сообщение serzh-z »

devilr
Какая, для потребителя, разница - за счёт чего происходит этот "обман" - за счёт гонки мегагерц или за счёт спекулятивного исполнения?

Можно утверждать, что повышение тактовой частоты процессора при большей затрате тактов на команду, чем у некого сферического процессора в вакууме, - это такой же обман потребителя, который больше платит за электроэнергию и дышит менее качественным воздухом. И все из-за капиталистов, стремящихся к извлечению прибыли. =)
Спасибо сказали:
Аватара пользователя
devilr
Сообщения: 3669
ОС: Mandriva => Gentoo (~amd64)
Контактная информация:

Re: [ON] Раскрыты две новые уязвимости механизма спекулятивного выполнения в CPU

Сообщение devilr »

Что вы прицепились к словам? Для меня обман, это то, за что есть статья (или была). Спекуляция - это статья 154 УК РСФСР от 27-10-60. Но это тонкости и моё брюзжание.
Я имел в виду, что если взять гипотетический процессор, в котором все инструкции выполнялись бы честно, с надлежащим контролем прав доступа и сравнить с современным процессором - на сколько он был бы медленнее? Просто все эти патчи - это по сути костыли к, видимо, ущербной архитектуре.
Мудрость приходит с возрастом.
Иногда возраст приходит один.
Эхо разума
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20793
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: [ON] Раскрыты две новые уязвимости механизма спекулятивного выполнения в CPU

Сообщение Bizdelnick »

devilr писал(а):
22.05.2018 19:34
Спекуляция - это статья 154 УК РСФСР от 27-10-60.
На случай, если Вы не шутите: это второе, совершенно отдельное значение слова.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu
Контактная информация:

Re: [ON] Раскрыты две новые уязвимости механизма спекулятивного выполнения в CPU

Сообщение serzh-z »

devilr
Видимо, имеет место подмена понятий. Мало ли в каком смысле использовалось слово в законодательстве СССР.

Так можно дойти и до того, что VPN - это оружие психически-неуравновешенного человека и террориста, просто потому, что так Киселев сказал. )
Спасибо сказали:
Аватара пользователя
devilr
Сообщения: 3669
ОС: Mandriva => Gentoo (~amd64)
Контактная информация:

Re: [ON] Раскрыты две новые уязвимости механизма спекулятивного выполнения в CPU

Сообщение devilr »

Вот за это я и обожаю русскоязычные форумы: можно просто зацепиться за какое-нибудь слово и обсуждать его. А ещё лучше: обсуждать того, кто это слово произнёс. :)
Я то говорил за совсем другое. Хотя, если никто не хочет (или не может) обсудить саму проблему - так тому и быть.
Мудрость приходит с возрастом.
Иногда возраст приходит один.
Эхо разума
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu
Контактная информация:

Re: [ON] Раскрыты две новые уязвимости механизма спекулятивного выполнения в CPU

Сообщение serzh-z »

devilr
Какое слово?

Давайте заменим это гадкое слово, смысл не изменится:

Какая, для потребителя, разница - за счёт чего происходит этот "обман" - за счёт гонки мегагерц или за счёт спекулятивного упреждающего исполнения?
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu
Контактная информация:

Re: [ON] Раскрыты две новые уязвимости механизма спекулятивного выполнения в CPU

Сообщение serzh-z »

devilr писал(а):
22.05.2018 20:06
А ещё лучше: обсуждать того, кто это слово произнёс.
Да, это большая проблема и согласен, особенно свойственная, рунету, но к этой теме не имеет никакого отношения. Тут, кажется, уже почти все поняли, что вы неправильно понимаете фичу, в чьем название имеется то самое противное слово. )
Последний раз редактировалось serzh-z 22.05.2018 20:16, всего редактировалось 1 раз.
Спасибо сказали:
Аватара пользователя
devilr
Сообщения: 3669
ОС: Mandriva => Gentoo (~amd64)
Контактная информация:

Re: [ON] Раскрыты две новые уязвимости механизма спекулятивного выполнения в CPU

Сообщение devilr »

Я не за обман говорил. Основная фраза была
Интересно, какая все таки реальная производительность современных процессоров, если убрать всякие спекулятивные "улучшения" производителей?
А затем
Я имел в виду, что если взять гипотетический процессор, в котором все инструкции выполнялись бы честно, с надлежащим контролем прав доступа и сравнить с современным процессором - на сколько он был бы медленнее?
Мудрость приходит с возрастом.
Иногда возраст приходит один.
Эхо разума
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu
Контактная информация:

Re: [ON] Раскрыты две новые уязвимости механизма спекулятивного выполнения в CPU

Сообщение serzh-z »

devilr
Что такое "честно" по отношению к выполнению инструкций процессора? Оптимизировать поток выполнения - это нечестно?

А использовать результат из кеша - честно? А использовать такие транзисторы, благодаря которым на исполнение команды процессор будет тратит один такт, а не два - это вообще, наверное, чит?
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20793
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: [ON] Раскрыты две новые уязвимости механизма спекулятивного выполнения в CPU

Сообщение Bizdelnick »

serzh-z писал:
22.05.2018 20:16
это большая проблема и согласен, особенно свойственная, рунету
Самая большая проблема рунета — любители обсуждать проблемы рунета.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
devilr
Сообщения: 3669
ОС: Mandriva => Gentoo (~amd64)
Контактная информация:

Re: [ON] Раскрыты две новые уязвимости механизма спекулятивного выполнения в CPU

Сообщение devilr »

Честно - это вначале проверять права доступа к определённому адресу, затем получать данные по этому адресу, а только затем помещать эти данные в кеш. А не предполагать, что тот, кто запрашивает данные по определённому адресу, точно имеет права на чтение этих данных. Собственно, в этом и проблема.
Мудрость приходит с возрастом.
Иногда возраст приходит один.
Эхо разума
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu
Контактная информация:

Re: [ON] Раскрыты две новые уязвимости механизма спекулятивного выполнения в CPU

Сообщение serzh-z »

Bizdelnick
Не принимай это на свой счет. =)
Спасибо сказали:
azsx
Сообщения: 3684
ОС: calculate linux, debian, ubuntu

Re: [ON] Раскрыты две новые уязвимости механизма спекулятивного выполнения в CPU

Сообщение azsx »

Понятно, что все вокруг стремятся обмануть ради прибыли, но если помечтать...
Мне, как потребителю, вся проблема выглядит как обман. Выяснили, что если программист не просто знает ассемблер, а может на уровне машинных инструкций понимать как именно выполняются программы и этот программист может запустить на моём ПК свою программу с большими привилегиями, то (о боже) он в некоторых случаях может прочитать мой пароль из кеша процессора.
Простите, знаю пример только для винды. Чтобы спасти меня от программы типа ArtMoney они устроили истерику в СМИ и снижают мне патчами производительность моего процессора. Вот это я понимаю обман!
Спасибо сказали:
Ответить