Salta al contenuto principale


Intel rilascia patch urgenti per la nuova variante Spectre


I ricercatori di VUSec hanno presentato un articolo intitolato “Training Solo”, che mette in discussione i principi fondamentali della protezione contro gli attacchi Spectre-v2. In precedenza si riteneva che il meccanismo di isolamento del dominio eliminasse completamente la possibilità di addestrare un predittore di rami utilizzando codice proveniente da diversi domini privilegiati.

Tuttavia, gli autori hanno dimostrato che anche con un’implementazione impeccabile di questi meccanismi, un aggressore può sfruttare lo stesso dominio, ad esempio il kernel del sistema, per addestrare in modo indipendente un predittore ed estrarre dati sensibili.

Lo studio descrive tre nuovi tipi di attacchi Spectre-v2 basati sul cosiddetto “auto-addestramento”, in cui sia l’addestramento che l’esecuzione speculativa avvengono nello stesso contesto privilegiato. Ciò consente di dirottare il flusso di controllo all’interno del kernel o dell’hypervisor e di leggere regioni di memoria private, riproponendo di fatto classici scenari Spectre-v2 precedentemente ritenuti impossibili.

La prima categoria di attacchi, denominata history-based, utilizza speciali gadget “history” all’interno del kernel per creare il contesto di branch desiderato. Gli esperimenti hanno dimostrato che, anche con l’isolamento del dominio abilitato, un aggressore può generare un predittore di branch utilizzando la chiamata di sistema SECCOMP, accessibile a qualsiasi utente. Questa tecnica ha permesso ai ricercatori di estrarre i dati del kernel a una velocità di 1,7 KB/s sui processori Intel Tiger Lake e Lion Cove.

Il secondo gruppo, basato su IP, si basa sulle corrispondenze di indirizzi nel Branch Target Buffer (BTB), dove il predittore è privo di cronologia e opera esclusivamente sugli indirizzi IP. In queste condizioni, due rami possono inavvertitamente “apprendere” l’uno dall’altro se i loro indirizzi corrispondono. L’analisi di più dispositivi di sistema ha dimostrato che questa collisione può diventare una base pratica per attacchi di massa.

La terza variante, quella diretta-indiretta, si è rivelata la più distruttiva. I ricercatori hanno scoperto che su alcuni chip, i salti diretti possono addestrare la previsione di quelli indiretti, cosa che non è prevista in fase di progettazione. Ciò è dovuto a due difetti hardware: la selezione indiretta del target e un bug nei processori Lion Cove. Grazie a questi difetti, i ricercatori sono stati in grado di leggere dati arbitrari dalla memoria del kernel fino a 17 KB/s e di creare un prototipo che recupera la memoria dell’hypervisor a 8,5 KB/s.

Per risolvere le vulnerabilità, Intel ha rilasciato aggiornamenti del microcodice , nuovi “rami indiretti” e l’istruzione IBHF (Indirect Branch History Fence), che cancella la cronologia dei rami. Alcuni sistemi consigliano di utilizzare una speciale sequenza di cancellazione BHB. Anche i meccanismi IBPB sono stati riprogettati per impedire l’aggiramento della protezione e sono stati introdotti nuovi schemi di posizionamento dei rami nella cache, riducendo la superficie di attacco.

I problemi hanno interessato un’ampia gamma di processori Intel , dai processori Core di nona generazione ai più recenti processori Lion Cove delle serie Lunar Lake e Arrow Lake. Anche ARM ha emesso un proprio avviso. Le correzioni vengono gradualmente implementate tramite aggiornamenti del firmware e del kernel Linux. Un set completo di strumenti per testare, analizzare e convalidare i predittori vulnerabili è stato pubblicato pubblicamente su GitHub di VUSec .

L'articolo Intel rilascia patch urgenti per la nuova variante Spectre proviene da Red Hot Cyber.