Un poco de Malware y GNU/Linux [Parte 1]

###############
Date =
Category = GNU/Linux
Tags = GNU/Linux Malware Payload Virus
Lang = es
Translations: none
###############

Muchos afirman que no existe malware para los sistemas GNU/Linux, en realidad, están equivocados, si existen y hace muchos años, solo que los desarrolladores de malware quieren que sus proyectos se extiendan, entonces buscan atacar las “tendencias”. Las tendencias siempre definieron el destino del malware, con esto me refiero a que, al ser Windows el sistema operativo más utilizado, los códigos maliciosos están más activos en ese sistema operativo, y no tanto en Mac y mucho menos en GNU/Linux; Podemos tomar de ejemplo el caso de Mozilla Firefox, cuando recién se hizo conocido, uno de sus puntos a favor era que era más seguro que Internet Explorer, que en esa época era el navegador más utilizado, hoy en día esto ya no es así.

Entre más víctimas puedan atacar con un mismo código, mejor será el retorno sobre la ‘inversión’.

Lo cierto que es que en GNU/Linux no es necesario instalar antivirus alguno, y personalmente, tampoco me he preocupado por si corro riesgo o no de infectar mi sistema. No se puede afirmar que GNU/Linux sea un sistema 100% seguro, ningún sistema lo es. Si hablamos de actualidad, la NSA y Prism son ejemplo de que no todo es tan seguro como se comenta, tampoco podemos olvidarnos de “Hand of Thief” (Troyano Bancario 2013), y otros ejemplos que podemos ver en UnixMen y en MuySeguridad.net. Existe una creencia popular que identifica “virus” con “TODO lo que hace daño al ordenador o a su seguridad”, eso es totalmente falso. La seguridad informática cuenta una lista larga de términos y no creo usar todos, así que voy a ir detallando a medida que los vaya usando, creo que va a ayudar a que se entienda mejor.

VIRUS Y GNU/LINUX

Un VIRUS es un malware infeccioso que, originalmente, tiene como objetivo alterar el comportamiento normal de un sistema; Se ejecutan sin el consentimiento del usuario (generalmente se ejecutan desde un ejecutable infectado), y una vez ejecutado comienza a propagarse, esto lo hace, en la mayoría de los casos, reemplazando otros ejecutables por otros infectados por su código. Los virus suelen estar acompañados de Payloads, son la “carga útil” encargada de realizar las acciones maliciosas (borrar archivos, sobre-escritura de disco, reemplazo de bios, etc).

En los sistemas GNU/Linux, los virus son prácticamente inexistentes, esto se debe al sistema de permisos que hereda desde UNIX, el cual restringe lectura, escritura y ejecución de los archivos, excluyendo la posibilidad de que un virus se ejecute sin el consentimiento del usuario, y también, que se reproduzca infectando otros archivos a los cuales no tenga permiso. Aún así, ¿Que pasa si esconden en un virus en un paquete (.deb o .rpm, etc) que queremos instalar? Lo bueno es que en GNU/Linux existen los repositorios, pero a veces las aplicaciones no están en los repositorios y se opta por descargarlos de alguna otra fuente, lo cual puede llegar a ser un riesgo, aunque, la arquitectura de memoria virtual de GNU/Linux y el modo de funcionamiento de los procesadores, posee 4 anillos enumerados del 0 al 3 (a menor número mayores permisos), el Kernel hace uso solo del anillo 0, los procesos usan el anillo 3, y el Kernel hace creer a los procesos que toda la memoria es de ellos, es decir, no podría encontrar referencias a memorias de otros procesos, por lo cual, no podría tampoco copiar su código a la memoria.

Ningún proceso, ni siquiera los que tenga privilegios de “root”, pueden acceder a la memoria de otros procesos.

Teniendo en cuenta que muchos equipos con GNU/Linux tienen también Windows (dual boot), es posible que mediante alguna herramienta para montar particiones de GNU/Linux (ext2, ext3, ext4, reiserFS, etc) un virus consiga acceso y privilegios como para escribir código en algún archivo clave del sistema GNU/Linux, como el “init” (proceso inicial del que se crean los demás procesos) o la shell que use “root”, en este caso, las protecciones del sistema GNU/Linux son inútiles.

TROYANOS Y GNU/LINUX
Los TROYANOS (de “caballos de troya”), en pocas palabras, permiten el acceso remoto al equipo en el cual se ejecutan. Pueden realizar diferentes tareas, pero lo fundamental es crear una “puerta trasera” (backdoor) que permite la administración remota del troyano.

Los troyanos constan de 2 partes, una que es para administrarlo de forma remota, y otro, que es el troyano en si, que es el que recibe las ordenes a través del backdoor.

Debe entenderse que un troyano no es en realidad un virus, esto se define por su finalidad; El virus tiene como objetivo propagarse y destruir (con su payload), el troyano pretende ofrecer acceso remoto a un usuario malintencionado. En la actualidad, es mucho más común encontrarse con troyanos que con virus, ya que poseen funciones como keyloggers (registro de escritura) para averiguar contraseñas, capturas de pantallas, y ejecución de código en el huésped de forma remota. Últimamente, sus finalidades son delictivas, por eso podemos ver muchas noticias sobre “troyanos bancarios”.

Al igual que con los virus, es necesario que el troyano consiga permisos de administrador para ser instalado en un sistema GNU/linux.

WORMS (GUSANOS) Y GNU/LINUX
Los gusanos son, al igual que los virus, malware infecciosos que, en lugar de infectar ficheros, lo que infectan son ordenadores; Es decir, un gusano es similar a un virus pero en lugar de infectar ficheros se propagan de ordenador en ordenador a traves de la red (ya sea local o Internet). El objetivo suele ser es infectar la mayor cantidad de ordenadores y redes informáticas, aunque también puede contener instrucciones dañinas al igual que los virus. La forma de expansión de los gusanos es un poco más desarrollada que la de los virus, puesto a que no se reproducen tanto en el sistema en el que ya se encuentran, si no que lo hacen a traves de la red, utilizando vulnerabilidades del sistema y/o servicios que se encuentren ejecutados en la victima.

Aunque los gusanos se reproducen de ordenador en ordenador, suelen crear copias de sí mismo para seguir distribuyéndose, en correos electrónicos, redes P2P (Ares, Emule, etc) y mensajería instantánea, entre otros.

Los gusanos hacen uso de los servicios que dan cara a la red (o Internet) para expandirse o para infiltrarse, por eso es sumamente importante tener los sistemas y aplicaciones actualizadas.

Los Gusanos Informáticos suelen utilizar técnicas de ingeniería social para conseguir mayor efectividad. Para ello, los creadores seleccionan temas o nombres atractivos con el que camuflar el archivo malicioso. Los temas más recurrentes son los relacionados con el sexo, famosos, temas morbosos, temas de actualidad o software pirata.

La solución a los gusanos es hacer uso del sistema de actualizaciones de seguridad de nuestra distribución; Teniendo la distribución actualizada, no habrá problemas. Ejecutar solamente los servicios que necesitamos es también una buena idea por dos razones: mejoramos el aprovechamiento de recursos y evitamos problemas de seguridad.

Aunque los gusanos parezcan peligrosos para los sistemas GNU/Linux, debe entenderse que el problema no está en GNU/Linux, sino en las aplicaciones que el sistema tenga ejecutados, que un gusano se entrometa en nuestro sistema, también necesita permisos especiales, al igual que todo tipo de malware.

ENTONCES…
Después de leer esto, podrías pensar que un sistema GNU/Linux es invulnerable, ya que los permisos no permiten que el malware se entrometa sin nuestro consentimiento, a menos que instalemos paquetes que esté infectado, o ejecutemos como administrador algo de origen dudoso; El problema no está en GNU/Linux si no en los servicios y programas que usemos, ya que muchas veces estos tienen vulnerabilidades que son usadas para escalar privilegios y conseguir permisos adicionales.

En la [Parte 2] comentaré más sobre escalar privilegios, otros tipos de malware y sobre por qué no hay tantos ataques de malware a los sistemas GNU/Linux.

Tagcloud