Que es un virus y hay o no virus en GNU/Linux
By: Date: enero 9, 2015 Categories: Personal

En platicas en vivo es muy recurrente el tema de virus en GNU/Linux, el desconocimiento de los usuarios más comunes hacia sistemas avanzados como GNU/Linux los hace comentar erróneamente el asunto de los virus con sistemas tipo Unix, por lo tanto para evitarme futuras explicaciones de viva voz, escribo este artículo para responder solo con la URL del mismo = )

Hay que entender lo primero y más importante, ya no hay virus informáticos desde hace muchos años, muchas cosas murieron con el Windows XP para los Win-users entre ellos los virus, para los usuarios de GNU/Linux en la práctica nunca hemos tenido virus. Existen otros malwares que son mal llamado virus

¿ Que es un virus informático ?

Es un programa que se comporta igual que un virus biológico, un virus biológico replica su cadena de ADN dentro de las células y usa a estas para reproducirse de la misma forma un virus informático replica su código ejecutable dentro de otro programa.

Si un programa informático se sale de esa definición cuadrada y exacta simplemente no es un virus informático, podría ser un troyano, un gusano o mezcla de ambos u otra cosa como gusano con exploit, pero virus no.

Los últimos virus como tal existieron para Windows ME y en retrospectiva Windows 98 incluido segunda edición, Windows 95 incluida las ediciones A y B, MS-DOS 6.22 y hacia atrás.

Para que un virus sea efectivo el sistema operativo que lo porta no debe tener protección de memoria, como los Windows previos al XP que solo eran un Shell grafico sobre el verdadero sistema operativo que seguía siendo MS-DOS y MS-DOS no tiene ninguna protección de memoria, esto significa que cualquier programa puede entrometerse con cualquier otro programa, cosa rara tomando en cuenta de que MS-DOS es no es multitarea, pero los virus podían hacer uso de los servicios de TSR ( terminate and stay resident ) una vez en memoria haría algo muy similar a API Hooking que en ese entonces no se llamaba así, pues no habían APIs como tal habían interrupciones y llamados a servicios de sistema ( interrupt request queue ) abreviados IRQ , con esto un virus estaba pendiente de los ticks del reloj o cuando un disco duro interrumpía para leer algo o cuando la ejecución de un programa interrumpía y aprovechaba a infectar.

Un virus real no necesita intervención humana en el software en ningún momento para reproducirse, bastaría con insertar un hardware infectado como un disquette.

Virus VS Malware ( borrar todos los documentos de Word ) infectados mediante un disquette ( asumiendo que aun existen ) o por medio de una memoria USB

Los virus siempre son ejecutables, muchos de ellos se ocultarían en el MBR del USB o del disquette ya que el MBR es una zona ejecutable y aunque solo tiene 512 bytes para almacenar un programa, es suficiente para un virus escrito en ASM y si fuera necesario en lugar de ser el virus completo seria una lanzador que apuntaría a una zona del disquette o USB marcada como dañada para no ser sobrescrita y en esa zona estaría el código ejecutable del virus, aka payload.

El MBR es lo primero que se lee al entrar a la unidad de disco, el solo hecho de intentar acceder al disco causaría una infección sea en Windows ME y anteriores.

Los malware finalmente son programas comunes y corrientes, simples archivos PE lanzados por un archivo script que Windows ejecuta el autorun.inf , pero si se deshabilita el autorun.inf desde el registro de Windows el malware pierde efectividad, el malware depende de la ignorancia del usuario y su método de infección es simplemente estar pendiente a que introduzcan otro disquette o usb para copiarse como programa independiente y escribir otro autorun.inf para ser lanzado en otra computadora, cualquier mocoso que sepa visual basic 6.0 podria escribir uno de estos malware.

Un virus no depende de la ignorancia del usuario sino de las características del sistema operativo, simplemente infectaría con o sin autorun.inf en un sistema operativo sin protección de memoria y es ahí donde entra el antivirus, que actualmente tampoco son antivirus como tal, ya que el antivirus también abusa de la falta de protección de memoria para tratar de borrar al virus o evitar la infección.

Después de la introducción de que es un virus y que no vamos a GNU/Linux y porque ahí no hay virus.

En la practica podría haber virus, pero es totalmente inviable por que GNU/Linux tiene protección de memoria, significa que cada proceso que corre en el sistema operativo tiene que tener un dueño representado por un UID y un usuario o dueño de proceso no puede entrometerse en la memoria de otro usuario, con la salvedad de ROOT , Root es un usuario que solo debe ser usado para administrar nunca para operar el sistema operativo como usuario.

Si se escribe un virus para un sistema como Linux podría reproducirse en los archivos del infectado, pero no podría escapar de ahí, si se fuera a otra computadora solo podría infectar si en esa otra computadora existiera otro usuario con los mismos permisos y de nuevo se quedaría encerrado en los archivos del usuario, el resto de archivos pertenecientes a otros usuarios estaría totalmente libre de la infección, eso limitaría su campo de acción, el virus se terminaría extinguiendo por falta de programas que infectar ya que de hecho los programas ejecutables a los que tienen acceso los usuarios en su mayoría son de ejecución pero no de modificación, por lo que nunca podrán meter su código en digamos el LS para listar directorios o en cualquier otro programa.


Después de explicar esto la pregunta inmediata es ¿ Por qué hay antivirus en GNU/Linux si no hay virus para GNU/Linux )

La respuesta es triste para un Win-User, debido a que los virus y malwares de Windows no tienen ningún efecto en GNU/Linux el antivirus lo que hace es hacerle un favor a los Win-User, revisando las aplicaciones que se comparten por la red o se envían por correo electrónico para eliminarlas, los antivirus en Linux están ahí para quitar los malware de Windows que de otra manera infestarían las maquinas con una efectividad de 100% pues no se ejecutan ni tienen riesgo alguno en Linux

Los mas letrados en el asunto rebaten con ¿ y que hay de Scalper y otro gusanos ?

Exacto, Scalper es un gusano otro tipo de malware pero no es un virus, porque no se comporta como uno de acuerdo a la descripción de ahí arriba.

Lo que hay en Linux y otros *NIX son exploit, técnicamente tampoco sería un gusano, sería un BOT ejecutándose en una maquina buscando IP por IP maquinas vulnerables con el exploit una vez encontrada tratarían de inyectar el código para crear otro BOT creando una red de BOT mas similar a un red Zombie, buscando cada vez mas IPS con mas maquinas vulnerables a ese exploit.

Esto realmente no es un virus y ni siquiera requieres de antivirus, parchando el sistema con una versión nueva del servicio afectado termina el problema, un virus no sería detenido por una nueva versión si fuera un virus de verdad ya que no dependería de un error de programación para infectar.

Por lo que ese tipo de ataque simplemente no es de virus y por lo tanto sigue sin existir virus en GNU/Linux

4 thoughts on “Que es un virus y hay o no virus en GNU/Linux

  1. iOS 7.1

    Hola last,

    Primero me quede en la parte donde mencionabas que ya no existen virus y que la mayor parte son malware, primero claro que está muy confundida esa parte pero aún existen según recuerdo en Windows 7 el último que vi, claro que existen protecciones en memoria pero no es necesario luchar con ellas para hacer residente un virus dentro de otro binario y así este se repliegue, tal el caso del troyano de la “policía federal” en el análisis que publique unas de las técnicas que usaba no sólo era bloquear y cifrar archivos del equipo, este se inyectaba en otro proceso, el cual a sí vez se replicaba en otros para descifrarse, claro esta que la intención no era la que antes se usaba de infectar todos lo .exe injertandose a si mismo para replegarse, pero si es posible y aún existen, y no es cosa que vaya más allá de las técnicas que usan los creadores de malware (claro que existe malware bastante simple) sólo que a los ciner criminales ya no les interesa esto aunque aún hay algunos apasionados que sueltan algún bicho de estos, saludos!

    Saludos!

  2. Google Chrome 39.0.2171.95 Windows NT

    lo que pasa es que la gente generalizo el nombre virus para cualquier cosa dañina de la PC via software. y del virus aquel ya la cosa cambio mucho, incluso para andriod se les dice virus y Antvirus cuando vienen a ser aplicaciones que hasta en la tienda estan. se generalizo y aunque tecnicamente no es correcto y seria mejor hablar de malware o troyanos o script maliciosos etc la cierto es que por ahi hay algunos bichitos que aunque mas avanzados aun se podrian considerar virus por su naturaleza dañina.
    gracias por el articulo.

Deja un comentario

Tu dirección de correo electrónico no será publicada.