Discorso sull'Open Source

Data pubblicazione: 23-feb-2015 17.19.21

"E' molto difficile far capire qualcosa a qualcuno il cui stipendio dipende dal fatto di non capirla". Upton Sinclair

In questi anni la Pubblica Amministrazione dello Stato Italiano si è affidata totalmente al software "Closed Source" (Microsoft Windows, Microsoft Office), spendendo milioni di € in licenze d'uso ogni anno ma sopratutto legandosi a doppio filo a sistemi intrinsecamente insicuri.

Perchè il software "Open Source" è più sicuro.

I fattori che rendono il sw "Open source" intrinsecamente più sicuro sono essenzialmente tre, anche se non sono i soli.

1) La trasparenza.

Ammettiamo che avete appena scaricato un programma, diciamo un giochino. Ammettiamo che in realtà il programmatore ha inserito nel programma del codice maligno, diciamo un trojan, che apre una porta nel vostro sistema verso ignoti a vostra insaputa. Se quel programma è "Open Source", proprio in virtù di questo fatto, sarà disponibile il suo codice sorgente. Ora, magari io non sono capace di leggerlo, ma migliaia di programmatori nel mondo sì. Essi identificherebbero il codice maligno, e denuncierebbero all'istante il truffatore pubblicamente.

Ed ecco che, proprio per la trasparenza del codice "Open Source", proprio in virtù di questo fatto, chi gioca sporco viene immediatamente individuato, denunciato, e bannato. Quando invece usate un sw "Closed Source", chi sa cosa c'è dentro? Un programma siffatto è come un'auto con il cofano chiuso e non apribile (legalmente) in nessun modo: io non la comprerei mai, a prescindere. E non si cullino coloro che dicono: "Ma io non scarico mai software di dubbia provenienza, uso solo programmi di grandi aziende conosciute"; questo non mette assolutamente al riparo l'utente da comportamenti "nascosti" del programma: non sono state di certo rare le notizie che alcuni dei più diffusi sw di grandi aziende informatiche (vedi: Windows Media Player) spiavano gli utenti e mandavano ad indirizzi governativi americani svariati dati (nella fattispecie, dati sui file multimediali riprodotti e se erano originali o non); e questo non è che uno degli innumerevoli casi. Si dice che a volte le backdoors erano semplicemente *imposte* alle grandi aziende di software, che purtroppo, semplicemente, non hanno potuto fare altro che adeguarsi. Si rimanda al caso Wikileaks per avere un'idea della portata dello spionaggio generalizzato che hanno subito e probabilmente continuano a subire gli utenti di tutto il mondo.

2) Le contro-misure informatiche.

Ogni programma che raggiunga un uso massiccio (mondiale, ma anche semplicemente nazionale) viene sottoposto da parte dei vari crackers ad un'attività approfondita e continua di scanning in cerca di falle di sicurezza. Chi ci sia dietro a questi individui è risaputo: a parte sporadiche azioni individuali, spesso dietro a questi crackers ci sono vere e proprie organizzazioni criminali, ma anche gli Stati. Serpeggia infatti, e non è un segreto, in modo non dichiarato ma non meno intenso una vera e propria guerra segreta che si svolge a livello informatico, fatta da misure informatiche che craccano le protezioni e rubano dati sensibili, e contro-misure informatiche che quelle misure vanno a neutralizzare. Un pò quello che succedeva (e ancora succede) con la "guerra elettronica" e le sue "misure e contro-misure elettroniche".

Ripeto: *ogni* programma che abbia una valenza di uso di massa viene sottoposto a questo scanning, e riguardo ai soggetti attivi coinvolti che cercano misure per craccarlo ho parlato prima.

Ma chi, invece, studia le contro-misure? Qui i software "Open Source" e "Closed Source" si differenziano in modo netto.

Il sw "Open Source" è scritto e continuamente monitorato da migliaia di programmatori sparsi nel mondo, che, in virtu' del fatto di avere i sorgenti disponibili e visionabili, si mettono alla ricerca dei "bug" di sicurezza con il preciso scopo di evidenziarli e di "topparli" *prima* che un "malintenzionato" li possa sfruttare: è una ricerca continua, e soprattutto, "in tempo reale".

Gli "aggiornamenti di sicurezza" sono una costante giornaliera nel modo "Open Source", che dà alle "patches" risolutorie un'importanza prioritaria.

Nel mondo "Closed Source" invece, chi fa questa ricerca è l'azienda produttrice, e non potrebbe essere altrimenti, visto che il codice sorgente è segreto, e visionabile solo, appunto, dai dipendenti dell'azienda stessa. Ma non crediate che questo è un vantaggio di sicurezza: anzi!

Le falle, anche senza il codice sorgente, possono essere tranquillamente scoperte (vedi: il reverse engineering). Ma il fatto che un team aziendale per forza di cose limitato -rispetto alla comunità "Open Source" sparsa per il mondo- non possa che rilasciare pacchetti "multipli" di patches (p.es.: i "Service pack" di Microsoft) è un fatto: un'azienda può avere un team che lavori H24 (comunque limitato), ma il suo lavoro semplicemente costa; per questa ragione i rilasci non possono che essere "toppe" multiple e scaglionate nel tempo; ma, purtroppo per l'utente, ciò potrebbe "essere troppo tardi". I cracker lo sanno, e giocano proprio nel tempo che intercorre tra il momento che un sw viene rilasciato (appena trovata la falla), e il momento in cui la stessa azienda rilascia il "Service pack" di contro-misure efficaci.

Purtroppo, come dicevo, se io sono un utente sfortunato il cui sistema viene craccato una settimana prima del rilascio del pacchetto di contro-misure, anche se ripeto una settimana dopo il "Service pack" viene rilasciato, è per me una ben magra consolazione: forse ho già perso migliaia di Euro della mia carta di credito a causa di un "key sniffer", o forse peggio.

Questo è il motivo per cui io chiedo pubblicamente a Microsoft: "Potreste rilasciare pubblicamente i sorgenti di Windows così verrebbero monitorati in tempo reale dalla comunità Open Source 'world-wide' e io mi sentirei più sicuro? (Grazie mille)"

3) Il fattore sociale.

Questo fattore è molto più facile spiegarlo degli altri due precedenti: le aziende "Closed Source" per, diciamo così, una leggerezza dell'Antitrust americana, hanno raggiunto una diffusione mondiale, e, sopratutto, monopolista. In altri termini, se vado in un negozio di informatica troverò solo prodotti "Closed Source" ossia PC con Microsoft Windows o con Apple OSX. Le alternative "Open Source" in negozio sono rarissime.

Questo però identifica l'utente di questi prodotti, agli occhi dei crackers, come i target privilegiati dei loro sforzi: proprio in virtù della diffusione mondiale e generalizzata. Anche il cracking costa, e chi "pesca" cerca di adattare la "rete" in misura dei "pesci più diffusi". Ciò è una cosa logica.

Per dirla in parole povere, adottando sw "Open Source" automaticamente mi metto al di fuori del mirino dei crackers (o comunque delle loro "attenzioni").

Sono questi i motivi principali (ma non gli unici) che hanno spinto le Agenzie di Sicurezza dei paesi più all'avanguardia a dotarsi di sistemi "Open Source". Ad esempio, la National Security Agency degli USA non solo ha adottato GNU/Linux come S.Operativo più sicuro nei suoi terminali, ma ne ha addirittura creato una sua versione "customizzata".

"Sicurezza informatica" (quella vera, non quella palliativa degli Anti-Virus) e "Closed Source" sono concetti che si escludono reciprocamente.

Per finire, due punti.

I costi.

Non è una boutade dire che i monopolisti trattano l'utente come un soggetto che non può far altro che "adeguarsi" al prezzo che essi decidono.

E non è un segreto che molti programmi del mondo "Closed Source" sono eccessivamente onerosi. La situazione è andata migliorando solo e proprio grazie alle alternative "Open Source", che appunto si sono andate prefigurando come alternative vere e proprie (vedi: Open/Libre Office) rispetto alle controparti chiuse (Microsoft Office) e le aziende di queste ultime non hanno potuto far altro che abbassare un po' i prezzi. Tuttavia, la situazione rimane difficile per l'utente del sw "Closed Source": egli è diviso tra l'opzione di dotarsi di sw originale sborsando cifre ragguardevoli, o usare i codici illegali per craccare gli stessi per poi poterli usare gratis. Inutile dire però che quest'ultima opzione, oltre ad essere illegale, mette a rischio l'utente del "Closed source" a cracks che oltre a permettergli "la furbata" aprono anche il suo sistema a sua insaputa oppure lo infettano, e gli esempi a tal senso sono innumerevoli. Lascio la riflessione sulle due opzioni succitate nel caso in cui "l'utente" sia la Pubblica Amministrazione: è più etico spendere tanti, ma tanti, soldi pubblici, o risparmiarli e rischiare di infettare macchine con dati sensibili, e contemporaneamente infrangendo la legalità?

In ultimo, non è vero che, in un mondo "Open Source" le aziende informatiche fallirebbero (quelle di Antivirus forse): ci sono colossi del livello di Red Hat che vivono e prosperano vendendo il "supporto", ad un prezzo al di fuori di logiche monopolistiche (e quindi non esoso).

La libertà.

Ma il concetto più importante è la libertà, e più specificatamente la "libertà del sapere".

E' questo, e solo questo, che ha spinto i primi programmatori "Open Source" a pubblicare i sorgenti dei loro programmi all'inizio degli anni '70: il sapere -e nella fattispecie il sapere informatico- non si può e non si deve secretare; ciò è semplicemente una condizione del progresso del genere umano. Vale più quest'ultimo, o i brevetti legati al profitto di poche aziende?

E' una riflessione etica, ma che nondimeno il legislatore dovrebbe adottare come un "faro" nelle scelte di indirizzo, almeno per individuare a quali sistemi dare una priorità di massima.