Foreshadow e Foreshadow-NG: nuove vulnerabilità dopo Meltdown e Spectre per le CPU Intel

Foreshadow e Foreshadow-NG: nuove vulnerabilità dopo Meltdown e Spectre per le CPU Intel

Due nuovi attacchi, chiamati Foreshadow Foreshadow-NG, colpiscono i processori Intel. Foreshadow permette di entrare nelle enclavi SGX e leggerne e alterarne i dati, annullandone le garanzie di sicurezza. Foreshadow-NG, dall'altro lato, consente di leggere i contenuti della cache L1 delle CPU esponendo dati potenzialmente critici. In entrambi i casi si sfrutta l'esecuzione speculativa

di pubblicato il nel canale Sicurezza
Intel
 

Si chiama Foreshadow ed è l'ultima tegola a cadere in testa a Intel e alla sicurezza dei suoi processori. La nuova vulnerabilità, scoperta indipendentemente da due gruppi di ricerca distinti e confermata dall'azienda, riguarda la funzionalità SGX presente in tutti i processori Intel Skylake e Kaby Lake e consiste in due diverse problematiche: da un lato una vulnerabilità nel funzionamento di SGX, dall'altra due attacchi che permettono di leggere liberamente (o quasi) la cache L1.

Il "foreshadowing" è una tecnica narrativa che prevede l'anticipazione di alcuni elementi della trama che non si sono ancora verificati, così da aggiungere tensione e da far intuire gli avvenimenti futuri nella narrazione. Il nome dell'attacco deriva quindi da tale tecnica, poiché dà indicazioni su ciò che ci sarà senza svelare in pieno la trama.

Foreshadow

Il primo attacco, chiamato appunto Foreshadow, sfrutta una falla nel funzionamento delle istruzioni SGX presenti nei processory Kaby Lake e Skylake. Le istruzioni SGX (Software Guard Extensions) permettono di creare delle enclavi nella memoria cui solo i processi autorizzati possono accedere e in cui essi stessi risiedono. Questo significa che nemmeno i processi operanti in kernel mode o a livelli di privilegio ancora superiori (ring 0, -1, -2) possono accedere a tali porzioni di memoria. Ciò permette quindi di escludere un accesso ai dati anche in caso di attacco che comprometta integralmente il sistema e ne dia pieno controllo all'attaccante, garantendo teoricamente la massima sicurezza.

I ricercatori che hanno lavorato su Foreshadow hanno però dimostrato come tali istruzioni non siano resistenti all'esecuzione speculativa e come questa possa essere utilizzata per ottenere informazioni . È infatti possibile estrarre la chiave di cifratura che identifica e protegge l'enclave (chiave di attestazione o attestation key) e accedere quindi ai suoi contenuti e modificarli.

Non solo: SGX fornisce anche un sistema di attestazione remota che permette di verificare che il programma sia in esecuzione in un'enclave e il corretto stato di funzionamento di questa su un processore abilitato. Con Foreshadow, però, è possibile estrarre la chiave di attestazione e firmare dunque attestazioni false spacciandole per vere, e senza la possibilità di verificare l'effettiva origine di tali attestazioni. Non è infatti possibile distinguere i messaggi di attestazione falsi da quelli veri una volta firmati con una chiave autentica.

SGX è tipicamente utilizzato in ambienti cloud, ma non solo; le sue funzionalità lo rendono infatti particolarmente indicato in tutti quegli ambienti dove un elevato livello di sicurezza e di separazione dei programmi è essenziale.

L'unico rimedio per questo attacco è una patch sia al livello del kernel che del microcodice. Per ragioni di sicurezza noon sono ancora stati rilasciati proof-of-concept. Linux ha già emanato delle patch per coprire il problema per i kernel 4.18, 4.17, 4.9 e 4.4. Microsoft ha incluso le patch nell'ultimo Patch Tuesday.

Essendo SGX una funzionalità esclusiva dei processori Intel, AMD e ARM non sono coinvolti da questo attacco.

Foreshadow-NG o L1 Terminal Fault

Si chiama Foreshadow-NG o L1 Terminal Fault (L1TF, secondo Intel) la coppia di attacchi scoperta da Intel mentre l'azienda indagava su Foreshadow. Tali attacchi non riguardano esclusivamente le istruzioni SGX, ma riguardano più in generale il contenuto della cache L1.

Foreshadow-NG permette di avere accesso in lettura potenzialmente a qualunque informazione presente nella cache L1, incluse informazioni che dovrebbero essere accessibili solo al kernnel o all'hypervisor. Ciò significa che è possibile accedere a istruzioni e dati di altri programmi (kernel incluso), senza escludere software in esecuzione su altre macchine virtuali che si appoggiano alla stessa macchina fisica. Ciò appare particolarmente significativo nel contesto del cloud computing, dove il noleggio di macchine virtuali è libero ed è potenzialmente possibile leggere dati riservati (es. chiavi private di cifratura) di altre macchine virtuali causando enormi problemi di sicurezza.

In questo caso la vulnerabilità è al momento certa solo sui processori Intel, che l'ha scoperta indagando su Foreshadow, ma non è escluso che possa essere presente anche su processori AMD o ARM. Ulteriori test in questo senso saranno condotti nel corso delle prossime settimane. I processori su cui è attestata la presenza della vulnerabilità sono tutti gli appartenenti alla serie Core dalla seconda generazione in poi e tutti gli equivalenti della famiglia Xeon.

Anche per Foreshadow-NG è necessario intervenire sia sul sistema operativo che sul microcodice per mitigare la vulnerabilità. Aggiornamenti sono già stati emanati per i kernel Linux e per i sistemi Windows.

16 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - info
Mister D16 Agosto 2018, 19:51 #1
Per la redazione:
Amd ha già dichiarato che i suoi processori non sono interessati da queste ultime vulnerabilità. Bastava leggeee la pagina che viene costantemente aggiornata:
https://www.amd.com/en/corporate/security-updates
OttoVon17 Agosto 2018, 02:21 #2
Che il prossimo pc sarà amd non è sicuro, di più.

Stica di 3 frame persi, fossero pure 10.
hfish17 Agosto 2018, 09:34 #3
sapete perche' si trovano molti piu' bugs sulle cpu intel che non su quelle amd? e' lo stesso motivo per cui se ne trovano molti di piu' su android che su ios... la base di utilizzo e' enormemente piu' grande, quindi e' normale che siano piu' sotto la lente di ingrandimento... se pensate che le cpu amd siano esenti da bug, state freschi
nitro8917 Agosto 2018, 10:56 #4
Originariamente inviato da: hfish
sapete perche' si trovano molti piu' bugs sulle cpu intel che non su quelle amd? e' lo stesso motivo per cui se ne trovano molti di piu' su android che su ios... la base di utilizzo e' enormemente piu' grande, quindi e' normale che siano piu' sotto la lente di ingrandimento... se pensate che le cpu amd siano esenti da bug, state freschi


Non ha logicamente senso, dal momento che ci sono 2 produttori al mondo e sono team di ricercatori a scovare i bug. Non certo l'utente comune. Non paragoniamo poi software con hardware.

Sul fatto che ce ne siano altri da scoprire su entrambi i marchi, non c'e' dubbio.
matsnake8617 Agosto 2018, 11:34 #5
Più che altro bisogna capire come si possono sfruttare queste falle.
Ci sono... Ok... Ma se il modo per sfruttarle è molto improbabile direi che i rischi sono trascurabili.

Intendiamoci..... Basta un javascript lanciato tramite Chrome per sfruttarle o bisogna prima assumere il controllo della macchina da remoto o fisicamente?
Folgore 10117 Agosto 2018, 11:41 #6
Originariamente inviato da: hfish
sapete perche' si trovano molti piu' bugs sulle cpu intel che non su quelle amd? e' lo stesso motivo per cui se ne trovano molti di piu' su android che su ios... la base di utilizzo e' enormemente piu' grande, quindi e' normale che siano piu' sotto la lente di ingrandimento... se pensate che le cpu amd siano esenti da bug, state freschi


Direi che la domanda più interessante è come mai saltano fuori tutti adesso.
nickname8817 Agosto 2018, 14:25 #7
Originariamente inviato da: OttoVon
Che il prossimo pc sarà amd non è sicuro, di più.

Stica di 3 frame persi, fossero pure 10.

Dove sta scritto che questo bugs fan perdere frames nei giochi ?
Nautilu$17 Agosto 2018, 15:29 #8
Intendeva per altri motivi.....
rockroll17 Agosto 2018, 15:33 #9
Originariamente inviato da: nickname88
Dove sta scritto che questo bugs fan perdere frames nei giochi ?


Sta solo dicendo che allo stato dell'arte è preferibile AMD, poco importa dei pochi frames in meno di AMD nei giochini.

Non avevo più fatto interventi 'equilibratori' perchè i giusti rapporti di forze cominciano ad essere riconosciuti; ma se i Cavelieri in Blu insistono, mi trovano.
rockroll17 Agosto 2018, 15:50 #10
Originariamente inviato da: hfish
sapete perche' si trovano molti piu' bugs sulle cpu intel che non su quelle amd? e' lo stesso motivo per cui se ne trovano molti di piu' su android che su ios... la base di utilizzo e' enormemente piu' grande, quindi e' normale che siano piu' sotto la lente di ingrandimento... se pensate che le cpu amd siano esenti da bug, state freschi


La base di utilizzo era enormemente più grande: ma quando lo era i bug venivano sistematicamente nascosti!

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.
 
^