A estas alturas es bien conocida la gran conmoción causada por el bug Heartbleed en Internet, provocado por un error introducido en la rama 1.0 de OpenSSL. Esta librería, responsable de las transacciones seguras en diversos protocolos populares como HTTP o POP/IMAP, se encuentra presente no solo en todas y cada una de las distribuciones Linux, sino también en otros sistemas operativos, plataformas y productos (incluso privativos). Esta amplia presencia en el mercado viene dada por dos motivos: por el conjunto de funcionalidades que ofrece y por ser de licencia libre. Precisamente este segundo argumento es el que esgrimen los fans del software privativo como causa principal de la gravedad de la vulnerabilidad y sus consecuencias. Sin embargo, no pueden estar más equivocados.
En el mundo de la seguridad informática existen dos corrientes de pensamiento principales: la seguridad por la oscuridad y la seguridad por la transparencia. La primera argumenta que se obtiene un sistema más seguro si nadie tiene acceso a las «interioridades» del mismo: código fuente, diseño, información, etc. En cambio, la segunda sostiene que un sistema es más seguro cuanta más gente puede escudriñar su interior.
Precisamente este argumento concreto es el que se utiliza para atacar al software libre, indicando que el hecho de que el código fuente esté disponible no implica que haya nadie auditándolo. Y estoy totalmente de acuerdo. Sin embargo, ocurre exactamente lo mismo con el software privativo. Es decir, si nadie se pone, el código cerrado tampoco se audita, con la diferencia de que en el caso del software libre cualquiera con ganas puede hacerlo mientras que en el caso privativo sólo el fabricante tiene esa capacidad.
Aquí reside la ventaja del software libre desde el punto de vista de la seguridad, en la probabilidad de que un error sea encontrado en base a la cantidad de personas que tiene acceso al código fuente. Si Heartbleed hubiese estado dentro de un código cerrado, podría haber seguido allí durante décadas, ya que sólo el fabricante podría haberlo descubierto. En cambio, en el caso de OpenSSL, aunque se han tardado dos años, la vulnerabilidad se ha descubierto a raíz de una auditoría de un tercero.
Evidentemente, la disponibilidad del código fuente sirve tanto a buenos como a malos propósitos, pero estoy convencido que los beneficios superan con creces a las desventajas, como buen seguidor de la seguridad a través de la transparencia que soy. Sólo hay que revisar las hemerotecas para encontrar numerosos casos graves de seguridad en productos privativos resueltos tarde y mal.
Además, el software libre aporta otra ventaja frente al privativo: el tiempo de respuesta frente a vulnerabilidades. En el caso de Heartbleed, Debian publicó el parche que los resolvía en cuestión de una hora, y así el resto de distribuciones Linux. Sin embargo, famosos son los plazos que se toma Microsoft en la publicación de parches para Windows.
Quiero terminar el artículo con un apunte para los fans del software privativo. El impacto del bug Heartbleed demuestra la amplia aceptación del software libre, incluso con fabricantes privativos incorporándolo en sus productos. No será tan malo como nos queréis hacer creer…