Los virus en linux existen pero solo tienen éxito si linux esta mal instalado.
On Jueves 14 Mayo 2009 10:47:20 Luccia Victoria Muruaga escribió: > Gente vi todo el debate sobre los virus y bueno como no estaba informada > del tema me puse a indagar aqui les dejo un articulo que si bien es > larguito esta muy bueno ... ademas esta puesto como pa tontos (por eso lo > entendi jajaja) ... bueno espero que les guste ... les paso el link asi ven > el informe completito porque solo saque lo de linux ... > http://www.e-ghost.deusto.es/docs/articulo.virus.html En Linux no hay > virus... ¡Falso! Objetivos y técnicas: > Scripts: sh, Perl > > Los lenguajes interpretados han sido una constante en todo sistema UNIX. > Actualmente los más utilizados son los scripts de shell y Perl. Programar > un virus en estos lenguajes es un juego de niños, aquí tenemos un ejemplo > de un virus de shell sencillo: > > > #!/bin/sh > for FICHERO in * > do > tail -4 $0 >> $FICHERO > done > > > > ¿Qué hace? Va copiando sus 4 últimas líneas (tail -4 $0) al final de cada > fichero en este directorio (">>" es append, o añadir al final). Como > podemos ver, es un virus bastante tonto, infecta tanto ejecutables como > ficheros de datos, y puede dejarlos inutilizados, pero con unas pocas > decenas de líneas más, podría hacerse algo más presentable. > > > La sencillez de estos virus es su ventaja para sus programadores, pero > también su debilidad: son tremendamente fáciles de detectar a simple vista, > engordan el tamaño del fichero infectado considerablemente y realentizan su > ejecución más allá de lo inperceptible por un usuario normal. > > Binarios > a.out > > Es un formato realmente simple, casi tanto como los COM de DOS. Actualmente > este tipo de ejecutables está en desuso, pero todavía quedan sistemas con > a.out's (a pesar de que el compilador genere un fichero llamado "a.out", > eso no implica que tenga este formato, casi con seguridad se tratará de un > ELF). > > Infeccion de ejecutables a.out: > > > Se puede optar por aumentar el tamaño de la sección de código (.text) y > desplazar el resto del archivo, o tratar de encontrar una cavidad (cavity) > para instalar el virus allí. El virus, además, deberá modificar la cabecera > para reflejar los cambios (diferente tamaño de secciones, diferente entry > point...). > > ELF > > El formato ELF es el más utilizado hoy en día en los ejecutables para UNIX. > Es un formato muy flexible y bastante bien diseñado. > > Infeccion de ejecutables ELF: > > > Las investigaciones más serias en este campo vienen de la mano de Silvio > Cesare. Ha publicado ya numerosos artículos acerca de este tema, y todos > sus virus han sido programados en C, para poder ser compilados en cualquier > sistema UNIX. El método que utiliza es el siguiente: > > > > Incrementar un campo en la cabecera del ELF (p_shoff) que indica el > desplazamiento u offset donde se encuentra la tabla de cabecera de > secciones (Section header table). > > Hallar la cabecera de programa del segmento de codigo y: > > Incrementar la variable que indica el tamaño que ocupa el código > físicamente (p_filesz). > > Incrementar la variable que indica el tamaño que ocupa el código > cuando se carga en memoria (p_memsz). > > Para cada cabecera de programa cuyo segmento esta despues del de > codigo (que es donde hemos introducido el virus): > > Incrementar el offset del segmento en el fichero (p_offset). > > Para cada cabecera de seccion cuya seccion este despues de nuestra > insercion: > > Incrementar sh_offset, para tener en cuenta el nuevo codigo > > Insertar el virus en si en el fichero > > > > Esto puede parecer un lío para más de uno, en simples palabras lo que > se trata es de hacer el tamaño del segmento de código más grande para > hacer espacio para el virus. Luego hay que actualizar todos los valores > para que el código nuevo se cargue, y cambiar el entry point para que > apunte al virus. > > Este método de infección funciona perfectamente, pero no es el único. > Wintermute presento en el hackmeeting de 2000 un nuevo virus para Linux, > el Lotek, que realizaba una infección aprovechando una cavidad (cavity) > en la sección ".note". > > > Recientemente el ex-VXer Bumblebee ha publicado un virus para Linux con > residencia per-process en RING-3 y unas cuantas técnicas aprendidas en > entornos win32. Muchas de las estructuras de win32 tienen su paralelismo > en Linux, por lo que gran cantidad de técnicas pueden portarse fácilmente > a los virus de Linux. > > Ficheros de fuentes > > Hay algunos intentos de infectar ficheros fuente en lugar de binarios. Se > puede realizar un enfoque desde el punto de vista de ensamblador "inline" o > embebido dentro del código, o bien un ejecutable que genere fuente como > salida. > > Packages: .deb, .rpm, .mdk > > Un punto todavía poco explotado es el de los paquetes de software de las > diferentes distribuciones de Linux. Mucha gente utiliza paquetes para > instalar programas de manera sencilla y ordenada, y en ocasiones esos > paquetes son descargados por un usuario sin privilegios desde un navegador, > para ser instalados posteriormente por "root". En ese intervalo de tiempo > en el que permanecen en el directorio del usuario sin privilegios podrían > ser infectados y luego, al ser instalados por "root", acceder a todo el > sistema. > > > Un paquete generalmente tiene comprobaciones mediante MD5, pero pueden > recalcularse, por lo que este puede ser un punto flaco importante en > nuestras distribuciones Linux. Ya, pero Linux es seguro, ¿no? > Linux es seguro > > Sí, Linux es bastante seguro. De hecho un virus deberá utilizar algun > despiste de configuración en el sistema para poder colarse hasta tener > acceso a todas sus partes. > > > Está claro que actualmente usar Linux es el mejor antivirus que existe. No > he visto a nadie que haya sufrido un virus en Linux y eso que conozco a > mucha gente que usa Linux masivamente. Es posible que con el tiempo esta > situación vaya cambiando y Linux sea otro escenario donde se libren las > batallas entre programadores de virus y de antivirus. Por el momento, salvo > experimentos de laboratorio, estamos a salvo. > > ¿Cómo podemos hacer una escalada de privilegios? > Exploits > > Un exploit es un programa que aprovecha un fallo en el sistema para > conseguir algo no permitido de él. Si un virus incluye ese código dentro > del suyo, podría conseguir acceder a zonas no permitidas y hacerse con el > control del sistema. > > > Este enfoque ha sido utilizado en varios virus para Linux, como el staog > por Quantum/VLAD, pero implica la extinción del virus en cuanto el fallo > que explota el exploit sea subsanado. Algunos virus intentan aprovecharse > del exploit, y si no tiene éxito, eliminan el código del exploit del resto > de infecciones. > > > Este enfoque es más propio de entornos menos dinámicos en cuanto a > correcciones de fallos en programas, como Windows (poca gente actualiza > periódicamente su navegador o su editor de textos). En entornos de > desarrollo open source los fallos suelen ser detectados y subsanados más > dinámicamente. > > LKMs (Loadable Kernel Modules) > > Hemos dicho en la introducción que el núcleo de Linux es monolítico, pero > tiene un sistema de carga y descarga de módulos que permiten un uso más > eficiente de los controladores de dispositivos (drivers). > > > Un módulo del kernel (o LKM) se ejecuta en RING-0, dentro del espacio > reservado para el kernel, es decir, tiene un poder total sobre la máquina. > Es posible programar LKMs que tengan mas poder o que engañen a "root", por > lo que si un virus lograse cargar un módulo dentro del módulo, podría ser > una pesadilla para el administrador de la máquina, y el único límite de > acción serían las limitaciones físicas de los dispositivos. > > > Con un LKM se puede hacer de todo: ocultar procesos, modificar tamaños de > archivos, etc. por lo que puede que los futuros virus de Linux incluyan > LKMs para sus propósitos. > > Windows/Linux > > Muchos de los ordenadores personales que utilizan los usuarios de Linux, > aunque a veces cueste reconocerlo, tienen una partición con Windows. > Existen varias herramientas para acceder a particiones Linux desde Windows, > explore2fs quizá sea la más conocida. > > > Si un virus atacase un sistema Windows, consiguiese los privilegios > suficientes como para acceder al disco duro y buscar un fichero clave > dentro de la partición Linux, como pueda ser "init" (el proceso inicial del > que se crean todos los demás procesos) o la shell que use "root", todas las > protecciones de Linux como tal habrían sido inútiles. Aunque suene un poco > fuerte: la inseguridad inherente de Windows actuaría como "Caballo de > Troya" contra el sistema Linux. > > > Existe otra herramienta bastante utilizada, VMWare, que permite tener > varias máquinas virtuales corriendo Sistemas Operativos diferentes. Es > también muy común tener Windows y Linux funcionando al mismo tiempo con > VMWare. En lugar de tener que esperar a que el sistema rearranque con Linux > como en el caso anterior, la infección podría hacerse directamente, ya que > VMWare es fácilmente detectable (utiliza un RING que no es ni 0 ni 3). > > fork() y crack > > Un virus desde una cuenta de usuario podría armarse de paciencia y crear un > proceso con muy baja prioridad (para no interferir en el rendimiento normal > del sistema) que intentase crackear las contraseñas por fuerza bruta. > > > Imaginemos un sistema automatizado, en el que el administrador entra sólo > cada semana a retocar 4 cosas, pero no hay una supervisión real. Un virus > podría colarse desde una cuenta sin privilegios, y estar un par de semanas > intentando crackear las contraseñas. Una vez conseguido esto, sólo queda > dar el salto a "root" y de ahí a donde quiera (kernel, otros > ordenadores...). > > Entonces... ¿por qué no hay (casi) virus para Linux? > Perfil del usuario medio > > Actualmente el usuario medio de Linux tiene poco que ver con el usuario > medio de Windows o Macintosh. Quizá mucha gente cayó con lo de "Enanito si, > pero que pedazo de coj...", pero esto tendría poco éxito en un entorno de > usuarios de Linux. > > La gente acostumbra a conocer el origen de sus programas, y examina su > código fuente. No quiero decir que todos los usuarios de Linux lo hagan, > pero hay un grupo importante de gente que lo hace y lo comenta al resto. > > > Las llamadas "técnicas de ingeniería social", es decir, hacer uso de la > candidez del usuario que recibe un virus o gusano, tienen muchas más > dificultades con usuarios de Linux. > > Filosofía del software > > Como acabo de comentar, que Linux sea de código abierto y haya una > mentalidad clara en cuanto a ese tema, dificulta ocultar código en los > programas. > > > Ken Thompson dijo que ningún software creado por otro podía ser confiable, > especialmente si había creado por él. Tal y como explicó en una conferencia > en mitad de la década de los 80, Thompson había introducido un sistema de > autoreplicación y "troyanización" en todo compilador C para UNIX que le > permitió hasta entonces poder entrar como "root" en todo sistema hasta la > fecha. Si alguien quiere saber cómo se las ingenió el bueno de Thompson, > lo explicaré por email gustosamente, o bien esperáis al turno de preguntas > O:-) > > Pocos VXers linuxeros > > Todavía hay pocos escritores de virus que usan Linux habitualmente. Algunos > han instalado Linux en una partición para hacer sus pruebas y conocen > bastantes cosas de él, pero no tienen en absoluto la soltura que han > conseguido durante años de uso de DOS y Windows. > > > Supongo que esto cambiará con el tiempo, y pronto los VXers usarán Linux a > diario. Cuando esto ocurra, yo creo que habrá una nueva hornada de virus > para Linux programados desde la experiencia, no como un experimento de > laboratorio. > > ¿Y qué puede pasar en el futuro? > > + Usuarios novatos+ Empresas usan Linux -> - Open Source+ > Configuraciones "click&play" -> - Robustez del sistema+ VXers linuxeros > > Conclusión > Solución: una buena "salud" informática > > Es decir: > 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... > > > Todo ese tipo de cosas que, como espero que haya quedado claro ;-), > utilizan los virus para colarse en nuestros sistemas > > > Yo y solo io ... La mas genia ... Del mundo mundial ... > > > Yahoo! Cocina > Recetas prácticas y comida saludable > http://ar.mujer.yahoo.com/cocina/ -- Atte. Sergio R.Vicari "Esclavo de mis sueños, libre en mis pasos"
_________________________________ Lista de correo - L U G Tucumán http://www.lugtucuman.org.ar
