El Software Libre en el mundo de la seguridad

Definición de Software Libre

El concepto de software libre es, en primera instancia, fácil de presentar, aún no existiendo una única descripción reconocida por todos de lo que es realmente este tipo de software. En general se entiende como software libre aquel programa o conjunto de ellos de los que el usuario puede disponer del código fuente, sin restricciones, y el cual puede modificar y redistribuir también sin restricciones. Estas libertades garantizadas al usuario del software (o a aquel que lo recibe) no son contrarias a los derechos legítimos del autor del programa, es decir, el autor del programa no pierde todos sus derechos sobre el mismo. No se incluye, por tanto, en esta definición software en el "domino público".

Una descripción más completa de lo que podría considerarse software libre, es la dada por las Directrices de Software Libre de Debian, que constituyen la base de la definición de Open Source (Open Source Definition, www.opensource.org), aunque existen entre ellas ciertas diferencias. Entre las licencias más utilizadas para este tipo de software cabe destacar la licencia GNU GPL y la licencia BSD.

Fallos de seguridad en la utilización del software

Se puede hacer un análisis agrupando los fallos de seguridad que se pueden dar en el software. Este análisis va a permitir enfocar, más adelante cómo distintos tipos de software ayudan a solventarlos. De una forma simplista, se pueden dividir en tres bloques:

El primero de ellos se puede achacar a la calidad del código, el segundo a la capacidad y celeridad de arreglo de los errores descubiertos en el código por parte del proveedor del mismo y a la capacidad del administrador de recibir e instalar nuevas copias de este software actualizado. El tercer tipo de vulnerabilidades puede achacars, sin embargo, a una falta de documentación del software o una falta de formación adecuada de los administradores para hacer una adaptación correcta del mismo a sus necesidades.

Los fallos pueden dar lugar a un mal funcionamiento del programa, siendo en el ámbito de la seguridad preocupantes por cuanto:

Ventajas del Software Libre en el mundo de la seguridad

Si se analiza la descripción realizada previamente de la definición de software libre se derivan una serie de ventajas principales de este tipo de software sobre el software propietario, algunas de las cuales son muy adecuadas para el mundo de la seguridad. A saber:

Frente al análisis de fallos realizado anteriormente, el software libre protege a sus usuarios de una serie de formas determinadas. Entre estas:

Desventajas del software propietario

Las mismas garantías que ofrece el software libre son problemas que se le pueden achacar al software propietario. En este documento se entenderá como software propietario aquél que se distribuye en forma de binarios, sin código fuente, por parte de una compañía que licencia dicho software para un uso concreto, con un coste determinado. No se van a realizar comparativas con la nebulosa intermedia de distintos tipos de software cuyas licencias se sitúan entre ambos extremos, por ejemplo: software que se distribuye el código fuente pero no se puede modificar, software que se distribuye con limitaciones para su uso comercial, etc.

Se puede hablar de las siguientes desventajas del software propietario para el usuario final:

Cabe hacer nota que, algunos fabricantes de software, observando las ventajas del modelo Open Source ofrecen, con restricciones o sin ellas, copias del código fuente a terceras entidades interesadas. Tal es el caso, por ejemplo, de fabricantes de sistemas operativos como Sun Microsystems y Microsoft y de fabricantes de productos de seguridad como PGP (hasta febrero de 2001 con su suite de aplicaciones basadas en cifrado asimétrico) y NAI (con su cortafuegos Gauntlet).

Desventajas del software libre

Sin embargo, el uso de software libre no está exento de desventajas. Así se podrían enumerar las siguientes:

En mayor o menor medida, algunas de estas desventajas pueden tener solución. Por ejemplo, la difusión de troyanos se limita mediatne el uso de técnicas de firma digital para garantizar la inviolabilidad del código o binarios transmitidos. De igual forma, los problemas de evolución futura parecen quedar resueltos con un cambio de paradigma por parte de las compalías de software. Es el cambio de un modelo de negocio de cobro por productos a cobro por servicios. Ya se observan, en el mundo de software libre, compañías que contratan a personal cualificado para hacer mejoras sobre proyectos libres para cubrir sus intereses pero haciendo públicas las modificaciones realizadas.