News Ticker

Alcune (vecchie) CPU Via hanno un baco: God Mode

Oramai non passa giorno che non si scoprano bug hardware nei processori: sono i più pericolosi, in quanto l’hardware non può essere aggiustato, o comunque in qualche modo cambiato come il software. Questo spiega la curiosità di molti, anche per CPU ormai datate; come quella del ricercatore nella sicurezza Christopher Domas, e che ha raccontato il 9 agosto alla conferenza dei Black Hat di Las Vegas. E di cui ne dà notizia Tom’s Hardware (America).

Una premessa veloce
Normalmente, l’esecuzione dei processi in una CPU è limitato ad un certo livello di accesso (privilegio); i privilegi concessi possono essere visti come una serie di mura (i ring – anello) intorno ad un castello, con il ring 0 il castello vero e proprio –  ovvero il kernel. Ogni livello più in là ha qualche privilegio in meno; normalmente il ring 1 e 2 sono i driver, e il ring 3 i programmi usati dagli utenti comuni. Per similitudine, accessi ad eventuali chip di controllo hardware o hypervisor (per le macchine virtuali) possono essere considerati ring negativi, con potere sul ring 0.

Domas, seguendo la storia dei brevetti che coprono le CPU della VIA, si imbatte nel brevetto numero US8341419, in cui si cita “il salto dal ring 3 al ring 0”: una cosa che non dovrebbe capitare mai. Ma non essendo documentato alcun comando per poter ottenere questo salto, Domas si inventa un programma che dia comandi “a caso” (fuzzy code) alla CPU e ne registri il risultato. E con sua somma sorpresa trova quello che cerca: una istruzione, diretta ad un chip controllore della CPU, in grado di dare accesso come root. E funziona da qualsiasi utenza normale. Un vero e proprio God Mode: il trucco (spesso) presente nei videogiochi che trasforma il protagonista mortale in un dio immortale (e spesso con munizioni per le armi o forza infinite).

Per chi fosse interessato a leggere direttamente quanto fatto da Domas, il ricercatore ha messo a disposizione il suo materiale direttamente su GitHub.

L’unica consolazione è che questa falla è stata identificata solo per VIA C3 Nehemiah, prodotte nel 2003: si tratta di CPU vecchie, diffuse grazie al basso prezzo ed alla scarsa potenza principalmente su dispositivi embedded o boxed. Quindi, il reale potenziale di questo bug è molto basso. Almeno, fino al prossimo…

Ho coltivato la mia passione per l’informatica fin da bambino, coi primi programmi BASIC. In età adulta mi sono avvicinato a Linux ed alla programmazione C, per poi interessarmi di reti. Infine, il mio hobby è diventato anche il mio lavoro.
Per me il modo migliore di imparare è fare, e per questo devo utilizzare le tecnologie che ritengo interessanti; a questo scopo, il mondo opensource offre gli strumenti perfetti.