I processori per computer hanno un enorme difetto di progettazione e tutti stanno cercando di risolverlo. È possibile correggere solo uno dei due buchi di sicurezza e le patch renderanno più lenti i PC (e Mac) con chip Intel.
Aggiornare : Una versione precedente di questo articolo affermava che questo difetto era specifico per i 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 interessa tutti i modelli di CPU degli ultimi decenni. Abbiamo aggiunto ulteriori informazioni su questi due bug e sulla differenza tra loro nell'articolo seguente.
Cosa sono Meltdown e Spectre?
Spectre è un "difetto di progettazione fondamentale" che esiste in ogni CPU sul mercato, comprese quelle di AMD, ARM e Intel. Al momento non è disponibile alcuna correzione software e probabilmente richiederà una riprogettazione completa dell'hardware per le CPU su tutta la linea, sebbene per fortuna sia abbastanza difficile da sfruttare, secondo i ricercatori sulla sicurezza. È possibile proteggersi da specifici attacchi Spectre e gli sviluppatori ci stanno lavorando, ma la soluzione migliore sarà una riprogettazione dell'hardware della CPU per tutti i chip futuri.
Fondamentalmente Meltdown peggiora Spectre rendendo il difetto sottostante molto più facile da sfruttare. È essenzialmente un difetto aggiuntivo che colpisce tutti i processori Intel realizzati negli ultimi decenni. Colpisce anche alcuni processori ARM Cortex-A di fascia alta, ma non influisce sui chip AMD. Meltdown viene aggiornato nei sistemi operativi oggi.
Ma come funzionano questi difetti?
RELAZIONATO: Cos'è il kernel Linux e cosa fa?
I programmi in esecuzione sul computer vengono eseguiti con diversi livelli di autorizzazioni di sicurezza. Il kernel del sistema operativo —Il kernel di Windows o il kernel di Linux, ad esempio, ha il livello più alto di autorizzazioni perché esegue lo spettacolo. I programmi desktop hanno meno autorizzazioni e il kernel limita ciò che possono fare. Il kernel utilizza le funzionalità hardware del processore per aiutare a far rispettare alcune di queste restrizioni, perché è più veloce farlo con l'hardware che con il software.
Il problema qui è con "l'esecuzione speculativa". Per motivi di prestazioni, le CPU moderne 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 in 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 verificare se deve avere il permesso di eseguirlo o meno. Questo è il bug di Meltdown.
Il problema principale con Meltdown e Spectre risiede 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 prova a leggere qualcosa che non è nella cache, verrà completato più lentamente. L'applicazione può vedere se qualcosa viene completato 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 velocizza le cose, ma questi attacchi sfruttano questa ottimizzazione e la trasformano in un difetto di sicurezza.
RELAZIONATO: Che cos'è Microsoft Azure, comunque?
Quindi, nella peggiore delle ipotesi, il codice JavaScript in esecuzione nel tuo browser web potrebbe leggere efficacemente la memoria a cui non dovrebbe avere accesso, come le informazioni private conservate in altre applicazioni. Fornitori di cloud come Microsoft Azure o Amazon Web Services , che ospitano più software di società diverse in macchine virtuali diverse sullo stesso hardware sono particolarmente a rischio. Il software di una persona potrebbe, in teoria, spiare 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à così facile da portare a termine. Sfortunatamente, mettere in atto questi controlli aggiuntivi significa che alcune operazioni saranno più lente sull'hardware interessato.
Gli sviluppatori stanno lavorando su patch software che rendono gli attacchi Spectre più difficili da eseguire. Ad esempio, il nuovo Chrome di Google Funzionalità di isolamento del sito aiuta a proteggersi da questo e Mozilla ne ha già fatti alcuni modifiche rapide a Firefox . Microsoft ha anche apportato alcune modifiche per proteggere Edge e Internet Explorer nell'aggiornamento di Windows ora disponibile.
Se sei interessato ai dettagli di basso livello sia su Meltdown che su Spectre, leggi la spiegazione tecnica da Project Zero di Google team, che ha scoperto gli insetti l'anno scorso. Ulteriori informazioni sono disponibili anche sul MeltdownAttack.com sito web.
Quanto sarà più lento il mio PC?
Aggiornare : Il 9 gennaio Microsoft ha rilasciato alcuni file informazioni sulle prestazioni della patch . Secondo Microsoft, Windows 10 sui PC dell'era 2016 con Skylake, Kabylake o processori Intel più recenti mostra "rallentamenti a una cifra" che la maggior parte degli utenti non dovrebbe notare. Windows 10 sui PC dell'era 2015 con Haswell o una CPU precedente potrebbe subire rallentamenti maggiori e Microsoft "si aspetta che alcuni utenti noteranno una diminuzione delle prestazioni del sistema".
Gli utenti di Windows 7 e 8 non sono così fortunati. Microsoft afferma di "aspettarsi che la maggior parte degli utenti noti una diminuzione delle prestazioni del sistema" quando utilizza Windows 7 o 8 su un PC dell'era 2015 con Haswell o una CPU precedente. Non solo Windows 7 e 8 utilizzano CPU meno recenti che non possono eseguire la patch in modo efficiente, ma "Windows 7 e Windows 8 hanno più transizioni utente-kernel a causa di decisioni di progettazione legacy, come il rendering di tutti i font che avviene nel kernel" e anche questo rallenta le cose.
Microsoft prevede di eseguire i propri benchmark e rilasciare ulteriori dettagli in futuro, ma non sappiamo ancora esattamente quanto la patch di Meltdown influenzerà l'uso quotidiano del PC. Dave Hansen, uno sviluppatore di kernel Linux che lavora presso Intel, ha scritto originariamente che le modifiche apportate al kernel Linux influenzeranno tutto. Secondo lui, la maggior parte dei carichi di lavoro sta assistendo a un rallentamento di una sola cifra, con approssimativamente 5% di rallentamento essere tipico. Lo scenario peggiore è stato un rallentamento del 30% in un test di rete, quindi varia da attività a attività. Questi sono numeri per Linux, tuttavia, quindi non si applicano necessariamente a Windows. La correzione rallenta le chiamate di sistema, quindi le attività con molte chiamate di sistema, come la compilazione di software e l'esecuzione di macchine virtuali, probabilmente rallenteranno maggiormente. Ma ogni parte di software utilizza alcune chiamate di sistema.
Aggiornare : 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 rientra nel 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 sembrano inalterati. Tuttavia, i benchmark di lettura e scrittura di file mostrano differenze evidenti. La velocità di lettura rapida di una grande quantità di piccoli file è scesa di circa il 23% nei benchmark di Techspot e Guru3D ha trovato qualcosa di simile. D'altra parte, Tom's Hardware ha riscontrato solo un calo medio delle prestazioni del 3,21% con un test di archiviazione delle applicazioni dei consumatori e ha affermato che i "benchmark sintetici" che mostrano cali più significativi della velocità non rappresentano l'utilizzo nel mondo reale.
I computer con un processore Intel Haswell o più recente dispongono di una funzione PCID (Process-Context Identifiers) che aiuterà la patch a funzionare bene. I computer con CPU Intel meno recenti potrebbero riscontrare una maggiore diminuzione della velocità. I benchmark di cui sopra sono stati eseguiti su moderne CPU Intel con PCID, quindi non è chiaro come funzioneranno le vecchie CPU Intel.
Intel afferma che il rallentamento "non dovrebbe essere significativo" per l'utente medio di computer, e finora sembra vero, ma alcune operazioni vedono un rallentamento. Per il cloud, Google , Amazon , e Microsoft fondamentalmente tutti dicevano la stessa cosa: per la maggior parte dei carichi di lavoro, non hanno visto un impatto significativo sulle prestazioni dopo aver implementato le patch. Microsoft ha affermato che "un piccolo gruppo di [Microsoft Azure] clienti potrebbe avere un impatto sulle prestazioni di rete". Queste dichiarazioni lasciano spazio ad alcuni carichi di lavoro per vedere rallentamenti significativi. Giochi epici ha incolpato la patch Meltdown per aver causato problemi al server 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: il tuo computer sicuramente non sta diventando più veloce con questa patch. Se hai una CPU Intel, può solo rallentare, anche se è di poco.
Cosa devo fare?
RELAZIONATO: Come verificare se il tuo PC o telefono è protetto da Meltdown e Spectre
Alcuni aggiornamenti per risolvere il problema 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 disponibile su tutti i PC. Viene nominato Windows Update che risolve il Meltdown e aggiunge alcune protezioni contro Spectre CP 4056892 .
Già Apple rattoppato 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 dispone di aggiornamenti BIOS / UEFI disponibili . Mentre l'aggiornamento di Windows ha risolto il problema di Meltdown, gli aggiornamenti del microcodice della CPU da Intel forniti tramite un aggiornamento UEFI o BIOS sono necessari per abilitare completamente la protezione contro uno degli attacchi Spectre. Dovresti anche aggiornare il tuo browser web, come al solito, poiché i browser stanno aggiungendo alcune protezioni anche contro Spectre.
Aggiornare : Il 22 gennaio Intel ha annunciato che gli utenti dovrebbero interrompere la distribuzione degli aggiornamenti iniziali del firmware UEFI a causa di "riavvii superiori al previsto e altri comportamenti imprevedibili del sistema". Intel ha detto che dovresti aspettare una patch finale del firmware UEFI che sia stata adeguatamente testata e non causerà problemi di sistema. A partire dal 20 febbraio, Intel ha rilasciato aggiornamenti stabili del microcodice 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 distribuire presto nuovi aggiornamenti del firmware UEFI.
Anche se un successo di performance suona male, consigliamo vivamente di installare comunque queste patch. Gli sviluppatori di sistemi operativi non apporterebbero modifiche così enormi a meno che non si trattasse di un bug molto grave con gravi conseguenze.
La patch software in questione risolverà il difetto di Meltdown e alcune patch software possono aiutare a mitigare il difetto Spectre. Ma Spectre continuerà probabilmente a influenzare tutte le CPU moderne, almeno in qualche forma, finché non verrà rilasciato nuovo hardware per risolverlo. Non è chiaro come i produttori gestiranno questa situazione, ma nel frattempo tutto ciò che puoi fare è continuare a utilizzare il tuo computer e consolarti del fatto che Spectre è più difficile da sfruttare e un po 'più preoccupante per il cloud computing rispetto agli utenti finali con PC desktop.