Hyper-threading disabilitato per VM (Linux) su Chrome OS
Notizia
L'hyper-threading è disabilitato per le macchine virtuali (Linux) su Chrome OS per migliorare la sicurezza complessiva del sistema. Questa modifica contribuirà a mitigare potenziali vulnerabilità che potrebbero essere sfruttate da codice dannoso in esecuzione in una macchina virtuale.

Ricordi, più di due anni fa, quando le CPU Intel furono esposte a un difetto di sicurezza critico che praticamente capovolse l'industria dei PC? No? Nessun problema. Non sei solo. Tuttavia, la gravità delle vulnerabilità Meltdown e Spectre era reale e il potenziale danno che portavano era motivo di legittima preoccupazione. Per fortuna, la maggior parte dei dispositivi Chrome OS è stata patchata prima che i problemi fossero resi pubblici e, per quanto ne so, un attacco a un Chromebook non è mai stato realizzato in natura. Sebbene Spectre e Meltdown siano ricordi lontani per la maggior parte, sembra che Chrome OS non sia sfuggito agli effetti a lungo termine di tali vulnerabilità.
Quando questi difetti sono stati scoperti nel 2018, la risposta immediata è stata quella di disabilitare l'hyper-threading come mitigazione delle vulnerabilità della sicurezza. Cos'è l'hyper-threading? Buona domanda. Hyper-threading è il marchio di Intel per SMT o multithreading simultaneo. In termini semplici, il multithreading prende un singolo core della CPU e lo divide in due core virtuali. Lo scopo è produrre una macchina più efficiente senza hardware aggiuntivo. Ora, questo non raddoppia istantaneamente la potenza di una CPU. Invece, il kernel della macchina può ora utilizzare i thread virtuali per eseguire due attività contemporaneamente invece del core che completa un'attività prima di passare a quella successiva. In alcuni casi, aumenta le prestazioni complessive della CPU. Spectre e Meltdown sono stati in grado di sfruttare una debolezza nel processo SMT per accedere a informazioni sensibili archiviate nella memoria del dispositivo di un utente.
È stato quasi tre anni fa, ma la scorsa notte ho ricevuto un'e-mail da Joe Romeo che mi avvisava del fatto che gli sviluppatori di Chromium stanno ancora adottando misure per prevenire questo tipo di violazioni della sicurezza e uno di questi passaggi è disabilitare l'hyper-threading quando si utilizza una VM (macchina virtuale) su Chrome OS. Se ti stai chiedendo per cosa Chrome OS utilizza le VM, è molto più di quanto potresti pensare. Gli emulatori Android sono un esempio ma, cosa più importante, Crostini utilizza il livello VM. Ciò significa che quando apri il terminale o un'applicazione Linux, l'hyper-threading viene immediatamente disabilitato. Puoi vedere il processo in azione di seguito in una registrazione dello schermo di Joe R.
Puoi vedere che, quando si utilizza il visualizzatore di sistema COG, il dispositivo Core i5 suddivide i quattro core disponibili in 8 thread virtuali. Nel momento in cui l'app Terminal è aperta, quattro dei core vengono immediatamente disabilitati. Guardando un po' più da vicino una segnalazione di bug aperta da Mr. Romeo, scopriamo che gli sviluppatori hanno contrassegnato questo WIA, il che significa che funziona come previsto. Indipendentemente dall'impostazione che hai abilitato per l'hyper-threading, non funzionerà quando una VM è in esecuzione. Più in basso nei commenti, vediamo perché.
Questo è WAI. Sui kernel più recenti disabilitiamo l'hyperthreading, per motivi di sicurezza, una volta avviata una macchina virtuale. La tua impostazione nella sessione viene rispettata solo fino a quando [sic] non avvii una VM.
Rilevatore di bug di cromo
Apparentemente l'hyper-threading è ancora un problema di sicurezza per gli sviluppatori ed esporre la CPU a VM non attendibili è qualcosa che vorrebbero evitare. Tuttavia, questo è un po' una delusione. Abbiamo costantemente cercato indizi che Chrome OS potrebbe presto sfruttare hardware come GPU discrete e persino esterne. Sfruttare appieno l'hardware sui dispositivi Chrome OS premium è la chiave per consentire finalmente ai Chromebook di colmare il divario di app sempre più ridotto che esiste tra esso e Windows, Mac e Linux. Pensare che l'hyper-threading possa essere permanentemente nerfato è nel migliore dei casi sfortunato. Per fortuna, l'ultimo commento della segnalazione di bug dà un barlume di speranza poiché lo sviluppatore assegnato ha dichiarato che stanno ancora discutendo della questione. Se desideri seguire l'avanzamento di questa segnalazione di bug, puoi farlo qui .