BHI: una nuova vulnerabilità di classe Spectre che colpisce Intel e ARM

Ricercatori presso la Libera Università di Amsterdam reso noto trovato di recente nuova vulnerabilità che è una versione estesa della vulnerabilità Spectre-v2 su processori Intel e ARM.

Questa nuova vulnerabilità, a cui hanno battezzato come BHI (Iniezione di storia del ramo, CVE-2022-0001), BHB (Buffer cronologia filiale, CVE-2022-0002) e Spettro-BHB (CVE-2022-23960), si caratterizza per consentire l'elusione dei meccanismi di protezione eIBRS e CSV2 aggiunti ai processori.

La vulnerabilità è descritta in diverse manifestazioni dello stesso problema, in quanto BHI è un attacco che colpisce diversi livelli di privilegi, ad esempio un processo utente e il kernel, mentre BHB è un attacco allo stesso livello di privilegi, ad esempio eBPF JIT e il nocciolo.

A proposito di vulnerabilità

Concettualmente, BHI è una variante estesa dell'attacco Spectre-v2, in cui bypassare la protezione aggiuntiva (Intel eIBRS e Arm CSV2) e orchestrare la fuga di dati, la sostituzione dei valori nel buffer con una cronologia di filiale globale (Buffer di cronologia di filiale), che viene utilizzata nella CPU per migliorare l'accuratezza della previsione di filiale tenendo conto della storia delle transizioni passate.

Nel corso di un attacco attraverso manipolazioni con la storia delle transizioni, si creano le condizioni per la previsione errata della transizione e dell'esecuzione speculativa delle istruzioni necessarie, il cui risultato viene depositato nella cache.

Con l'eccezione dell'utilizzo di un buffer della cronologia delle versioni invece di un buffer di destinazione della versione, il nuovo attacco è identico a Spectre-v2. Il compito dell'attaccante è creare condizioni tali che l'indirizzo, quando si esegue un'operazione speculativa, viene prelevato dall'area dei dati da determinare.

Dopo aver eseguito un salto indiretto speculativo, l'indirizzo di salto letto dalla memoria rimane nella cache, dopodiché uno dei metodi per determinare il contenuto della cache può essere utilizzato per recuperarlo in base a un'analisi della modifica del tempo di accesso alla cache e uncached dati.

I ricercatori hanno dimostrato un exploit funzionale che consente allo spazio utente di estrarre dati arbitrari dalla memoria del kernel.

Ad esempio, mostra come, utilizzando l'exploit preparato, sia possibile estrarre dai buffer del kernel una stringa con un hash della password dell'utente root, caricata dal file /etc/shadow.

L'exploit dimostra la capacità di sfruttare la vulnerabilità all'interno di un unico livello di privilegio (attacco da kernel a kernel) utilizzando un programma eBPF caricato dall'utente. Non è esclusa nemmeno la possibilità di utilizzare gadget Spectre esistenti nel codice del kernel, script che portano all'esecuzione speculativa di istruzioni.

Vulnerabilità appare sulla maggior parte degli attuali processori Intel, con l'eccezione della famiglia di processori Atom e in molti dei processori ARM.

Secondo la ricerca, la vulnerabilità non si manifesta sui processori AMD. Per risolvere il problema sono stati proposti diversi metodi. software per bloccare la vulnerabilità, che può essere utilizzato prima della comparsa della protezione hardware nei futuri modelli di CPU.

Per bloccare gli attacchi attraverso il sottosistema eBPF, sSi consiglia di disabilitare per impostazione predefinita la possibilità di caricare programmi eBPF da utenti non privilegiati scrivendo 1 nel file “/proc/sys/kernel/unprivileged_bpf_disabled” o eseguendo il comando “sysctl -w kernel .unprivileged_bpf_disabled=1”.

Per bloccare gli attacchi tramite gadget, si consiglia di utilizzare l'istruzione LFENCE in sezioni di codice che potenzialmente portano a un'esecuzione speculativa. È interessante notare che la configurazione predefinita della maggior parte delle distribuzioni Linux contiene già le misure di protezione necessarie sufficienti per bloccare l'attacco eBPF dimostrato dai ricercatori.

I consigli di Intel per disabilitare l'accesso non privilegiato a eBPF si applicano anche per impostazione predefinita a partire dal kernel Linux 5.16 e verranno trasferiti su rami precedenti.

Infine, se sei interessato a saperne di più, puoi consultare i dettagli nella sezione 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.