Разработчики FreeBSD предложили (https://svnweb.freebsd.org/base?view=revision&revision=329462) для обсуждения (https://lists.freebsd.org/pipermail/freebsd-stable/2018-Febr...) начальный вариант патчей, блокирующих проведение атак Spectre и Meltdown (https://www.opennet.me/opennews/art.shtml?num=47856). Защита от Meltdown базируется на уже опробованной в других ОС технике PTI (Page Table Isolation), основанной на разделении таблиц страниц памяти ядра и пространства пользователя при переключении контекста во время системного вызова. Патч таже включает оптимизации при помощи инструкции PCID, позволяющие снизить негативное влияние на производительность при включении PTI.
Защита от второго варианта атаки Spectre основана на использования новой инструкции IBRS (Indirect Branch Restricted Speculation), представленной компанией Intel в недавнем обновлении микрокода. IBRS позволяет во время работы в зависимости от ситуации разрешать и запрещать спекулятивное выполнение косвенных переходов, например, запрещать во время обработки прерываний, системных вызовов и переключений контекста.
Для применения защиты от Spectre обязательно требуется наличие обновлённого микрокода (https://www.opennet.me/opennews/art.shtml?num=48046) для процессоров Intel, которое пока проходит тестирование OEM-производителями перед началом массового распространения. Применение IBRS может быть отключено через sysctl, но PTI пока не отключаем, с чем в основном и связаны основные пожелания (https://lists.freebsd.org/pipermail/freebsd-stable/2018-Febr...) пользователей, участвующих в обсуждении.Дополнительно можно отметить выпуск обновления QEMU 2.11.1 (https://www.qemu.org/2018/02/14/qemu-2-11-1-and-spectre-update/), в котором представлен механизм защиты от Spectre и Meltdown для гостевых систем, работающих под управлением гипервизора KVM. Защита от Meltdown основана на патчах KPTI, а защита от Spectre построена с привлечением инструкций IBRS (Indirect Branch Restricted Speculation) и IBPB (Indirect Branch Prediction Barriers), предложенных в обновлённом микрокоде Intel и AMD.
URL: https://lists.freebsd.org/pipermail/freebsd-stable/2018-Febr...
Новость: http://www.opennet.me/opennews/art.shtml?num=48105
>предложили для обсуждения начальный вариант патчейЭто даже круче чем новость о выпуске альфа-версии инсталлятора для Дебиан...
>Это даже круче чем новость о выпуске альфа-версии инсталлятора для Дебиан...Во! Во! Люди делом занимаются, а эти из соседней темы, 200000$ на бабские кружева пускают
> Люди делом занимаются* Copy&Paste
* Refactoring Linux code for *BSD
>>Это даже круче чем новость о выпуске альфа-версии инсталлятора для Дебиан...
> Во! Во! Люди делом занимаются, а эти из соседней темы, 200000$ на
> бабские кружева пускаютЧо ты на бабские кружева возбудился? Бабам они нравятся, а ты завидуешь?
>>предложили для обсуждения начальный вариант патчей
> Это даже круче чем новость о выпуске альфа-версии инсталлятора для Дебиан...Новость об альфа-версии фикшенного процассера интель бужет ещё ипичнее. Рынки порвёт.
>>предложили для обсуждения начальный вариант патчей
> Это даже круче чем новость о выпуске альфа-версии инсталлятора для Дебиан...Еще круче цитировать что-то несуществующее ... хотя аксакалам не привыкать.
Предлагали еще месяц назад, сейчас оно прилетело в стабильную ветку.
ну как бы заголовок новости некорректный.
Предложили еще месяц назад.
Ссылка указана на коммит уже в 11-STABLE.
который, к сожалению, будет очень непросто теперь откатить.Ну просто феерические мyдаки.
> Дополнительно можно отметить выпуск обновления QEMU 2.11.1, в котором представлен механизм защиты от Spectre и Meltdown для гостевых систем, работающих под управлением гипервизора KVM.отлично!
> Защита от Meltdown основана на патчах KPTI,
нифига не ясно! как можно засунуть KPTI внутрь Qemu, учитывая что Qemu работает как обычная программа (даже без привелегий root)? как она сделает разделение на страницы?
> а защита от Spectre построена с привлечением инструкций IBRS (Indirect Branch Restricted Speculation) и IBPB (Indirect Branch Prediction Barriers), предложенных в обновлённом микрокоде Intel и AMD.
вообще не ясно, что за режим IBRS/IBPB был выбран? какие показатели падения производительности в итоге стали?
в случае QUEMU - он же эмулирует поведение процессора. если он эмулирует поведение хренового процессов, то уязвимость гостевой системы повышается. а если эмулирует уже патченный, то все хорошо
>> Защита от Meltdown основана на патчах KPTI,
> нифига не ясно! как можно засунуть KPTI внутрь Qemu, учитывая что Qemu
> работает как обычная программа (даже без привелегий root)? как она сделает
> разделение на страницы?Там. По ссылкам. Не QEMU. Ядра. Патчах ядер.
" (Meltdown mitigation via KPTI does not require additional CPU functionality or microcode, and does not require an updated QEMU, only the related guest/host kernel patches). "
то есть в Qemu поправили Meltdown через правки -- хостового ядра и гостевых ядер?а программисты Qemu молодцы :-)
kvm?
а чо kvm? kvm пусть сами у себя правят.
(afaik, у них и так таблица страниц отдельная для каждой vm, то есть меж-vm'ного ликинга быть не должно, а от остального как-то защитит kpti в хосте и в самой vm)
А как на счёт MeltdownPrime и SpectrePrime ?
Праймы - это производные от Meltdown и Spctre. Т.е. без них уже не живут....
Новость про них почитай.
> но PTI пока не отключаемamd64/amd64/machdep.c
pti = pti_get_default();
TUNABLE_INT_FETCH("vm.pmap.pti", &pti);for (x = 0; x < NIDT; x++)
setidt(x, pti ? &IDTVEC(rsvd_pti) : &IDTVEC(rsvd), SDT_SYSIGT,
SEL_KPL, 0);
setidt(IDT_DE, pti ? &IDTVEC(div_pti) : &IDTVEC(div), SDT_SYSIGT,
SEL_KPL, 0);
setidt(IDT_DB, pti ? &IDTVEC(dbg_pti) : &IDTVEC(dbg), SDT_SYSIGT,
amd64/amd64/pmap.c:SYSCTL_INT(_vm_pmap, OID_AUTO, pti, CTLFLAG_RDTUN | CTLFLAG_NOFETCH
т.е. принципиально штатная возможность есть, нужно только убрать nofetch. А вот зачем было встраивать проверки в каждую дырку, вместо двух отдельных блоков и ifelse над ними - непонятно. Такое чувство, что плюнули на все, лишь бы как можно быстрее выкатить патч.
> т.е. принципиально штатная возможность естьтолько сломана, поэтому и nofetch
> Такое чувство, что плюнули на все, лишь бы как можно быстрее выкатить патч.
именно так, смузи...простите, гранты freebsd foundation не могут долго ждать, а по ним нужно отчитываться.
Подобная вредная дрянь, затрагивающая кучу тонких мест в системе, должна была быть выпущена в виде feature, специально включаемой в конфиге, а не kernel tunable, с кучей проверок на ходу.
Ближе бздеконец
>> Такое чувство, что плюнули на все, лишь бы как можно быстрее выкатить патч.
> именно так, смузи...простите, гранты freebsd foundation не могут долго ждать, а по
> ним нужно отчитываться.Однако, следует упомянуть, что сообщили о дыре им уже ближе к концу декабря.
А перепончатые, гордо задрав гузку и мигом забыв, что дыру они нашли совсем не сами и полугодовой форе в исправлении обязанны одному из основных, платиновых танцовальщиков - наперегонки уже ехидничали о тормозах "бздунов".
Так что будем надеяться на лучшее.
> Однако, следует упомянуть, что сообщили о дыре им уже ближе к концу декабря.а какая разница - копипастили-то из понятно чего, а оно тоже только в это же время стало доступным.
> Так что будем надеяться на лучшее.
на svn up -r 329450 мы будем надеяться.
И на то, что cherry-picking вручную не окажется слишком уж сложным занятием - большинство последних патчей в STABLE - полнейший мусор (то нечто для малинок, на которых один хрен до 12 работать ничего не будет, linuxKPI, какие-то sponsored by Mellanox, актуальные только их владельцам, которым все равно надо отслеживать первоисточник и т д)А к 12й версии, из которой это выпилить слишком геморройно (надо откатить не один и не два комита в правильном порядке, и не задеть ничего рядом), либо шах, либо ишак, либо сам Ходжа...
да, llvm они, к счастью, пока не изуродовали аналогичными gcc патчами.
надежды на то, что кто-нибудь поборет брезгливость, и переделает весь этот мусор в #ifdef FEATURE - и что такой патч примут - ноль, к сожалению.
Вы уже своим смузи всё кругом затопили, перестаньте течь.У вас то фряха плохая, что в ней системды нет и вяленда с удевом; то фряха хорошая потому-что из неё яблоки делают (и системда с вялендом там как-бы есть); то у вас линукс плох потому-что там системда с вялендом, то наоборот хороший потому, что там вяленд с системдой содран с яблок.
Заползите в какие-то кусты, и умрите от передоза, пожалуйста.
Спасибо за внимание.
> т.е. принципиально штатная возможность есть, нужно только убрать nofetchДа, но пока нет.
Жедитоб, залогинься.
Пестят, Spectre v1 НИГДЕ ЕЩЁ НЕ ЗАКРЫТ. IBRS/IBPB... - пурген в глаза акционеров и NASDAQИ да, IBRS/IBPB - это не инструкции, это MSR-команды.
> Spectre v1 НИГДЕ ЕЩЁ НЕ ЗАКРЫТУ "кого-надо" - закрыт (может быть). Была-же новость про выпуск бетта-прошивки для ограниченного пользования "нужными людьми".
> ...пурген в глаза...
И что предполагается, что потом с их глазами произойдет? :-)
// Спс, поржал.
>> Spectre v1 НИГДЕ ЕЩЁ НЕ ЗАКРЫТ
> У "кого-надо" - закрыт (может быть). Была-же новость проНовость, новость... обе, IBRS и IBPB, можно заставить ОСи отрубить на время. /* EOF NDA */