[Previo por Fecha] [Siguiente por Fecha] [Previo por Hilo] [Siguiente por Hilo]

[Hilos de Discusión] [Fecha] [Tema] [Autor]

Re: [Sop.Tec.LinuxPPP]: virus en linux



Eduardo Arauz wrote:

> Existe virus para Unix... pero hasta ahora no he visto para Linux pero
> supongo q si Unix tiene entonces tambien Linux pero eso si.. no es nada
> comun.
>
> >From: "fernando gonzalez" <sgb_cocos en hotmail com>
> >Reply-To: linux en pepe net mx
> >To: linux en pepe net mx
> >Subject: [Sop.Tec.LinuxPPP]:  virus en linux
> >Date: Sat, 29 Apr 2000 22:35:12 PDT
> >
> >hola lista
> >
> >2 peguntas que pereceran tontas
> >
> >saben si hay virus para linux?
> >si los hay, saben si existe algunn antivirus para linux?

Está Bliss para Linux, pero no es realmente una amenaza. Un virus
informático es un programa con la capacidad de replicarse a sí mismo (y que
adicionalmente contiene rutinas que pueden modificar, crear o borrar datos,
alterando el funcionamiento normal del sistema).

En este sentido, existen muchos programas que podrían considerarse virus.
Independientemente de la plataforma el concepto de crear un programa con
éstas características tiene ya muchísimos años y básicamente es el
siguiente:

Dentro de un sistema operativo, existe la capacidad de ejecutar programas
(un programa es una secuencia ordenada de datos que representan
instrucciones para el sistema operativo e información para la ejecución del
programa, p.e. números, cadenas de texto, etc.)

De alguna manera, el sistema operativo tiene que poder diferenciar, dentro
de un programa, cuáles datos representan instrucciones y cuáles representan
información. Por ejemplo:

Ts3JAMqaOwACAAEPAPoDZwAAAAAA/gMDAAAAAQEAAAD9AzQAAABCAAAAZAAAAEIAAABkAAAAdscL

MAgAAAAAAAAA/NNiAAAAAAAAAAAApP7//8T///8AAAAAcAD7AwgAAAAAAAAAcAgAAHAA+wMIAAAA

AQAAAEALAAAfAAcEPAAAAAAA/QM0AAAAGQAAAGQAAAAZAAAAZAAAAGDzDTC412IAAAAAAFQ3uAAA

A"Hola_Mundo\n23Prueba_de_Programa\n"AAAAAAAAAAAAAAAAAAAAAFiAB8AEwQ8AAAAAAD9AzQAAAB

Este podría ser un programa, donde las instrucciones y la información están
mezclados. El sistema Operativo necesita saber en dónde empiezan las
instrucciones, el formato para cada S.O. es un poco distinto, pero es
básicamente así:

---------------------------------------
                Encabezado de Programa
---------------------------------------
                Datos e instrucciones
---------------------------------------

En algún lugar del encabezdo, se indica al Sistema operativo en dónde
compienza el programa, puede ser con un desplazamiento relativo por ejemplo,
a partir del final del encabezado, o bien en un desplazamiento fijo (cómo
ocurre en el sector de arranque de discos duros y flexibles, no
necesariamente se incrustan en archivos):

---------------------------------------
                Encabezado de Programa

 [Desplazamiento de Inicio]
---------------------------------------
                Datos e instrucciones
[Información]
[Inicio de instruciones]
...
---------------------------------------

Así, el virus tiene 2 opciones: pegarse al final o en algún lugar del
programa que no afecte (p.e. al inicio de las instrucciones), de forma que
se ejecute primero, y luego, el virus ejecute el programa original, o bien
sobreescribir el programa original (con lo cual, el programa original se
pierde, obviamente):

---------------------------------------
                Encabezado de Programa

 [Desplazamiento de Inicio de VIRUS]
---------------------------------------
                Programa - Datos e instrucciones
[Inicio de Programa (instrucciones)]
...
---------------------------------------
                VIRUS
[inicio de Virus]
....
[instrucción de salto a Inicio de Programa]
---------------------------------------

Ahora, el hecho de que los virus sean más prolíferos en otros S.O. o
ambientes es por el grado de seguridad que existe en el mismo. En MsDos y
Windows 95/98, los virus podían propagarse libremente porque cualquier
programa tenía acceso irrestricto a (casi) cualquier parte del sistema (p.e.
cualquier programa de windows podía leer y escribir en el directorio
\windows\system).

No tiene que ser necesariamente  en un  S.O., como ya lo mencioné, por
ejemplo, los virus de Macros existen porque pueden existir en códigos de
macro que les permite replicarse; técnicamente, en una applet de java por
ejemplo y en teoría, dicha característica no existe, así que un virus no
puede existir ahí)

En Unix es distinto, los programas poseen los mismos privilegios de los
usuarios que los poseen, así que un usuario común y corriente no debería de
poder escribir (por el mismo o a través de un programa) en el directorio de
binarios del sistema (p.e. /bin, /usr/bin, etc.) a menos que estuviera mal
configurado. De igual forma, un programa de usuario no debería de tener
permisos de escritura en el directorio de otro usuario , de forma que no
puede infectar programas de otro usuario.

La excepción aquí está en la cuenta de root, la cuenta de root posee todos
losprivilegios del sistema, así que si alguien con prigilegios de root
ejecutara un virus en Unix (p.e. Bliss) todo el sistema se infectaría. Ahora
bien, el hecho de que yo transfiriera un programa ejecutable (lo cual es un
poco más raro que en otros S.O. porque aquí es más cómodo llevar el código
fuente si se puede) de un sistema Linux a otro Linux, y suponiendo que el
primero se hubiera infectado debido a que se ejecutó un virus con cuenta de
root, las posibilidades de que el otro sistema se infecte en su totalidad
son muy bajas (a menos que se ejecute por root también).

El mayor peligro entonces en sistemas Unix (como Linux), no es el de los
virus, sino el de caballos de Troya, que son programas que poseen la
capacidad de realizar funciones "ilegales" sin la autorización (y
frecuentemente sin notificación) del usuario. Éstos no se replican a sí
mismos, pero se propagan en los sistemas precisamente a través del
intercambio de programas entre usuarios, o instalándolos deliberadamente en
aplciaciones comerciales o de dominio público. Por cierto, aqui cabe
mencionar que las aplicaciones comerciales no son más seguras a este
respecto que aquellas de domini público, de hecho yo diría que es al revés.

En la mayoría de los casos, los programas públicos (como el caso de aquellos
con licensia GNU, no necesariamente en el caso de freeware, donde pueden
darte únicamente el binario) éstos vienen con el código fuente.  Es decir,
aún cuando viniera un virus programado dentro del código, las personas
tendrían la capacidad de verlo y detectarlo más fácilmente. En el caso de
los binarios y aplicaciones comerciales rara vez te dan el código fuente,
solo Dios y el vendedor (y muchas veces ni ellos, porque en ocaciones
compran los programas a compañías más chicas) saben exactamente qué hacen
los programas. Recuerdo haber visto más de una vez aplicaciones para windows
(originales, en disco flexible y en cdrom) que venían infectadas desde su
distribución, por ahí recuerdo una versión de Windows 95 que venía con un
virus (las de disquetes), también recuerdo un caso de McAffee de México que
entregó a la UIC una versión infectada de su antivirus a la Universidad hace
ya muchos años, el antivirus (versión de MSDOS) venía infectado
(probablemente por descuido del proveedor, pero es irónico) con el virus
NATAS.

Como sea (virus o caballos de Troya), se debe de tener especial cuidado
cuando se bajan aplicaciones de Internet en forma binaria, por ejemplo en
distribuciones de RPM de un sitio de dudosa reputación (que no es un sitio
conocido como www.rpmfind.net, o como www.redhat.com o bien no es el sitio
oficial de la aplicación).

En cuestión de seguridad es preferible bajar las aplicaciones en su forma de
código fuente para compilar (generalmente  con extensiones .tar.gz) y
compilarlas uno mismo (realmente no tiene gran ciencia, y es muy benéfico
que los usuarios, incluso novatos, aprendan y se acostumbren a compilar
programas en Linux)

Espero que sirva...

Saludos

Omar A. Herrera R.
-----------------------
Consultoría en Seguridad Informática
INSYS (www.insys-corp.com.mx)
omarh en insys-corp com mx






---------------------------------------------------------------------
Lista de soporte de LinuxPPP
 Reglas de la lista en http://pepe.net.mx/reglas.html



[Hilos de Discusión] [Fecha] [Tema] [Autor]