URL: https://ssl.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 113350
[ Назад ]

Исходное сообщение
"Red Hat отменил обновление микрокода для устранения уязвимос..."

Отправлено opennews , 20-Янв-18 11:29 
Компания Red Hat отозвала (https://access.redhat.com/solutions/3315431)  обновление (https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2017-5715) пакетов  с микрокодом (microcode_ctl  и linux-firmware), выпущенное 16 января для устранения второго варианта уязвимости Spectre (CVE-2017-5715 (https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2017-5715)). В качестве причины отмены обновления называются проблемы со стабильностью, которые были выявлены в результате дополнительного тестирования и жалоб клиентов. На некоторых системах обновление микрокода приводило к невозможности загрузки.  


Для блокирования CVE-2017-5715 пользователям рекомендуется использовать обновление прошивок, предоставленных для конкретных систем производителями CPU и оборудования. Напомним, что уязвимость Meltdown (CVE-2017-5754) и второй вариант уязвимости Spectre (CVE-2017-5715) могут быть целиком закрыты на уровне операционной системы (патчи KPTI и retpoline). Второй вариант Spectre также устраним на уровне обновления микрокода. Для полного устранения первого варианта Spectre (CVE-2017-5753) необходима пересборка приложений и ядра модифицированным компилятором с поддержкой подстановки опкода LFENCE.  Компания Intel проинформирована о возникновении проблем с новым микрокодом и  пытается (https://www.opennet.ru/opennews/art.shtml?num=47903) разобраться в их причинах.

URL: https://ma.ttias.be/red-hat-reverts-microcode-update-mitigat.../
Новость: https://www.opennet.ru/opennews/art.shtml?num=47939


Содержание

Сообщения в этом обсуждении
"Red Hat отменил обновление микрокода для устранения уязвимос..."
Отправлено Аноним , 20-Янв-18 11:29 
Так может быть полностью закрыт Spectre или нет?

"Red Hat отменил обновление микрокода для устранения уязвимос..."
Отправлено werwolf , 20-Янв-18 11:32 
может, обновлением микрокода, которое intel написали левой пяткой и оно чуть ли не хуже чем сама уязвимость.. ждём нового обновления

"Red Hat отменил обновление микрокода для устранения уязвимос..."
Отправлено Аноним , 20-Янв-18 11:32 
Надо узнать у Михаила Шигорина, я думаю они уже закрыли уязвимость в Альте.

"Red Hat отменил обновление микрокода для устранения уязвимос..."
Отправлено Michael Shigorin , 20-Янв-18 11:33 
Нет.

"Red Hat отменил обновление микрокода для устранения уязвимос..."
Отправлено Аноним , 20-Янв-18 12:30 
ШИГОРИНА ОТВЕТ

"Red Hat отменил обновление микрокода для устранения уязвимос..."
Отправлено Sluggard , 20-Янв-18 11:47 
Давно в Альте пишут микрокод для процессоров от Intel?

"Red Hat отменил обновление микрокода для устранения уязвимос..."
Отправлено bircoph , 20-Янв-18 16:34 
Spectre — это целый класс уязвимостей, и сами авторы двух опубликованных CVE указывают, что это лишь два наиболее очевидных вектора атаки, а менее очевидных может быть ещё очень много:
https://spectreattack.com/spectre.pdf

Текущие исправления софта и микрокода лишь немного затыкают опубликованные CVE, не решая всей проблемы. Мало того, исправление софта — это не замена одного лишь ядра или glibc, необходимо пересобирать абсолютно весь софт пропатченным или обновлённым (в зависимости от ветки) gcc. И вся суть этих изменений в обмане предсказателя ветвей процессора за счёт использования return + trampoline вместо обычных косвенных переходов. И даже это не всем поможет, т.к. последнее поколение процессоров Intel сшиком умное и его уже не обмануть столь простыми средствами.

Короче говоря, это костыль на грязном хаке, который лишь усложняет опубликованные способы атак. Реальным исправлением будет выпуск новых процессоров, где аппаратно данная проблема устранена. Но на разработку нового чипа нужно 2-3 года, поэтому раньше, чем через 1.5 года решения проблемы не будет.


"Red Hat отменил обновление микрокода для устранения уязвимос..."
Отправлено Аноним , 20-Янв-18 17:28 
>  последнее поколение процессоров Intel сшиком умное и его уже не обмануть столь простыми средствами

ну обновление микрокода делает процессор более тупым..

в частности говоря про "load fence"


"Red Hat отменил обновление микрокода для устранения уязвимос..."
Отправлено bircoph , 21-Янв-18 03:12 
> ну обновление микрокода делает процессор более тупым..
> в частности говоря про "load fence"

Безусловно. Но load fence лишь усложняет подобные атаки, но не делает их невозможными.


"Red Hat отменил обновление микрокода для устранения уязвимос..."
Отправлено Аноним , 21-Янв-18 01:20 
Т.е. процессоры выпускались со спекулятивным выполнением, чтобы конвейеры не простаивали и считали несколько веток, а сейчас софт переписывают под особенности процессоров, чтобы последние "промаргивали" возможное выполнение веток, отличных от текущей? Ну отличненько, чё. Делайте аппаратный флаг, разрешающий/запрещающий это самое спекулятивное выполнение.

"Red Hat отменил обновление микрокода для устранения уязвимос..."
Отправлено bircoph , 21-Янв-18 03:19 
> Т.е. процессоры выпускались со спекулятивным выполнением, чтобы конвейеры не простаивали
> и считали несколько веток,

Не совсем, обе ветки сразу считать — это предикатное выполнение. На интелах (кроме Itanium) предикатного выполнения нет. Спекулятивное — это когда на основе ранее собраных процессором данных делается предсказание более вероятной ветки и она считается, и всё, что за ней следует. Это и позволяет заполнить конвеер.

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

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

> Ну отличненько,
> чё. Делайте аппаратный флаг, разрешающий/запрещающий это самое спекулятивное выполнение.

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


"Red Hat отменил обновление микрокода для устранения уязвимос..."
Отправлено Аноним , 21-Янв-18 06:01 
> Текущие исправления софта и микрокода лишь немного затыкают опубликованные CVE, не решая всей проблемы.

Спорные заявления.

И Meltdown и Spectre трудно заткнуть без полноценного механизма проверки прав при спекулятивном выполнении. Трудно, но возможно — достаточно или отключить спекулятивное выполнение, или регулярно очищать внутренние структуры CPU, через которые происходят утечки. Просто если выполнять такую очистку программно, она приведёт к массивному падению производительности (что и наблюдаем в случае процессоров Intel).

Если верить заявлениям AMD, у них используется какая-то аппаратная поддержка таких проверок прав. Но она занимается не очисткой кешей, а изоляцией разных уровней защиты: Ring-0/Ring-1 и т.д. Т.е. ядро и программы изолированы друг от друга, а Javascript и браузер, который его выполняет, — нет. Логично, — кто в здравом уме будет выполнять в своём процессе недоверенный код?! Так что правильнее сказать, что в современных CPU просто нет полноценной поддержки выполнения вредоносного кода в пределах одного процесса (а в случае Intel — даже в пределах одной машины). [/sarcasm]

Выпущенные на данный момент патчи микрокода пытаются решить проблему, дав коду ОС очищать структуры предсказателя. У AMD это получилось попроще (т.к. единственная уязвимая структура — кеш непрямых переходов, который можно программно очистить). У Intel что-то не заладилось. Видимо в погоне за производительностью слишком много дыр было воплощено в железе...


"Red Hat отменил обновление микрокода для устранения уязвимос..."
Отправлено КО , 22-Янв-18 10:48 
>И Meltdown и Spectre трудно заткнуть без полноценного механизма проверки прав при спекулятивном выполнении.

В этом нет никакой проблемы. Это проверяется и код не выполняется - два раза. Один раз потому, что нельзя, а другой раз потому, что и не надо. :)
Проблема в том, что для того, чтобы это все понять, процессору надо загрузить операцию со всеми операндами.
А как только операнды загружены, то можно попытаться их угадать, зная что кеш быстрее памяти.
Делать же кеш только для одного потока - деньги на ветер. Да и так на полный разбор адреса не хотят  тратится, мол накладно. А тут еще на каждую операцию храни  и проверяй всю подноготную.
Ну максимум как у красных - пару бит, чтоб проверить какое кольцо грузило.


"Red Hat отменил обновление микрокода для устранения уязвимос..."
Отправлено J.L. , 24-Янв-18 16:17 
>[оверквотинг удален]
> Проблема в том, что для того, чтобы это все понять, процессору надо
> загрузить операцию со всеми операндами.
> А как только операнды загружены, то можно попытаться их угадать, зная что
> кеш быстрее памяти.
> Делать же кеш только для одного потока - деньги на ветер. Да
> и так на полный разбор адреса не хотят  тратится, мол
> накладно. А тут еще на каждую операцию храни  и проверяй
> всю подноготную.
> Ну максимум как у красных - пару бит, чтоб проверить какое кольцо
> грузило.

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


"Red Hat отменил обновление микрокода для устранения уязвимос..."
Отправлено Anonymoustus , 24-Янв-18 19:49 
После всех этих историй с, назывём вещи своими именами, жульничеством ради повышения валовой производительности, становится не такой уж «очевидной» практическая неправота ребят, придумавших VLIW.

"Red Hat отменил обновление микрокода для устранения уязвимос..."
Отправлено Andrew Kolchoogin , 22-Янв-18 13:48 
Нет, без изменения архитектуры CPU (отказа от спекулятивного исполнения) закрыть уязвимости типа Spectre невозможно.
Однако, можно сделать эксплуатацию этого класса уязвимостей весьма затруднительной в том или ином частном случае. Например, AMD сделал практически невозможной эксплуатацию этого класса уязвимостей в направлении RingN -> RingN-1, но это никак не затрудняет атаку получения лежащего в ОЗУ закрытого ключа из "соседнего" процесса (RingN -> RingN).


"Red Hat отменил обновление микрокода для устранения уязвимос..."
Отправлено Аноним , 20-Янв-18 13:05 
А что там со Spectre V1? Есть какие-нибудь патчи? С ядром 4.14.14 PoC все еще работает.

"Red Hat отменил обновление микрокода для устранения уязвимос..."
Отправлено Аноним , 20-Янв-18 16:22 
Надо пересобирать ядро с gcc 7.3 или gcc 7.2 + repoline патчи. Релиз кандидат выпустили, а релиз будет 24-го:
"If all goes well I'd like to release 7.3 on Wednesday, January 24th.".
А там - пересобирай ядро или жди пакетов от призводителя (думаю через пару дней 26-го прилетят апдейты)

"Red Hat отменил обновление микрокода для устранения уязвимос..."
Отправлено Аноним , 20-Янв-18 14:26 
Автору - из заголовка нельзя понять: отменил для устранения уязвимости или обновление микрокода для устранения уязвимости.

"Red Hat отменил обновление микрокода для устранения уязвимос..."
Отправлено Аноним , 20-Янв-18 14:45 
Всё перепутали.

Читайте mitigation: https://github.com/speed47/spectre-meltdown-checker#quick-su...
Микрокодом исправляется второй вариант Spectre, при этом он более эффективно закрывается патчами компилятора и ядра (gcc 7.3+ linux 4.14.14+).
А для первого варианта вроде пока нет релизов.


"Red Hat отменил обновление микрокода для устранения уязвимос..."
Отправлено Аноним , 20-Янв-18 15:25 
Вообще опасность Spectre сильно преувеличена и искусственно раздута. Если не считать теоретической эксплуатации через JavaScript, что уже частично прибили в браузерах, остаётся что-то уровня local root, которых в год с десяток находят. И ничего, никто не умер.

Есть вещи пострашнее. Например DNS rebinding, который никто не бежит исправлять. Или тот факт, что для вредоносного приложения запущенного в той же иксовой сессии доступен пользовательский ввод для всех остальных приложений, что почти автоматически означает получение рута. Да и user mode rootkit не мало натворит.

С учётом того, что в приложениях регулярно находят RCE, большинство просто сидит на бочке с порохом и не чешется. Думают, что успеют обновиться раньше других.


"Red Hat отменил обновление микрокода для устранения уязвимос..."
Отправлено Аноним , 20-Янв-18 16:29 
Интелу после их фундаментального срочно потребовалось найти хоть что-то, но чтоб у AMD тоже.

"Red Hat отменил обновление микрокода для устранения уязвимос..."
Отправлено Аноним , 21-Янв-18 01:12 
Просто линукс-конспирология уже не возбуждает. Нужна витиеватая линукс-конспирология. Такая, с подвывертом.



"Red Hat отменил обновление микрокода для устранения уязвимос..."
Отправлено Аноним , 20-Янв-18 17:41 
> Вообще опасность Spectre сильно преувеличена и искусственно раздута. Если не считать теоретической
> эксплуатации через JavaScript, что уже частично прибили в браузерах, остаётся что-то
> уровня local root, которых в год с десяток находят. И ничего,
> никто не умер

в браузерах прибили -- ну молодцы, right..

а кто будет прибивать менее популярных вещах??!..

..таких как наприпер Lua в режиме его использования в качестве sandbox?

а например plpgsql в postgresql для анонимных do-блоков от непривелегерванного пользователя (который запускает в частности и security defined функции, оставляющие в локальных кэшах секретную инфу)??...

могу поспорить толко через 2~5 лет люди очухаются :-)

типа "ой! а оказывается кроме бракзеров то есть и другие песочницы с выполняемым кодом.. что-то мы забыли что spectre нужно чинить и там тоже!"


"Red Hat отменил обновление микрокода для устранения уязвимос..."
Отправлено Аноним , 20-Янв-18 18:15 
В компиляторы патчи прилетят со временем (от Spectre v2 уже в gcc 7.3). Просто оно не так опасно, ну подумаешь local root. Удалённо Lua- и PSQL-код просто так не исполняется.

"Red Hat отменил обновление микрокода для устранения уязвимос..."
Отправлено Xasd , 20-Янв-18 18:51 
> В компиляторы патчи прилетят со временем

это не избавит от v1 -- автоматичкски. (вообще говоря v2 можно даже и не испавравлять -- толку от его исправления.. самоё стрёмное это v1 )

разумеется всякие новые конструкции типа __builtin_load_no_speculate() -- помогут авторам реализовать исправления (v1) в их программах...

...но сами собой-то вызовы __builtin_load_no_speculate() не вставятся. :-)

их люди должны вручную понавставлять в свои программы (заместо spectre-подверженных блоков) в те места где они должны быть по смыслу


"Red Hat отменил обновление микрокода для устранения уязвимос..."
Отправлено Аноним , 22-Янв-18 12:17 
> в браузерах прибили -- ну молодцы, right..

и то слегка криво: https://support.mozilla.org/en-US/questions/1198266


"Red Hat отменил обновление микрокода для устранения уязвимос..."
Отправлено лж , 20-Янв-18 18:39 
>остаётся что-то уровня local root, которых в год с десяток находят

Только их закрывают за минимальное время и с минимальными усилиями. А тут дырка останется и пол ядра переписали (сколько ещё дыр вылезет на этой почве?)


"Red Hat отменил обновление микрокода для устранения уязвимос..."
Отправлено iPony , 20-Янв-18 19:01 
нужно глубже! https://skyfallattack.com

"Red Hat отменил обновление микрокода с устранением уязвимост..."
Отправлено manster , 20-Янв-18 18:32 
Теперь кроме "не выбрасывайте старые железки", можно вполне добавить: "не выбрасывайте старые ядра" ....

По крайней мере - выборочно не удалять и оставлять в качестве альтернативной загрузки.


"Red Hat отменил обновление микрокода с устранением уязвимост..."
Отправлено Xasd , 20-Янв-18 19:01 
> Теперь кроме "не выбрасывайте старые железки", ...

ну и с какой же это целью их следует не выбрасывать? :-)

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


"Red Hat отменил обновление микрокода с устранением уязвимост..."
Отправлено Аноним , 20-Янв-18 22:29 
Причём здесь ядра, если речь о микрокоде? Ядра-то по умолчанию старые ни в одном дистре не удаляются (по крайней мере n штук последних).

"Red Hat отменил обновление микрокода с устранением уязвимост..."
Отправлено pavlinux , 20-Янв-18 23:18 
микрокод без ядра бесполезен, ядро без микрокода тоже.
Вывод: c 3 января ничего не поменялось


"Red Hat отменил обновление микрокода с устранением уязвимост..."
Отправлено AnoNe01eX , 25-Янв-18 19:21 
Z80 наше всё. :-)