You are on page 1of 5

El Software Libre en el mundo de la seguridad

Software Libre
El concepto de software libre es, en primera instancia, fcil de presentar, an no existiendo una nica descripcin 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 cdigo fuente, sin restricciones, y el cual puede modificar y redistribuir tambin sin restricciones. Estas libertades garantizadas al usuario del software (o a aquel que lo recibe) no son contrarias a los derechos legtimos 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 definicin software en el "domino pblico". Entre las licencias ms utilizadas para este tipo de software cabe destacar la licencia GNU GPL y la licencia BSD.

Fallos de seguridad en la utilizacin del software


Se puede hacer un anlisis agrupando los fallos de seguridad que se pueden dar en el software. Este anlisis va a permitir enfocar, ms adelante cmo distintos tipos de software ayudan a solventarlos. De una forma simplista, se pueden dividir en tres bloques:

fallos debidos a errores desconocidos en el software, o conocidos slo por terceras entidades hostiles. fallos debidos a errores conocidos pero no arreglados en la copia en uso del software. fallos debidos a una mala configuracin del software, que introduce vulnerabilidades en el sistema El primero de ellos se puede achacar a la calidad del cdigo, el segundo a la capacidad y celeridad de arreglo de los errores descubiertos en el cdigo 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 achacarse, sin embargo, a una falta de documentacin del software o una falta de formacin adecuada de los administradores para hacer una adaptacin 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:

pueden implementarse algoritmos de forma incorrecta lo que puede llevar a una prdida de seguridad (por ejemplo, un algoritmo de generacin de claves que no se base en nmeros totalmente aleatorios) pueden disearse servicios que, en contra de sus especificaciones, ofrezcan funcionalidades no deseadas o que puedan vulnerar la seguridad del servidor que los ofrezca. pueden no haberse tomado las medidas de precaucin adecuadas para asegurar el correcto tratamiento de los parmetros de entrada, lo que puede hacer que un atacante externo abuse de ellos para obligar al programa a realizar operaciones indeseadas.

Ventajas del Software Libre en el mundo de la seguridad


Si se analiza la descripcin realizada previamente de la definicin 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:

Al disponer del cdigo fuente de los programas en su completitud, ste puede ser analizado por terceras personas ajenas a sus autores en busca de fallos de diseo o de implementacin. La posibilidad de realizar modificaciones libremente al cdigo fuente y distribuirlas permite que cualquiera pueda ofrecer mejoras sobre ste. Las caractersticas del software libre hacen que no sea lgico cargar costes sobre el software en s (dado que se ha de distribuir sin cargo), lo que permite que este tipo de software pueda ser utilizado por organizaciones y personas con menos recursos econmicos. De igual forma, la posibilidad de modificar libremente el software permite a las organizaciones que lo adapten a sus propias necesidades, pudiendo eliminar funcionalidades que no le sean de inters. Frente al anlisis de fallos realizado anteriormente, el software libre protege a sus usuarios de una serie de formas determinadas. Entre estas:

La posibilidad de una auditora de cdigo en las herramientas software reduce los riesgos de seguridad debido a la aparicin de fallos desconocidos, a la introduccin de funcionalidades no deseadas en el cdigo. realizan auditoras del cdigo para asegurar su integridad, seguridad y ajuste a las especificaciones de funcionalidades requeridas. La posibilidad de corregir los programas y distribuir dichas correcciones permite que los programas evolucionen de una forma ms abierta. El hecho de que exista una cierta independencia entre el software y su fabricante, o distribuidor original, permite que los usuarios de este software, en caso de prdida de soporte, puedan realizar el mantenimiento de ste ellos mismos o subcontratarlo a una tercera empresa

Desventajas del software propietario


Las mismas garantas que ofrece el software libre son problemas que se le pueden achacar al software propietario. En este documento se entender como software propietario aqul que se distribuye en forma de binarios, sin cdigo fuente, por parte de una compaa que licencia dicho software para un uso concreto, con un coste determinado. Se puede hablar de las siguientes desventajas del software propietario para el usuario final:

Posibilidad de que existan funcionalidades no deseadas en dicho software. Dependiendo de la programacin realizada, algunas funcionalidades podrn ser activadas o desactivadas por el usuario, pero pueden existir tambin funcionalidades que no se puedan desactivar o que, incluso, no se encuentren documentadas. Desconocimiento del cdigo por parte del usuario. Esto puede llevar a que el fabricante pueda llegar a tener una falsa sensacin de seguridad por oscuridad, es decir, las vulnerabilidades de su producto no tienen por qu ser conocidas porque nadie tiene acceso a las "tripas" del mismo. Necesidad de confiar totalmente en el fabricante. Esto es as por cuanto ste ha implementado los algoritmos de seguridad y el usuario no puede garantizar por s mismo que su implementacin ha sido correcta. Dependencia de una tercera entidad, ya que es el fabricante del producto el nico que puede ofrecer nuevas versiones de ste en caso de fallo o incluir nuevas funcionalidades que puedan ser necesarias. Esto es una desventaja debido a que el usuario no puede transferir esta dependencia a otra entidad, en caso de que el fabricante original haya traicionado su confianza (demasiados errores en la implementacin). Cabe hacer nota que, algunos fabricantes de software, observando las ventajas del modelo Open Source ofrecen, con restricciones o sin ellas, copias del cdigo fuente a terceras entidades interesadas.

Desventajas del software libre


Sin embargo, el uso de software libre no est exento de desventajas. As se podran enumerar las siguientes:

la posibilidad de una generacin ms fcil de troyanos, dado que el cdigo fuente tambin puede ser modificado con intenciones maliciosas. Si el troyano logra confundirse con la versin original puede haber problemas graves. el mtodo de generacin de software libre suele seguir, en la mayora de los casos, el modelo bazar, es decir, muchas personas trabajan sobre partes concretas e integrando sus cambios o personas desde el exterior contribuyen mejoras al proyecto global. Al no tener un respaldo directo, la evolucin futura de los componentes software no est asegurada o se hace demasiado despacio.

Solucin
En mayor o menor medida, algunas de estas desventajas pueden tener solucin. Por ejemplo, la difusin de troyanos se limita mediante el uso de tcnicas de firma digital para garantizar la inviolabilidad del cdigo o binarios transmitidos. De igual forma, los problemas de evolucin futura parecen quedar resueltos con un cambio de paradigma por parte de las compaas 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, compaas

que contratan a personal cualificado para hacer mejoras sobre proyectos libres para cubrir sus intereses pero haciendo pblicas las modificaciones realizadas.

You might also like