Kontrollálhatóvá teszi a Spectre javításokat a Linux kernel

A Spectre sebezhetőség, illetve annak új verziói komoly pánikot eredményeztek az elmúlt év során, de a gyakorlatban nem igazán látszik, hogy a támadók ezekhez a résekhez nyúlnának. Ettől persze még nem mondhatók jelentéktelennek a kiadott javítások rá, de egyre jobban hallani azokat a hangokat, amelyek szerint a biztonság ugyan fontos, de jó lenne az egyes sebezhetőségekhez tartozó javításokat egyénileg kontrollálhatóvá tenni. Ennek a vezető oka, hogy eléggé ronthatják ám az adott számítógép teljesítményét, miközben bizonyos felhasználói területeken nem jelentenek annyira nagy veszélyt.

A Linux kernel fejlesztői már eddig is reagáltak ezekre az igényekre, így a 4.15-ös verzióban kikapcsolható a Spectre v2-re (CVE-2017-5715), a 4.17-ben pedig a Spectre v4-re (CVE-2018-3639) biztosított javítás. Előbbi a "nospectre_v2", míg utóbbi "nospec_store_bypass_disable" paraméterrel oldható meg. A 4.19-es kernelben pedig megoldható a Spectre v1 (CVE-2017-5753) kilövésének lehetősége is a "nospectre_v1" paraméter által. Ezekkel a lehetőségekkel a felhasználók és rendszeradminisztrátorok egyénileg mérlegelhetik, hogy a fenti hármasból melyik sebezhetőségeket tartják az adott környezeten belül ténylegesen veszélyesnek, belekalkulálva az esetenként jelentős sebességvesztést, amit a javítások aktiválása okoz.

Mindezeket egészíti ki most az a módosítás, amellyel érkezik egy "PR_SPEC_DISABLE_NOEXEC" kontroll bit. Ez lehetővé teszi azt, hogy egy gyerek processzus a Spectre v4-re adott javítással fusson, akkor is, ha a szülő processzuson ez ki van kapcsolva.

A konfigurálási lehetőségek akkor hasznosak a leginkább, ha a számítógépek olyan környezetben futnak, ahol egyszerűen nincs ellenőrizetlen kódfuttatás. Ilyen esetben a javítások sebességvesztését teljesen feleslegesen szenvedi el az érintett, mert eleve nincs meg a támadás elméleti kockázata sem.