Newsgroup: it.comp.sicurezza.varie
Titolo: Software open-source vs software closed-source

Salve, di recente ho letto un libro di Bruce Schneider ("Sicurezza -
Miti da sfatare, strategie da adottare"). In questo libro l'autore (ma
non è il solo) sostiene che il software open-source è per sua natura
più sicuro di quello più sicuro, perchè il suo codice può essere
esaminato ed analizzato da più persone, e quindi le vulnerabilità
vengono scoperte prima e risolte prima; il software closed-source,
invece, si basa sulla "security by obscurity", secondo cui bisogna
rendere le vulnerabilità il più segrete possibile.
Non capisco il perchè di questo pensiero...
Secondo me infatti il software closed-source è più sicuro, proprio
perchè è più difficile per un hacker scoprirne le vulnerabilità, non
avendo a disposizione il codice sorgente. E' vero, c'è un problema di
fiducia nei confronti del produttore (chi mi assicura che la Microsoft
o la Apple non abbiano messo delle backdoor nei loro S.O.?), però, se
facciamo un assunzione di fiducia nei confronti dei produttori,
secondo me il software closed-source è per natura più sicuro.

 avendo a disposizione il codice sorgente. 
Parti dal presupposto sbagliato.
Non c'è bisogno del sorgente per scoprire una vulnerabilità. Ma se anche 
fosse così, il codice aperto è visibile ai malintenzionati ma non solo a 
loro. La vulnerabilità la può scoprire chiunque analizza il codice 
sorgente, compreso anche chi ha interesse a scovarle per eliminarle.
Con il codice chiuso è normale invece che sia il malintenzionato, armato 
di debugger, a scoprire la vulnerabilità. E nessuno può farci niente 
tranne l'autore che di solito viene a conoscenza della vulnerabilità a 
frittata fatta.


e' una gran bella assunzione, sia per la considerazione di cui sopra, sia
per la dimensione di queste aziende (il loro management controlla tutte le
divisioni e tutti i loro contractor e fornitori?) sia per il fatto che non
esistono solo loro. Quante altre grandi, medie o piccole superspecializzate
aziende di sviluppo software esistono al mondo che non ti daranno
(giustamente) i loro sorgenti neanche con un coltello puntato alla gola? 
Di fatto quando un progetto software diventa complesso, anche averne i
sorgenti non e' poi un grande affare. Ne per chi volesse controllarne la
bonta' ne per un potenziale hacker che volessene scoprirne i difetti per
sfruttarli. Quando il kernel di linux stava (compilato) in 200KB di RAM
(qualcuno se lo ricorda?) forse un minimo di controllo la comunita' ancora
riusciva ad esercitarlo. Oggi si va in modo settoriale e specialistico, ma
un po' funziona ancora. Piantare una backdoor in linux si puo', ma le
probabilita' di essere scoperti sono discrete, quindi dubito che qualcuno
con intenzioni serie (una "agenzia" per intenderci) ci provi.
Quindi a parita' di fattori: (a) Commerciale mi devo fidare-non posso
controllare anche volessi (b) Open-Source mi devo fidare-non posso di norma
controllare, ma se volessi impegnarmi potrei anche farlo --> scelgo
Open-Source.
-- 
AB

secondo me il software closed-source è per natura più sicuro.
Il mestiere della Casa di software e' essenzialmente VENDERE il software e
- di conseguenza - quando il prodotto e' maturo i programmatori li mandano
a fare qualcos'altro. Non c'e' gente che sta alzata la notte, a verificare
se ci sono casi speciali nel codice. E, se c'e', e' un'eccezione rara.
Tornando per l'appunto all'esempio della libtiff, uno cosi' psicopatico da
cercare tutti i fottuti warning privi di significato del compilatore, alla
Microsoft, dura due ore. Poi lo licenziano. Nel mondo Open Source, invece,
mi hanno ringraziato :-)
Nel mondo closed source poi c'e' questo: un bug scoperto "in house", e che
magari e' architetturale, e rischia di dover far modificare mezza roba col
rischio che poi non funzioni chissa' cos'altro... e che non e' stato pero'
segnalato ancora da nessuno :-))) ... la logica commerciale ti dice di non
correggerlo, e' evidente.
Leonardo
-- 
Dawn is near, the time is short (Human aircraft! Hard to port!)
We eight reindeers of the night work as one in silent flight.
Let not one damn house pass by (Who taught that guy how to fly?)
Each year sees more girls and boys: how many of them can we bring toys?

 mezza roba col rischio che poi non funzioni chissa' cos'altro...
Ad esempio il file system:
http://www.techweb.com/wire/security/193002107
Ciaotutti,
* 

Salve, di recente ho letto un libro di Bruce Schneider ("Sicurezza -

Devi tenere in considerazione che non tutti i problemi, per default,
verranno scoperti. Ci sarà sempre qualcosa di nidificato, a meno che
il codice controllato non sia così semplice da garantire una sicurezza
anche nel reperimento degli errori.
Ciò che importa, oltre al Security by Obscurity, è il senso: un
software che contiene 100 bugs opensource, non è detto che sia
peggiore di un software che contiene 20 bug, ma closed. Certo è molto
più semplice controllare uno a sorgente aperto, ovvio, ma se nel
software a 100 bugs, ho errori molto gravi, ciò implica che chi lo ha
scritto ha piazzato mine e bombe dappertutto, magari senza volerlo, e
si fà prima a riscrivere tutto il codice, che non stanare tutti gli
errori. Occorre notare che tipo di errori vengono identificati (la
qualità) e quanti, in un certo periodo di tempo (la quantità), per
stabilire se un specifico software è pericoloso o no. Ma dire, a
priorio che open = sicuro e closed = una ciofeca, direi che mi pare
molto azzardato. Non è detto che chi scrive codice closed sia un
incapace in termini di Software Security.
La storia della fiducia, è uno degli elementi che caratterizzano il
perchè scegliere un software prodotto da una casa produttrice, invece
che di un altro, così come si preferisce scegliere il closed
(dell'esempio di prima) da 50 errori banali e di poca gravità,
piuttosto che l'open a 100 errori gravi.
MS, tipicamente, ha sempre adottato una strategia di Security By
Obscurity, in quanto, commettere errori di coding è inevitabile.
Siccome loro son famosi nell'introdurre molte features, nei loro OS,
ciò aumenta pure la quantità di potenziali errori.
Riparare errori comporta un dispendio di risorse non da poco. Solo con
il Vista, io ho notato come abbiano diffuso beta ed RC e siano
riusciti a correggere parecchi errori (robe da matti), ma pagare del
personale per il bug discovering implica, successivamente, tutto un
costo che và a riversarsi sull'utente, quando compra il prodotto
finale, cosa che, a livello di marketing è improponibile.

 Secondo me infatti il software closed-source è più sicuro
Certo, come no.
Non contenti di chiudere il codice, ultimamente qualcuno ha pensato di
"chiudere" anche l'hardware/firmware, vedi Xbox, PSP e Xbox360.
Peccato che i soliti "diletttanti smanettoni" glielo continuino a buttare
al BEEP ciò non ostante.
Qualcosa vorrà pur dire, nevvero?

 Qualcosa vorrà pur dire, nevvero?
Che forse nonostante le dichiarazioni ufficiali al produttore puo' far 
comodo?
Credo che sia piu' facile vendere una console che permetta al cliente di 
non svenarsi in giochi...  ;)
Ovviamente IMHO.
Chissa' quanti avrebbero windows + Office (giusto per dirne 2) 
installati sul PC di casa se non fossero stati (finora) facili da 
copiare.....
Secondo te cosa succedera' nelle case italiane quando usare SW closed 
richiedera' l'esborso di soldi (o di competenze "non comuni")?
M.
-- 
Solo nei sogni siamo veramente liberi.
Il resto del tempo abbiamo bisogno di un salario.
(T. Pratchett)