I bug della CPU Spectre e Meltdown influenzano AMD oltre a Intel?

4

Se un server o un PC sta eseguendo CPU AMD, questi saranno interessati dai bug di Spectre e / o Meltdown che stanno attualmente effettuando i chip Intel?

Perché o perché no?

Che cosa influenza l'uno e non l'altro? In che modo l'architettura ha un ruolo?

    
posta DCIndieDev 04.01.2018 - 19:31
fonte

3 risposte

7

Lo spettro funziona facendo sì che la CPU esegua speculativamente il codice selezionato dall'aggressore nel contesto del processo di destinazione. Lo fa facendo in modo che il predittore di ramo indovini in modo errato in che modo andrà una prossima istruzione di ramo, quindi cerca gli effetti collaterali del codice la cui esecuzione è stata scartata. Qualsiasi CPU che esegue l'esecuzione speculativa è vulnerabile a Spectre, sebbene se il predittore di branca sia abbastanza primitivo (ad esempio la previsione del "sempre prendere il ramo") o non supporti la previsione di rami indiretti, Spectre è molto più difficile da utilizzare.

Meltdown funziona leggendo in modo speculativo la memoria protetta. Su Intel, lo stato di protezione della memoria non viene controllato finché la CPU non decide che sì, il ramo "read protected memory" del percorso di esecuzione è quello corretto. Nel frattempo, si sono verificati effetti collaterali osservabili. AMD afferma che le loro CPU controllano lo stato della protezione in precedenza e non sono interessati , e gli autori di Il documento di fusione ha dichiarato che non erano in grado di far funzionare l'attacco su ARM .

    
risposta data 04.01.2018 - 20:29
fonte
1

Innanzitutto, Meltdown interessa solo le CPU Intel. È un exploit relativamente semplice che riguarda tutte le CPU Intel con esecuzione fuori servizio, che è la maggior parte di tutto dal 1997 ad eccezione di alcune CPU Atom.

Riguardo a Spectre, c'è ancora molta confusione là fuori su quali tipi di CPU ne sono influenzati. C'è un articolo su tenfourfox su PowerPC dove è stato stabilito che alcuni vecchi chip PowerPC come il 7447 non hanno abbastanza esecuzione fuori ordine per essere vulnerabili a Spectre. Suppongo che anche le vecchie CPU AMD, come le architetture K6 o K7, potrebbero non avere abbastanza capacità speculative (fuori servizio) da essere influenzate.

Per almeno una variazione di Spectra, due istruzioni devono essere eseguite in modo speculativo. Il primo è un accesso di memoria a una posizione che può essere al di fuori di ciò a cui il programma è autorizzato ad accedere, e quindi la seconda è un'istruzione di caricamento della memoria dipendente che utilizza i dati caricati dalla prima istruzione come indirizzo. Ciò richiede che due istruzioni siano complete tutte in anticipo. Facendo ciò, le tracce dell'indirizzo di quella seconda lettura di memoria che era basata su dati illegalmente accessibili dalla prima lettura di memoria sono lasciati nella cache e possono essere estratti lentamente usando una sorta di metodo di cronometraggio di prova ed errore. L'istruzione di accesso alla memoria illegale deve essere eseguita dopo un ramo che la CPU non prevede in modo corretto, altrimenti il programma si arresterebbe in modo anomalo quando l'istruzione viene effettivamente eseguita. Quando la CPU si dirama in un altro modo rispetto a quanto previsto, scarica semplicemente le istruzioni eseguite in modo speculativo e continua, ma la cache rimane influenzata dall'accesso alla memoria causato da quelle istruzioni.

Non sono un esperto su questo, quindi ci sono probabilmente alcuni errori tecnici ma il quadro generale di ciò che sta accadendo dovrebbe essere corretto.

    
risposta data 20.01.2018 - 04:14
fonte
0

Poco: Sì, ma non solo!

What makes it affect one and not the other? How does architecture play a role?

Tutto ciò riguarda alcune caratteristiche concettuali molto vecchie della CPU! (1a pubblicazione ho trovato su un'esecuzione speculativa : Schemi dinamici per l'esecuzione speculativa del codice è datato in 1998 ! 20 anni!

I costruttori di CPU usano molte funzioni di miglioramento , che sono documentate, ma che si sono evolute (principalmente per iniziativa del costruttore) ... Di volta in volta, con ulteriori miglioramenti, alcune funzionalità potrebbero diventare bacate!

Dato che ogni costruttore implementa ciascuna funzione concettuale a modo suo, mediante progettazione fisica, mantenendo segreti sui dettagli, da 20 anni ... Esecuzione di spettacoli ... In fine, per prestazioni comparabili, debolezze simili appaiono in ogni ramo di sviluppo ...

Quindi il crollo che sembra essere un caso speciale di spettro funzionerà sotto l'implementazione somes , ma non su altri em> ... Ma sono sicuro che appariranno nuovi exploit , che girano su altri e non su somes ...

Ma questo è solo la mia specifica !
; -)

Qualche lettura

Un semplice ricerca di Spettro ARM Intel NVidia su qualsiasi motore di ricerca, ti permetterà di trovare alcune pubblicazioni interessanti:

E altri ...

    
risposta data 20.01.2018 - 12:00
fonte

Leggi altre domande sui tag