Hanno trovato una vulnerabilità di esecuzione speculativa che colpisce AMD

Il progetto di recente Grsecurity reso noto attraverso una pubblicazione dettagli e una demo un metodo di attacco per una nuova vulnerabilità (già indicato come CVE-2021-26341) nei processori AMD relativi all'esecuzione di istruzioni speculative dopo operazioni di salto in avanti incondizionato.

Vulnerabilità consente al processore di elaborare speculativamente l'istruzione immediatamente dopo l'istruzione di salto (SLS) in memoria durante l'esecuzione speculativa. Allo stesso tempo, tale ottimizzazione funziona non solo per gli operatori di salto condizionale, ma anche per le istruzioni che implicano un salto incondizionato diretto, come JMP, RET e CALL.

Le istruzioni di branch incondizionate possono essere seguite da dati arbitrari che non sono destinati all'esecuzione. Dopo aver stabilito che il ramo non comporta l'esecuzione dell'istruzione successiva, il processore ripristina semplicemente lo stato e ignora l'esecuzione speculativa, ma la traccia di esecuzione dell'istruzione rimane nella cache generale ed è disponibile per l'analisi utilizzando metodi di recupero del canale laterale.

AMD fornisce un aggiornamento per una mitigazione consigliata, la mitigazione G-5, nel whitepaper "Tecniche software per la gestione della speculazione nei processori AMD". La mitigazione G-5 aiuta ad affrontare potenziali vulnerabilità associate al comportamento speculativo delle istruzioni di filiale.

I processori AMD possono eseguire temporaneamente istruzioni a seguito di un branch forward incondizionato che può causare attività della cache

Come per lo sfruttamento dello spettrov1, un attacco richiede la presenza di determinate sequenze di istruzioni (gadget) nel kernel, che porta all'esecuzione speculativa.

In questo caso, il blocco di una vulnerabilità si riduce all'identificazione di tali dispositivi nel codice e all'aggiunta di istruzioni aggiuntive che bloccano l'esecuzione speculativa. Le condizioni per l'esecuzione speculativa possono essere create anche utilizzando programmi non privilegiati in esecuzione sulla macchina virtuale eBPF.

Questa indagine ha portato alla scoperta di una nuova vulnerabilità, CVE-2021-26341 , , di cui parleremo in dettaglio in questo articolo. Come al solito, ci concentreremo sugli aspetti tecnici della vulnerabilità, sulle mitigazioni suggerite da AMD e sugli aspetti di sfruttamento.

Per bloccare la possibilità di creare dispositivi utilizzando eBPF, si consiglia di disabilitare l'accesso non privilegiato a eBPF nel sistema ("sysctl -w kernel.unprivileged_bpf_disabled=1").

La vulnerabilità interessa i processori basati sulla microarchitettura Zen1 e Zen2:

Dashboard

  • Processore AMD Athlon™ X4
  • Processore AMD Ryzen™ Threadripper™ PRO
  • Processori AMD Ryzen™ Threadripper™ di seconda generazione
  • Processori AMD Ryzen™ Threadripper™ di terza generazione
  • APU AMD serie A di settima generazione
  • Processori desktop AMD Ryzen™ serie 2000
  • Processori desktop AMD Ryzen™ serie 3000
  • Processori desktop AMD Ryzen™ serie 4000 con grafica Radeon™

Mobile

  • Processore mobile AMD Ryzen™ serie 2000
  • Processori mobili AMD Athlon™ serie 3000 con grafica Radeon™
  • Processori mobili AMD Ryzen™ serie 3000 o processori mobili AMD Ryzen™ di seconda generazione con grafica Radeon™
  • Processori mobili AMD Ryzen™ serie 4000 con grafica Radeon™
  • Processori mobili AMD Ryzen™ serie 5000 con grafica Radeon™

Chromebook

  • Processori mobili AMD Athlon™ con grafica Radeon™

server

  • Processori AMD EPYC™ di prima generazione
  • Processori AMD EPYC™ di seconda generazione

Si dice che se l'attacco ha successo, la vulnerabilità consente di determinare il contenuto di aree di memoria arbitrarie.

A causa di questa vulnerabilità, potrebbe essere possibile identificare costrutti di codice benigni che formano dispositivi SLS limitati ma potenzialmente sfruttabili sulle CPU interessate. Come dimostrato con l'esempio eBPF, è anche possibile sfruttare la vulnerabilità con dispositivi auto-iniettati costruiti a mano. Il metodo presentato può essere utilizzato, ad esempio, per interrompere la mitigazione KASLR del kernel Linux.

Ad esempio, i ricercatori hanno preparato un exploit che consente di determinare il layout dell'indirizzo e bypassare il meccanismo di protezione KASLR (kernel memory randomization) eseguendo codice senza privilegi nel sottosistema del kernel eBPF, oltre ad altri scenari di attacco che potrebbero far trapelare il i contenuti della memoria del kernel non sono esclusi.

Infine se sei interessato a saperne un po' di più, puoi controllare i dettagli nel seguente link


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.