The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Для FreeBSD и QEMU/KVM реализованы механизмы блокировки атак Spectre и Meltdown

20.02.2018 10:30

Разработчики FreeBSD интегрировали в ветку 11-STABLE набор патчей, блокирующих проведение атак Spectre и Meltdown. Защита от Meltdown базируется на уже опробованной в других ОС технике PTI (Page Table Isolation), основанной на разделении таблиц страниц памяти ядра и пространства пользователя при переключении контекста во время системного вызова. Патч также включает оптимизации при помощи инструкции PCID, позволяющие снизить негативное влияние на производительность при включении PTI.

Защита от второго варианта атаки Spectre основана на использования режима IBRS (Indirect Branch Restricted Speculation), представленного компанией Intel в недавнем обновлении микрокода. IBRS позволяет во время работы в зависимости от ситуации разрешать и запрещать спекулятивное выполнение косвенных переходов, например, запрещать во время обработки прерываний, системных вызовов и переключений контекста.

Для применения защиты от Spectre обязательно требуется наличие обновлённого микрокода для процессоров Intel, которое пока проходит тестирование OEM-производителями перед началом массового распространения. Применение IBRS может быть отключено через sysctl, но PTI пока неотключаем, с чем в основном и связаны основные пожелания пользователей, участвующих в обсуждении.

Дополнительно можно отметить выпуск обновления QEMU 2.11.1, в котором представлен механизм защиты от Spectre и Meltdown для гостевых систем, работающих под управлением гипервизора KVM. Защита от Meltdown основана на патчах KPTI, а защита от Spectre построена с привлечением IBRS (Indirect Branch Restricted Speculation) и IBPB (Indirect Branch Prediction Barriers), предложенных в обновлённом микрокоде Intel и AMD.

  1. Главная ссылка к новости (https://lists.freebsd.org/pipe...)
  2. OpenNews: Представлены новые виды атак MeltdownPrime и SpectrePrime
  3. OpenNews: Компания Intel подготовила новый вариант микрокода для противостояния уязвимости Spectre
  4. OpenNews: Линус Торвальдс жестко раскритиковал связанные с микрокодом патчи Intel
  5. OpenNews: Эксплоиты и тесты производительности, связанные с уязвимостями Meltdown и Spectre
  6. OpenNews: Раскрыты подробности двух атак на процессоры Intel, AMD и ARM64
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/48105-spectre
Ключевые слова: spectre, cpu, meltdown, freebsd, qemu
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (27) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, A.Stahl (ok), 10:34, 20/02/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +11 +/
    >предложили для обсуждения начальный вариант патчей

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

     
     
  • 2.2, Аноним (-), 10:46, 20/02/2018 [^] [^^] [^^^] [ответить]  
  • –4 +/
    >Это даже круче чем новость о выпуске альфа-версии инсталлятора для Дебиан...

    Во! Во! Люди делом занимаются, а эти из соседней темы, 200000$ на бабские кружева пускают

     
     
  • 3.12, Аноним (-), 13:30, 20/02/2018 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > Люди делом занимаются

    * Copy&Paste
    * Refactoring Linux code for *BSD

     
  • 3.28, Аноним (-), 09:41, 21/02/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >>Это даже круче чем новость о выпуске альфа-версии инсталлятора для Дебиан...
    > Во! Во! Люди делом занимаются, а эти из соседней темы, 200000$ на
    > бабские кружева пускают

    Чо ты на бабские кружева возбудился? Бабам они нравятся, а ты завидуешь?

     
  • 2.4, Andrey Mitrofanov (?), 11:02, 20/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    >>предложили для обсуждения начальный вариант патчей
    > Это даже круче чем новость о выпуске альфа-версии инсталлятора для Дебиан...

    Новость об альфа-версии фикшенного процассера интель бужет ещё ипичнее. Рынки порвёт.

     
  • 2.14, Аноним (-), 15:06, 20/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    >>предложили для обсуждения начальный вариант патчей
    > Это даже круче чем новость о выпуске альфа-версии инсталлятора для Дебиан...

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


     

  • 1.3, я (?), 11:00, 20/02/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    ну как бы заголовок новости некорректный.
    Предложили еще месяц назад.
    Ссылка указана на коммит уже в 11-STABLE.
     
     
  • 2.11, пох (?), 12:42, 20/02/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    который, к сожалению, будет очень непросто теперь откатить.

    Ну просто феерические мyдаки.

     

  • 1.5, X4asd (ok), 11:26, 20/02/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Дополнительно можно отметить выпуск обновления 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 был выбран? какие показатели падения производительности в итоге стали?

     
     
  • 2.6, Аноним (-), 11:39, 20/02/2018 [^] [^^] [^^^] [ответить]  
  • –3 +/
    в случае QUEMU - он же эмулирует поведение процессора. если он эмулирует поведение хренового процессов, то уязвимость гостевой системы повышается. а если эмулирует уже патченный, то все хорошо
     
  • 2.9, Andrey Mitrofanov (?), 12:13, 20/02/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> Защита от 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). "

     
     
  • 3.10, X4asd (ok), 12:18, 20/02/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    то есть в Qemu поправили Meltdown через правки -- хостового ядра и гостевых ядер?

    а программисты Qemu молодцы :-)

     
  • 2.13, Аноним (-), 13:45, 20/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    kvm?
     
     
  • 3.31, Аноним (-), 17:39, 21/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    а чо kvm? kvm пусть сами у себя правят.
    (afaik, у них и так таблица страниц отдельная для каждой vm, то есть меж-vm'ного ликинга быть не должно, а от остального как-то защитит kpti в хосте и в самой vm)

     

  • 1.7, поледанныхотсутств (?), 11:41, 20/02/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    А как на счёт MeltdownPrime и SpectrePrime ?
     
     
  • 2.8, Neptus (?), 11:45, 20/02/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Праймы - это производные от Meltdown и Spctre. Т.е. без них уже не живут....
     
  • 2.20, anonymous (??), 16:25, 20/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Новость про них почитай.
     

  • 1.15, Аноним (-), 15:21, 20/02/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > но PTI пока не отключаем

    amd64/amd64/machdep.c
    [CODE]
    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,
    [/CODE]
    [CODE]
    amd64/amd64/pmap.c:SYSCTL_INT(_vm_pmap, OID_AUTO, pti, CTLFLAG_RDTUN | CTLFLAG_NOFETCH
    [/CODE]
    т.е. принципиально штатная возможность есть, нужно только убрать nofetch. А вот зачем было встраивать проверки в каждую дырку, вместо двух отдельных блоков и ifelse над ними - непонятно. Такое чувство, что плюнули на все, лишь бы как можно быстрее выкатить патч.

     
     
  • 2.17, пох (?), 15:46, 20/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > т.е. принципиально штатная возможность есть

    только сломана, поэтому и nofetch

    > Такое чувство, что плюнули на все, лишь бы как можно быстрее выкатить патч.

    именно так, смузи...простите, гранты freebsd foundation не могут долго ждать, а по ним нужно отчитываться.

    Подобная вредная дрянь, затрагивающая кучу тонких мест в системе, должна была быть выпущена в виде feature, специально включаемой в конфиге, а не kernel tunable, с кучей проверок на ходу.

     
     
  • 3.18, Аноним (-), 16:05, 20/02/2018 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Ближе бздеконец
     
  • 3.21, тот самый Аноним (?), 16:42, 20/02/2018 [^] [^^] [^^^] [ответить]  
  • +4 +/
    >> Такое чувство, что плюнули на все, лишь бы как можно быстрее выкатить патч.
    > именно так, смузи...простите, гранты freebsd foundation не могут долго ждать, а по
    > ним нужно отчитываться.

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

     
     
  • 4.22, пох (?), 18:00, 20/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Однако, следует упомянуть, что сообщили о дыре им уже ближе к концу декабря.

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

    > Так что будем надеяться на лучшее.

    на svn up -r 329450 мы будем надеяться.
    И на то, что cherry-picking вручную не окажется слишком уж сложным занятием - большинство последних патчей в STABLE - полнейший мусор (то нечто для малинок, на которых один хрен до 12 работать ничего не будет, linuxKPI, какие-то sponsored by Mellanox, актуальные только их владельцам, которым все равно надо отслеживать первоисточник и т д)

    А к 12й версии, из которой это выпилить слишком геморройно (надо откатить не один и не два комита в правильном порядке, и не задеть ничего рядом), либо шах, либо ишак, либо сам Ходжа...

    да, llvm они, к счастью, пока не изуродовали аналогичными gcc патчами.

    надежды на то, что кто-нибудь поборет брезгливость, и переделает весь этот мусор в #ifdef FEATURE - и что такой патч примут - ноль, к сожалению.

     
  • 3.32, Джон Ленин (?), 21:14, 23/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Вы уже своим смузи всё кругом затопили, перестаньте течь.

    У вас то фряха плохая, что в ней системды нет и вяленда с удевом; то фряха хорошая потому-что из неё яблоки делают (и системда с вялендом там как-бы есть); то у вас линукс плох потому-что там системда с вялендом, то наоборот хороший потому, что там вяленд с системдой содран с яблок.

    Заползите в какие-то кусты, и умрите от передоза, пожалуйста.
    Спасибо за внимание.

     
  • 2.23, Led (ok), 02:58, 21/02/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > т.е. принципиально штатная возможность есть, нужно только убрать nofetch

    Да, но пока нет.

    Жедитоб, залогинься.

     

  • 1.24, pavlinux (ok), 04:15, 21/02/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Пестят, Spectre v1 НИГДЕ ЕЩЁ НЕ ЗАКРЫТ.  IBRS/IBPB...  - пурген в глаза акционеров и NASDAQ

    И да, IBRS/IBPB - это не инструкции, это MSR-команды.  

     
     
  • 2.26, Аноним (-), 07:19, 21/02/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Spectre v1 НИГДЕ ЕЩЁ НЕ ЗАКРЫТ

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

    > ...пурген в глаза...

    И что предполагается, что потом с их глазами произойдет? :-)

    // Спс, поржал.

     
     
  • 3.30, pavlinux (ok), 17:26, 21/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    >> Spectre v1 НИГДЕ ЕЩЁ НЕ ЗАКРЫТ
    > У "кого-надо" - закрыт (может быть). Была-же новость про

    Новость, новость... обе, IBRS и IBPB, можно заставить ОСи отрубить на время. /* EOF NDA */

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру