Escalation di privilegi tramite backdoor nella CPU "VIA C3"

Firewall, Server, Monitoring e tutto quello che riguarda la sicurezza della nostra Linux Box

Escalation di privilegi tramite backdoor nella CPU "VIA C3"

Messaggioda Aki » 02/09/2018, 10:27

A chi può interessare, segnalo la registrazione video del keynote tenuto alla conferenza "blackhat USA 2018" dal titolo: "GOD MODE UNLOCKED - Hardware Backdoors in x86 CPUs" ed la URL del sito GIT del ricercatore che ha scoperto la vulnerabilità della specifica CPU Via Technology C3 (X86 compatibile) da lui prescelta come banco di prova. La descrizione fornita dal ricercatore è anche molto dettagliata e, mi sembra, abbastanza ben documentata.

Nel caso specifico, ha utilizzato un'installazione GNU/Linux (quindi, anche Debian è potenzialmente utilizzabile) per realizzare l'analisi per la ricerca della vulnerabilità, il reverse engineering del RISC all'interno della CPU X86 e, infine, la dimostrazione di attacco, fornendo anche il codice sorgente e gli strumenti di analisi utilizzati.

In breve, il ricercatore, ha utilizzato una istruzione specifica delle CPU Intel X86 per accedere ad alcuni registri (MSR) della CPU previsti nelle specifiche Intel, ma non completamente documentati né da Intel né dallo specifico produttore della CPU. In tal modo, utilizzando tecniche di "side-attack" (per alcuni versi simili in parte a quelle utilizzate negli attacchi tipo Spectre e Meltdown), ha identificato uno specifico registro MSR che, opportunamente valorizzato, attiva nella CPU un istruzione X86 di norma inesistente, la quale, a sua volta, si è rivelata in grado di consentire, tramite un'altra istruzione X86 legittima, di inviare istruzioni privilegiate direttamente ad un core RISC "nascosto" e presente all'interno del microprocessore. In tal modo, tramite le istruzioni RISC (individuate con reverse engineering) passate al core RISC (non sottoposte ai controlli "di sicurezza" delle istruzioni X86) è stato possibile accedere, dallo spazio utente ordinario, alle strutture dati del kernel linux in RAM sia in lettura che scrittura, in particolare modo alla tavola dei processi di cui, dallo spazio utente, ha potuto modificare la ownership del processo utilizzato per l'exploit, dandogli i privilegi di root.

Tale vulnerabilità è specifica del microprocessore utilizzato (peraltro datato, sebbene ancora in commercio), richiede comunque l'accesso iniziale ad una funzionalità privilegiata (ma, attenzione, a quanto indicato in chiusura della presentazione) ed apre un ampio campo di ricerca, e mostra come le tecniche di "side attack" e le architetture delle CPU CISC (che, ormai, spesso contengono al loro interno core RISC che interagiscono con il/i core CISC) possono essere attaccate anche utilizzando le istruzioni RISC e/o le interazioni tra core CISC e sub-core RISC.

Il fatto che la logica di funzionamento interno (ad esempio, il set istruzioni del microcodice RISC) delle CPU CISC sia non documentata (per ragioni di segretezza industriale) può, quindi, potenzialmente costituire per l'utente finale una fattore di rischio. In tal senso, CPU sviluppate secondo logiche di "open-source hardware" (con ISA pubblicamente documentata) sono un possibile scenario evolutivo (ad esempio, l'architettura Power9 di IBM o RISC-V), ma, per il mercato consumer, siamo ancora lontani.
Aki
Global Moderator
Global Moderator
 
Messaggi: 8097
Iscritto il: 27/12/2007, 16:59

Torna a Sicurezza

Chi c’è in linea

Visitano il forum: Nessuno e 2 ospiti