La seguridad en Linux/software libre

Algunas personas de informática dicen ¿cómo argumento que el software libre es seguro? En verdad no se argumenta, se testea.
En el título puse Linux porque es lo primero que el usuario común asocia con software libre.
La verdad es que la pregunta debería ser reformulada como “¿cómo testear o comprobar que el software libre es inseguro?”.

No es raro que profesionales certificados de Microsoft (o Certified Microsoft Professionals) y sus compañías (Microsoft Partners) llamen a sus clientes para advertirles sobre los peligros del código abierto (Open Source) o la inconsistencia del mismo. Para los que no saben el por qué de la “inconsistencia”, les cuento que el software libre de código abierto (ej: Linux) y en muchos casos está formado de diferentes partes.

Para que se entienda mejor, yo desarrollo un diccionario, un corrector ortográfico, es muy bueno, fácil de usar y lo publico bajo los términos de software libre.
Entonces viene otro programador que está haciendo un procesador de texto y me dice “Hey, tengo un procesador de texto bajo licencia de software libre pero me falta un diccionario, ¿no te molesta si uso tu diccionario?”. Le respondo con un “no molesta, dale para adelante”.
Y en ese momento ese programador usa mi diccionario de español.
Un grupo de artistas y diseñadores gráficos creó una galería de imágenes (un clipArt) y les gustó el procesador de texto, entonces se contactan con el creador del mismo y le dicen “queremos agregar nuestras imágenes e íconos a tu procesador así queda más lindo”.
Después aparece el creador de una planilla de cálculo y le dice “che, vamos a hacer un paquete office ya que ambas aplicaciones parecen ser muy compatibles”.

Así funciona el software libre, ¿para qué romperse la cabeza desarrollando cosas si ya hay algo hecho que funciona bien? Esa es la diferencia entre software libre y el propietario. Todo se comparte y reutiliza para hacer un software cada día mejor. Se evitan gastos innecesarios de recursos humanos y dinero.
No es lo mismo 10 desarrolladores de una empresa que 100 desarrolladores repartidos por todo el mundo.
Yo incluso hice mi pequeño aporte traduciendo al español una aplicación de ICQ (¿se acuerdan de ICQ?) llamada GTK+LICQ. En esa época me tomaba el trabajo de compilar muchas de las aplicaciones que no estaban disponibles en RPM (usaba Red Hat Linux).

¿Cuál es la óptica de Microsoft? Que al ser el software libre una mezcla de diferentes desarrollos tan heterogéneos, el sistema operativo termina siendo un mamarracho, no es consistente y no es fácil de mantener. Nada más lejos de la realidad. El mejor prueba de que ésto es falso, son la cantidad de vulnerabilidades, ataques contra servidores Windows, virus (y antivirus), troyanos, etc.

ein offenes betriebssystem hat nicht nur vorteile

ein offenes betriebssystem hat nicht nur vorteile.
Un sistema operativo open source no son solo ventajas (publicidad de hace unos años atrás).

No, Linux no es indestructible, pero los usuarios de Windows replican diciendo “entonces Linux no es lo mejor del mundo, tiene vulnerabilidades”. Eso me hace acordar a las discusiones de fanáticos católicos y ateos. No, Linux no es infalible y está hecho por humanos, por lo tanto cabe la posibilidad que haya errores, pero los mismos en general tienden a ser corregidos.

Ahora vamos a lo que atañe a la mayoría de los usuarios de escritorio: Los virus informáticos.
Muchos confunden virus con troyanos o adware. Si bien todos son molestos y dañinos, son diferentes.
Las características son:

  • Es dañino. Los virus ocasionan problemas tales como: pérdida de productividad, cortes en los sistemas de información o daños a nivel de datos. Otros daños que los virus producen a los sistemas informáticos son la pérdida de información, horas de parada productiva, tiempo de reinstalación, etc.
  • Es autorreproductor. Las redes en la actualidad ayudan a dicha propagación cuando éstas no tienen la seguridad adecuada.
  • Es subrepticio

Ahora, muchos dicen que tanto MacOSX como en Linux no hay virus porque su público es minoría.
Sí y no a la vez.

Si bien estos dos sistemas operativos no ocupan la mayor parte del mercado, el problema que ocurre con Windows ya es un problema de raíz, es inconcebible que un usuario normal de este sistema operativo pueda hacer pelota todo el sistema al punto de tener que reinstalar todo. Eso ya es un problema totalmente estructural o de cómo fue pensado el sistema operativo. ¿Suena a Windows no?

En sistemas operativos como Linux (y unixes), uno tiene que ejecutar aplicaciones como usuario administrador para que el sistema en su totalidad pueda ser afectado. En Ubuntu y otras distribuciones más para usuarios tontos se usa el sudo para toda actividad administrativa, por lo tanto si algún usuario se engancha un virus, solo lo afectará a él y no al sistema. Esto hace más difícil escribir virus informáticos, pero no imposible.
Lo que sí es más común encontrar en Linux y el software libre son vulnerabilidades que al ser publicadas al tiempo son corregidas. O sea, hay que ejecutar intencionalmente algo con ciertas características en cierto software y con cierta versión para que todo explote.
Esto no quiere decir que el software libre sea infalible.

Un ejemplo se da con Gnome/KDE y la forma en que ejecuta los archivos .desktop, como los famosos accesos directos de Windows.

En el blog de foobar, él mismo publica la forma de escribir un “virus” (yo le diría troyano. Ver def. de malware) en 5 pasos, es muy fácil.

Este troyano o script malicioso toma ventaja de una vulnerabilidad de Gnome y KDE que hace años fue denunciada y nunca la han corregido. Si bien no es tan fácil llegar al punto de ejecutar este script malicioso puede darse el caso. El script debe ser copiado al escritorio y ejecutado (solo desde ahí funciona), a partir de ahí las posibilidades son infinitas.
Parece ser algo rebuscado y complicado, algo que ningún usuario haría. Pero tengamos en cuenta la proliferación de las netbooks con Linux preinstalado. El usuario baja un mail con Thunderbird pero el cliente de correo no ejecuta el adjunto porque no lo reconoce como ejecutable, entonces el usuario lo baja al escritorio y ve un icono (es un acceso directo), en su afán windowsero por hacer doble clic a todo lo que ve (incluso sabiendo que lo recibió de un mail escrito en inglés, de alguien que no conoce y que encima le promete fotos hot) ejecuta el script y todo se fue a la mierda. ¿No es fácil? No hay antivirus ni seguridad contra la estupidez humana.

Supongo que las comunidades Gnome/KDE sobreestiman a sus usuarios creyendo que sus usuarios no van a descargar un adjunto de alguien que no conocen, copiarlo al escritorio y ejecutarlo, pero sucederá algún día.

Esta vulnerabilidad no es de Linux (el sistema operativo), es del entorno gráfico (Gnome/KDE). En BSD, Solaris también sufriremos de esta vulnerabilidad si usamos estos entornos gráficos. En cambio si usáramos XFCE o cualquier otro entorno no sufriremos de esta vulnerabilidad.

Esta peculiaridad de que en un entorno gráfico sucede una cosa y en otro no se da por la modularidad. Al tener software funcionando por separado pero interconectados es fácil aislar los problemas, se ataca al problema puntual. Es como el caso del ejemplo del diccionario y el procesador de textos.

El código abierto es verificable, el cerrado no.
El código abierto es verificado por mucha gente que lo discute en público. El cerrado no. Esto significa que cualquiera (con el conocimiento adecuado) puede proponer un cambio o mejora del mismo, como hizo la persona que mencioné que dió un ejemplo de vulnerabilidad del software.

Anuncios

One comment

  1. No estoy seguro de que el usuario medio interprofesional esté preparado para usar y enfrentar linux de una forma satisfactoria. Dicho de otro modo, al menos en españa el analfabetismo tecnológico (informático) es bastante alto. Y no me entiendas mal que te lo dice uno que ahora mismo solo usa el pingüino.

    –saludos

Antes de darle al botón "Publicar" y mandar todo al carajo, te recomiendo que respires hondo y leas las FUQ que te iluminarán el camino :)

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s