In che modo i difetti di Meltdown e Spectre influenzano il mio PC?
I processori per computer hanno un enorme difetto di progettazione e tutti si stanno adoperando per risolverlo. Solo una delle due falle di sicurezza può essere riparata e le patch renderanno i PC (e Mac) con chip Intel più lenti.
Aggiornare: Una versione precedente di questo articolo affermava che questo difetto era specifico dei chip Intel, ma non è tutta la storia. Ci sono infatti Due principali vulnerabilità qui, ora soprannominate "Meltdown" e "Spectre". Meltdown è in gran parte specifico per i processori Intel e riguarda tutti i modelli di CPU degli ultimi decenni. Abbiamo aggiunto ulteriori informazioni su questi due bug e sulla differenza tra questi e l'articolo di seguito.
Che cosa sono Meltdown e Spectre?
Spectre è un "difetto di progettazione fondamentale" che esiste in ogni CPU sul mercato, inclusi quelli di AMD e ARM e Intel. Al momento non è prevista alcuna correzione software, e probabilmente richiederà una riprogettazione hardware completa per le CPU a tutti i livelli, anche se per fortuna è abbastanza difficile sfruttarla, secondo i ricercatori della sicurezza. È possibile proteggersi da attacchi Specter specifici e gli sviluppatori ci stanno lavorando, ma la soluzione migliore sarà una riprogettazione hardware della CPU per tutti i chip futuri.
Meltdown rende fondamentalmente peggiore lo spettro rendendo molto più facile l'exploit del difetto sottostante. È essenzialmente un difetto aggiuntivo che riguarda tutti i processori Intel realizzati negli ultimi decenni. Incide anche su alcuni processori ARM Cortex-A di fascia alta, ma non ha alcun effetto sui chip AMD. Meltdown viene rattoppato oggi nei sistemi operativi.
Ma come funzionano questi difetti?
I programmi in esecuzione sul tuo computer vengono eseguiti con diversi livelli di autorizzazioni di sicurezza. Il kernel del sistema operativo, ad esempio il kernel di Windows o il kernel di Linux, ha il più alto livello di permessi perché esegue lo spettacolo. I programmi desktop hanno meno permessi e il kernel limita ciò che possono fare. Il kernel utilizza le caratteristiche hardware del processore per rinforzare alcune di queste restrizioni, perché è più veloce farlo con l'hardware che con il software.
Il problema qui è con "esecuzione speculativa". Per motivi di prestazioni, le moderne CPU eseguono automaticamente le istruzioni che pensano di dover eseguire e, in caso contrario, possono semplicemente riavvolgere e riportare il sistema allo stato precedente. Tuttavia, un difetto in Intel e alcuni processori ARM consente ai processi di eseguire operazioni che normalmente non sarebbero in grado di eseguire, poiché l'operazione viene eseguita prima che il processore si preoccupi di controllare se dovrebbe avere il permesso di eseguirlo o meno. Questo è il bug di Meltdown.
Il problema principale con Meltdown e Spectre si trova nella cache della CPU. Un'applicazione può tentare di leggere la memoria e, se legge qualcosa nella cache, l'operazione verrà completata più velocemente. Se tenta di leggere qualcosa non nella cache, si completerà più lentamente. L'applicazione può vedere se qualcosa si completa velocemente o lentamente e, mentre tutto il resto durante l'esecuzione speculativa viene ripulito e cancellato, il tempo necessario per eseguire l'operazione non può essere nascosto. Può quindi utilizzare queste informazioni per costruire una mappa di qualsiasi cosa nella memoria del computer, un bit alla volta. Il caching accelera le cose, ma questi attacchi sfruttano questa ottimizzazione e la trasformano in un difetto di sicurezza.
Pertanto, nel peggiore dei casi, il codice JavaScript in esecuzione nel browser Web potrebbe effettivamente leggere la memoria a cui non dovrebbe avere accesso, come ad esempio le informazioni private contenute in altre applicazioni. I fornitori di servizi cloud come Microsoft Azure o Amazon Web Services, che ospitano diversi software aziendali in diverse macchine virtuali sullo stesso hardware, sono particolarmente a rischio. In teoria, il software di una persona potrebbe spiare le cose nella macchina virtuale di un'altra azienda. È una rottura nella separazione tra le applicazioni. Le patch per Meltdown significano che questo attacco non sarà facile da ottenere. Sfortunatamente, mettendo questi controlli extra in posizione significa che alcune operazioni saranno più lente sull'hardware interessato.
Gli sviluppatori stanno lavorando su patch software che rendono gli attacchi di Spectre più difficili da eseguire. Ad esempio, la nuova funzionalità di isolamento dei siti di Google di Google contribuisce a proteggerli e Mozilla ha già apportato alcune modifiche rapide a Firefox. Microsoft ha anche apportato alcune modifiche per aiutare a proteggere Edge e Internet Explorer nel Windows Update che è ora disponibile.
Se sei interessato ai dettagli di basso livello di Meltdown e Spectre, leggi la spiegazione tecnica del team di Project Zero di Google, che ha scoperto i bug l'anno scorso. Ulteriori informazioni sono disponibili anche sul sito Web MeltdownAttack.com.
Quanto più lento sarà il mio PC?
Aggiornare: Il 9 gennaio Microsoft ha rilasciato alcune informazioni sulle prestazioni della patch. Secondo Microsoft, Windows 10 su PC di epoca 2016 con Skylake, Kabylake o i nuovi processori Intel mostrano "rallentamenti a una cifra" che la maggior parte degli utenti non dovrebbe notare. Windows 10 su PC di epoca 2015 con Haswell o una CPU precedente potrebbero rilevare rallentamenti maggiori e Microsoft "si aspetta che alcuni utenti notino una diminuzione delle prestazioni del sistema".
Gli utenti di Windows 7 e 8 non sono così fortunati. Microsoft dice che "si aspetta che la maggior parte degli utenti notino una diminuzione delle prestazioni del sistema" quando si utilizza Windows 7 o 8 su un PC di epoca 2015 con Haswell o una CPU precedente. Windows 7 e 8 non utilizzano solo CPU meno recenti che non sono in grado di eseguire la patch in modo efficiente, ma "Windows 7 e Windows 8 hanno più transizioni del kernel utente a causa di decisioni di progettazione legacy, come il rendering di font nel kernel" e anche questo rallenta.
Microsoft prevede di eseguire i propri benchmark e rilasciare ulteriori dettagli in futuro, ma non sappiamo esattamente in quale misura la patch di Meltdown influenzi ancora l'uso quotidiano dei PC. Dave Hansen, uno sviluppatore del kernel Linux che lavora in Intel, ha originariamente scritto che le modifiche apportate al kernel di Linux influenzeranno tutto. Secondo lui, la maggior parte dei carichi di lavoro registra un rallentamento a una cifra, con un rallentamento di circa il 5% tipico. Lo scenario peggiore prevedeva un rallentamento del 30% su un test di rete, quindi varia da un'attività all'altra. Questi sono numeri per Linux, tuttavia, quindi non si applicano necessariamente a Windows. La soluzione rallenta le chiamate di sistema, quindi le attività con molte chiamate di sistema, come la compilazione di software e l'esecuzione di macchine virtuali, rallenteranno probabilmente di più. Ma ogni pezzo di software utilizza alcune chiamate di sistema.
Aggiornare: A partire dal 5 gennaio, TechSpot e Guru3D hanno eseguito alcuni benchmark per Windows. Entrambi i siti hanno concluso che gli utenti desktop non hanno molto di cui preoccuparsi. Alcuni giochi per PC vedono un piccolo rallentamento del 2% con la patch, che è all'interno del margine di errore, mentre altri sembrano funzionare in modo identico. Il rendering 3D, il software di produttività, gli strumenti di compressione dei file e le utilità di crittografia non sono interessati. Tuttavia, i benchmark di lettura e scrittura dei file mostrano differenze evidenti. La velocità di lettura rapida di una grande quantità di piccoli file è scesa del 23% circa nei benchmark di Techspot e Guru3D ha trovato qualcosa di simile. D'altra parte, Tom's Hardware ha riscontrato solo un calo medio del 3,21% delle prestazioni con un test di archiviazione delle applicazioni consumer e ha sostenuto che i "benchmark sintetici" che mostrano cadute di velocità più significative non rappresentano l'utilizzo del mondo reale.
I computer con processore Intel Haswell o più recente dispongono di una funzionalità PCID (Process-Context Identifiers) che aiuta la patch a funzionare correttamente. I computer con CPU Intel meno recenti potrebbero vedere una maggiore diminuzione della velocità. I benchmark sopra riportati sono stati eseguiti su moderne CPU Intel con PCID, quindi non è chiaro in che modo funzioneranno le vecchie CPU Intel.
Intel dice che il rallentamento "non dovrebbe essere significativo" per l'utente medio del computer, e finora sembra vero, ma alcune operazioni vedono un rallentamento. Per il cloud, Google, Amazon e Microsoft hanno sostanzialmente affermato la stessa cosa: per la maggior parte dei carichi di lavoro, non hanno riscontrato un impatto significativo sulle prestazioni dopo aver implementato le patch. Microsoft ha affermato che "un piccolo gruppo di clienti [Microsoft Azure] potrebbe avere qualche impatto sulle prestazioni di rete". Queste dichiarazioni lasciano spazio a carichi di lavoro per vedere rallentamenti significativi. Epic Games ha accusato la patch Meltdown di aver causato problemi con il suo gioco Fortnite e ha pubblicato un grafico che mostra un enorme aumento dell'utilizzo della CPU sui suoi server cloud dopo l'installazione della patch.
Ma una cosa è chiaro: con questa patch il tuo computer non diventerà sicuramente più veloce. Se si dispone di una CPU Intel, può essere più lento, anche se è di piccole dimensioni.
Cosa devo fare?
Alcuni aggiornamenti per risolvere il problema di Meltdown sono già disponibili. Microsoft ha rilasciato un aggiornamento di emergenza alle versioni supportate di Windows tramite Windows Update il 3 gennaio 2018, ma non è ancora stato installato su tutti i PC. L'aggiornamento di Windows che risolve il tracollo e aggiunge alcune protezioni contro Spectre è denominato KB4056892.
Apple ha già corretto il problema con macOS 10.13.2, rilasciato il 6 dicembre 2017. I Chromebook con Chrome OS 63, rilasciato a metà dicembre, sono già protetti. Le patch sono disponibili anche per il kernel Linux.
Inoltre, controlla se il tuo PC ha aggiornamenti BIOS / UEFI disponibili. Mentre l'aggiornamento di Windows ha risolto il problema di fusione, sono necessari aggiornamenti del microcodice CPU forniti da Intel tramite un aggiornamento UEFI o BIOS per abilitare completamente la protezione da uno degli attacchi di Spectre. Dovresti anche aggiornare il tuo browser web, come al solito, dato che i browser stanno aggiungendo alcune protezioni contro Spectre.
Aggiornare: Il 22 gennaio, Intel ha annunciato che gli utenti dovrebbero interrompere la distribuzione degli aggiornamenti del firmware UEFI iniziali a causa di "riavvii più elevati del previsto e altri comportamenti imprevedibili del sistema". Intel ha affermato che è necessario attendere una patch finale del firmware UEFI che sia stata testata correttamente e non causi problemi di sistema. A partire dal 20 febbraio, Intel ha rilasciato aggiornamenti microcodice stabili per Skylake, Kaby Lake e Coffee Lake, ovvero le piattaforme Intel Core di sesta, settima e ottava generazione. I produttori di PC dovrebbero iniziare a lanciare presto nuovi aggiornamenti del firmware UEFI.
Mentre un colpo di performance suona male, raccomandiamo vivamente di installare queste patch comunque. Gli sviluppatori del sistema operativo non apporterebbero modifiche così grandi a meno che non si trattasse di un bug molto grave con gravi conseguenze.
La patch del software in questione risolverà il difetto Meltdown e alcune patch software possono aiutare a mitigare il difetto Spectre. Probabilmente Spectre continuerà a interessare tutte le moderne CPU, almeno in qualche modo, fino a quando non verrà rilasciato un nuovo hardware per risolverlo. Non è chiaro come i produttori potranno gestirlo, ma nel frattempo, tutto ciò che puoi fare è continuare a utilizzare il tuo computer e prendere confidenza sul fatto che Spect è più difficile da sfruttare e un po 'più preoccupante per il cloud computing rispetto agli utenti finali con PC desktop.
Immagine di credito: Intel, VLADGRIN / Shutterstock.com.