Il inedito assalto intorno a adempimento remunerativo funzionante invia la codifica Intel e AMD

Il nuovo attacco di esecuzione speculativo funzionante invia la codifica Intel e AMD

Alcuni microprocessori Intel e AMD sono vulnerabili a un attacco di esecuzione speculativo scoperto di recente che può far trapelare segretamente i dati delle password e altro materiale sensibile, spingendo entrambi i produttori di chip a provare ancora una volta a trovare la vulnerabilità ostinatamente persistente.

I ricercatori dell’ETH di Zurigo hanno chiamato il loro attacco Retbleed perché utilizza una protezione software nota come retpolin, che i produttori di chip hanno introdotto nel 2018 per mitigare gli effetti dannosi degli attacchi di esecuzione speculativa. Gli attacchi di esecuzione speculativa, noti anche come Spectre, sfruttano il fatto che quando i processori moderni incontrano un ramo di istruzione diretto o indiretto, prevedono l’indirizzo dell’istruzione successiva che stanno per ricevere e lo eseguono automaticamente prima di confermare la previsione. Spectre funziona inducendo la CPU a eseguire istruzioni che accedono a dati sensibili in memoria che normalmente sarebbero vietati a un programma con privilegi bassi. Dopo aver annullato l’operazione, Retbleed estrae i dati.

È un trampolino o una fionda?

Retpoline funziona utilizzando una serie di operazioni di rollback per isolare i rami indiretti da attacchi di esecuzione speculativa, creando efficacemente l’equivalente software di un trampolino che li fa rimbalzare in sicurezza. In altre parole, retpoline funziona sostituendo salti e chiamate indiretti con ritorni, che molti ricercatori pensavano non fossero sensibili. La difesa è stata progettata per contrastare l’opzione 2 originali attacchi di esecuzione speculativa Dal 2018 mese di gennaio. Denominata in breve PTI, la variante costringe un ramo indiretto a eseguire il cosiddetto codice “dispositivo”, che a sua volta crea la fuga di dati attraverso un canale laterale.

Alcuni ricercatori hanno avvertito per molti anni che retpolin non è sufficiente per mitigare gli attacchi di esecuzione speculativa perché il retpolin utilizzato era sensibile ai PTI. Lo sviluppatore Linux Linus Torvalds ha respinto tali avvertimentisostenendo che tali exploit non erano pratici.

I ricercatori dell’ETH di Zurigo hanno dimostrato in modo convincente che retpolin non è sufficiente per prevenire attacchi di esecuzione speculativa. Il loro proof of concept Retbleed funziona contro CPU Intel con microarchitetture Kaby Lake e Coffee Lake e microarchitetture AMD Zen 1, Zen 1+ e Zen 2.

“Retpoline, come mitigazione di Spectre-PTI, non considera le istruzioni di ritorno come un vettore di attacco”, hanno scritto i ricercatori Johannes Wikner e Kaveh Razavi. “Sebbene gli ordini di reso possano essere difesi aggiungendo una voce valida al RSB [return stack buffer] trattare ogni reso come potenzialmente sfruttabile in questo modo comporterebbe un sovraccarico enorme prima di eseguire l’ordine di reso. Il lavoro precedente ha tentato di popolare condizionalmente gli RSB per scopi di rollback innocui quando un contatore della CPU che tiene traccia della profondità dello stack delle chiamate raggiunge una determinata soglia, ma non è mai stato convalidato a monte. Alla luce di Redbleed, Intel sta rivalutando questa mitigazione, ma i processori AMD richiedono una strategia diversa.

e-mail Nella lettera, Razavi ha spiegato quanto segue:

La variante 2 di Spectre ha sfruttato i rami indiretti per ottenere un’esecuzione speculativa arbitraria nel kernel. I rami indiretti sono stati convertiti in rendimenti utilizzando retpolin per ridurre la variante Spectre 2.

Retbleed mostra che le istruzioni di rollback purtroppo perdono in determinate condizioni simili ai rami indiretti. Sfortunatamente, queste condizioni sono comuni alle piattaforme Intel (basate su Skylake e Skylake) e AMD (Zen, Zen+ e Zen2). Ciò significa che retpolin era sfortunatamente un metodo di mitigazione inadeguato.

In risposta allo studio, Intel e AMD hanno consigliato ai clienti di adottare nuove misure di mitigazione, che secondo i ricercatori aumenteranno i costi di transazione fino al 28%.

Redbleed può perdere la memoria del kernel dai processori Intel a circa 219 byte al secondo con una precisione del 98%. L’exploit può estrarre la memoria del kernel dai processori AMD con una larghezza di banda di 3,9 kB/s. I ricercatori hanno affermato che può trovare l’hash della password di root di una macchina Linux e perderlo dalla memoria fisica in circa 28 minuti sui processori Intel e circa 6 minuti sui processori AMD.

Retbleed funziona utilizzando un codice che essenzialmente avvelena il predittore di ramo su cui si basano le CPU per fare ipotesi. Una volta che l’avvelenamento è completo, questo BPU farà false previsioni che l’attaccante può controllare.

“Abbiamo scoperto che possiamo iniettare target di ramo che si trovano nello spazio degli indirizzi del kernel anche come utente non privilegiato”, hanno scritto i ricercatori in un post sul blog. “Sebbene non possiamo raggiungere i target dei branch nello spazio degli indirizzi del kernel – il branch verso tale target provoca un errore di pagina – l’unità di previsione del branch si aggiornerà quando osserva un branch e presumerà che sia stato legalmente eseguito, anche se si tratta di un kernel indirizzo.”

Leave a Comment