« Architettura dell'Xbox (index)

Architettura dell'Xbox

Chapter 9: Lotta alla pirateria e homebrew


Sommario

  1. Protezione anticopia dei DVD
  2. Protezione del sistema
    1. Introduzione
    2. Ricerca bootstrap
    3. Sblocco permanente
    4. Modchip
    5. La risposta

La console implementa molte misure di sicurezza, indipendentemente dal fatto che contenga componenti "off-the-shelf", ossia disponibili largamente sul mercato.

In questa sezione parleremo più volte di crittografia RSA; l'argomento è stato già introdotto nell'articolo sul Wii, che potete consultare se non avete familiarità con RSA o con altri sistemi di crittografia simmetrica o asimmetrica.

Iniziamo.

Protezione anticopia dei DVD

I dischi di gioco sono protetti a livello sia logico che fisico per impedire la duplicazione non autorizzata (un fatto che ormai non dovrebbe sorprendere).

A livello logico, i dischi contengono alcune "trappole" che ingannano i lettori DVD tradizionali, rendendo "invisibile" gli effettivi contenuti di gioco. Ad esempio: la prima area del disco è formattata come un normale DVD; al suo interno è presente un messaggio di avviso che viene riprodotto quando il disco viene inserito in un sistema diverso dall'Xbox. I dati di gioco si trovano in una seconda partizione; tuttavia, i metadati necessari per trovarla non sono codificati nel formato che un normale lettore DVD si aspetterebbe, quindi solo un lettore apposito (quello dell'Xbox) è in grado di trovare i dati sul disco.

A livello fisico, nel momento in cui scrivo non si conosce ancora quali dati vengono scambiati tra l'unità e il disco per eseguire la validazione. Sul disco è presente un anello interno inaccessibile ai lettori tradizionali che contiene alcuni identificatori univoci; tuttavia, il modo in cui questi dati vengono utilizzati non è noto.

Protezione del sistema

Diamo un'occhiata al resto delle misure di sicurezza implementate in origine nell'Xbox.

Introduzione

La ROM flash e la EEPROM, che contengono rispettivamente il BIOS e i dati sensibili, sono crittografate con una chiave RC-4. Una volta avviato il kernel, questo lancerà solo eseguibili firmati da Microsoft con crittografia RSA.

Il disco rigido è formattato in un filesystem completamente proprietario e senza alcuna documentazione, chiamato FATX.

Questa è, in breve, la catena di fiducia implementata da Microsoft. Sembra semplice, no? Però c'è qualcosa di strano: l'esecuzione è controllata dalla CPU, che però è un chip "off-the-shelf"... quindi come può interpretare i dati cifrati con RC-4? Facile: non può; questo significa che da qualche parte nella console è presente un codice non crittografato che definisce la prima fase della crittografia. È proprio su questo codice che si sono concentrate le attenzioni della maggior parte degli hacker e dei loro tentativi di violare la console dopo il lancio.

Ricerca bootstrap

Secondo la documentazione della stessa Intel, i loro processori vengono avviati all'indirizzo 0xFFFF.FFF0; gli hacker hanno quindi cercato questo codice nella ROM flash (in questo modo, sarebbero arrivati alla chiave RC-4). È su questo obiettivo che si è concentrato il noto hacker e ricercatore Andrew "bunnie" Huang nel corso delle sue ricerche, dalle quali è emerso un fatto molto interessante: i primi 512 byte della ROM flash contengono sia routine di sicurezza che la stessa chiave... ma questo codice non funziona nel sistema venduto ai consumatori . La mia ipotesi è che Microsoft abbia lasciato nella ROM pezzi di codice provenienti da prototipi e unità di debug (forse accidentalmente, dato che svelano gli algoritmi utilizzati da Microsoft). Ad ogni modo, si trattava di codice di scarto, il che permise a bunnie di capire che il vero 0xFFFF.FFF0 non era nella ROM flash.

Per farla breve: 0xFFFF.FFF0 era nascosto nel chip MCPX, che conteneva una ROM da 512 B che veniva nascosta subito dopo la prima esecuzione. Non è stato facile estrarre i dati contenuti in questa ROM: bunnie dovette intercettare i dati scambiati nel bus HyperTransport per estrapolare la chiave RC-4 durante la trasmissione.

Quando bunnie pubblicò la chiave come frutto delle sue ricerche, Microsoft non fu per nulla contenta. La comunità hacker aveva quindi trovato il modo di controllare il primo livello di sicurezza della console, kernel incluso.

Sblocco permanente

Violando la crittografia RSA non doveva essere una procedura semplice; tuttavia, ottenendo l'accesso al kernel, sarebbe stato possibile fare ingegneria inversa sul codice e sviluppare patch in grado di scavalcare completamente la protezione RSA. Il che è esattamente quello che successe, permettendo alla comunità homebrew di iniziare a sviluppare software. Ora chiunque poteva creare programmi eseguibili su un'Xbox modificata senza l'approvazione di Microsoft. Alcuni gruppi svilupparono versioni sostitutive e potenziate della dashboard originale, in grado addirittura di eseguire Linux.

Tuttavia, per usufruire dei software homebrew gli utenti dovevano modificare il BIOS delle loro console utilizzando apparecchiature speciali, sicuramente non alla portata di tutti. Negli anni successivi, vennero scoperte nuove vulnerabilità compatibili con l'esecuzione delle istruzioni di hacking; una di queste consisteva nell'utilizzare una versione appositamente modificata del file di salvataggio di '007: Agent Under Fire' o 'Splinter Cell', in grado di generare un buffer overflow sfruttabile per eseguire uno strumento homebrew che installava un exploit permanente nel disco rigido. Questo 'sblocco permanente' era reso possibile da un altro buffer overflow di cui poteva essere vittima la dashboard originale e innescato da un file di font appositamente alterato (questo tipo di file, infatti, non aveva bisogno di essere firmato).

Modchip

A beneficio dei pirati apparvero, immancabilmente, i modchip: anziché attaccare il lettore DVD, questi scavalcavano la ROM flash sfruttando il fatto che la ROM nel chip MCPX poteva avviare un BIOS secondario qualora ne avesse trovato uno su una porta LPC non utilizzata.

Il BIOS modificato conteneva routine patchate che rendevano possibile leggere qualsiasi disco di gioco (specialmente i normali DVD disponibili in commercio).

La risposta

Microsoft rilasciò molte revisioni hardware, allo scopo di ridurre la superficie elettronica d'attacco e minimizzare i costi. Nel frattempo, rilasciò diversi aggiornamenti software nel tentativo di ridurre il numero di vulnerabilità nel kernel e nella dashboard. Tuttavia, la permanenza di alcune vulnerabilità nei giochi diede il via alla solita rincorsa tra inseguiti e inseguitori.

È il caso di far notare come anche Xbox Live fu un efficace dissuasore dalla pirateria. Microsoft era in grado di bloccare l'accesso a Xbox Live nelle console che contenevano modifiche non autorizzate: gli utenti dovevano quindi tenere in considerazione anche questo fattore prima di modificare le loro console al solo scopo di giocare con copie piratate.


Previous: 8. Giochi

Next: 10. È tutto!


Rodrigo Copetti © 2026 RSS Feed

Passa alla versione moderna

Inizio · Articoli · Supporta · Informazioni sull'autore · Informazioni sul sito