Al seu nou blog, Bruce Schneier respon una pregunta que sorgeix sovint en parlar de seguretat: Els programes oberts són més segurs que els tancats? Diu que quan el codi obert és analitzat, no hi ha res millor.
El pinyol de l’assumpte està al voltant de la paraula anàlisi. Per saber quina és la seguretat d’un producte, cal que experts analitzin el codi.
En el cas dels programes tancats, Schneier diu que cal llogar experts per que l’analitzin. Si es tracta de programari obert, el fet de publicar el codi forma part de la cosa. Així, la revisió s’aconsegueix amb el fet natural de publicar el codi i esperar que algú el revisi.
On està la diferència que fa el codi obert ben analitzat sigui millor?
En els dos entorns, tancat i obert, la revisió és una feinada. Això explica que molts programes oberts siguin insegurs. Simplement sol passar que cap expert n’ha fet una revisió rigorosa. El mateix es pot dir de molts programes tancats.
En el cas del codi obert, per aconseguir un anàlisi primer cal captar l’interès dels experts amb un bon projecte. ÿs el que des de sempre ha estimulat l’intel·lecte de tots els experts de qualsevol ram. Els seus estudis es podran publicar i sotmetre a revisió per iguals, un ingredient bàsic del mètode científic. Se’n beneficia tota la comunitat d’experts i més endavant els usuaris. Practicar el mètode científic també és un bon incentiu.
Però si es vol analitzar un producte tancat, caldrà aconseguir permís per poder veure i analitzar el codi. La feina estarà pagada o no, però en qualsevol cas hi haurà un contracte signat (Non-Disclosure Agreement, NDA) que prohibirà publicar el codi, la matèria primera de l’anàlisi. Si altres experts tenen dubtes, sense codi no podran fer la revisió per iguals. Per aconseguir-lo caldrà que signin més contractes NDA i la història es repetirà. Això si els accepten; no és tant fàcil com baixar el codi d’un projecte obert i analitzar-lo sense haver de demanar res ni passar comptes amb ningú –detall que, de passada, contribueix a la imparcialitat dels anàlisi. Per tot plegat sol passar que l’empresa paga experts seleccionats a canvi d’un anàlisi que mai no surt completament de les seves portes. Només es solen publicar les conclusions i sovint amb propòsits publicitaris.
En definitiva, no es pot dir que un programa tancat o obert és segur fins que experts no l’han revisat. El model tancat dificulta la publicació d’anàlisi amb garanties científiques.
Per tot plegat, no és casualitat que a l’hora de dir programes que estan ben analitzats, Bruce Schneier posi com a exemple Linux, Apache i OpenBSD. Cap d’aquests té el codi tancat i per això diu que quan el codi obert és correctament analitzat, no hi ha res millor: «When open-source code is properly analyzed, there’s nothing better».
Aprofito per recomanar la subscripció al seu Crypto-Gram Newsletter.
(Foto: blog de Bruce Schneier)
11 comentaris. Leave new
Doncs l’Apache no és un bon exemple. La versió 2.x, que no es tracta d’una versió beta, té força problemes de seguretat: http://secunia.com/product/73/ alguns dels quals es consideren importants. En canvi, l’Internet Information Server 6.0, un servidor web de codi tancat no té ni la meitat de probmemes: http://secunia.com/product/1438/
Mentre l’IIS només té 6 avisos de seguretat en el periodo de temps 2003-2004, l’Apache 2 n’ha tingut 20. La situació es força millor a Apache 1.x (http://secunia.com/product/72/), però tot i així enregistra 10 avisos.
Teòricament el codi d’Apache es del milloret que hi ha, no?
Uses les estadístiques per crear confussió, tal com faria l’aparell propagandístic de qualsevol corporation dedicada al programari tancat. També els presumptes experts en seguretat que regalen l’oïda als conservadors que s’estimen més que el programari lliure no progressi.
Quan s’analitiza bé el codi d’un producte obert, s’hi troben errors. Sobretot després d’un canvi gran. ÿs el cas de l’Apache 1 a la 2, del que en Schneier diu que es fan bons anàlisi –i ell està ben informat.
De “teòricament és el millor que hi ha”, res. Cap teoria, tot està a la vista.
Quins són els anàlisi que experts en seguretat independents fan de l’IIS? Si no s’en fan, no és normal que surtin pocs errors? Si s’han fet i han mostrat només 6 errors, quin expert independent pot revisar l’anàlisi i confirmar si són 6 o 60?
En el cas de l’IIS, sí que tot plegat és teoría.
Benjami, no hi ha més cec que aquell que no vol veure… ara em diràs que ningú tracta de trobar errors de seguretat a l’IIS.
No he dit que no s’analitzi el codi. Dic que no hi ha cap garantia tècnica pels anàlsi a porta tancada i sense mostrar codi.
Pots passar on són els anàlisi del codi de l’IIS? Han de ser de la qualitat dels de l’Apache que Schneier cita com a exemple.
PS: El qualificatiu de cec t’el podries haver estalviat. Ni és una bona forma de començar un comentari ni estem parlant de mi. Però aquí queda, pel retrat.
Apa… L’expressió de ‘no hi ha més cec que aquell que no vol veure’ no és una frase cualificativa ni despectiva, és una frase feta que no s’ha de llegir de forma textual. Si tu l’has llegit textualment, els teus motius tindràs 🙂
Sí, perquè “és feta”, 1-2-3-pim-pom-salvado. Això no és cap pati d’escola ni tenim 6 anys.
El motiu? Que a més de que no és tant innocent com vols fer veure, la manca d’arguments empírics sol portar a l’atac personal i en això la meva tolerància és zero.
Però l’important: del lloc on estan publicats els anàlisi del IIS amb codi per comprovar-ho, de la mateixa fiabilitat tècnica que els de l’Apache que comenta Schneier, res encara, no?
Bé, si t’ha molestat la frase feta et demano disculpes; no hi havia cap mala intenció al darrera seu. De debò.
Referent a la teva pregunta:
on estan publicats els anàlisi del IIS amb codi per comprovar-ho, de la mateixa fiabilitat tècnica que els de l’Apache que comenta Schneier, res encara, no?
em penso que amb això demostres que no has llegit el comentari de Bruce Schneier, o l’has volgut entendre amb una idea prefixada que ja tenies.
Bruce Schneier diu “It’s also not guaranteed. There’s lots of open-source software out there that no one has analyzed and is no more secure than all the closed-source products that no one has analyzed”. ÿs a dir, la sola disponibilitat del codi font no garantitza que ningú l’hagi auditat.
Em preguntes on estan publicats les anàlisis de l’IIS. La meva resposta es que no ho se.
Jo et pregunto, on estan publicada l’auditoria de seguretat del codi font de l’Apache? Jo no l’he sabut trobar.
Ens refiem de la paraula de l’Schneier en dir que s’han fet? Per molt que em refii de l’Scheier, no en tinc prou amb la seva paraula.
Jo tinc constància que s’han fet auditories del codi font de l’Apache, però aquestes no s’han publicat mai; les millores suggerides s’han incorporat al codi font, però tampoc tinc cap garantia que tots i cadascun dels possibles problemes hagin estat identificats i/o solucionats.
El que no faré mai es basar una afirmació meva en el desconeixement. Que s’ha fet al voltant de l’IIS? Ho desconec. M’imagino que s’han realitzat mesures semblants, o no… De fet, tampoc m’importa massa ja que no el faig servir.
Amb tot això que vull dir. De la mateixa forma que no m’agraden els polítics que basen el seu missatge en voler desprestigiar als seus adversaris, no crec (i és una opinió personal) que sigui una bona defensa basar la defensa del software lliure exclusivament en desprestigiar al software no lliure. Evidentment hi ha gent que no pensa així i es ben lliure de fer-ho.
* Sobre la frase que demostra (sic) que no he llegit el comentari de Bruce Schneier: Has llegit tu el meu apunt? El paràgraf comença per “En els dos entorns”. Que el codi obert no garanteix seguretat és veritat, però el comentari de Schneier –ni la realitat– va al voltant d’aquesta part a la que li dones tot l’èmfasi, sinó de la necessitat d’anàlisi del codi i de les facilitats que es posen perquè es faci bé. Possiblement tu sí l’has llegit, el comentari, però et quedes amb la part que t’interessa (això que en dius “una idea prefixada que ja tenies”). Ho sé, és molt humana, la tendència de projectar els hàbits propis als demés.
* Sobre on està publicada l’auditoria de seguretat de l’Apache: Si algú l’ha fet, doncs fantàstic, però per poder dir que l’Apache està ben analitzat per experts, no cal. La forma en que es desenvolupa és un anàlisi constant per part d’experts. Si es vol seguir, basta passar per les llistes de desenvolupament (http://httpd.apache.org/lists.html … i les del IIS?) i veure com es fa tot a temps real, amb pels i senyals. Al Bugzilla es poden seguir tots els bugs (http://nagoya.apache.org/bugzilla/ … i el de l’IIS?) El codi està disponible per comprovar qualsevol detall (http://apache.rediris.es … i el de l’IIS?). Si no ho havia dit és perquè donava per fet que coneixies el tictac del model obert a l’hora de captar l’anàlisi d’experts. Les auditories, si es fan, en sortir ja són velles. Pregunto pels equivalents de l’IIS perquè dius “m’imagino que s’han realitzat mesures semblants”.
* Parlant també de l’Apache, dius que no tens “cap garantia de que tots i cadascun dels possibles problemes estan identificats i/o solucionats”. Fas èmfasi al “tots”. Pregunto: Tens la garantia amb l’IIS? Pregunto més: La tens de qualsevol programa del món mundial? El programari obert dóna més facilitats d’anàlisi, per això quan s’analitza no hi ha res millor (jo sí he llegit tot el comentari de Schneier).
* En quant a usar el software lliure per desprestigiar el no lliure: A l’apunt em limito a descriure com els experts analitzen els dos mons. Precisament ets tu qui usa IIS per desprestigiar Apache. Un expert de l’alçada de Scneier diu que el programari obert analitzat és el millor i jo dono més detalls del perquè. El problema no està a la part lliure; és la tancada la que ha de treballar per ser millor. Si no ho fa, la pilota està a la seva taulada. Entenc que cogui als que ho defenseu, però és el que hi ha. No dir-ho, més que un problema d’elegància és de falta d’ètica professional.
Bé, com es evident que si jo dic blanc tu llegueixes gris i respons negre i és impossible mantenir cap conversa amb tu, la dono tancada per part meva.
Per cert, els teus comentaris sobre la manca d’ètica te’ls podries haver estalviat. Abans m’acusaves d’haver-te insultat.. i en una mostra del teu gran argumentari, ho fas amb un insult.
Amb la falta d’ètica em referia al que a jo em sembla que cometria si no critiqués els defectes d’un model tancat. Ha estat perquè m’has acusat de falta d’elegància, comparant-me amb els polítics que usen la tàctica de terra cremada –que tampoc m’agrada.
No puc dir, per defensar-me, quins són els meus motius? Fer-ho vol dir automàticament que la resta està a l’altre banda? Si fos així, qualsevol defensa podria ser motiu d’acusació i els judicis –a un estat de dret– no s’acabarien mai.
Els motius per defensar el codi tancat i que coguin les crítiques poden ser molts: des de dependència laboral fins a desconeixement del model obert. Els teus els has de dir tu, si vols. Jo no he dit els que veig en el teu cas, em limito al meu, l’ètica, i pel dret que em dóna el teu comentari sobre la lectura que fas de la meva defensa.