Avatar di Manolo De Agostini

a cura di Manolo De Agostini

Intel ha scoperto che i suoi microprocessori sono soggetti a un'altra serie di attacchi all'esecuzione speculativa (saliti all'onere delle cronache con Spectre e Meltdown) chiamati Foreshadow e Foreshadow-NG. Si tratta di attacchi che possono portare un malintenzionato a sottrarre informazioni sensibili dai PC o dal cloud.

Foreshadow si presenta in due versioni, un attacco base (CVE-2018-3615) progettato per estrarre dati dalle enclavi SGX (Software Guard Extensions) e una versione Next-Generation (CVE-2018-3620 e CVE-2018-3646) che riguarda macchine virtuali (VM), hypervisor (VMM), la memoria del kernel del sistema operativo e memoria System Management Mode (SMM).

Intel chiama questo metodo di attacco L1 Terminal Fault (L1TF) e addebita la scoperta a un gruppo di ricercatori della KU Leuven University, Technion - Israel Institute of Technology, University of Michigan, University of Adelaide e Data61. La casa di Santa Clara stessa, analizzando il problema, ha poi identificato l'applicazione dell'attacco nella sua veste NG.

foreshadow

Prima di parlare di Foreshadow, ricordiamo in breve che cosa fa l'esecuzione speculativa sui microprocessori. Si tratta di un metodo per migliorare le prestazioni, in quanto il chip fa alcuni calcoli in anticipo, facendo ipotesi sulle richieste successive di un software per completare una data operazione. Se tali ipotesi sono corrette la CPU termina l'operazione più rapidamente. In caso d'errore, le previsioni scorrette sono semplicemente scartate.

Tale modus operandi finora si è rivelato utilissimo ai fini prestazionali, ma non del tutto sicuro per quanto concerne le informazioni contenute all'interno delle diverse aree del microprocessore. Da qui sono nati una serie di attacchi che nei mesi precedenti è stata mitigata da Intel e anche ad altri produttori di CPU, come AMD o ARM, sebbene Intel appaia la più colpita.

La prima vulnerabilità riconducibile a Foreshadow è stata scoperta all'inizio di quest'anno e riguarda SGX, tecnologia introdotta con la generazione di processori Skylake. SGX codifica blocchi di memoria affinché malware che potrebbero aver infettato il sistema operativo non arrivino a dati sensibili archiviati in aree sicure, dette enclavi, create proprio da SGX. Il processore stesso convalida l'integrità delle enclavi, quindi finché il processore è affidabile, anche le enclavi si possono ritenere attendibili.

Dato che i processori sono di solito più sicuri dei sistemi operativi o dei software in genere, le enclavi SGX sono di grande interesse per alcuni sviluppatori di software che fanno della sicurezza un elemento di rilievo. Il sistema di messaggistica Signal, ad esempio, è uno di quelli che ha iniziato a usare Intel SGX per salvaguardare la privacy dei propri utenti.

L'attacco Foreshadow ha tuttavia trovato un modo per aggirare le protezioni SGX, che di norma non consentono a malintenzionati di penetrare nelle enclavi con attacchi all'esecuzione speculativa. Secondo i ricercatori che hanno scovato la falla, un malintenzionato può creare copie ombra di un dato protetto nell'enclave e poi leggere i contenuti di quelle copie. Successivamente possono poi ingannare gli utenti, portandoli a inviare i loro dati privati verso nuove enclavi fasulle.

Come detto però ci sono altri due attacchi collegati, scoperti dalla stessa Intel, che consentono di leggere qualsiasi contenuto della cache L1 della CPU. Questo è il motivo per cui Intel chiama questa nuova serie di falle "L1 Terminal Fault" o L1TF. Un attacco Foreshadow-NG potrebbe consentire a un software maligno di leggere la memoria del kernel, a una macchina virtuale guest di leggere la memoria dell'hypervisor o la memoria di un'altra VM guest (cosa di particolare pericolosità in uno scenario cloud/web hosting), oppure consentire a sistemi operativi infetti di leggere la memoria protetta dall'SMM.

L'attacco Foreshadow originale riguarda solamente i chip con tecnologia SGX, quindi la generazione Skylake e quelle successive fino ai giorni nostri. Le varianti Foreshadow-NG interessano invece un insieme di CPU più ampio: processori Core i3/i5/i7/M (45nm e 32nm), Core 2nd/3rd/4th/5th/6th/7th/8th generation, Core X-series su piattaforme X99 e X299, Xeon serie 3400/3600/5500/5600/6500/7500, Xeon Processor E3 v1/v2/v3/v4/v5/v6, Xeon Processor E5 v1/v2/v3/v4, Xeon Processor E7 v1/v2/v3/v4, Xeon Processor Scalable e Xeon Processor D (1500, 2100).

Le contromisure precedentemente implementate contro Spectre e Meltdown sono inefficaci secondo i ricercatori, ma Intel ci ha fatto sapere quanto segue. "L1 Terminal Fault è stato affrontato con aggiornamenti del microcode rilasciati all'inizio di quest'anno, accoppiati ad aggiornamenti corrispondenti per sistemi operativi e software hypervisor che sono disponibili a partire da oggi. Abbiamo pubblicato più informazioni sul nostro sito e continuiamo a incoraggiare tutti a mantenere i propri sistemi aggiornati, in quanto è uno dei migliori modi per rimanere protetti".

La casa di Santa Clara fa inoltre sapere che non c'è stata finora notizia di exploit per le vulnerabilità. Correttivi a livello hardware per L1TF (a cui si sommeranno quelli per altre vulnerabilità emerse da Spectre e Meltdown in avanti) saranno implementati nei futuri Xeon Scalable (nome in codice Cascade Lake) e nei microprocessori client in arrivo nei prossimi mesi.

Secondo i test interni svolti da Intel l'impatto delle contromisure è limitato, salvo in alcuni scenari specifici (non consumer) come illustrato in alcuni grafici pubblicati a questo indirizzo. L'azienda ha anche diffuso un video in cui spiega L1 Terminal Fault:

Trovate un altro video di spiegazione su Foreshadow Attack qui di seguito, insieme a una dimostrazione dell'attacco:

Maggiori dettagli sull'attacco a questo indirizzo. Per quanto riguarda AMD, l'altro produttore di CPU consumer per computer, l'azienda esclude che i propri processori siano suscettibili a questa serie di attacchi.