OpenBSD bo zaradi ranljivosti Spectre onesposobil HyperThreading

Matej Huš

20. jun 2018 ob 19:48:51

Razvijalci operacijskega sistema OpenBSD, ki ga poznamo predvsem zaradi svoje zavezanosti k varnosti, so se zaradi ranljivosti Spectre in Meltdown, ki sta v več inačicah najbolj prizadeli Intelove, nekoliko zmerneje pa tudi AMD-jeve in ARM-jeve procesorje, odločili za radikalno potezo. V OpenBSD ne bo več podprto večnitenje HyperThreading (HT), da bo sistem imun na Spectre in sorodne napade. Hkratno večnitenje na istem jedru (SMT), kar počne tudi Intelova tehnologija HT, običajno uporablja iste predpomnilnike TLB (translation lookaside buffer) in L1, zaradi česar so napadi Spectre bistveno lažji. Ob tem razvijalci dodajajo, da poganjanje niti z različnimi varnostnimi privilegiji na istem jedru tako ali tako ni bila nikoli posebej modra zamisel.

Ali bodo procesorji zaradi ukinitve podpore HT v OpenBSD-ju počasnejši? Zdi se tako, a ni nujno, pravijo pri OpenBSD. V ne tako redkih primerih je učinek HT zanemarljiv ali celo negativen, saj si niti lahko konkurirajo. So pa seveda tudi obratni primeri, kjer je pohitritev zaradi HT občutna. A prevladalo je mnenje, da bo ranljivosti Spectre še več in da gre v resnici za razred ranljivosti, ki ga lahko krpamo, a ga ne bo mogoče nikoli zares popraviti, dokler Intel bistveno ne spremeni arhitekture svojih procesorjev. Na obstoječih je zato edina možnost onesposobitev HT, česar pa številni proizvajalci sistemov v BIOS-u sploh ne omogočajo. Rešitev bo zato nov hw.smt sysctl v OpenBSD.

Intel je HT v svojih procesorjih vključeval od leta 2002, glavni razlog pa je seveda povečanje zmogljivosti. OpenBSD bo najprej HT onemogočil v verziji OpenBSD/amd64, kasneje pa še v ostalih.