Home Homebrew Il discorso di PoroCYon al Chaos Communication Congress porta alla nascita di...

Il discorso di PoroCYon al Chaos Communication Congress porta alla nascita di un nuovo modchip per console DSi

432
1

In un intervento al Chaos Communication Congress di quest’anno, l’hacker PoroCYon ha illustrato un processo per l’estrazione dei boot ROM della DSi, presentando nuovi jailbreak e offrendo una soluzione innovativa per ripristinare console con chip eMMC NAND usurati.

La console DSì è il diretto successore del DS, esegue praticamente gli stessi giochi, ma presenta anche fotocamere, un browser web e altre funzioni avanzate.

La console DS ha introdotto una tecnica di cifratura nota come crittografia simmetrica, ma ciò ha portato a problemi di sicurezza con le flash card.

Per aggirare questo problema, la DSi ha adottato la crittografia a chiave pubblica. La console è stata esaminata da vari ricercatori, ma la vera svolta è arrivata con il rilascio del codice di avvio per il DSi.

Tuttavia, questo metodo comporta modifiche all’EMMC, che può danneggiare la console. La sostituzione del chip EMMC potrebbe sembrare una soluzione, ma il problema è che le identificazioni uniche di ogni chip sono utilizzate per le chiavi.

Il DSi ha due CPU ARM, l’ARM9 e l’ARM7, con diverse funzioni. Le comunicazioni avvengono tramite un’interfaccia 5o, condividono una memoria PSR e hanno accesso alla WRAM, che è suddivisa in blocchi fisici assegnabili dinamicamente alle CPU.

Il boot della console coinvolge il SoC con entrambe le CPU, il boot ROM e le prove di sicurezza.

Il motore AES, ad esempio, nella DSi è la memoria non volatile MMC, e c’è anche il DAM, la prima cosa che si avvia quando si accende la DSi è il boot ROM che si trova in masrom.

Carica il secondo stadio di avvio da blocchi MMC grezzi e lo invia all’engine AES che, una volta decriptato, viene caricato nella SRAM.

Il secondo stadio viene quindi avviato e carica il menu di sistema dal file system FAT, lo decripta e lo carica nella DRAM. Il menu di sistema inizia ad eseguirsi e questo è effettivamente il primo passo che accende gli schermi e mostra il logo di avvio.

Successivamente, il menu di sistema può avviare il gioco da una cartuccia di gioco o forse da emmc, che poi viene caricato nella RAM.

Prima che il menu di sistema passi effettivamente al codice del gioco, applicherà ciò che viene chiamato i registri di configurazione S.

Questi vengono utilizzati per spegnere alcune parti dell’hardware e non possono essere riattivati fino a quando la console non viene resettata.

Questo è fatto perché non c’è un sistema operativo o un hypervisor dentro la DSi, quindi è l’unico modo per garantire che quando un gioco è in esecuzione da una cartuccia, non abbia accesso alla MMC per corromperla o fare altre cose malvage.

Ovviamente, la console 3DS non è del tutto irrilevante; ha una modalità retrocompatibile per eseguire giochi DS e DSi. La cosa interessante è che, invece di eseguire un emulatore software, l’hardware della 3DS si riconfigura e inizia a fingere di essere effettivamente una DSi.

Questa transizione è implementata nel firmware di basso livello. Quando si avvia un gioco DSi sulla 3DS, in realtà spegne il sistema operativo della 3DS e avvia un firmware di basso livello che fa la transizione di modalità, e il primo stadio che viene eseguito in modalità DSi è esattamente lo stesso della DSi standard.

Naturalmente, essendo caricato nella SRAM, non è possibile leggerlo con uno strumento come Scanlime’s Ram Tracer, ma grazie alle informazioni trapelate dal firmware della 3DS, ora è possibile leggere tutto il codice e trovare vulnerabilità.

Questo ha portato alla nascita di Unlaunch. In sostanza, se l’emmc è danneggiato, la console è inutilizzabile, e tutto ciò che è interessante e già stato hackerato avviene dopo il controllo della firma, il che significa che qualsiasi hack già pubblicato per la DSi non ti aiuterà e avrai ancora una console inutilizzabile.

Per risolvere questo problema, è necessario trovare un modo per eseguire del codice molto presto. Finora nessuno ha ottenuto i bootrom, almeno non fino ad oggi, e cercare di trovare la vulnerabilità in questo modo è difficile.

Era necessario trovare un modo per ottenere i bootrom, e la 3DS ha questa interessante funzione in cui è possibile estrarre i bootrom utilizzando l’iniezione di frequenza (F injection), e questo funziona anche sulla DSi.

Tutte le repository del progetto sono online, queste contengono slide, firmware, payload e guide dettagliate per l’installazione e l’utilizzo del modchip.

Attenzione: L’installazione del modchip richiede la manipolazione di piccoli componenti SMT. Se non avete mai saldato con il flussante e le pinzette, non tentate di installare questo modchip.

La guida non è adatta per principianti assoluti, se si ha intenzione di eseguire semplicemente del software personalizzato sul DSi, considerare invece questa guida.

Fonte: fahrplan.events.ccc.de

1 commento

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.