lunes, 20 de octubre de 2008

Leyendas Urbanas I: Virus en Linux

(perdón por hacer este tostón tan gordo, pensaba que saldría más corto antes de escribirlo)


Ayer leyendo una noticia sobre tecnología en 20minutos y mirando los comentarios vi una cantidad ingente de comentarios repetitivos sobre seguridad y linux completamente falsos. Por eso voy a poner mi pequeño granito de arena en que haya un poco más de información y menos de frases echas que repetimos como loros.


Algo que necesito es una pequeña definición de virus para que se entienda bien el resto.


Virus: Software malicioso que tiene por objeto alterar el normal funcionamiento de un sistema informático, sin el permiso o el conocimiento del usuario, replicándose e infectando otros archivos del sistema para introducir su propio código en ellos.


Teniendo clara esta definición voy a intentar derribar varios bulos generales o leyendas urbanas al respecto:


Muchas páginas web se atacan con éxito y una parte muy grande de servidores son Linux


Si, pero no con virus, usaran gusanos, exploits y otros problemas de seguridad propios del software que se esté ejecutando, pero ninguno de estos agujeros se podrá usar para meter un virus que se reproduzca solo e infecte otros archivos y/o ordenadores.


Si Linux no tiene virus es porque nadie lo usa y no interesa comercialmente


Este no es mal razonamiento cuando hablamos de exploits en aplicaciones. Agujeros de seguridad en una aplicación que acceda a internet por ejemplo. Esta claro que cuanto más uso tenga una aplicación más fácil es que alguien se interese en buscarle las cosquillas. En este ámbito tiene que ver por ejemplo que el Internet Explorer tenga descubrimientos de nuevos agujeros importantes de seguridad cada semana y otros como Safari la tengan cada varias semanas, siendo casi (no exageremos) igual de malos.


Eso es una cosa y otra la existencia de virus. El primer virus se desarrolló en el año 1972 cuando en todo el mundo había muchas menos máquinas que las que hay actualmente con Linux. Además estratégicamente sería interesante tener maneras de infectar máquinas linux, ya que muchas de estas son servidores o contienen datos mucho más importantes que otras windows. Por otra parte Linux tiene su código libre, por lo que de haber alguna manera de meter un virus ahí sería más fácil de ver leyendo su código. Más adelante intentaré demostrar o convencer de que no se puede hacer un virus para linux, por la propia naturaleza del sistema.


Pero está claro que si un sistema es vulnerable, lo será a través de software de terceros que hay sobre él, si el sistema debajo de ese software es bueno los daños que pueda ocasionar un programa con problemas de seguridad serán mínimos. En este aspecto inciden los resultados de la prueba PWN2OWN 2008, donde se pusieron 3 portatiles con mac leopard, windows vista y ubuntu 7.10 en manos de hackers. Estos no consiguieron atacar ningún sistema sin aplicaciones de terceros encima, una vez se permitieron estas en el concurso el mac cayó enseguida, windows cayó casi al final y Ubuntu quedó invicto. http://barrapunto.com/articles/08/03/30/0125228.shtml



Todos los sistemas tienen virus, unos más y otros menos


En serio, jamás he leído el caso de una máquina linux con un virus.


Además por la propia naturaleza del sistema linux hace que sea casi (nunca pondré la mano en el fuego al 100%) imposible que un virus cumpliese sus funciones sobre linux. En este sistema solo hay una manera de pasar de código de usuario sin privilegios a código de superusuario y es a través de la interrupción 0x80. Otros sistemas privativos tienen varios sistemas, algunos documentados y otros traseros y guarreros para permitir pasar a superusuario, lo cual hace mucho más fácil encontrar recovecos por los que meter la cabeza.


Por otra parte los sistemas linux tienen un sistema de permisos y propiedades que se basan en rechazar por defecto. No se pueden modificar los archivos de otros usuarios, al menos que estos nos hayan dado permisos para hacerlo, no se puede ejecutar código en archivos no ejecutables (esto hace por ejemplo imposible meter un virus en una foto). Y todo lo que se ejecuta se ejecuta bajo los privilegios mínimos del usuario que lo haga.


En Linux la cuenta root (administrador) está casi prohibida salvo para alguna cosa de configuración e instalación especial, unos sistemas desaconsejan constantemente su uso mediante avisos y otras ni siquiera dejan usarla. En lugar de ello se pide la identificación temporal para una acción concreta.


Esto hace realmente imposible que cumpla las propiedades de infección de archivos y de que funcionen sin el permiso del usuario.


Aclaro a mayores que se puede hablar de núcleos modificados (malignos) sobre los que instalar virus si es posible. Pero lo que no es posible es que ningún tipo de software malicioso cambie automáticamente tu núcleo normal por uno de estos.


Pues yo he visto una página donde hay un virus para linux


Si, por ahí hay colgados algunos (se cuentan con los dedos de la mano) virus para linux, pero lo peor es que no funcionan o necesitan unos requerimiento irrisorios para que funcionen.


Del primer tipo hay uno que para intentar que funcione tienes que instalarlo y configurarlo con permiso de root (metiendo contraseña y todo voluntariamente), lo cual ya hace que semejante engendro jamás pueda ser considerado como virus, y aún así no funciona, yo al menos no conseguí que funcionase.


Del segundo tipo hay uno que necesita que se ponga en una partición que sea el directorio /tmp y este en fat32!. Aún así su instalación requería varios pasos humanos y no era automática. Pero quien tenga en un sistema linux una partición exclusiva /tmp montada en fat32 que me cuente por qué, que no llego a imaginarlo.


En serio no hay ningún virus para Linux, ninguno que cumpla las propiedades de un virus y además funcione.


¿Si no hay virus porque hay antivirus?


Esta mola, yo creo que hay 3 factores:


  1. Muchos sirven para comprobar sistemas de archivos en busca de virus, pero virus para windows! Por ejemplo se usan bastante en servidores de correo por si el cliente final tiene windows.

  2. Están por si acaso algún día hubiera alguno, de modo teórico o vete a saber.

  3. Los que son creados por empresas, como el panda, no han vendido nada. Precisamente por su inutilidad. Y es curioso que estas empresas son las únicas que lanzan bulos sobre la existencia de virus en linux o de que en un futuro lo habrá, seguramente para vender sus productos, y en contradicción de toda la comunidad de desarrolladores y usuarios de linux.


Eso está muy bien para cosas expertas, pero para andar por casa windows es más fácil de usar.


Esto podía ser cierto hasta hace un cierto tiempo. Actualmente linux trabaja mucho en su aspecto final y facilidad de uso. Por ejemplo instalar programas con sypnactic o actualizar a una nueva versión del sistema operativo es una cosa más sencilla en un sistema ubuntu que en windows. Y cada vez hay más sistemas que llevan linux por debajo, y aunque lleven un sistema muy bonito y útil encima, sigue siendo linux, por ejemplo muchas de las nuevas generaciones de móviles traerán un sistema con linux debajo. Y a nivel de escritorio la facilidad de uso de linux es mayor día a día y algunas distribuciones están hechas específicamente para su fácil uso, como por ejemplo Ubuntu, la distro de moda.


Aquí que cada uno opine lo suyo, pero no me resultará válida la opinión de nadie que no haya probado una distribución moderna de linux y le haya dado una mínima oportunidad (no me valen cosas como –Oh no esto no tiene panel de control, no lo se usar, me voy a windows--).


Aún así digo que linux no es perfecto y en algunos aspectos todavía tiene que mejorar, como puede ser hibernación y wifi en portátiles o sonido 5.1 en ordenadores fijos. Cosas que funcionan pero no son tan inmediatas como dar un botón (el resto si es así de sencillo).


Y siendo tan maravilloso y seguro ¿por qué se sigue usando windows?


Esto se llama monopolio, si cuesta trabajo encontrar un portatil sin el vista grabado a fuego!. También hace falta un cambio en la mente de las personas, que muchas veces tienen esa manía de abuelo de –yo veo el telediario en la 1 aunque no me guste el presentador--. Es cierto que linux crece año a año y cada día más y que programas libres como firefox acercan cada día a más gente a ver que el software libre funciona en general igual de bien o mejor que el privativo y es más seguro.


Por otra parte también hace falta apoyo de algunas empresas como las de creación de videojuegos, que ahora mismo trabajan casi solo para windows.


Aunque la única respuesta sincera del todo a esta pregunta es que realmente no llego a comprender lo.



Bueno me estoy yendo de tema y todo. Esto no pretendía ser un panfleto pro-linux, sino simplemente un intento de aclarar algunas leyendas urbanas que circulan por ahí de manera interesada y que son simples bulos.

No hay comentarios: