viernes, 28 de noviembre de 2008

Teoría de Seguridad en Sistemas Operativos

Considero que es altamente controversial la discusión entre al seguridad de los distintos sistemas operativos.

Personalmente considero que el software libre siempre tendrá una gran ventaja sobre los demás, que intentaré explicar aquí.

Para empezar, hay que distinguir un poco entre el software libre y el software gratuito, que aunque en inglés ambos se llamen "free software", la connotación puede significar un mundo de diferencia. Para ello les sugiero consultar la página oficial del proyecto GNU, y su video más reciente.

Esencialmente, para el punto de este artículo, el software libre es aquel donde cada uno tiene derecho a modificarlo y distribuirlo a su antojo.

Muchas veces uno piensa que Linux es sinónimo de software libre, pero no siempre es así.

Por ejemplo tenemos a Ubuntu que usa software "restringido" y que instala software propietario en varios lugares, desde codecs de video hasta controladores de hardware. Incluso Firefox, el famoso explorador de internet ha tenido que ser reemplazado en las distribuciones "puras" de GNU/Linux, como Debian, ya que su logo es comercial y no puede ser distribuido bajo el mismo nombre con modificaciones que no hayan sido hechas por Mozilla, por lo que se creó "IceWeasel", la vertiente libre de Firefox, para que los desarrolladores de Debian modificaran Firefox para cumplir con sus estándares de seguridad y estabilidad.

Sé que suena a burocracia, política y aspectos legales que finalmente son una molestia para un usuario final. Pero estos pequeños detalles deben ser cuidados por los proyectos de software libre para poder cumplir con su meta, que el usuario final pueda hacer con su sistema lo que quiera, que todo el mundo pueda contribuir y distribuir su código.

Pero, ¿qué tiene que ver esto con la seguridad?

Desde mi punto de vista es muy simple, imaginemos el mismo escenario en 2 sistemas operativos distintos, se encuentra una vulnerabilidad en un proceso del núcleo del sistema que permite a un atacante obtener el control del sistema.

El usuario lee a cerca de la vulnerabilidad y piensa en posibles soluciones antes de que salga al público una nueva versión modificada o un parche de seguridad:

Compilar su sistema operativo sin el módulo que activa el proceso vulnerable.
Modificar el código para corregir la vulnerabilidad.

Son soluciones que llevarán algo de tiempo y esfuerzo, pero esto le permitiría protegerse de los ataques que se puedan generar, sin embargo sólo se puede realizar dentro de un sistema operativo de software libre, en cualquier otro tipo de software, ya sea gratuito o comercial, el usuario está restringido a lo que dicta la licencia que adquirió al instalarlo y en la mayoría de los casos ni siquiera tendrá acceso al código, así es que al que no tiene un sistema operativo de software libre, sólo le queda esperar a que se emita algún parche que solucione esto o una nueva versión que lo haya arreglado.

Es decir, el usuario de software libre tendrá siempre la ventaja de que no depende de nadie más para su propia seguridad.

No hay comentarios: