Los virus que amenazan Linux y las opciones de seguridad gratuitas.

Publicado por Hugo

La creencia popular de que sistemas operativos como Mac o GNU/Linux no tienen virus es falsa. Evidentemente existen (mucho menos que en Windows obviamente) y cada día hay más amenazas sobre ellos. Es interesante ver cómo los creadores de malware centran sus esfuerzos en plataformas con un mayor número de usuarios. GNU/Linux también es vulnerable a ciertos programas malware, gusanos y virus tradicionales, por ello hay una serie de opciones de seguridad gratuitas (ClamAV, AVG, Avast y F-Prot).

¿Que es un Virus?

Se trata de un programa que se copia y se ejecuta automáticamente, y que tiene por objeto alterar el normal funcionamiento de un ordenador, sin el permiso o el conocimiento del usuario. Para ello, los virus reemplazan archivos ejecutables por otros infectados con su código.

Un virus se instala solo, sin el permiso o el concentimiento de un usuario. Si no se instala solo, no es un virus: podría ser un ser un rootkit, o un troyano.

Un rootkit es un parche al kernel que permite ocultar determinados procesos a las utilidades de área de usuario. Dicho de otra forma, es una modificación del código fuente del kernel que tiene como objeto que las utilidades que permiten ver qué se está ejecutando en cada momento no visualicen un determinado proceso, o un determinado usuario.

Un troyano es análogo: es una modificación al código fuente de un servicio concreto para ocultar determinada actividad fraudulenta. En ambos casos es necesario obtener el código fuente de la versión exacta instalada en la máquina Linux, parchear el código, recompilarlo, obtener privilegios de administrador, instalar el ejecutable parcheado, e inicializar el servicio –en el caso del troyano– o el sistema operativo completo –en el caso del rootkit.

El proceso, como vemos, no es trivial, y nadie puede hacer todo esto “por error”. Tanto unos como otros exigen en su instalación que alguien con privilegios de administrador, de forma consciente, ejecute una serie de pasos tomando decisiones de índole técnica.

La arquitectura de Unix en general y de Linux en particular NO hace factible la dispersión de un virus.Supongamos que tenemos un virus que quiere transmitirse solo. Supongamos que ha sido lanzado por un usuario normal, de forma inocente, al lanzar un programa. Dicho virus tiene exclusivamente dos mecanismos de transmisión:

Replicarse tocando la memoria de otros procesos, anclándose a ellos en tiempo de ejecución.

Abriendo los ejecutables del sistema de ficheros, y añadiendo su código –payload– al ejecutable.

Todos los virus que podemos considerar como tales tienen al menos uno de estos dos mecanismos de transmisión, o los dos. no hay más mecanismos.

Respecto al primer mecanismo, recordemos la arquitectura de memoria virtual de Linux y cómo funcionan los procesadores intel. Estos poseen cuatro anillos, numerados de 0 a 3; a menor número, mayores los privilegios que tiene el código que se ejecute en dicho anillo.

Estos anillos corresponden con estados del procesador, y, por lo tanto, con lo que se puede hacer con un sistema estando en un anillo concreto. Linux hace uso del anillo 0 para el kernel, y del anillo 3 para los procesos. no hay código de proceso que se ejecute en anillo 0, y no hay código de kernel que se ejecute en anillo 3. solo hay un único punto de entrada al kernel desde el anillo 3: la interrupción 80h, que permite saltar del área donde está el código de usuario al área donde está el código de kernel.

El kernel mediante el uso de la memoria virtual hace creer a cada proceso que tiene toda la memoria para él solo. Un proceso –que trabaja en anillo 3– solo puede ver la memoria virtual que le han configurado, por el anillo en el que opera. No es que la memoria de los otros procesos esté protegida; es que para un proceso la memoria de los otros está fuera del espacio de direcciones. Si un proceso diese una batida a todas las direcciones de memoria, no sería capaz ni de referenciar una dirección de memoria de otro proceso.


Como vemos, ni siquiera un virus como root puede saltar esta barrera. La única solución que queda es la transmisión entre ficheros ejecutables. Lo que tampoco funciona como veremos a continuación.

En Linux, un proceso puede hacer simplemente lo que le permita su usuario efectivo y su grupo efectivo. Es cierto que existen mecanismos para intercambiar el usuario real con el efectivo, pero poco más. Si nos fijamos donde están los ejecuables, veremos que solamente root tiene privilegios de escritura tanto en dichos directorios, como en los ficheros contenidos. Dicho de otro modo, solamente root puede modificar dichos archivos.

Esto es así en Unix desde los 70, en Linux desde sus orígenes, y en un sistema de ficheros que soporte privilegios, aún no ha aparecido ningún error que permita otro comportamiento. La estructura de los ficheros ejecutables ELF es conocida y está bien documentada, por lo que es técnicamente posible que un fichero de este tipo cargue el payload en otro fichero ELF… siempre que el usuario efectivo del primero o el grupo efectivo del primero tengan privilegios de lectura, escritura y ejecución sobre el segundo fichero.

En sistemas operativos donde es necesario ser administrador para tareas comunes o para ejecutar muchas aplicaciones diarias, esto sí se puede dar. Pero en Unix es necesario ser administrador para configurar la máquina y modificar los archivos de configuración, así que es escaso el número de usuarios que emplea como cuenta diaria la de root. En casi todas, si accedes como tal al entorno gráfico, el fondo se cambia a rojo intenso, y se repiten mensajes constantes que recuerdan que no se debe emplear esta cuenta. Finalmente, todo lo que se debe hacer como root es posible hacerlo mediante un comando sudo sin riesgo.

Por ello, en Linux un ejecutable no puede infectar a otros siempre que no estemos usando la cuenta de root como cuenta de uso común; y aunque las compañías antivirus se empeñan en decir que hay virus para Linux, realmente lo más parecido que se puede crear en Linux es un troyano en área de usuario. La única forma de que estos troyanos puedan afectar algo del sistema es ejecutándolo como root y con lo privilegios necesarios. Si solemos emplear la máquina como usuarios de a pie, no es posible que un proceso lanzado por un usuario común infecte al sistema.

A la pregunta ¿Existen vulnerabilidades en sistemas Linux? la respuesta es ciertamente sí. Nadie en su sano juicio lo duda; Linux no es OpenBSD. Otra cosa es la ventana de vulnerabilidad que tiene un sistema Linux que sea actualizado adecuadamente. Si nos preguntamos mientas para aprovechar estos agujeros de seguridad, y explotarlos? Pues también sí, pero eso no son virus, son exploits.

Este es un pequeño resumen de la historia de virus en GNU/Linux.



1996:

El grupo de crackers VLAD escribió el primer virus GNU/Linux conocido como Staog. Hacía uso de una vulnerabilidad en el kernel que le permitía quedarse como proceso residente y esperar a que un binario se ejecutase. Una vez ejecutado, el virus se añadía al ficero en cuestión. Después de que el virus fuera descubierto, la vulnerabilidad fue solucionada rápidamente. VLAD también fue responsable del virus para Windows 95 Boza.

1997:

El virus Bliss llegó a GNU/Linux como un virus que se adjuntaba a ejecutables del sistema y evitaba que corrieran. Un usuario tení que tener acceso root, por tanto, para que el virus fuese efectivo. A día de hoy Debian sigue mostrándose vulnerable a este virus, aunque la amenaza es mínima ya que los usuarios no suelen trabajar cono root.

1999:

No hubo virus de renombre ese año, pero es cuanto menos curioso el mensaje que fue lanzado en PCs, instando al usuario a instalar Linux. Llegó en plena época de virus Melissa y aparecía un mensaje en el PC que comentaba que el virus Tuxissa iba a instalar Linux, no era más que un mensaje en sí, sin acción posterior.

2000:

Un virus conocido como Virus.Linux.Winter.341 llegó y se introducía en archivos ELF. Dicho formato es el ejecutable en Linux. El virus era muy pequeño, sólo 341 bytes, e insertaba LoTek by Wintermute en la sección de notas del archivo ELF. El virus también permitía el cambio del nombre del ordenador a Wintermute, pero nunca llegó a obtener el control de la máquina para poder conseguir dicho efecto.

2001:

Este año fue bastante movido en el mercado de virus GNU/Linux ya que comenzó con el virus ZipWorm, que se adjuntaba en cualquier archivo Zip que estuviese en el mismo directorio que se ejecutaba. El siguiente fue el virus Satyr que no era dañino, añadiendo en archivos ELF la entrada unix.satyr version 1.0 (c)oded jan-2001 by Shitdown [MIONS], http://shitdown.sf.**. También llegó un virus llamado Ramen que reemplazaba los archivos index.html con su propia versión que mostraba Ramen Crew en la parte superior y un paquete de Ramen Noodles en la parte inferior. Otro de las amenazas Linux de 2001 fue el gusano Cheese que bloqueaba las puertas traseras creadas por el virus Ramen.

2002:

Una vulnerabilidad en Apache sirvió de guía para la creación y expansión del gusano Mughty. El gusano explotaba la vulnerabilidad en el interfaz SSL de Apache que infectaba los ordenadores de manera silenciosa. Tras ello se creaba una conexión a un servidor IRC y se esperaba en un canal a recibir intrucciones / comandos.

2003:

Este año llegaron virus no dañinos como el virus Rike, escrito en ensamblador y que se adjuntaba en archivos ELF. Una vez adjunto extendía el espacio que ocupaba el archivo y escribía RIKE en ese espacio libre.

2004:

De manera similar al virus anterior, llego al mercado el virus Binom que extendía el tamaño del fichero y escribía la entrada [ Cyneox/DCA en ese espacio. El virus se extendía tras la ejecución del archivo infectado.

2005:

El gusano Lupper comenzó a extenderse entre servidores web Linux vulnerables. El gusano buscaba una URL específica y trataba de utilizar un exploit que aprovechaba una vulnerabilidad PHP/CGI. Si el servidor permitía recibir comandos remotos y descarga de archivos, entonces comenzaba la infección y continuaba buscando otros servidores que infectar.

2006:

Apareció una variante del gusano Mighty de 2002 conocido como Kaiten. Abría una conexión a un canal IRD y esperaba comandos para ser ejecutados.

2007:

Un exploit en OpenOffice sirvió para extender un virus conocido como BadBunny. Este virus infectaba Windows, Mac y Linux. El virus creaba un fichero badbunny.py y un script XChat creaba badbunny.pl, un virus Perl que infectaba otros archivos Perl. También hubo un troyando de renombre, Rexob, que una vez en la máquina abría una puerta trasera que permitía la ejecución de código.

2009:

El año pasado hubo un problema para usuarios GNOME que mediante la descarga de “salvapantallas” y otros archivos aparentemente seguros, hospedaban un salvapantallas conocido como WaterFall. Una vez instalado en la máquina abría una puerta trasera que tras la ejecución causaba que la máquina participase en ataques DDoS. Este tipo de ataques afectaron a webs como MMOwned.com.

2010:

Este año llegó el gusano koobface que se extendía a través de redes sociales y tenía como objetivos equipos Windows, Mac y más recientemente GNU/Linux. Una vez infectado el equipo, el virus trataba de conseguir información de login de FTPs y redes sociales. Una vez que la contraseña queda comprometida, el virus enviaba un mensaje infectado a todos tus contactos.

Evidentemente esta es una lista incompleta, no son todos los virus existentes -claro está- pero si es una pequeña muestra de la existencia de virus y gusanos para GNU/Linux. Con ello queremos decir que un análisis del sistema de vez en cuando no hace daño a nadie, y habiendo opciones gratuitas (ClamAV, AVG, Avast y F-Prot) no hay excusa para no hacerlo.


Búsqueda personalizada
www.zanox.com


Si te ha gustado el artículo inscribete al feed clicando en la imagen más abajo para tenerte siempre actualizado sobre los nuevos contenidos del blog:

3 distribuciones Linux para la recuperación de datos.

Publicado por Hugo

Una de las cosas que en algún momento hemos debido afrontar cuando trabajamos con ordenadores es un fallo del sistema operativo. Llegado este momento tiramos de copia de seguridad para recuperar nuestros datos.

Es entonces cuando vemos que nos faltan datos, que en algunos casos pueden ser importantes o dolorosa su pérdida como fotos o vídeos personales. Por eso vamos a proponeros cuatro distribuciones Linux para la recuperación de datos.

Porque una vez que nos falla el sistema o el disco tiene sectores dañados en el inicio y no nos permite arrancar, tenemos la alternativa de buscar otro ordenador donde poder conectar este disco duro como secundario o esclavo para poder intentar acceder a él. Esto no siempre es posible, y sobre todo lleva su tiempo puesto que si no tenemos otro equipo en casa podemos tardar en contactar con alguien para realizar esta operación.
Por eso una buena solución es utilizar un LiveCD con Linux, que nos permite arrancar el sistema desde el lector de CD y carga todo lo que necesita en la memoria del equipo para iniciar. Por lo tanto no toca el disco duro, pero una vez iniciado el sistema a través del lector de CD nos permitirá acceder a los datos del sistema y guardarlos en la partición de datos de nuestro disco o en un disco externo. Vamos a ver algunas de las alternativas que tenemos disponibles para llevar a cabo esta operación con soltura.

Redo Backup and Recovery.



Se trata de una de las herramientas más sencillas de utilizar y más amigables en su uso. Ocupa poco más de 75 MB de manera que podemos descargarla y utilizarla desde CD o incluso crearnos un USB Live con esta distribución para recuperar nuestros datos en caso de problemas. Una de sus mayores virtudes es lo rápido que carga, lo que facilita mucho su uso en equipos con menos recursos.

Entre las herramientas que incorpora tenemos programas para ver el estado de nuestros discos duros, PhotoRec, para recuperar archivos borrados de la papelera de reciclaje o herramientas de copia de seguridad que nos permiten la sincronización de dos carpetas y realizan un copia incremental. A todas estas además tenemos que añadir Firefox, editor de textos y un terminal para poder ejecutar órdenes desde la consola.
Además tenemos la alternativa de crear una imagen del disco duro o de la partición de forma rápida, lo que nos da la posibilidad de tener nuestro sistema recuperado de forma rápida. Si lo que queremos es recuperar un archivo o carpeta de nuestro disco duro por un fallo del sistema nos bastará con utilizar el navegador de archivos que incorpora para llegar hasta nuestros discos duros y copiar dicha carpeta a un disco duro externo.

El mayor inconveniente que me he encontrado con su uso es que con algún equipo no reconoce correctamente las opciones gráficas y no consigue arrancar en modo vídeo seguro. Por lo demás es una distribución que deberíamos tener como salvavidas en nuestras colecciones de CD’s grabados o llevarla siempre con nosotros en nuestra memoria USB.

Más Información:



SystemRescueCd.

Esta es una distribución más enfocada hacia usuarios algo más avanzados y si lo único que necesitamos es recuperar un archivo o realizar una imagen de nuestro disco duro sin duda existen otras alternativas más interesantes. Esta es una distribución que será muy apreciada por todos aquellos que gustan de utilizar la consola. En el arranque por defecto está será la interfaz que nos muestre, aunque podemos lanzar un entorno gráfico basado en Xfce.

Incorpora herramientas para el manejo de particiones y creación de imágenes de las mismas, o para su reparación, como puede ser Test-disk. También nos facilita programas de copia de seguridad que incluso podremos utilizar en remoto. El apartado de herramientas sin duda es uno de sus puntos fuertes puesto que prácticamente no echaremos nada en falta, desde herramientas de seguridad hasta otras como pueden ser el borrado seguro de datos.


Entre las ventajas que tiene está la utilización en casi todo tipo de equipos con un buen reconocimiento de hardware y gracias a la utilización de la consola podemos utilizarlo de forma rápida y ágil, y de esta forma podemos hacer uso de una de las características que nos puede ser más útil como es el arranque de red de este sistema, lo que nos puede ser de gran ayuda en la recuperación de datos o sistemas de forma remota. Además dispone de una manual bastante completo en castellano.

Más Información:



Ubuntu Rescue Remix.


Esta es otra de las muchas distribuciones derivadas de Ubuntu, centrada en este caso en facilitar las herramientas adecuadas para poder recuperar nuestros datos en caso de fallo del sistema operativo o de una partición.

Lo bueno es que todos los usuarios de Ubuntu no tendrán grandes problemas en su utilización acortando bastante la curva de aprendizaje puesto que también se maneja a través de la consola, por lo tanto si estamos acostumbrados a utilizar este modo en Ubuntu muchos comandos ya sabemos utilizarlos.



Otra de las cosas interesantes que tiene esta distribución son los casos de estudio, que nos ponen ejemplos prácticos de recuperación de datos en casos determinados que nos pueden ser de gran ayuda. Al igual que en los dos casos anteriores incluye varias herramientas para el manejo de archivos y particiones, así como para la recuperación de datos borrados de nuestras papeleras.

Si lo que os interesan son los paquetes y los queréis probar en vuestra distribución habitual de Ubuntu se pueden añadir a través de los repositorios añadiendo:

deb http://ppa.launchpad.net/arzajac/ppa/ubuntu maverick main

Después deberemos añadir la firma al repositorio ejecutando:
sudo apt-key adv —keyserver keyserver.ubuntu.com —recv-keys BDFD6D77

Para finalizar deberemos instalar el paquete de herramientas ubuntu-rescue-remix-tools y ya dispondremos de toda la colección de herramientas en nuestra distribución de Ubuntu habitual.

Más Información:

De las tres alternativas para utilizar como medio de recuperación de archivos o particiones, así como realizar copias de seguridad sin duda me quedo con RedoBackup. Es la más sencilla de utilizar para cualquier usuario novel, sea usuario de Linux o no, carga bastante rápido e incluye suficientes herramientas para facilitar la recuperación de nuestros datos. Tanto System Rescue Cd como Ubuntu Rescue Remix son bastante menos amigables con los usuarios y desaconsejadas para los no iniciados en Linux o usuarios con fobia a la consola.


Búsqueda personalizada
www.zanox.com


Si te ha gustado el artículo inscribete al feed clicando en la imagen más abajo para tenerte siempre actualizado sobre los nuevos contenidos del blog:

Ultimas entradas publicadas