Insicurezza nell'open source

9 ott
2006

Quello che gli sviluppatori open-source possono apprendere, in merito a sicurezza e qualità, dai creatori di software proprietario.
Tux, la mascotte di linux

Leggerete in sequenza: un discutibile articolo pubblicato da Businessweek e la relativa replica scritta da un blog dedicato alla distribuzione Debian.

I dibattiti in merito a quale metodo di sviluppo sia il migliore spesso si fossilizzano tra chi preferisce un approccio open-source e chi propone software proprietario, ovvero modelli di sviluppo closed-source. Le convenzioni sostengono che il software open source dovrebbe avere meno bachi di sicurezza rispetto al software proprietario. Con più occhi in grado di guardare a fondo sul codice sorgente, i bug dovrebbero essere trovati ed eliminati più velocemente.

Ma quando la sicurezza del software è davvero importante - come ad esempio attraversare l'Atlantico con un jet di linea - credetemi, preferirete viaggiare con software proprietario.

Questa conclusione si basa sull'impegno della mi azienda nel testare la sicurezza e la qualità del software. Lavorando con il Dipartimento della Sicurezza Interna e con la Stanford University, la mia azienda, Coverity, ha analizzato da vicino 50 tra i più popolari progetti open source, studiando più di 20 milioni di righe di codice al giorno. Potete trovare il risultato del nostro lavoro sul nostro sito web.

COMPARAZIONE BUG PER BUG. Per la prima volta abbiamo comparato questi risultati con il software proprietario realizzato da più di 100 differenti aziende, inclusi alcuni dei nomi più conosciuti nel settore aereospaziale, dei servizi finanziari, del software, e delle telecomunicazioni - oltre 60 milioni di righe di codice tutte assieme.

Nella nostra ricerca, utilizzando sistemi automatici di rilevazione dei bug, nessun software open source tra quelli analizzati aveva meno difetti (per mille righe di codice) rispetto al migliore tra i software closed-source. Si tratta del codice proprietario scritto per una compagnia aerea, ed è migliore del migliore software open source - più di cinque volte meglio a dire il vero. L'azienda che sviluppa questo codice non ti farà precipitare quando volerai da New York a Londra.

Degli oltre 150 software open source e proprietari che abbiamo analizzato in questa ricerca, il software closed-source ha conquistato 11 delle 15 migliori posizioni per la più elevata qualità e sicurezza.

Sorpresi? Tutti noi sappiamo che molto del software puzza. E la maggior parte del software è ancora closed-source, e nasconde un sacco di bug.
Gli utenti ne hanno la prova più ampia, ed è la loro personale esperienza con le schermate blu e con i software dei cellulari che si impiantano in continuazione.
Uno spaventoso studio realizzato dall'stituto Nazionale degli Standard e delle Tecnologie (NIST) - i dati più completi e recenti disponibili - stima che i bug nei software costano all'economia americana 60 miliardi di dollari l'anno. Ed è probabilmente sicuro raddoppiare questa quantità per una valutazione mondiale.

Quindi, come mai il software open source non sta risolvendo il problema?

MIGLIORE NON SIGNIFICA "IL MIGLIORE": La risposta è che esso può - ma non ancora. La comunità open source dovrà prima laurearsi all'Università di Lake Wobegon, dove tutto il loro software è appena al di sopra della media (credo che intenda: "devono essere più modesti"). Devono prendere lezioni dai campioni dello sviluppo closed-source, ovvero più completi e rigorosi test di qualità end-to-end. Gli sviluppatori di software Open Source hanno un sacco di orgoglio rispetto al loro contributo individuale al codice, ma molte organizzazioni proprietarie sanno come (ed è loro richiesto) certificare la più alta qualità del software nella sua globalità.

L'ironia è che la nostra ricerca dimostra che nella media, il software open source è di qualità superiore rispetto al software proprietario. Effettivamente, i progetti open source tendono a raggrupparsi tutti verso un'alto standard di qualità. I software proprietari tendono invece ad alternarsi nella qualità, ma i migliori tendono ad essere considerevolmente superiori rispetto a quelli open source, e d'altro canto i clienti non scelgono software basati sulla media.

Il meglio del software closed-source si trova nelle cosiddette applicazioni mission-critical: cose tipo motori di Jet, centrali nucleari, sistemi telefonici, device medici. Si tratta di cose che non possono fallire, altrimenti potrebbero morire delle persone.

TESTING, TESTING: La nostra ricerca conferma che i padroni dello sviluppo proprietario conoscono alcuni aspetti dello sviluppo - o semplicemente utilizzano una ristretta gamma di pratiche di sviluppo - che potrebbero giovare alla, spesso brillante (ma forse meno disciplinata), comunità open source.

Questi aspetti sono importanti, poiché l'uso di software è sempre più predominante nel commercio e nei governi, e sempre più software destinato a questi settori è open source. Più le linee di codice crescono, più le applicazioni diventano complicate, più è difficile trovare gli errori, e sfortunatamente di conseguenza è più facile che il software vada in crash.

Noi vediamo due tendenze nello sviluppo di software proprietario che promettono di rendere migliore anche il software open-source. Primo, le aziende tendono a riservare molta più attenzione al ciclo di sviluppo del loro software. Questo significa migliori controlli sulla qualità finale che aiutano ad assicurare che l'intero sistema software mantenga le sue promesse. Secondo, c'è una tendenza verso il testing automatizzato. Visto che il software sta diventando sempre più complicato allora il testing deve essere svolto anche dalle macchine oltre che dalle persone. Gli aspetti relativi al testing sono diventati troppo vasti per essere affidati alle sole persone, lo studio del 2002 della NIST ha stimato che 22 miliardi di dollari relativi al costo del software bacato sarebbero stati risparmiati con una migliore fase di testing.

ANDARE VERSO IL MAINSTREAM? Grazie alla più elevata qualità media del software open source, rilevata dalla nostra ricerca, noi crediamo fermamente che esso possa saltare il fosso dell'uso mainstream. Il software open source offre troppi vantaggi sia per gli sviluppatori che per gli utenti.

Ma affinchè il software open source diventi più prevalente nell'uso in applicazioni mission-critical, la comunità open source deve porre maggiore enfasi sulle pratiche migliori utilizzate dall'industria. Noi sfidiamo questa comunità a dare uno sguardo più da vicino a come i migliori software proprietari sono stati costruiti e ad apprendere da essi.
La qualità del software e la sicurezza sono i più importanti fattori nella scelta che gli sviluppatori e le aziende fanno, a loro non interessa l'aspetto: "open-source contro software proprietario".

Benjamin Chelf è il Capo Ufficio Tecnologie della Coverity, una compagnia privata con sede in San Francisco, che si occupa di analizzare il codice per rilevare difetti nel software o vulnerabilità relative alla sicurezza

Fonte: Businessweek.

Questa la risposta all'articolo da parte di un rappresentante della comunità open source:

Il software libero e la qualità

Ben Caff osserva che il Free Software è superiore alla media in termini di sicurezza se comparato con il mercato del software proprietario, ma è a corto di campioni per quanto riguarda il software usato nelle applicazioni mission-critical del tipo: "vai in crash e le persone moriranno".

Temo di dover urlare al fallo qui: sviluppare software per il tipo di sistemi che egli descrive (sistemi di controllo per centrali nucleari, equipaggiamento medico...) significa sviluppare software con grandi budget e limitate e ben specificate funzionalità. Comparato a questo, il Free Software è per lo più scritto con preventivi ristretti (anche se spesso gli autori di Free software non ricevono un compenso in denaro, è giusto calcolare come parte del budget la loro disponibilità ad investire tempo in un progetto) e spesso con un forte attenzione verso funzionalità estese.

In altre parole: Ben sta mettendo a confronto mele e arancie. Questa ad esempio è una parte interessante del suo articolo:

L'ironia è che la nostra ricerca dimostra che nella media, il software open source è di qualità superiore rispetto al software proprietario. Effettivamente, i progetti open source tendono a raggrupparsi tutti verso un'alto standard di qualità. I software proprietari tendono invece ad alternarsi nella qualità, ma i migliori tendono ad essere considerevolmente superiori rispetto a quelli open source, e d'altro canto i clienti non scelgono software basati sulla media.

Mentre Ben ritiene questo aspetto in qualche modo ironico, io interpreto la cosa in un modo decisamente diverso. I progetti di software libero sono giudicati in base ai loro meriti e non in base a quanto essi valgono dal punto di vista commerciale. Se essi non raggiungono almeno un minimo standard di qualità allora sono destinati a sparire già nell'infanzia. Per cui, lasciamo il mondo in cui il denaro per garantire la migliore qualità finale non manca e guardiamo invece al mondo del business di "tutti i giorni", dove il software è messo a disposizione dopo un periodo di valutazione piuttosto breve, perché la soluzione è richiesta adesso e non tra due anni, in questi casi puntare al Software Libero potrebbe essere una scommessa sicura.

Ed allora, compariamo il Software Libero al software proprietario in questi campi. Non mettiamoci a confrontare un software proprietario che serve a controllare una centrale nucleare contro un software libero destinato ad appllicazioni di groupware. Facciamo confronti sui software che le persone normali utilizzano: Internet Explorer contro Mozilla Firefox, PostgreSQL e MySql contro Oracle e MS SQL, GCC ed Eclipse contro qualsiasi compliatore proprietario o suite di sviluppo fornita con l'acquisto di una motherboard ARM-based. Oppure macchine per il voto elettronico proprietario contro il sistema di voto utilizzato dal Debian Project.

E, separatamente, rispondere al perché non ci sono sistemi di controllo per motori jet o per centrali nucleari basati su progetti open source. Per me la risposta è abbastanza ovvia: Il Software Libero funziona quando una comunità di persone, con problemi correlati fra loro, può lavorare assieme per implementare una soluzione. E' vero, alcuni Software Liberi sono iniziati da una singola persona o da una singola azienda, ma nessun software libero è sopravvissuto senza avere dietro una comunità in grado di sostenerlo. E non credo che mi consegnerete in mano una centrale nucleare soltanto perché sono interessato al suo funzionamento.

D'altra parte ho dovuto ridere un pò davanti a quest'affermazione:

Grazie alla più elevata qualità media del software open source, rilevata dalla nostra ricerca, noi crediamo fermamente che esso possa saltare il fosso dell'uso mainstream.

Quindi google che gira interamente su Linux non è mainstream? La Microsoft che usa lo stack TCP/IP che ha origini Open Source, non è Mainstream? Firefox, che detiene il 10% del mercato dei browser internet non è mainstream? Apache che detiene il 60% del mercato server, non è mainstream?

Fonte: Raw Matter

Leggi anche:

  1. Skype diventerà Open Source?
  2. Le agenzie governative australiane giudicano positivamente il software Open Source
  3. I bug nei software open source sono in costante diminuzione
  4. Elephant Dreams - Il primo film open source
  5. I database open source costano il 60% in meno

NOOK (Gli utenti ritengono che questo articolo valga +4, hanno votato 1 utenti)
Loading ... Loading ...

    Articoli correlati


    Warning: Cannot use a scalar value as an array in /home/doxaliber/webapps/doxaliber/wp-content/plugins/yet-another-related-posts-plugin/related-functions.php on line 34


Articolo scritto da Doxaliber per Doxaliber, vuoi partecipare anche tu?

Creative Commons License

Se questo articolo ti è piaciuto aiutami a diffonderlo. Segnalalo sul tuo blog, invialo agli amici, segnalalo sugli aggregatori di news. Se vuoi seguire Doxaliber con maggiore tranquillità iscriviti ai feed, trovi i link in alto a destra. Intanto questo blog ha già:
Lettori feedburner
senza contare i lettori dei feed per categorie e gli abbonati alla newsletter!

4 Risposte to “Insicurezza nell'open source”

  1. Insicurezza nell’open source...

    Leggerete in sequenza: un discutibile articolo pubblicato da Businessweek e la relativa replica scritta da un blog dedicato alla distribuzione Debian....

    Ti piace questo commento? Thumb up 0 Thumb down 0

  2. swisstux scrive:

    bravo. mi piacciono gli articoli che pubblichi.

    Ti piace questo commento? Thumb up 0 Thumb down 0

  3. Alexxx scrive:

    Vedendo i risultati pubblicati, credevo peggio! Comunque il discorso sulla community è giusto, come si deve dire che probabilmente le applicazioni mission critical gireranno su linux o su un *BSD!!! Anche che se i progretti OS hanno diversi rami di sviluppo, e se serve ci sono le release "frozen", altrimenti che senso ha sviluppare il kernel 2.2?

    Ti piace questo commento? Thumb up 0 Thumb down 0

  4. Doxaliber scrive:

    Grazie mille swisstux

    Alexxx, secondo me l'autore di quell'articolo parlava di "Open Source", senza sapere di cosa stasse davvero parlando... :-)

    Ti piace questo commento? Thumb up 0 Thumb down 0

Rispondi

top