Benvenuti su Tech-Hardware

Partiamo dal principio.
Tutto ha inizio a giugno da una segnalazione del Team Project Zero di Google da parte di Jann Horn, il quale afferma di aver trovato gravi vulnerabilità nelle CPU causate dalla Speculation Execution, ovvero da un ottimizzazione degli attuali microprocessori (in realtà già in uso da molti anni e per questo), utilizzata per la predizione delle diramazioni.

Andando pi√Ļ nello specifico, un istruzione che causa un salto (o una diramazione)¬†detta istruzione di salto, pu√≤ essere svolta o non svolta: se il salto non viene effettuato, il normale flusso sequenziale delle istruzioni non viene cambiato e l’istruzione seguente da caricare nella¬†coda di prefetch¬†√® quella immediatamente dopo l’istruzione di salto.
Se il salto viene eseguito, l’istruzione caricata si trova in una area di memoria indicata esplicitamente o non esplicitamente nell’istruzione di salto.
Un microprocessore con l’esecuzione speculativa esegue alcune¬†attivit√† che potrebbero non essere effettivamente necessarie.
L’idea principale √® di fare un lavoro¬†prima¬†che sia noto se quel lavoro sar√† necessario, in modo da prevenire un ritardo che dovrebbe essere sostenuto facendo il lavoro¬†dopo¬†che √® noto che √® necessario.¬†Se si scopre che il lavoro non era necessario, la maggior parte delle modifiche apportate dal lavoro vengono ripristinate e i risultati vengono ignorati.
L’obiettivo √® fornire pi√Ļ¬†concorrenza¬†se¬†sono disponibili¬†risorse¬†extra date dalla pipeline dati.
(In informatica per concorrenza si intende quando pi√Ļ processi o sotto-processi sono in esecuzione nello stesso istante, mentre la pipeline dati √® una tecnologia implementata nei processori per aumentare la quantit√† di istruzioni eseguite in un certo lasso di tempo , tramite la parallelizzazione di flussi di elaborazione di pi√Ļ istruzioni)
Questo approccio viene utilizzato in molte aree, tra cui la predizione delle diramazioni in processori con pipeline dati, prefetching di memoria e file e il controllo ottimistico della concorrenza nei sistemi di database.

I difetti, che sono stati resi di pubblico dominio per la prima volta dal sito di notizie tech¬†The Register¬†il 2 gennaio 2018, riguardano i chip forniti da tutti e tre i principali produttori;¬†Intel, AMD e ARM.¬†Google aveva inizialmente pianificato una divulgazione coordinata dell’intero rapporto di Project Zero prevista per marted√¨ 9 gennaio 2018, data in cui sarebbero state rilasciate le patch per la maggior parte dei sistemi operativi.
L’anticipato rilascio di questa notizia non ha quindi permesso ad alcuni sistemi operativi come Ubuntu, Windows 7/8 ed altri di ricevere l’aggiornamento prima della diffusione della notizia a differenza di Windows 10 (KB4056892) e MacOS (10.13.2).
Sembra inoltre che questo difetto colpisca anche i processori Qualcomm.

Leggi anche
Annunciato il Core i3-8130U per dispositivi 2 in 1!

La differenza tra i difetti è la condizione non consentita che viene ignorata e il mezzo per farlo:

  • Meltdown, l’aggressore causa un’esecuzione speculativa per violare il limite di protezione tra lo spazio di memoria di un programma utente e una pagina del kernel protetta, facendo eseguire l’esecuzione speculativa a un indirizzo nella cache.¬†I moderni processori Intel eseguiranno tale codice, quindi recupereranno e memorizzeranno i risultati speculativi, lasciandoli nella cache.¬†Successivamente il codice di sfruttamento pu√≤ misurare ci√≤ che √® accaduto, sia dopo un errore, sia dopo aver preparato il codice originale come parte di una transazione di memoria che annuller√† il problema.¬†Alcuni processori, come AMD, sono ritenuti immuni da questo, poich√© eseguono il test di accessibilit√† della pagina¬†prima di¬†eseguire la lettura speculativa, quindi Meltdown sembra essere un esclusiva Intel.
  • ¬†Spectre (2 Varianti) l’aggressore non fa affidamento su tali meccanismi di errore e piuttosto indirizza un altro processo utente in un modo pi√Ļ generale.¬†Spectre si basa sulla¬†predizione delle diramazioni¬†per eseguire speculativamente un recupero da una cella di matrice, anche se la diramazione precedente ha notato che il recupero sarebbe andato oltre la fine dell’array.¬†Inizia con la predizioni della diramazione formate dal processore per effettuare una predizione errata, attraverso un limite del processo, e quindi manipola il processo di destinazione nell’esecuzione di parte del proprio codice che effettivamente tocca il ramo speculativo.¬†Ancora una volta, ci√≤ che √® stato toccato √® trapelato tramite un canale laterale temporizzato della cache.

Si pensa che solo i browser che eseguono la compilazione just-in-time (JIT) di JavaScript siano vulnerabili contro questo modo di utilizzare Spectre. Tuttavia, tutti i browser moderni, tra cui Chrome, Firefox, Safari e Edge utilizzano un motore JIT.
Inoltre, Spectre può anche essere usato per sfruttare le predizioni (errate) delle diramazioni in modi diversi, anche se non è coinvolto alcun linguaggio di scripting.

√ą importante aggiornare i sistemi operativi per proteggersi dai malintenzionati che proprio sfruttando queste speculative execution possono avere accesso alla memoria di sistema, dove sono custoditi dati come¬†password,¬†chiavi crittografiche¬†e altri dati sensibili. Gli obiettivi sensibili di questi bug sono proprio server e cloud (anche quelli governativi), che stanno correndo ai ripari.
A fronte di questo update c’√® per√≤ da confrontarsi con il calo di prestazioni, all’inizio √® stato dichiarato un calo dal 5% al 30% che ha reso restii molti all’aggiornamento sopratutto i gamers, cos√¨ la maggior parte degli utenti e delle testate ha gi√† iniziato a fare test sulle prestazioni pre e post patch.
Ad ora sembra che il calo sia in realt√† molto pi√Ļ basso per l’utente medio tra lo 0% e il 5% che sar√† probabilmente mitigato maggiormente nel tempo.
Per i gamers pi√Ļ accaniti non c’√® da preoccuparsi, i test parlano di una riduzione dal 1% al 3%.

Leggi anche
Intel Z370 potrebbe supportare le CPU Kaby Lake!
Fonte Benchmark:
Guru3D Test
TechSpot Test

Benchmark
Benchmark 2
Benchmark 3

 

LASCIA UN COMMENTO

Per favore inserisci il tuo commento!
Per favore inserisci il tuo nome qui