FreeBSD и QEMU против Meltdown и Spectre
Выпущены исправления уязвимостей Meltdown и Spectre для FreeBSD и QEMU. В исправлениях используется новая инструкция IBRS, представленная компанией Intel в обновлении микрокода.
Выпущены исправления уязвимостей Meltdown и Spectre для FreeBSD и QEMU. В исправлениях используется новая инструкция IBRS, представленная компанией Intel в обновлении микрокода.

Разработчики открытой операционной системы FreeBSD выпустили набор исправлений для уязвимостей Meltdown и Spectre. Патчи интегрированы в ветку FreeBSD 11-STABLE.

Исправления для Meltdown основаны на технике Page Table Isolation (PTI), позволяющей разделять таблицы страниц памяти ядра и пространства пользователя при переключении контекста во время системного вызова. Помимо этого, в исправлениях предусмотрена оптимизация при помощи инструкции PCID, снижающая негативное влияние PTI на производительность компьютера.

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

После установки исправлений отключить PTI будет невозможно, однако IRBIS может быть отключен через команду sysctl.

Помимо этого, защита от Meltdown и Spectre также была реализована в программе для эмуляции аппаратного обеспечения QEMU 2.11.1. Исправления для Meltdown основаны на патчах KPTI, а защита от Spectre разработана с привлечением инструкций IBRS и Indirect Branch Prediction Barriers (IBPB).
ttttt
2018-02-20 21:48:44
Avatar

Стоит отметить, что от spectre и 1 и 2 они могут защитить только сам код ядра или qemu, и со spectre 1 они пока не парятся, а для 2 метод с обновлением микрокода нынче считается рискованным и ненадежным. А вот программы от обоих вариантов spectre могут только сами защищаться. Для программ кроме retpoline патча от spectre 2 для компиляторов gcc и llvm, уже есть попытки защититься от spectre 1 и 2 сразу. В частности Майкрософт уже всунула в свой компилятор статический анализ, хоть он пока плохо работает и часто пропускает уязвимый код.

You should to log in

loading