Home Homebrew Beyond Oberon: Esplorazione della sicurezza e delle vulnerabilità del Boot Flow su...

Beyond Oberon: Esplorazione della sicurezza e delle vulnerabilità del Boot Flow su PS5

17
0

Alla Security Analyst Summit 2024, il noto developer e ricercatore di sicurezza shuffle2 ha presentato un’analisi approfondita dell’architettura di sicurezza della console PlayStation 5, concentrandosi in particolare sul flusso di avvio (boot flow) e le vulnerabilità hardware.

Questa presentazione, intitolata “Beyond Oberon”, ha offerto una visione tecnica su come la console protegge i contenuti digitali attraverso vari strati di sicurezza e ha fornito spunti per la ricerca futura, pur rimanendo lontana da bypass diretti del DRM.

La protezione dei contenuti digitali su PS5 è uno degli obiettivi principali del sistema. Shuffle2 ha spiegato che la PS5 utilizza un sistema di licenze DRM per assicurarsi che solo gli utenti con le credenziali appropriate possano accedere a giochi e contenuti video.

Le licenze sono solitamente presenti su disco (Blu-ray) o legate all’account PlayStation Network. L’intero sistema è progettato per resistere agli attacchi degli utenti finali e prevenire la pirateria.

Una delle osservazioni chiave è che, anche se un sistema è parzialmente compromesso, i meccanismi di sicurezza dovrebbero comunque impedire l’accesso non autorizzato ai contenuti protetti.

Questo implica che il titolo e i dati dell’utente sono criptati a riposo e verificati a ogni caricamento per assicurarsi che non siano stati alterati.

Salina e Titania

Sono due i chip principali presenti nella console PlayStation 5 e che giocano un ruolo cruciale nella gestione della sicurezza durante il boot:

  1. Salina: Paragonato a un Baseboard Management Controller (BMC), Salina gestisce l’alimentazione, i reset e i clock della scheda madre. Essendo sempre attivo quando la console è alimentata, controlla l’inizializzazione di altri componenti hardware, compreso Titania, il cuore del sistema di input/output (I/O).
  2. Titania: Shuffle2 ha illustrato come Titania, un componente basato su un controller Marvell NVMe, svolge un ruolo fondamentale nella gestione della memoria NAND SSD e delle interfacce hardware. Con i suoi diversi core ARM, Titania esegue il boot sicuro del main SoC e comunica con numerose periferiche tramite interfacce come PCIe, DDR4 e UART.

Boot Flow

Il flusso di avvio della PS5 è una sequenza complessa in cui Salina e Titania giocano ruoli cruciali. Salina, che si avvia quando la console è collegata, carica il firmware sicuro di Titania dalla NAND, preparando la memoria DDR4 per l’avvio del main SoC.

Una volta che Titania ha completato il boot sicuro del SoC principale, altri moduli critici come il Secure Kernel e i moduli di sicurezza vengono inizializzati.

Il bug nel protocollo UART

Una delle parti più interessanti della presentazione è stata la discussione sulla vulnerabilità nel protocollo UART di Salina. Shuffle2 ha spiegato che il protocollo UCMD UART utilizza una gestione a buffer di linee ASCII.

Qui si verifica un bug nel modo in cui i caratteri invalidi vengono gestiti: un errore nel parser consente di scrivere oltre i limiti del buffer, creando una potenziale vulnerabilità per l’esecuzione di codice arbitrario.

Il processo di exploit di questo bug richiede che l’attaccante posizioni strutture di dati personalizzate in memoria e manipoli i comandi per raggiungere il controllo del flusso di esecuzione.

Tuttavia, la complessità tecnica per sfruttare questa vulnerabilità è elevata, richiedendo precisi calcoli sul timing e l’uso di hardware specializzato.

Hacking e interfacce esterne

Shuffle2 ha dedicato una parte significativa della presentazione a Titania, descrivendo le potenziali vulnerabilità che potrebbero essere sfruttate per accedere ai dati di boot e alle informazioni sensibili presenti sulla memoria NAND.

Una delle tecniche descritte include l’uso di DMA (Direct Memory Access) tramite PCIe per sovrascrivere il codice di Titania in memoria DDR4.

Una delle osservazioni più significative riguarda la possibilità di sfruttare un overflow del buffer nello stack durante la gestione dei comandi ICC (Inter-Controller Communication).

Shuffle2 ha spiegato come, nonostante la presenza di un “cookie” di sicurezza nello stack, il valore di questo cookie è costante e quindi vulnerabile agli attacchi, specialmente se si ha il controllo su Salina o si manipola l’interfaccia ICC.

Strategie e protezione della DRAM

Un’altra vulnerabilità interessante riscontrata in Titania riguarda il modo in cui viene gestita la memoria DDR4. Durante l’inizializzazione, il sistema definisce una geometria di memoria DDR4 che limita l’accesso alle aree di memoria protette.

Tuttavia, inviando una geometria di dimensioni eccessive, è possibile creare alias tra indirizzi di memoria, sovrascrivendo porzioni di memoria protetta, inclusi il firmware di Titania stesso. Questa tecnica richiede anche un’attenta gestione della cache, ma è considerata fattibile.

Implementazione e ricerca futura

Tutti gli exploit e le tecniche descritte da shuffle2 possono essere implementati combinando un microcontrollore (come l’RPi Pico) e vari script Python.

Questa configurazione permette di sfruttare UART e altre interfacce della PS5 per iniettare codice e manipolare componenti critici come EMC, EFC ed EAP.

Shuffle2 ha concluso la presentazione suggerendo future ricerche nel reverse engineering della struttura del NAND, con l’obiettivo di recuperare vecchie versioni dei bootloader e accedere a chiavi di sicurezza sensibili.

Tuttavia, è stato chiaro nel precisare che la sua ricerca non punta a bypassare direttamente il DRM della console, ma piuttosto a capire meglio la sicurezza interna della PS5.

Per chi fosse interessato ad approfondire ulteriormente l’argomento, shuffle2 ha reso disponibile il file PDF con tutte le slide della presentazione, è possibile scaricarlo tramite questo collegamento.

Fonte: x.com

LASCIA UN COMMENTO

Per favore inserisci il tuo commento!
Per favore inserisci il tuo nome qui

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.