Il 14 gennaio scorso Microsoft ha annunciato l’iniziativa Government Security Program, che “offre al personale governativo la possibilità di consultare il codice sorgente di Windows e di collaborare con Microsoft per migliorare e potenziare le funzionalità di sicurezza della piattaforma Windows e di realizzare gli obiettivi individuati dagli stessi governi”, come dice il comunicato stampa Microsoft.
Nonostante i titoloni da prima pagina che la notizia si è aggiudicata, in realtà non è la prima volta che Microsoft dichiara di offrire ai governi i propri gioielli di famiglia: prima del GSP esisteva infatti il Government Source Licensing Program, in aggiunta a una miriade di licenze che consentivano a enti o organizzazioni accuratamente selezionate di accedere al codice sorgente di vari prodotti Microsoft: per esempio, il Windows CE Shared Source Licensing Program, il C#/JScript/CLI Implementations Shared Source Licensing Program, l’Enterprise Source Licensing Program, il Systems Integrator Source Licensing Program, l’Original Equipment Manufacturer Source Licensing Program, eccetera.
Ciascuna di queste opzioni ha condizioni e limitazioni diverse, ed è inevitabile che questo porti a una notevole confusione. Per farla breve, in alcuni casi il codice sorgente di alcuni prodotti è interamente disponibile, quello di altri no; sotto certe licenze è modificabile, compilabile e distribuibile, sia pure con qualche limitazione, sotto altre no. L’accesso integrale al sorgente di Windows resta comunque limitato a una cerchia ristrettissima di governi amici e di grandi aziende vagliate scrupolosamente, e soggetto a una ridda di restrizioni anche fisiche (per vedere certe porzioni di codice occorre andare personalmente a Redmond).
Il contrasto con le regole semplici del vero software open source, in cui tutto è esaminabile da tutti, distribuibile a tutti e compilabile anche dall’ultimo degli utenti, non potrebbe essere più stridente.
Visto che il Government Security Program non è la novità rivoluzionaria che si dice che sia, vediamo se comporta altre sorprese, sulla base di quello che è dato sapere per ora, con l’aiuto di alcuni chiarimenti cortesemente fornitimi da Andrea Valboni, Chief Technology Officer di Microsoft Italia.
Accesso a quale codice, e da parte di chi?
Di preciso, di quale codice sorgente stiamo parlando? Secondo le dichiarazioni di Craig Mundie, uno dei senior vice president di Microsoft, l’iniziativa GSP offre “accesso gratuito al codice sorgente di Windows 2000, Windows XP e Windows Server 2003”. Di accesso ai sorgenti delle vecchie versioni di Windows, tuttora largamente utilizzate dai governi, e a quelli di Office, per esempio, non si parla. Vista l’onnipresenza di Office e la sua stretta integrazione in Windows, è una omissione piuttosto importante.
Inoltre l’accesso non è offerto al primo funzionario di governo che passa: secondo Mundie, il GSP è concepito specificamente per “i ministeri degli interni o i dipartimenti di sicurezza dedicati… il programma non è concepito per le agenzie governative a livello statale, provinciale o locale, né per le agenzie governative che richiedono accesso al codice sorgente per il supporto dei prodotti… senza attinenza alle questioni di sicurezza”. Questi pesci piccoli (per modo di dire) possono usare le più limitative licenze Shared Source preesistenti.
Questa specificazione dei “ministeri degli interni o dipartimenti di sicurezza”, combinata con la precisazione Microsoft che “la partecipazione al GSP verrà rivelata a discrezione del singolo firmatario governativo e Microsoft si impegna a rispettare la riservatezza ove necessario”, conferisce all’iniziativa un certo sgraziato sapore cospiratorio, ma ne chiarisce il senso: è un’apertura mirata esclusivamente agli aspetti di sicurezza. L’accesso al sorgente per altri motivi, anche da parte di governi, è fuori discussione nel GSP.
Un cittadino che si fidasse poco del proprio governo potrebbe dunque intendere il tutto come un patto scellerato in cui Microsoft offre segretamente al Fisco o ai servizi segreti la tecnica ideale per spiare i contribuenti e i sediziosi: sfruttare il computer presente in ogni casa e in ogni ufficio, quello sul quale chatta e registra la propria contabilità, accedendo a chissà quali funzioni di Windows che solo loro conoscono.
È un’ipotesi da leggenda metropolitana in Europa, ma non in paesi in cui la sorveglianza online del cittadino è all’ordine del giorno (Cina, per esempio), e comunque stonata in un progetto che si dice improntato ad una maggiore trasparenza. Nella sua forma attuale, insomma, il GSP rassicura forse i governi, ma di certo non i cittadini e le aziende, che non ne ricevono alcun beneficio.
Compilabile sì o no?
La domanda che molti addetti ai lavori si pongono è se questo codice sarà semplicemente ispezionabile o se sarà anche modificabile e compilabile in proprio dai governi. La compilabilità risolverebbe una delle principali obiezioni sollevate dagli scettici, ossia che non c’è garanzia che il sorgente esaminato sia davvero quello distribuito. Nel vero open source, invece, questa garanzia c’è, perché ognuno può compilare il sorgente e ottenere l’eseguibile da distribuire.
La compilabilità eliminerebbe quindi le ansie espresse da molti governi (quello russo e quello cinese, per citarne un paio) su ipotetichebackdoor contenute in Windows che potrebbero favorire gli Stati Uniti, e metterebbe Microsoft in grado di rispondere elegantemente alla domanda “Linux mi fa vedere cosa contiene, perché voi no?”, annullando uno dei principali vantaggi dell’uso dell’open source nelle amministrazioni pubbliche.
Sarebbe pertanto logico presumere che offrire la compilabilità sia, per la società di Redmond, un gesto necessario per convincere della sua buona fede quei governi riluttanti che sembrano essere i principali bersagli dell’iniziativa GSP. In effetti Salah DanDan, worldwide manager del GSP, ha dichiarato a CNet che “i governi potranno… usare il codice per creare delle build”, e secondo il New York Times, i governi potranno scegliere il proprio software crittografico e inserirlo in Windows sotto forma di moduli.
A una prima lettura, questo potrebbe dare l’impressione della compilabilità, ma una build non è necessariamente una compilazione (può essere un assemblaggio di eseguibili), e i moduli possono essere inclusi a livello binario senza richiedere compilazioni. Infatti Valboni mi conferma che “GSP non prevede la modificabilità unilaterale del codice e quindi neppure la sua compilazione”.
Ma se il codice non è compilabile dai governi, non è chiaro in che modo il GSP possa tranquillizzarli sulle ipotetiche trappole segrete di Windows: si ritrovano, come prima, con un compilato che non sanno per certo se deriva dal sorgente che hanno esaminato, a meno che Microsoft abbia inventato un sistema super partes (checksum?) che consente di garantire questo nesso pur compilando soltanto in casa Microsoft. Se un governo non si fidava prima di Microsoft, in realtà ora non ha alcun motivo per cambiare idea.
L’uomo che sapeva troppo
Una grande incognita che pesa su questa “operazione trasparenza” è costituita dai suoi accordi di riservatezza, o Non-Disclosure Agreement: una prassi abituale, in cui un esperto, per poter accedere a informazioni riservate, deve impegnarsi a non divulgarle e a non utilizzarle al di fuori dell’incarico per cui firma l’NDA.
Una precauzione sensata, che però cela un problema: una volta esaminate le informazioni segrete, diventa difficile per l’esperto partecipare a qualsiasi altro progetto anche solo vagamente concorrente. Nessuna azienda vuole più assumerlo a causa del rischio di azioni legali: come potrebbe infatti quell’esperto dimostrare di non aver attinto alle proprie conoscenze privilegiate?
È per questo che molti esperti di informatica, pur essendo invitati ad esaminare documentazione tecnica e codici sorgenti riservati, spesso rifiutano di farlo: si esporrebbero a rappresaglie giudiziarie interminabili e diverrebbero paria nella propria comunità di lavoro. Questo significa che gli esperti disponibili a esaminare il codice sorgente di Windows saranno pochi; se poi si considera che devono oltretutto avere autorizzazioni di sicurezza di alto livello per lavorare per il Ministero degli Interni, la rosa dei candidati si restringe maggiormente.
Il bello è che secondo le dichiarazioni di Microsoft Italia, “per quanto riguarda il Non Disclosure Agreement è totalmente impossibile divulgarlo all’esterno, data la natura di estrema riservatezza”. Dunque persino le condizioni necessarie per visionare il codice segreto sono a loro volta segrete. Chissà, forse occorre firmare un accordo di riservatezza per poter visionare l’accordo di riservatezza. In queste condizioni è difficile immaginare che si formi la coda di esperti ansiosi di partecipare a un’ispezione del sorgente Microsoft.
Per i governi, insomma, non sarà facile reclutare ispettori affidabili e veramente esperti (hacker nel senso originale del termine, per intenderci), per cui la qualità delle ispezioni potrebbe risentirne. A questa carenza di candidati si aggiunge inoltre il problema non banale di esaminare decine di milioni di righe di codice: con un numero così ristretto di ispettori, è semplicemente impensabile analizzarne in tempi ragionevoli più che una frazione infinitesima, tenuto conto che oltretutto il codice cambia in continuazione con l’uscita di patch e aggiornamenti. L’offerta del GSP è quindi una trasparenza del tutto illusoria.
Legati a doppio filo
In realtà il GSP è semplicemente una mossa commercialmente molto astuta da parte di Microsoft. Le consente infatti di coinvolgere gratuitamente nello sviluppo del proprio software gli esperti governativi dei paesi più tecnologicamente avanzati (almeno quelli disposti al sacrificio), dando l’impressione della trasparenza senza realmente offrire nulla di significativo in cambio.
A spese dei rispettivi governi, infatti, questi esperti andranno in pellegrinaggio a Redmond, dove discuteranno dei problemi di sicurezza di Windows con gli addetti Microsoft e inevitabilmente offriranno suggerimenti utili per risolverli. Aiuteranno Microsoft, insomma. Come dice il comunicato stampa, il GSP “offre al personale governativo la possibilità di… migliorare e potenziare le funzionalità di sicurezza della piattaforma Windows”. Non è chiaro perché un governo dovrebbe lavorare per migliorare i prodotti di una società commerciale, ma pazienza.
Inoltre, come mi conferma Valboni, se un ispettore di un governo aiuta a risolvere un’anomalia di Windows, la proprietà intellettuale del codice migliorato rimane di Microsoft. In altre parole, Microsoft ha modo di attingere gratis alle menti migliori dei nostri governi per migliorare il proprio software. Software che poi ci rivenderà. Un bell’affare.
C’è un’altra conseguenza interessante: quest’offerta di accesso al sorgente Microsoft consente alla società di Bill Gates di dare a rappresentanti altolocati e influenti dei governi “una migliore capacità di eseguire ispezioni di sicurezza e rispetto della privacy e idee migliori su come progettare, costruire e manutenere ambienti informatici sicuri“, come dice Craig Mundie. Ambienti basati su software Microsoft, s’intende. Una volta che questi rappresentanti avranno acquisito queste competenze, è logico che quando torneranno a casa raccomanderanno il software Microsoft in cui sono diventati competenti, non di certo l’open source. Il GSP diventa quindi una tattica elegante per sbarazzarsi del problema open source e introdurre Microsoft nei più alti livelli dell’amministrazione pubblica.
Riassumendo: il codice è talmente vasto, e i limiti di accesso sono così severi, che farlo esaminare seriamente da un pugno di esperti è impossibile; le migliorie suggerite dagli esperti governativi restano di proprietà Microsoft; non c’è garanzia che il codice ispezionato sia quello distribuito. Di preciso dove sta il vantaggio per i governi? Potrebbe essere una domanda simpatica da fare a Bill Gates quando sarà ospite al Senato italiano il prossimo 31 gennaio.