Un bug hardware affligge la memoria virtuale delle CPU Intel

Un bug hardware affligge la memoria virtuale delle CPU Intel

Emergono informazioni di un bug presente nei processori Intel che porta a problemi di sicurezza. Un fix software è in rilascio, ma introduce un tangibile impatto prestazionale

di pubblicata il , alle 08:21 nel canale Processori
IntelCoreXeonAMDEPYC
 
2683 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - info
paranoic03 Gennaio 2018, 13:57 #61
Originariamente inviato da: Saturn
Sono contento anch'io per la carriera di questa signora....ma il fatto che abbia fatto carriera, sia donna e non sia finita in un call-center non mi aiuta per niente se i server/vms che gestisco avranno un sensibile calo delle performances.


Vero, ma volevo spezzare una lancia in favore della povera Intel...
nickname8803 Gennaio 2018, 13:57 #62
Originariamente inviato da: Sandro kensan
Dovrebbero aggiungerla subito questa if then else e non lasciare gli AMD in balia della patch Intel.

Comunque complimenti per la descrizione sulla memoria virtualizzata.

Le disto Linux stando alle dichiarazioni considererà anche AMD come pericolosa inizialmente.
MS potrebbe fare lo stesso se AMD non si farà valere.
paranoic03 Gennaio 2018, 13:58 #63
Originariamente inviato da: WarDuck
Da quello che ho letto velocemente in giro la cosa sembra molto più grave.

Qui si parla di una falla che consentirebbe a programmi che girano in user space di accedere alla memoria kernel space.

Per capire il problema bisogna comprendere come viene gestita la memoria nei sistemi operativi moderni.

Questa viene tipicamente "virtualizzata" dal sistema operativo, ovvero gli indirizzi di memoria fisici della RAM vengono tipicamente mascherati e si utilizzano indirizzi virtuali che alla bisogna vengono tradotti nei corrispondenti fisici.

Per fare un esempio si possono avere due processi che hanno nel proprio spazio di indirizzi lo stesso indirizzo virtuale A, ma che viene tradotto in indirizzi fisici diversi (A->B oppure A->C).

Nei sistemi operativi moderni la memoria viene gestita in gruppi contigui di bytes chiamate pagine (tipicamente si usano pagine da 4096 bytes). Questo perché così facendo è più efficiente effettuare la traduzione degli indirizzi virtuali in indirizzi fisici (basta tradurre il numero di pagina).

Dunque il sistema operativo tiene per ogni processo una tabella (in realtà più di una, ma è per far capire il concetto), detta tabella di paginazione che mappa gli indirizzi virtuali agli indirizzi fisici. La traduzione effettiva degli indirizzi può essere effettuata in software oppure in hardware (MMU). Per velocizzare le traduzioni esiste una cache, detta TLB che tiene le ultime traduzioni virtuale->fisico.
Altrimenti per ogni accesso ad un dato in memoria sarebbero necessari altri accessi in memoria (per scoprire la traduzione dell'indirizzo).
Ogni volta che viene effettuato un cambio di contesto dallo scheduler (quindi cambia il processo in esecuzione) è necessario cambiare le tabelle di paginazione e di conseguenza fare un flush delle cache TLB perché altrimenti il nuovo processo si troverebbe con le vecchie (ed errate) traduzioni.

Per questioni di efficienza in Linux (ma penso anche in altri OS) ogni processo tiene nelle proprie tabelle di paginazione una parte degli indirizzi virtuali associati ad indirizzi fisici del kernel. Questo perché al cambio di modalità (per esempio quando si effettua una chiamata di sistema) il kernel si trova già con le tabelle di paginazione del processo e quindi non è necessario effettuare un flush delle cache TLB.

Ci si affida ai meccanismi di protezione hardware per impedire che il processore in user mode possa accedere a quegli indirizzi. Se questa protezione viene meno tutti i processi potrebbero tendenzialmente accedere alla memoria del kernel.

La patch che stanno sviluppando dovrebbe rimuovere il mapping degli indirizzi del kernel dalle tabelle di paginazione dei processi, quindi adesso quando viene effettuata una chiamata di sistema sarebbe necessario cambiare tabelle di paginazione e di conseguenza effettuare un flush delle cache TLB, motivo per cui si perde molto in prestazioni.

Qualche link:
https://en.wikipedia.org/wiki/Kerne...table_isolation
https://lwn.net/Articles/738975/


Ottima e dettagliata descrizione. Bravo
bagnino8903 Gennaio 2018, 14:07 #64
Originariamente inviato da: paranoic
Class action verso chi? Intel o Microsoft?
Il tablet in questione costa un enormità....


Intel ovviamente. Non parlavo di me eh... Ma negli USA sono certo che faranno qualcosa.

Riguardo il costo, io l'ho preso in offerta, ma sta di fatto che non si può accettare una cosa simile. Ho tempo fino a fine gennaio per il reso, se la situazione non si chiarisce lo rendo.

Non oso immaginare chi ha preso i nuovi Coffee Lake, a prezzi tutt'altro che vantaggiosi...

Originariamente inviato da: TheDarkAngel
A dispetto del caso apple dove il dolo è certo ed evidente ad ogni normodotato, qui per quanto intel manchi di qualsiasi simpatia, non vedo responsabilità perseguibili poi le vie dei tribunali americani sono infinite. Certo che su dispositivi mobili l'ammanco del 10-20-30% è molto significativo chissà se l'architettura atom ( attuale apollo lake ?) ne è affetta, stavo giusto comprando un nuc stamattina .


Bah, che amarezza. Spero che almeno ci siano risarcimenti per gli utenti/aziende.
Sandro kensan03 Gennaio 2018, 14:07 #65
Originariamente inviato da: paranoic
Ottima e dettagliata descrizione. Bravo


Vero? molto carina e semplice da capire.
Mister D03 Gennaio 2018, 14:08 #66
Originariamente inviato da: nickname88
Le disto Linux stando alle dichiarazioni considererà anche AMD come pericolosa inizialmente.


Sì ma solo per poco visto che c'è già la patch corretta e che giustamente finirà in rilascio per tutti fra pochi giorni:
https://lkml.org/lkml/2017/12/27/2

Originariamente inviato da: nickname88
MS potrebbe fare lo stesso se AMD non si farà valere.


Non penso proprio che MS faccia una cavolata del genere dopo che ha comprato tante belle cpu epyc:
https://pro.hwupgrade.it/news/serve...loud_72796.html
https://www.anandtech.com/show/1211...2core-epyc-cpus
https://www.forbes.com/sites/tirias...d/#7fc21fb453f5

Inoltre sarebbe grave ed ingiusto penalizzare cpu che non sono esenti da questo bug di sicurezza.
Saturn03 Gennaio 2018, 14:13 #67
Originariamente inviato da: paranoic
Vero, ma volevo spezzare una lancia in favore della povera Intel...




8x1000 subito !










Scherzavi vero ?
nickname8803 Gennaio 2018, 14:20 #68
Originariamente inviato da: bagnino89
Intel ovviamente. Non parlavo di me eh... Ma negli USA sono certo che faranno qualcosa.
Class Action per cosa ? Intel non ha deliberatamente agito in modo scorretto, la vulnerabilità è un stata un incidente, non l'han mica voluta. Inoltre continuano a rispettare tutte le specifiche fisiche dichiarate.

La Class Action la possono fare se dovessero scoprire che Intel l'ha nascosta nel tempo, ma se così fosse avrebbe posto rimedio.

Per il resto è giusto che paghi le conseguenze allo stesso modo in cui le ha pagate AMD per la incapacità negli anni passati, ovvero nel campo delle vendite.
MiKeLezZ03 Gennaio 2018, 14:21 #69
Originariamente inviato da: nickname88
Per quelli che non virtualizzano il problema non esiste.
ignoranza informatica livello 100

il problema è relativo alla gestione della memoria virtuale

e la memoria virtuale è utilizzata da qualsiasi programma in esecuzione
bagnino8903 Gennaio 2018, 14:22 #70
Originariamente inviato da: nickname88
Class Action per cosa ? Intel non ha deliberatamente agito in modo scorretto, la vulnerabilità è un stata un incidente, non l'han mica voluta.

La Class Action la possono fare se dovessero scoprire che Intel l'ha nascosta nel tempo, ma se così fosse avrebbe posto rimedio.


La class action la faranno se Intel non risarcirà, in qualche modo, aziende ed utenti che si vedono un downgrade assolutamente non trascurabile.

Devi effettuare il login per poter commentare
Se non sei ancora registrato, puoi farlo attraverso questo form.
Se sei già registrato e loggato nel sito, puoi inserire il tuo commento.
Si tenga presente quanto letto nel regolamento, nel rispetto del "quieto vivere".

La discussione è consultabile anche qui, sul forum.
 
^