¿Por qué apenas no hay virus para Linux? ¿Realmente estamos a salvo?

Abiertamente la respuesta es sí, estamos a salvo y tranquilos, no hay (casi) nada de que temer en este tema si usamos Linux. Como se suele decir, el mejor antivirus es usar Linux.

Una de las razones que se suelen argumentar a la pregunta de ¿Por qué apenas no hay virus para Linux? es que Linux no es tan extendido como Windows, y por eso es más ‘rentable’ crear virus para Windows. Pues bien… que Linux no esté tan extendido como Windows puede ser una afirmación correcta, pero que los virus no existan (o apenas existan) en Linux por este motivo es una afirmación falsa, sencillamente no es así.

Virus en Linux

El usuario promedio actual en Linux poco o nada tiene que ver con el usuario promedio actual de Windows o Mac. Hay un alto porcentaje de gente en Linux que suele conocer el origen de sus programas, examinar su código fuente y comentarlo al resto de la comunidad. Por lo tanto, debido a esta mentalidad de código abierto, es mucho más complicado (por no decir imposible) ocultar código en los programas sin que nadie se percate de ello tarde o temprano.

Las llamadas “técnicas de ingeniería social” (es decir, hacer uso de la inocencia del usuario que recibe un virus o gusano) tienen muchas más dificultades con usuarios de Linux. Para poder infectar un fichero, un virus necesita el privilegio de lectura y de escritura sobre el fichero del ejecutable que quiere ejecutar, valga la redundancia. Esto es así siempre, sin excepciones. Lo cual impide que un virus infecte de forma automática un sistema. En todas y cada una de las distribuciones, los usuarios que no son root no disponen de estos privilegios. Habría varios matices que comentar en este punto, pero simplemente con no ser root, la infección no es posible. Fin de la historia.

El tema da para hablar largo y tendido durante horas (o artículos) pero creo que con estas pequeñas pinceladas a modo de resumen nos podemos hacer una idea de lo complicado que sería infectar un equipo con Linux, y no digamos intentar la propagación de un troyano… algo que se nos antoja misión imposible.

Ya de por sí hay poco peligro de ser infectados en Linux (aunque lo hay, ojo) pero para estar más tranquilos, los consejos que se deben seguir son:

  • Actualizar las versiones de nuestros programas para evitar bugs.
  • Conseguir los programas de fuentes fidedignas.
  • Utilizar siempre que sea posible la versión en código fuente de los programas.
  • No ejecutar todo lo que nos llegue por Internet.

Categorías

Más Linux
Etiquetas ,

edumix

Ingeniero Informático de Profesión y Desarrollador Web de vocación. Amante de las Nuevas Tecnologías e Internet. "Linux Adicto" y en contacto... Ver perfil ›

7 comentarios

  1.   JairJy dijo

    “Hay un alto porcentaje de gente en Linux que suele conocer el origen de sus programas, examinar su código fuente y comentarlo al resto de la comunidad.”

    Tomate un minuto y piensa, ¿Cuantas líneas de código tiene un programa pequeño-mediano?, ¿En que lenguaje(s) de programación esta escrito?, ¿Cuantas librerías utiliza?, ¿todos los componentes de ese programa son código abierto?.

    Ahora piensa ¿Quien, que no forma parte de ese proyecto, esta dispuesto a leer ese código fuente, y puede entenderlo y comprenderlo como para detectar una vulnerabilidad, puerta trasera o troyano?

    “Para poder infectar un fichero, un virus necesita el privilegio de lectura y de escritura sobre el fichero del ejecutable que quiere ejecutar, valga la redundancia. Esto es así siempre, sin excepciones.”

    Las técnicas de ingeniería social son más astutas, en vez de “infectar” un fichero, incitan al usuario a bajar e instalar un paquete .deb. Además, eso le da privilegios al ejecutable troyano para hacer lo que quiera.

    Aun si el programa no tuviera privilegios, puede hacer mucho daño sobre los archivos personales de los usuarios, que son los archivos mas importantes de cualquier computadora.

    Además, sí hay excepciones, un archivo .desktop es un ejecutable sin derechos de ejecución.

    Y estos programas no “infectan” la PC. Ya no lo hacen ni en Windows. Se transmiten mediante ingeniería social y se distribuyen de la misma forma. La mayoría de las amenazas hoy en día no son virus, son troyanos.

    Y ya ha pasado: http://linux.slashdot.org/story/09/12/09/2215253/Malware-Found-Hidden-In-Screensaver-On-Gnome-Look Malware en Gnome-Look dentro de un screensaver y un tema.

  2.   lxa dijo

    Hola JairJy, efectivamente aunque haya gente (hablo de usuario final) que apenas se interese por el código fuente, es tan amplia la comunidad que existe en torno al Software Libre y que sí se interesa por el código que sería una misión casi imposible difundir código malicioso ‘oculto’. Sobre lo que comentas de la ingeniería social, efectivamente como se recomienda en el artículo, lo más seguro es conseguir los programas de fuentes fiables (repositorios) y no ejecutar cualquier cosa que encontremos por la red. Pero normalmente en Windows es más fácil encontrar incautos, o aunque no sean tan incautos, pero es más fácil introducir algo sin que el usuario se de cuenta que en linux, esto es así.
    Gracias por tu excelente aporte JairJy, un saludo!

  3.   roman dijo

    El decir que en linux no hay virus porque su uso es menos extendido que windows no solo es errado, sino que es malicioso. De alguna manera implica que si linux se volviera igual de popular que windows tambien seria igual de inseguro.
    La verdad es que la seguridad de linux viene a nivel de diseño. Si hay vulnerabilidades posibles vinen por el lado de bugs en determinadas versiones de ciertos paquetes que no fueron suficientemente testeadas o la insensatez del propio usuario, muy diferente a la famosa puerta trasera de windows.

  4.   Daniel dijo

    Roman, yo estoy casi seguro que le pasara lo mismo o peor que a Windows, respecto al tema de seguridad y virus, mas que nada porque no se lo esperan, al final pienso que fructificarán las empresas antivirus para Linux tanto o más que para Windows.

    Tiempo al tiempo, la historia se volverá a repetir.

    Una vez más es un tema de educación, no de quien tiene el “SO” más ancho y grande.

  5.   Oscar González dijo

    En linux hay tres puntos que tenemos que tener en cuenta con el tema de los virus.

    Yo me gano la vida programando y hay que tener claro que un virus no siempre es fácil de localizar. Un condicional sutilmente mal escrito puede causar estragos en un sistema y ser extremadamente difícil de detectar.

    El ejemplo que siempre suelo poner es la instrucción PHP siguiente que se puede utilizar para identificar el acceso de un usuario al sistema:

    $userdata = mysql_fetch_assoc(mysql_query(”SELECT * FROM `users` WHERE `username`=’$user’ LIMIT 1;”));
    if ($userdata[‘password’] != $password) { echo “contraseña incorrecta”; } else { echo “contraseña correcta”; }

    Es este ejemplo, poniendo un usuario que no exista y una contraseña vacía se daría por buena. Que conste que es un ejemplo simplificado y fácil de detectar pero no siempre es así.

    Con respecto a que un virus necesitaría tener acceso como root.. la mayoría de gente da acceso a las aplicaciones de forma automatica cuando se lo piden, no nos engañemos.

    Por otro lado en linux tenemos lo que se llaman repositorios donde la mayoria de aplicaciones que se instala un usuario normal proceden del repositorio oficial de la distribución que tienes instalada y allí es extremadamente difícil que se cuelen virus sin que nadie los detecte, eso es un punto a favor de la seguridad para los sistemas linux.

    El tercer punto seria el factor que hace que linux siga siendo un sistema usado por una minoría de la población y un virus tiene como finalidad extenderse lo más posible, por lo tanto se van a programar para el sistema operativo más popular que actualmente es Windows pero está claro que si esto cambia algún día, los virus se crearan para linux en la misma cantidad que hay ahora.

    P,D: El ejemplo que he puesto arriba lo he intentado hacer lo más compacto posible, que no me venga ahora alguien diciendo que esa no es forma de programar porque es cierto, para empezar no es correcto pasar las variables dentro de la misma linea del query, tampoco he especificado de donde salen las variables $user y $password y el código solo genera un mensaje y no da acceso a nada.. pero como he dicho es un ejemplo simple.

  6.   Ramon dijo

    Coincido en gran medida con los comentarios expertos, todos tienen una gran parte de verdad. Ahora quiero aportar mi granito y modesta opinión.

    Hay dos tipos de aspectos que condicionan el perfil del diseñador de un virus.

    1. Las propias compañías que venden antivirus. No nos engañemos, ellos también son los que hacen virus. Después de hacerlo te venden el antivirus. En Linux no pueden vender el antivirus, es mas seguro que jamas te darían el código fuente de su antivirus. Por lo que para ellos Linux no es una opción de negocio.

    2. Los que hacen virus por “darse a conocer”, “tener su momento o minuto de gloria”, etc. Este tipo de persona suele ser un experto programador que conoce como funciona Linux y como funcionan otros sistemas operativos. Por todo ello sabe que será más fácil atentar contra un sistema operativo como pueda ser Microsoft y su Windows a otro como sea Windows.

    Por otro lado, los binarios de Windows son algo que está al alcance de cualquiera en infinidad de lugares, con los que es fácil crear binarios infectados. En el caso de Linux los lugares donde encontrar binarios ya compilados, o paquetes listo para instalar en determinadas distribuciones son menores. En comparación con los de Windows nadie puede negar tal afirmación. Además suelen ser sitios confiables.

    Es mas, si uno utiliza repositorios de las distribuciones la fiabilidad sobre el material descargado es mucho mayor.

    En fin, es una opinión mas que pude ser mas o menos acertada o mas o menos compartida.

    Gracias.

  7.   Juanma dijo

    Primero no hay muchos virus porque generalmente, no siempre, uno no navega con una cuenta administrador sino con una cuenta normal con menos privilegios y por ende es más difícil la autoreplicación y demás. Segundo porque no tiene tanta difusión y no son blanco para los creadores de virus, además que tiene que ser mucho más sofisticado desarrollar uno para Linux. En Windows uno desarrolla un virus que elimine un archivo de sistema, un simple del, y ya rompió todo.
    Mi humilde opinión :)

Escribe un comentario