Virus en Unix
Por Fernando Blanco Dopazo
La mayoría de los virus que conocemos son para DOS. Pero
¿que pasa con otros sistemas operativos como el UNIX?
A menudo, trato con sistemas en DOS que han sido atacados
por virus informáticos. En estos casos es muy común
escuchar frases del tipo "Vamos a migrar a plataforma
Unix para que esto no vuelva a suceder" o "Si hubiéramos
optado por el sistema operativo Unix esto no hubiera
sucedido". Es común creer que no existen virus o troyanos
en el Sistema Operativo Unix, pero ¿Cuánto hay de verdad
en esta afirmación? Eso es lo que vamos a tratar de
desentrañar en este artículo.
Introducción
Para quienes no conocen mucho del sistema operativo Unix,
podemos introducirlos en el tema señalando que Unix se ha
transformado en el sistema operativo estándar para
ambientes multiusuarios y heterogéneos debido a su
flexibilidad en comunicaciones, portabilidad a diferentes
arquitecturas y capacidad de integración.
Si bien el Unix nació hace unos unos 20 años con
propósitos educacionales y de ingeniería, la demanda de
las empresas de soluciones independientes de los
proveedores propiciaron el advenimiento del Unix al área
comercial y el auge de los "sistemas abiertos".
El Unix se extendió sobre todo en empresas medianas que
necesitaban sistemas multiusuarios y no tenían la
posibilidad de adquirir un mainframe. En Argentina el
Unix también está muy extendido entre las pequeñas
instituciones bancarias.
Estructura de los archivos Unix
Contrariamente a lo que comunmente se cree, la estructura
de los programas ejecutables en los sistemas Unix los
hacen susceptibles a ser atacados por virus informáticos.
Los archivos ejecutables de Unix tienen tres secciones
que los virus pueden atacar: el header (cabecera), el
segmento de texto y el segmento de datos. De hecho los
virus pueden "colarse" en Unix por su característica de
requerir paginación.
El requerimiento de paginación se usa en la mayoría de
los sistemas Unix, y es sencillamente el requerimiento
que los programas ejecutables se ajusten a algún múltiplo
del tamaño de la página, generalmente 1024 bytes.
Para que un archivo sea múltiplo de 1024, se le agregan
nulos al final del segmento de texto. Ese es el lugar
donde un virus puede insertarse muy fácilmente. Además si
un virus se copia en esta zona, el tamaño del archivo
permanecerá inalterado.
Queda claro también que el espacio al que se deben
limitar estos virus es muy pequeño, lo que requiere virus
muy compactos.
Esta es tan solo una camino para crear virus en Unix, es
probable que existan muchos más, vamos a ver otro.
Otra potencial amenaza
Si bien antiguamente los ejecutables de Unix contenían
todo el código e inicializaban los datos por proceso, las
nuevas versiones agregan una posibilidad distinta llamada
"Bibliotecas Compartidas".
Estas "bibliotecas compartidas" funcionan así. El Unix
guarda un índice de las rutinas que el programa utiliza,
y las carga a medida que este las necesita, y esta
biblioteca puede ser utilizada por distintos programas.
Si bien esta nueva característica reporta muchas ventajas
como evitar la redundancia en disco, lleva a ejecutables
mas chicos y reduce el swapeo a disco; también ofrece una
muy buena oportunidad para los creadores de virus.
Aunque todavía no existe aún ningún virus que aproveche
esta característica, las "bibliotecas compartidas" darían
la posibilidad de infectar el ambiente Unix sin necesidad
de atacar a cada archivo en particular.
Con solo colocar código corrupto en una biblioteca
compartida, dicha biblioteca activará el virus cada vez
que esta sea cargada en los diferentes programas.
Algunos ejemplos
Queda claro que la supuesta inviolabilidad del Unix a los
virus informáticos es solo un mito. De hecho han existido
ataques de virus, troyanos y gusanos a sistemas Unix,
vamos a ver algunos de los más famosos:
Virus AT&T:
En 1988 Tomm Duff, un investigador de los laboratorios de
AT&T Bell experimentó de que formas un virus podía atacar
el sistema operativo Unix. Duff colocó una copia de un
virus benigno en un programa llamado echo. Este programa
fue colocado en un directorio binario con acceso a
escritura a todos los usuarios. El virus ocupaba 634
bytes y corría en cualquier versión de Unix y en
cualquier modelo de computadora. En una semana, 466
programas, en 46 máquinas ya estaban infectados. A sus
supervisores no le gustó su investigación y el
experimento finalizó.
El virus enviaba un mail señalando que había creado un
agujero en la seguridad, ya que el efecto del virus era
otorgar los atributos de super-usuario a todos los que
corrieran el programa. (1)
Virus Shell Script:
Este virus fue creado por Doug McIlroy, un compañero de
trabajo de Tomm Duff. Es un script del shell de sólo seis
líneas, que cuando se ejecuta busca otros scripts de
shell y se agrega a ellos.
Gusano de Internet:
Mal llamado virus de Internet fue detectado en Noviembre
de 1988. Compuesto por unas 3200 líneas de código en
lenguaje C atacó cerca de 6.000 sistemas Unix en Estados
Unidos y otros lugares del mundo. Existe abundante
información sobre el gusano de Internet, y su explicación
en detalle requeriría un artículo en si mismo. De todas
formas podemos decir que los bugs utilizados por este
gusano en el servicio de mail ya fueron corregidos, por
lo que la versión original ya no funciona.(2)
Virus VMAGIC
Este es el virus de Unix mas recientemente detectado que
yo tenga noticia. Fue detectado en Julio de 1993 y es un
infector de archivos COFF. El tamaño del virus es de 798
bytes. Corre en todos los modelos de computadora, aunque
debería modificarse el fuente para que corra
correctamente en máquinas con procesadores Intel. Este
virus corre solo en un host, y no se copia a si mismo en
redes. (3)
Conclusiones
Considero que el sistema operativo Unix es a todas las
luces mucho mas seguro que el sistema operativo DOS. Su
estructura jerárquica, y el escaso tráfico de ejecutables
sin duda dificulta proliferación de ataques de virus
informáticos, pero no es un sistema imbatible en aspectos
de seguridad. A tal punto que algunas empresas se han
dedicado a crear toolkits de seguridad específicos para
este sistema operativo.
La abismal diferencia en cantidad de virus informáticos,
troyanos, gusanos, etc. existentes entre ambos ambientes
se debe mucho más a que la mayoría de los creadores de
virus conocen mucho mejor el ambiente DOS. Estoy seguro
que, en la medida en que los sistemas Unix se hagan más
accesibles a una cantidad mayor de usuarios, veremos
aparecer más y más virus informáticos sobre plataforma
Unix.
Notas:
(1) Tom Duff expuso sobre el mecanismo que había
utilizado en la conferencia USENIX en 1989, y se han
publicado algunos artículos sobre este tema en la revista
Computing System (Primavera de 1989)
(2) Si se desea obtener más información sobre el gusano
de Internet pueden consultarse la siguiente bibliografía:
"The Internet Worm Program: An Analysis", por Eugene H.
Spafford, Purdue Technical Report, Noviembre de 1988 o
bien "With Microscope and Tweezers: An Analysis of the
Internet Virus of November 1988", por Mark W. Eichin y
Jon A. Rochlis, Massachusetts Institute of Technology,
Febrero de 1989
(3) Si se desea ampliar información sobre este virus
puede consultarse "The Computer Virus Catalog", editado
por la Universidad de Hamburgo.
Fernando Blanco Dopazo es Analista de Sistemas (graduado
en ORT), y se ha especializado en seguridad informática.
Actualmente trabaja en una renombrada consultora
internacional, desempeñándose como auditor de sistemas
bancarios.