В даній статті розглянемо відключення цих безпекових методів. Що це таке – написано тут. Відключати я це не рекомендується, але в деяких випадках це треба, враховуючи, що продуктивність може досягати до 30%.
Solaris
Поточний статус
# sxadm status
EXTENSION STATUS FLAGS
aslr enabled (tagged-files) u-c--
ibpb enabled -kcr-
ibrs enabled -kcr-
if_pschange_mc_no not supported -----
kpti enabled -kcr-
l1df enabled -kcr-
md_clear not supported -----
mds_no not supported -----
nxheap enabled (tagged-files) u-c--
nxstack enabled (all) u-c--
rdcl_no not supported -----
rsbs enabled -kcr-
smap not supported -----
ssbd enabled (tagged-files) u-c--
taa_no not supported -----
tsx_disable not supported -----
umip not supported -----
Як бачимо (kpti,ibpb,ibrs) увімкнені. Відключаємо:
sxadm disable kpti
sxadm disable ibpb
sxadm disable ibrs
Після цього обовʼязковий reboot
FreeBSD
Поточний статус (також можна перевірити за допомогою цієї утиліти):
# sysctl vm.pmap.pti
vm.pmap.pti: 1
# sysctl hw.ibrs_disable
hw.ibrs_disable: 1
# sysctl hw.mds_disable
hw.mds_disable: 0
Відключити так:
– /boot/loader.conf
vm.pmap.pti=0
hw.ibrs_disable=1
– /etc/sysctl.conf
hw.mds_disable=0
Після цього обовʼязковий reboot
Linux
Перевірити вразливість можна через lscpu або через# grep . /sys/devices/system/cpu/vulnerabilities/*
Відключаємо так: у файлі /etc/default/grub редагуємо рядок GRUB_CMDLINE_LINUX відповідно до версії ядра:
– 5.1.13 і новіші:
GRUB_CMDLINE_LINUX="mitigations=off"
– старіші за 5.1.13:
RUB_CMDLINE_LINUX="noibrs noibpb nopti nospectre_v2 nospectre_v1 l1tf=off nospec_store_bypass_disable no_stf_barrier mds=off tsx=on tsx_async_abort=off mitigations=off"
Оновлюємо grub
$ sudo update-grub