Virus en Linux?


virus-linux-mac-lg.jpg

La pregunta es valida también para cualquier *nix.
Voy a intentar analizar porque no existe nada funcional a la fecha y no pasan de pruebas de concepto.

Primero es lo primero:
¿Que es un Virus?
Un virus no es mas que un software que tiene las siguientes capacidades:
-Infectar un archivo
-Reproducirse
-En determinado momento activarse y producir una acción.

Vamos a ver primero en la plataforma mas extendida del planeta, Windows. Podemos encontrar las siguiente razones:
A) Usuarios descuidados
Es bien conocido el problema de que la mayoría de los usuarios de Windows Siempre utilizan cuentas de Administrador para el trabajo diario.
No es culpa de ellos, sino de la mismísima Microsoft. El que haya instalado alguna vez cualquier Windows se dará cuenta que durante el proceso Nunca pide que generemos una cuenta de usuario común (independientemente que sea una versión Servidor o de Escritorio).
Esto ultimo se intentó arreglar en las ultimas versiones donde el usuario no tiene derechos de administración y cada vez que desea hacer algo que lo requiera le pregunta estúpidamente una 50 veces para que le quede claro si desea hacerlo.
B) Manejo de archivos:
Esto ya lo explique en una entrada anterior. Para Windows un archivo es ejecutable según su extensión.
Y según el nuevo esquema de seguridad UAC curiosamente verifica dentro del mismo una cadena que indique que lo es o determinar que todo lo que se instala debe ser con derechos de administrador .
Por lo tanto fácilmente se podría seguir engañando al incauto.
C) Uniformidad de todos los sistemas
Todos son muy parecidos. La GDI es la misma para una versión hogareña que la de servidor (todavía hay gente que me discute la necesidad de una interfaz gráfica en un server).
D) Diseño monolítico:
No hay verdadera separación entre componentes básicos Kernel, Shell y GDI.
Tampoco puede considerarse multiusuario ya que todos los usuarios comparten un único componente donde esta toda la configuración del sistema e individual de cada usuario denominado registro y un daño en este puede desencadenar varios problemas. Desde mal funcionamiento de determinado programa, evitar el ingreso de usuarios registrados hasta la inutilización completa del sistema. Por lo tanto un virus afecta a todo el sistema y no solamente al usuario que lo ejecuto.
E)Popularidad:
En teoría como mas del 90% de la población mundial (aunque de apoco comienza a retroceder) utiliza algún Windows, como todos tienen problemas en común independientemente de la versión, basta con distribuir una pocas copias del virus para que se reproduzca en forma exponencial.

Ahora veamos que sucede en Linux o cualquier *nix
A) Desde el vamos, cualquier distribución sea destinada al escritorio o servidor, siempre como ultimo paso solicita la creación de al menos un usuario con derechos no administrativos. Con excepción de Slackware que todavia continua generando solamente el usuario de root.
B) Lo que determina que un archivo en *nix sea ejecutable o no, no es su extensión sino los derechos sobre el mismo.
Hasta puede carecer de la misma y sin embargo ser ejecutable. Es IMPOSIBLE que un usuario trate de ejecutar algo que venga por mail si no tiene derechos de ejecución por poner un ejemplo.
C) Si bien todos los *nix cumplen con el estándar POSIX ninguno es igual al otro. Todos son diferentes entre si aunque todos comparten la misma filosofía: seguridad y estabilidad.
Seria muy difícil diseñar un virus efectivo ya que por ejemplo Existen cientos de distribuciones de Linux con sus sistemas de paquetes aunque todos están basados en tres grandes familias (Debian, slackware y Red Hat).
Los defensores de Windows dicen “Sí, pero podrían infectar los repositorios con un virus y de esa manera armar un desastre infectando muchos equipos”.
Que equivocados están, desde hace mucho tiempo se utiliza como mecanismo de seguridad la firma de paquetes y para los repositorios llaves pgp para garantizar la autenticidad del mismo y evitar la inclusión de software malicioso. Además la inclusión de un paquete dentro de un repositorio pasa por un riguroso examen por ejemplo los paquetes debian.
Yo les hago la siguiente pregunta: Acaso Microsoft firma sus actualizaciones o tiene algún método de autentificación?.
Lo que es criticado como desventaja es una clara ventaja frente a problemas de este tipo.
D) Diseño modular: este juega muy a favor ya que cada componente del sistema esta bien diferenciado. Cada usuario tiene su espacio y archivos de configuración. Cualquier *nix es verdaderamente un sistema Multiusuario. Un supuesto virus solamente afectaría al espacio del que lo ejecutó. La única escepción a la regla es ejecutarlo como root claro.
E) Popularidad: y aquí es donde se cae el clásico supuesto que esgrimen los fanáticos de Windows “cuando Linux sea popular seguro van a aparecer virus”.
Linux ES popular hace bastante tiempo en varios campos. Gran porcentaje de Internet funciona gracias a él. Firewalls, routers, proxies, servidores de archivos, servidores web, dispositivos empotrados, hasta esta incursionando en celulares y palms.
Se imaginan lo desastroso que seria un virus en esta plataforma?. Casi nadie se podria conectar a Internet, dejarían de funcionar varios servicios hoy considerados esenciales.

El mito del virus multiplataforma:
Desde hace tiempo vienen circulando varias supuestas pruebas de concepto por el cual se podría infectar tanto Windows como Linux con un único tipo de virus.
Veamos porque no puede prosperar esta teoría:
Arquitectura:
Windows solamente corre en arquitectura i386 y algunas dispositivos móviles.
Linux corre en mas de 20 arquitecturas y subarquitecturas diferentes.
Sistemas de archivo:
Windows soporta FAT y NTFS
Linux EXT2, EXT3, ReiserFS, XFS, JFS, FAT, NTFS, entre otros.
Tipos de ejecutables:
Windows PE
Linux ELF
Arquitectura interna del kernel:
Windows Microkernel
Linux Monolitico Modular
Mecanismos de Seguridad:
Windows…ehhhmmm…UAC, antivirus, antispyware, firewall y 3 avemarias…
Linux SELinux, iptables y dormí sin frazadas…
Aplicaciones:
Es común a todos los usuarios de Windows por imposición ciertas aplicaciones como ser el MS Messenger, Internet Explorer, WordPad, Media Player, etc. Los usuario de Windows parecen uniformados, la aparición de un problema afecta a todos por igual. Por eso siempre les recomiendo a los usuarios de windows dejar de utilizar lo que viene por defecto y animarse a otras aplicaciones.
En Linux existe diversidad de GUI como de aplicaciones. Nadie esta atado a algo. Hay gente que le gusta Gnome otra KDE otra Xfce otra Fluxbox otra Windowmaker, lo mismo con los navegadores Firefox, Opera, Epiphany, Konkeror, etc. Y por supuesto con los paquetes de oficina OpenOffice, Koffice, Gnome Office.

Como verán son dos mundos totalmente diferentes, se puede abarcar fácilmente al ambiente Windows pero Linux seria una tarea tediosa y difícil. El software libre evoluciona muy rápido. Si aparece un bug, se corrije rápidamente. En cada actualización de una aplicación o el mismo Kernel se incluyen nuevas funcionalidades al igual que se reescriben otras. Lo que existe hoy puede no existir mañana o aparecer mejorado.
Esto no sucede en windows la evolución es mas lenta. Vean el ultimo período de ventana entre Windows xp y Vista de aproximadamente 6 años. La inclusión de UAC no es ninguna evolución ni solución ya que no se corrigieron problemas estructurales de antaño que seguirán allí quien sabe hasta cuando.

Conclusión:
Pueden seguir confiando en la plataforma Linux ya que viene demostrando con creces su seguridad, estabilidad y escalabilidad. Debemos dar gracias a la gran comunidad que lo respalda y que día a día hace el mejor esfuerzo por mejorarla.
Esperemos siga así por mucho tiempo mas.

ESTE TEXTO SE PUBLICA BAJO LICENCIA CREATIVE COMMONS BY-NC-SA 2.5 AR.

Por lo tanto, usted es libre de: 1) Copiarlo, distribuirlo y exhibirlo. 2) Hacer obras derivadas. Bajo las siguientes condiciones: 1) Debe dar atribución mencionando el nombre del autor y del LUG Zona Norte. En caso de las notas que no llevan firma, mencionar sólo el nombre del LUG.
2) Usted no puede usar esta obra con fines comerciales. 3) Si usted altera, transforma, o crea sobre este texto, sólo podrá distribuir la obra derivada resultante bajo una licencia idéntica a ésta.

Más detalles y texto legal de la licencia en: http://creativecommons.org/licenses/by-nc-sa/2.5/ar

  1. #1 by Yax Che on 17/08/2007 - 21:12

    y sin embargo si existen y han existido virus para linux, incluso para unix, y si no mal me acuerdo los primeros fueron para esta plataforma, (programas que compiten por la memoria); existe muchos tipos de virus, y aunque no tiene la misma difusión que en windows, y que son cerradas mas rápidamente las vulnerabilidades, existen.

    por otro lado los multiplataforma… por ejemplo si se usa java, entonces se puede hablar de virus multiplataforma.

    :-)

  2. #2 by sechole on 17/08/2007 - 21:43

    Nombra alguno funcional. Porque hasta la fecha son solamente pruebas de concepto.
    Si te referis a gusanos hubieron, hay y habrán.
    Muchos virus? decinos la cantidad?

    Virus en Java, mmmm, puede andar eso. Habría que investigar un poco.
    De todas maneras las distribuciones comienzan de a poco a pasarse del modelo de seguridad DAC a MAC con la inclusión de SELinux o AppArmor por lo tanto va a ser mucho mas difícil lograr hacer algo dañino en el sistema.

  3. #3 by armintage on 21/11/2007 - 13:58

    Cual fue el que ataco a los ordenadores de la nasa en el 86?, Viernes13/friday13?

    Pero bueno solo como apunte de memoria ya que dudo mucho que la Nasa usase un win3.11 para sus sistemas…

  4. #4 by sechole on 21/11/2007 - 14:15

    Me parece que estas un poco confundido
    Viernes 13 o Jerusalem surgio en 1988. El virus infectaba archivos .COM y .EXE, cada vez que eran ejecutados y mientras estaba el virus activo en memoria. La primera versión se auto-instalaba residente en la memoria RAM del sistema, tomando control de las interrupciones 08h y 21h, y desde allí infectaba a archivos con extensión .COM, a los cuales incrementaba 1,792 bytes y a los .EXE que incrementaba entre 1,808 a 1822 bytes adicionales. Cuando el calendario coincidía en viernes 13, el virus se activaba borrando todos los programas que se intentaban ejecutar, mientras que si no era esa la fecha simplemente ralentizaba el uso del equipo al poner un delay en la interrupción del reloj.

    No se en que película viste que afectaba un Unix.

  5. #5 by Eduardo on 28/03/2008 - 19:42

    Excelente, muy informativo, gracias.

  6. #6 by cousteau on 28/11/2008 - 23:07

    ¿Se puede infectar una máquina *nix simplemente conectando un pendrive?

    (El otro día me encontré un autorun.inf que había aparecido misteriosamente en mi pen, menos mal que ninguno de los ordenadores con windows donde lo enchufé era mío)

  7. #7 by sechole on 01/12/2008 - 1:02

    cousteau escribio:
    “¿Se puede infectar una máquina *nix simplemente conectando un pendrive?”

    Ese tipo de problemas no existen ni en Linux ni en ningun Unix.

(will not be published)
IMPORTANT! To be able to proceed, you need to solve the following simple math (so we know that you are a human) :-)

What is 11 + 14 ?
Please leave these two fields as-is: