Piccoli progetti che utilizzano il modello di cattedrale: sicurezza open source più bassa?

4

Sappiamo della legge di Linus:

With enough eyeballs all bugs are shallow

In generale, le persone sembrano dire che il software open-source è più sicuro proprio per questo, ma ...

Ci sono molti piccoli progetti OSS con solo 1 o 2 sviluppatori (il modello di cattedrale, come descritto da ESR). Per questi progetti, rilasciare il codice sorgente in realtà riduce la sicurezza? Per progetti come il kernel di Linux ci sono migliaia di sviluppatori e le vulnerabilità di sicurezza sono molto probabili, ma quando alcune persone guardano attraverso il codice sorgente, permettendo ai cracker (black hat hacker) di vedere anche la fonte, è la sicurezza è stata abbassata invece che aumentata?

So che il vantaggio in termini di sicurezza che il software closed-source ha sull'OSS è la sicurezza attraverso l'oscurità, che non è buona (del tutto), ma potrebbe aiutare in una certa misura, almeno dando a quei pochi sviluppatori un po 'più di tempo ( la sicurezza attraverso l'oscurità non aiuta con il se ma con il quando).

EDIT: La questione non è se l'OSS sia più sicuro del software non-OSS ma se i vantaggi per i cracker siano maggiori dei vantaggi per gli sviluppatori che vogliono impedire che le vulnerabilità della sicurezza vengano sfruttate .

    
posta Anto 25.02.2011 - 17:24
fonte

4 risposte

1

Penso che probabilmente riduca un po 'la sicurezza, per un progetto open source così piccolo o oscuro che nessuno, se non i suoi autori, lo sta davvero osservando. In tal caso, non riceverai alcun aiuto con la sicurezza di una community, ma se qualcuno, per qualche ragione, ha indirizzato il tuo piccolo progetto oscuro, sarebbe stato più facile dal momento che avrebbero avuto la fonte. Non che abbiano un tempo impossibile senza fonte, ma avere la fonte accelera la comprensione, se il tuo intento è amichevole o dannoso.

Molte delle vulnerabilità web più comuni (problemi di escape HTML, SQL injection, ecc.) sono abbastanza facili da controllare senza avere anche l'origine, quindi non è come tenere le cose chiuse significherà che sei al sicuro.

Tenderei a pensare che sia meglio fare solo ciò che ha senso sulla licenza (aperta o chiusa) indipendente dai problemi di sicurezza, e quindi considerare la sicurezza come qualcosa di cui preoccuparsi molto in entrambi i modi.

    
risposta data 25.02.2011 - 18:51
fonte
2

Open Source significa semplicemente codice / app di uso comune, che ti aiutano a iniziare. Per impostazione predefinita non assumere perché è open source è un codice buono o cattivo, è necessario sempre ricontrollare qualsiasi codice. Per qualità, commenti, documentazione, quanto è facile aggiornare / cambiare.

Utilizza un elenco di controllo della sicurezza per identificare tutti i possibili problemi e utilizzalo per qualsiasi lingua / server / sistema operativo utilizzato, indipendentemente dal fatto che il codice sia aperto o chiuso

    
risposta data 25.02.2011 - 17:28
fonte
1

La sicurezza del codice è garantita solo implementando un algoritmo di sicurezza comprovato correttamente . Questo è infatti più semplice da verificare con il codice open source, cioè i bug vengono risolti più rapidamente. Credo che gli algoritmi di sicurezza ampiamente utilizzati come SHA et al. sono pubblicati, tuttavia la loro disponibilità non rende più facile per i cracker craccarli. È la dimostrata teoria matematica dietro di loro che li rende sicuri.

Per quanto riguarda i piccoli progetti open source, suppongo che non abbia senso pubblicare il codice comunque quando è solo a metà cottura e non funzionale. Dal punto di vista della sicurezza, questo significa che dovrebbe essere esaminato attentamente, preferibilmente dal maggior numero possibile di esperti di sicurezza e / o contro una lista di controllo di sicurezza come suggerisce @crosenblum.

    
risposta data 25.02.2011 - 17:30
fonte
-1

Puoi pensare alla sicurezza come a uno stato. Un determinato software ha un certo livello di sicurezza, ma a meno che non sia provato matematicamente .. quel livello è sconosciuto.

La pubblicazione del codice sorgente non rende il tuo codice più o meno sicuro, tutto ciò che fa è cambiare la quantità di informazioni che è nota sul tuo software.

Ciò che la pubblicazione del codice può fare è rendere più facile per qualcuno sfruttare una vulnerabilità. Questa vulnerabilità è presente, indipendentemente dal fatto che tu pubblichi o meno il codice. È altrettanto insicuro. La domanda si riduce a quanto impegno ci vuole per creare e sfruttare.

Ad esempio, oltre 10 anni fa, era molto difficile sfruttare i buffer overflow. In effetti, non è stata data loro molta attenzione come problema di sicurezza perché si pensava che fosse troppo difficile da sfruttare.

Da quel momento, le persone hanno escogitato modi per sfruttare facilmente tali vulnerabilità e hanno persino scritto software per farlo automaticamente. Le applicazioni vulnerabili a questi exploit sono diventate meno sicure? No, erano sempre così insicuri. Tutto ciò che è cambiato è stata la conoscenza di come sfruttarlo.

Quindi, per riassumere ... Non pubblicare il tuo codice non ti renderà più sicuro, ma potrebbe rendere un po 'più difficile per qualcuno sfruttarlo. E, col tempo, quel vantaggio probabilmente andrà via.

    
risposta data 25.02.2011 - 18:51
fonte

Leggi altre domande sui tag