OpenBSD disabilita il supporto all’hyper-threading sulle CPU Intel

L’hyper-threading è un’implementazione proprietaria di Intel dell’SMT (Simultaneous Multhreading): questa tecnologia consente di mostrare al sistema operativo due core per ogni core fisico effettivamente presente sulla CPU, portando dei vantaggi di performance. Per sfruttarlo appieno, però, il sistema operativo deve riconoscerlo.

A seguito di tutti i problemi ed ai continui bug che vengono scovati riguardanti alle falle di Meldown e Spectre, Mark Kettenis del team di OpenBSD ha annunciato che verrà rimosso il supporto all’hyper-threading delle CPU Intel perché, per il modo in cui è progettato, aprirebbe la porta ad ulteriori timing attack.
Un timing attack è un tipo di attacco crittografico che permette a terze parti di dedurre il contenuto dei dati criptati registrando ed analizzando il tempo impiegato per eseguire gli algoritmi di crittografia. Spectre e Meltdown, ovviamente, rientrano in questa categoria.

Questa decisione è stata maturata considerando anche che nella maggior parte dell’hardware recente non è possibile disabilitare l’hyper-threading nemmeno dal BIOS/UEFI.
In termini pratici, questa opzione sarà controllabile tramite un nuovo hw.smt in sysctl. Per ora questo “fix” è applicabile solo alle CPU Intel utilizzate su OpenBSD/amd64 ma il team sta lavorando per renderla disponibile anche per altri vendor ed altre architetture (anche AMD ha implementato tecniche simili, per esempio).

Kettenis conclude dicendo che la disabilitazione dell’hyper-threading non risulterà in un calo prestazionale, visto che comunque non si sono mai visti impatti positivi sulle performance.

Quanto “tuning” ci sarà ancora da fare per arginare (decentemente) la questione?

Tags: , ,