Zapnutí “IOMMU Protection” na Lenovo ThinkPad pod Linxem
IOMMU je jednotka na správu paměti pro vstupně/výstupní zařízení umožňující přímý přístup do paměti (DMA). Jedním z benefitů IOMMU je ochrana paměti právě před útoky skrze DMA, kdy by například útočník mohl využít vývojový PCIe hardware pro získání přístupu do operační paměti skrze ThunderBolt či Firewire porty.
Prvním krokem je v BIOSu zapnout (či se ujistit, že je zapnuté) “Intel (R) VT-d Feature”:
Toto samo o sobě nestačilo a i když výstup dmesg
IOMMU asi dvakrát zmínil, ve skutečnosti aktivní nebylo. Device Security v Gnome Control Center (Gnome Settings) na záložce “Device Security” stále hlásil:
IOMMU Protection: ! Fail (Not Found)
Dalším krokem byla modifikace parametrů kernelu, přidal jsem iommu=force
, ale ani to nepomohlo.
Nakonec se řešením ukázalo přidání intel_iommu=on
i iommu=force
:
$ sudo vim /etc/default/grub
# Přidání parametrů na konec GRUB_CMDLINE_LINUX:
GRUB_CMDLINE_LINUX=".. intel_iommu=on iommu=force"
# Uložení změn
$ sudo grub2-mkconfig
Po restartu už bylo IOMMU aktivní:
IOMMU Protection: Pass (Enabled)
A můj systém splnil HSI:2 úroveň zabezpečení: