DI RECENTE ACCOMAZZI...
CERCA
» Ricerca avanzata
MAILING LIST

Se vuoi iscriverti alla mailing list di Luca Accomazzi inserisci qui la tua mail:

Vuoi ricevere i messaggi immediatamente (50 invii / giorno) o in differita e in gruppo
(due invii / giorno)?

» Vuoi saperne di più?

Apple, Intel e gli hacker

Come era lecito aspettarsi, la comunità mondiale degli hacker ha riservato grande attenzione al rilascio del Developer Transition Kit — il prototipo di Macintosh con processore Intel che Apple ha noleggiato a un migliaio di sviluppatori prima dell'estate scorsa. Qualcuno è persino riuscito a far girare il sistema operativo Mac OS X 10.4.1 per Mac con Intel su un comune PC — e Apple ha reagito, sia sul piano tecnico che con quello legale. Strada facendo, sono emerse alcune interessanti scoperte che riguardano tutti noi. Facciamo il punto.


Una doverosa premessa. Gli sviluppatori che hanno ricevuto un esemplare di quella macchina da Apple e hanno permesso ad altri di smontarla, indagarla e copiarne il software hanno commesso una grave infrazione del contratto che li lega alla Casa di Cupertino. Le persone che hanno modificato il sistema operativo Apple, poi, hanno certamente infranto la legge americana chiamata DMCA (digital millennium copyright act), che vieta la reingegnerizzazione del software altrui. Secondo la legge italiana, chi scarica una copia di Mac OS X per Intel e la masterizza su CD per installarla commette un reato molto grave, la contraffazione. Meno grave, ma pur sempre reato penale, è possedere una copia di OS X per Intel installata su un comune PC: si tratta di violazione del diritto d'autore di Apple.
Gli autori di questo articolo non possiedono un Developer Transition Kit (e, per la verità, neppure un PC). Ci siamo messi a scrivere questo pezzo animati da spirito di cronista, raccogliendo notizie tra i siti e i forum Internet degli hacker: lo diciamo non tanto per tutelarci legalmente, quanto per far notare che inevitabilmente siamo costretti a un reportage e non a raccontare esperienze personali.


La cronaca

Gli hacker che hanno avuto per le mani il Developer Transition Kit hanno scoperto che sotto la carrozzeria alluminio di un Power Macintosh G5 riposa una piastra madre Intel (modello D915GUXLK) con processore Pentium 4 a 3,6 GHz, chipset Intel 915 e scheda grafica Intel Graphics Media Accelerator 900. Un comune PC, insomma, che non ha neppure il sistema Open Firmware (il codice permanentemente memorizzato dei Macintosh con PowerPC e che ne consente e guida l'avvio) ma che è invece pilotato da un BIOS, proprio come un comune PC. Quella piastra madre contiene un singolo componente inusuale, che Apple ha usato con lo stesso spirito protettivo che anni fa portava Quark a distribuire XPress con una "chiave USB" (o "dongle" che dir si voglia): un componente hardware che impedisce la pirateria del software. Si tratta di un chip TPM prodotto da Infineon e marchiato Intel (vedere :"Un anello per ghermirli").
Il sito AppleInsider, normalmente dedicato alle voci di corridoio, ne ha anche pubblicato una foto.


Gli hacker al lavoro

Il Mac OS X per Intel versione 10.4.1, distribuito insieme con le macchine, era caratterizzato da un nucleo che si rifiutava di avviare la macchina quando non percepiva la presenza del chip Infineon. Gli hacker hanno facilmente aggirato questo blocco. Apple, come si sa, rende pubblico il codice che costituisce Darwin, il nucleo del nostro sistema operativo. Gli hacker hanno scaricato dal sito Apple il nucleo e l'hanno ricompilato (usando gli strumenti di sviluppo che Apple fornisce per consentire la creazione di applicativi Mac nativi) in modo che non contenesse affatto alcun controllo. Combinando il software presente sul CD di Mac OS X per Intel versione 10.4.1 con il nucleo ricompilato sono riusciti a far avviare un comune PC.
Le difficoltà per loro erano solo all'inizio. Uno dei motivi per cui i moderni Mac sono più veloci dei moderni PC nella gestione di grafica, video e suono è la presenza nel PowerPC G5 di un componente chiamato Altivec, un coprocessore matematico che non ha paragoni. Per rendere accettabile il prototipo di Mac-Intel, Apple lo ha dotato di un processore Pentium con SSE3: poca cosa rispetto ad Altivec, ma il meglio che Intel offra oggi come oggi. Poiché pochissimi PC moderni hanno un chip SSE3, gli hacker hanno inserito un emulatore di SSE3 nel software, che permette a OS X di girare (anche se in modo percettibilmente rallentato) in assenza del Pentium più moderno.
Siamo arrivati all'inzio di agosto: man mano che un hacker risolveva un "problema" che impediva l'uso di OS X sui comuni PC, pubblicava i suoi risultati su Internet, e altri concorrevano e lavoravano contemporaneamente su altri aspetti della questione. E' anche nato un sito web specifico, wiki.osx86project.org, di natura collaborativa, dove chiunque può aggiungere impressioni e commenti. Apple, sin qui, non ha fatto nulla.


Lavoro di fino

Gli hacker hanno scoperto che Aqua in Mac OS X 10.4.1 per Intel richiede per funzionare la presenza di Rosetta (l'emulatore di PowerPC che permetterà l'uso dei programmi attuali sulle future macchine); e che Apple aveva aggiunto in Rosetta un blocco, un ulteriore controllo della presenza del chip Infineon. Qualcuno è però riuscito a identificare il brano di codice che eseguiva il controllo e a cortocircuitarlo. È il dieci di agosto: per la prima volta un comune PC può avviarsi sotto OS X.
La comunità degli hacker si ringalluzziva anche a ogni apparizione di nuovi programmi nativi per Intel: gli sviluppatori che legittimamente possiedono un Developer Transition Kit hanno cominciato a pubblicare i frutti del loro lavoro: è apparsa una versione di BBEdit nativa Intel, poi del browser Opera, persino il popolare videogioco Worlds of Warcraft veniva rilasciato in modo non ufficiale, e poi altri programmi ancora, così tanti che non vale la pena di elencarli. Ogni nuovo software nativo, naturalmente, aumenta il valore del sistema operativo su cui quel software si basa: faticare solo per vedere apparire a video la scrivania del Finder non interessa poi troppo a nessuno.
Le manipolazioni degli hacker portavano alla luce anche alcune interessanti scoperte. È possibile partizionare un disco rigido in modo che ospiti contemporaneamente Windows e OS X, rendendo entrambi avviabili: cosa che rende particolarmente interessanti i futuri PowerBook e iBook con Intel. Si possono avere addirittura tre i sistemi operativi su un unico disco, includendo anche Linux. D'altra parte, almeno con la versione provvisoria attualmente distribuita agli sviluppatori, non sono utilizzabili i dischi Mac partizionati sotto PowerPC.


Mac OS X per PC “retail edition”

Arrivati a questo punto, qualcuno ha fatto il passo successivo, generando addirittura una immagine disco che permette di installare OS X su molti PC (ma non su tutti: non soltanto era necessario un processore che disponga almeno delle funzionalità SSE2, ma neppure erano utilizzabile tutte le schede video, o le schede Ethernet). L'immagine comincia a circolare nei vicoli oscuri dell'Internet: viene distribuita in alcune centinaia di copie su BitTorrent.
A Singapore un pirata approfittatore si è persino inventato un logo e un nome per il "prodotto": Mac OS X per PC è stato messo in vendita in alcuni negozi privi di scrupoli. Contemporaneamente, su alcuni siti web tra cui www.hardmac.com venivano pubblicati i video di PC portatili e desktop che si avviavano sotto OS X.
Naturalmente, Apple non poteva più permettersi di stare ferma. La casa di Steve Jobs ha reagito sul piano legale, minacciando di denuncia i siti che distribuivano immagini e know-how. Molti hanno ceduto (tra questi anche Hardmac), anche se è molto improbabile che un giudice avrebbe dato ragione a Cupertino: la libertà di stampa, dopotutto, copre anche queste cose, e il reato è stato commesso da chi ha scopiazzato il sistema operativo, da chi l'ha modificato e da chi l'ha installato, non da chi l'ha filmato o da chi ha spiegato come si potesse modificarlo.
Più significativamente, quando poche settimane più tardi è apparso l'aggiornamento 10.4.2, Apple ha sorpreso molti rilasciandolo sia in versione PowerPC che Intel. Ma gli utenti di PC che hanno permesso ad Aggiornamento Software di fare il suo lavoro si sono trovati con una macchina che non si avviava più (nessun problema invece per i possessori di un vero Developer Transition Kit). Il 23 novembre 2005 gli hacker hanno colpito ancora e, sebbene in ritardo, hanno trovato modo di sproteggere la più recente versione di OS X per Intel, la 10.4.3. Si pensa che gli ingegneri di Apple seguano le discussioni della comunità degli hacker e che siano imminenti contromosse.


"Un anello per ghermirli e nel buio incatenarli..."

Secondo alcuni appassionati del software libero e del sistema operativo GNU/Linux, il sistema TPM è come l'ormai famosissimo anello di Sauron, il Signore degli Anelli dell'omonimo libro e film: un oggetto malvagio creato per dominare il mondo e destinato a corrompere tutti quelli che lo toccano. Apple, avendo scelto di incorporare il sistema TPM nei prototipi di Macintosh con processore Intel, ha sposato la causa del Maligno.
La questione è un po' più complessa di così. Partiamo dall'inizio. "TPM" significa Trusted Platform Module, cioè "modulo per piattaforma affidabile": una iniziativa congiunta creata da Microsoft, Intel, IBM, HP e AMD. Lo scopo dichiarato del sistema — che apparirà sul mercato di massa per la prima volta (ma in forma minimalista) in Windows "Vista" nella seconda metà di quest'anno — è di inserire nei calcolatori un componente fisico che controlla l'affidabilità del software. Pensate al mondo dei PC, dove i gravi difetti architetturali di Windows aprono tutti gli utenti ai rischi di venire infettati dai virus informatici, e vi renderete conto che l'idea di far "firmare" i programmi ai loro autori e di non eseguire affatto il software "senza firma" è allettante. D'altro canto, la presenza di circuiteria TPM in un calcolatore può oggettivamente venire usata dagli autori di software "firmato" per limitare ciò che gli utenti sono autorizzati a fare sulle loro macchine, è questo aspetto naturalmente desta preoccupazioni in chiunque, anche negli utenti onesti. Per esempio, un software "firmato" potrebbe identificare il numero di serie della macchina su cui gira chiedendolo al chip TPM e comunicarlo via Internet alla casa produttrice insieme al proprio numero di serie. Da questo momento in poi quella copia del programma potrebbe rifiutarsi di girare su qualsiasi altro Macintosh. Dal punto di vista dell'autore di software, si tratta di tutelare i frutti del suo lavoro contro la pirateria del software, ma dal punto di vista dell'onesto acquirente di un programma di tratta di rendere un incubo l'idea di cambiare elaboratore per acquistarne uno più veloce.
Veniamo ai fatti. Apple da molti anni inserisce un numero di serie unico e identificabile dai programmi per le sue macchine. Per verificarlo, andate nel menu Apple, scegliete "Informazioni su questo Mac", cliccate il pulsante "Più informazioni..." e nella finestra che appare guardate sulla destra alla riga "Numero di serie". Potete verificare: è identico al numero stampigliato sulla carrozzeria del vostro calcolatore. Ma non preoccupatevi: esiste un metodo (estremamente complesso) per azzerare questa informazione nei Mac odierni, e comunque Apple non spiega agli sviluppatori come ottenere questa informazione dall'interno dei loro programmi.
Passiamo al prossimo fatto. Nei prototipi di Mac basati su processore Pentium, che Apple ha distribuito ai maggiori sviluppatori, la piastra madre contiene un chip Infineon SLD 9630 TPM revisione 1.1. Il Mac OS X per Intel distribuito con quelle macchine all'avvio verifica la presenza del chip, e in sua assenza si rifiuta di avviare il calcolatore. Anche in questo caso, però, risulta che Apple non abbia documentato il sistema e quindi che gli sviluppatori di software per Mac non possano usare il sistema TPM per proteggere i loro programmi. La casa di Cupertino ha adottato TPM esclusivamente per cercare di impedire che OS X venga fatto girare su PC costruiti da altri (con risultati alterni, come spieghiamo in queste pagine): uno scopo apertamente dichiarato e assolutamente lecito. Non è per nulla certo che il chip Infineon apparirà anche sui Mac con Intel che appariranno nei negozi dopo giugno 2006, ma anche se così fosse non c'è da preoccuparsi.
Su Internet in questi mesi molti hanno scritto che la presenza del chip TPM potrebbe venire usato da Apple per impedire che i Mac vengano avviati con un sistema operativo diverso da OS X. Noi non siamo d'accordo: sarebbe sufficiente per gli autori di Linux apporre una firma digitale al nucleo del loro sistema operativo. Chi ne mastica, dia una occhiata al file drivers/char/tpm/tpm_infineon.c che fa parte dell'ultimo nucleo Linux rilasciato, per vedere che la cosa è già prevista. Ma soprattutto: perché mai Steve Jobs e soci dovrebbero impedire alla gente di acquistare un Mac e farci quel che gli pare? Dopotutto, lo scopo commerciale di Apple è vendere calcolatori, e impedirne l'uso in qualsiasi modo non è una buona strategia commerciale.


Questo articolo fa parte di uno dei miei percorsi. Se vuoi saperne di più su questo argomento, visita il resto del percorso cliccando qui.