Вечером в субботу, 17 февраля, вышли патчи для FreeBSD, позволяющие блокировать или как минимум ограничить атаки Spectre и Meltdown на уязвимых устройствах. Протестированные нововведения интегрированы в ветку 11-STABLE, то есть доступны пока лишь разработчикам.

Защита от Meltdown, актуальная для устройств на чипах Intel, в данном случае использует уже опробованную на Linux модель разделения памяти ядра и пользовательских процессов (Page Table Isolation, PTI).

Помимо этого в FreeBSD — тоже вслед за Linux — введена поддержка аппаратной оптимизации с помощью PCID (Process Context Identifiers, идентификаторы контекста процесса), которая позволит компенсировать падение производительности при включении PTI. Эта возможность доступна лишь на процессорах Intel с микроархитектурой Westmere и новее, имеющих PCID в своем арсенале.

Защита от второго варианта Spectre (branch target injection) тоже реализована, как в Linux: она основана на привлечении функциональности IBRS (Indirect Branch Restricted Speculation), недавно добавленной Intel при обновлении микрокода.

IBRS позволяет во время работы разрешать и запрещать спекулятивное выполнение косвенных переходов. Однако для полноты защиты FreeBSD-устройств от Spectre 2 требуется наличие соответствующего микрокода, а он пока еще проходит тестирование и в финальном варианте выпущен лишь для серийных чипов Skylake.

Несколько ранее патчи против Spectre и Meltdown выпустили также участники проекта с открытым исходным кодом QEMU. В обновление 2.11.1 этого комплекта средств эмуляции включены новые защитные механизмы для гостевых систем, работающих под управлением гипервизора KVM. Разработчики предупреждают, что защита против Spectre будет работать, как задумано, лишь при наличии соответствующих обновлений ядра ОС и прошивок.

Категории: Кибероборона, Уязвимости