Come posso fidarmi dei programmi Open Source?

Oct 17 2020

Ho una domanda sui programmi Open Source. Come posso essere certo che un programma open source sia sicuro e non mi stia spiando? Ad esempio, ho installato Firefox su Linux e come posso essere sicuro che questo programma sia sicuro! È vero che Firefox è open source, ma chi può leggere un milione di righe di codice !. Gli utenti utilizzano software open source e si fidano di loro perché sono open source e tutte le persone possono leggere ed esaminare codici, ma nessuno lo fa. Immagino che alcune aziende e programmatori abusino di questa mentalità degli utenti e possano fare qualsiasi cosa. I programmi closed source non hanno alcuna fiducia e penso che sia vero anche per i grandi programmi open source.

Risposte

7 MadHatter Oct 17 2020 at 03:49

È vero che lo sviluppatore dell'applicazione originale può essere dannoso: il famoso (e fondamentale, e anche molto leggibile) articolo di Ken Thompson " Reflections on Trusting Trust " chiarisce quanto può andare in profondità quella tana del coniglio. La sicurezza assoluta è molto difficile da ottenere e il software libero non è un rimedio perfetto per questo. Ma tra sicurezza assoluta e nessuna sicurezza c'è un bel divario, e non tutte le località in quel golfo sono equivalenti.

Ci sono altre persone che potrebbero essere dannose, contro le quali il software libero può aiutarti a difenderti. Gli sviluppatori commerciali possono, e spesso fanno, scrivere software che è almeno parzialmente ostile agli interessi dei loro utenti. Non hai modo di sapere cosa sta facendo quel software - certamente nessuno è così facile come esaminare il codice sorgente, per tutto ciò che è difficile.

Ci sono molte altre persone oltre allo sviluppatore coinvolte nel confezionamento del software e nella catena di distribuzione che potrebbero augurarti malessere, e anche qui il software libero può aiutarti. Il movimento Reproducible Builds mira a consentire alle persone indipendenti dai distributori di creare software dalle fonti fornite; puoi quindi confrontare i checksum dei tuoi binari con quelli che producono, per avere maggiore sicurezza che il software che stai utilizzando sia effettivamente una rappresentazione fedele del codice sorgente a cui hai diritto.

Quindi no, il software libero non è perfetto. Ma è molto meglio che eseguire un binario casuale che arriva su un CD-R con la strana webcam che hai appena acquistato su Internet.

1 peterh Oct 17 2020 at 02:59

Non puoi esserlo.

L'unica differenza è che con un software opensource, c'è almeno qualche possibilità che venga rivelata una backdoor. Nel caso di closed source, la possibilità è prossima allo zero (forse se il produttore più onorato commette un errore ).

Nota, in realtà la ricerca di falle di sicurezza in un software è un'abilità diversa rispetto allo sviluppo di esso, quindi la complessità del codice non lo difende da un controllo di sicurezza così fortemente come si potrebbe pensare con gli occhi dei profani. Ci sono molti trucchi da utilizzare, ad esempio, controllando sempre le differenze del codice, oppure utilizzando vari strumenti software per verificare eventuali vulnerabilità e quindi analizzandole dal cervello umano.

Cosa potrebbe funzionare, se si utilizza una combinazione di software opensource dove rompere il sistema, è necessario rompere entrambi. Ad esempio, utilizzando un'app opensource in una macchina virtuale: per violare la macchina host, è necessario crackare sia la VM che l'app.