Perché è importante l’open source?

Cos'è l'open source?

Il software open source è un software il cui codice sorgente è stato reso pubblicamente disponibile dal suo titolare del copyright. Con una vera licenza open source, il software è sviluppato in collaborazione e altri programmatori possono guardare, modificare o usare il codice per i propri scopi. Questo modello "puro" open source viene spesso definito FOSS (software gratuito e open source).

Una variante di open source è "source available", il che significa che non viene concessa alcuna autorizzazione per modificare o utilizzare in altro modo il codice, ma che è disponibile per l'ispezione. Per motivi di sicurezza, questo vale quanto il vero open source, quindi quando mi riferisco a "open source" in questo articolo, includo il codice che è "sorgente disponibile".

Cos'è la fonte chiusa?

La maggior parte dei software è scritta e sviluppata da società commerciali. Comprensibilmente, queste aziende vogliono evitare che altri rubino il loro duro lavoro o segreti commerciali, quindi nascondono il loro codice da occhi indiscreti usando la crittografia, e qualsiasi tentativo di utilizzare o modificare il codice senza autorizzazione comporterà azioni legali o peggio.

Quindi qual'è il problema?

Come ho già detto, tutto ciò è abbastanza comprensibile, ma quando si tratta di sicurezza presenta un grosso problema. Se nessuno può vedere i dettagli di ciò che fa un programma, come possiamo sapere che non sta facendo qualcosa di dannoso? Fondamentalmente non possiamo, quindi dobbiamo semplicemente fidarci della società coinvolta, che è qualcosa che noi paranoici tipi di sicurezza siamo detestabili (con una buona ragione).

Perché l'open source è la soluzione migliore?

Se il codice è open source, può essere esaminato e verificato in modo indipendente da chiunque sia abilitato a farlo, al fine di verificare che non vi siano backdoor, vulnerabilità o altri problemi di sicurezza. L'open source non è una soluzione perfetta (vedi sotto), ma è l'unico modo per verificare che il software stia facendo esattamente quello che dovrebbe fare.

Anche se il codice non è stato verificato, il fatto stesso che sia liberamente disponibile per essere verificato fornisce una forte indicazione che può essere considerato attendibile, poiché è improbabile che gli sviluppatori includano codice dannoso e quindi lo lascino aperto per essere scoperto da chiunque si preoccupa di guardare.

Non è una soluzione perfetta ...

Sfortunatamente, ci sono un numero limitato di persone con sia le competenze che il tempo per controllare il software open source (di solito gratuitamente), il che significa che la stragrande maggioranza dei programmi open source non è stata controllata.

Questo problema è aggravato dal fatto che molti programmi open source sono estremamente complessi, contenenti migliaia e migliaia di righe di codice, quindi anche se sono stati controllati, è del tutto possibile che i revisori abbiano perso un problema (specialmente se è stato deliberatamente nascosto).

Ma…

L'open source, quindi, non garantisce che un programma sia “pulito”, ma è comunque la migliore garanzia che abbiamo (o possiamo avere) che sia così. L'alternativa è la fonte chiusa, che non fornisce alcuna garanzia.

Verifica sempre i programmi open source

Quindi l'open source è ottimo per la sicurezza. Sìì! Ma come puoi sapere con certezza che il programma open source che hai appena scaricato non è stato manomesso in alcun modo?

Questo potrebbe sembrare un pensiero fantasioso di cospirazione paranoica, ma a febbraio 2016 il sito Web di una delle versioni più popolari del sistema operativo open source Linux, Linux Mint, è stato hackerato e una versione compromessa del sistema operativo è stata resa disponibile per i downloader,

"Gli hacker hanno creato un ISO Mint Linux modificato, con una backdoor al suo interno, e sono riusciti a hackerare il nostro sito Web per indicarlo."

Le immagini ISO Linux infette hanno installato il sistema operativo completo con Tsunami backdoor Internet Relay Chat (IRC), che ha consentito agli aggressori di accedere al sistema degli utenti tramite server IRC. Quindi la minaccia è molto reale.

In questo caso, i downloader che si sono preoccupati di fare il checksum dell'hash MD5 del file (vedi qui per come fare) avrebbero notato l'inganno, ma tali controlli hash non sono una protezione affidabile perché se un sito Web può essere hackerato in primo luogo, esso è banale sostituire il checksum pubblicato con uno falso che verifica il file compreso.

È molto meglio per gli sviluppatori firmare digitalmente il proprio software in modo che gli utenti possano verificare l'origine di un file (gli sviluppatori di Mint erano molto rilassati in questo senso, poiché il loro software non era firmato digitalmente e anche la funzione hash MD5 che era stata usata è nota essere rotto!)

Consulta il mio articolo sulle firme digitali: perché e come utilizzarle per ulteriori informazioni. Sfortunatamente, verificare le firme digitali è una seccatura, ma è necessario se ti preoccupi della sicurezza.

Dovrei anche notare che, idealmente, tutti i software dovrebbero essere firmati e verificati digitalmente, ma poiché il codice open source può essere modificato liberamente da chiunque, è più facile manomettere il codice sorgente chiuso. È quindi particolarmente importante verificare i programmi open source.

Open source: conclusione

L'open source non è una soluzione perfetta, ma offre la migliore (e unica!) Garanzia possibile della fiducia del software. L'alternativa è la fonte chiusa, che non fornisce alcuna garanzia (a parte la cieca fiducia nell'azienda, che è una fede che le aziende tecnologiche non meritano).

Brayan Jackson
Brayan Jackson Administrator
Sorry! The Author has not filled his profile.
follow me