Un curso sobre virus
Por Aldo B. Castelar
Fred Cohen es uno de los pioneros del campo de los virus.
Es el primero en hacer estudios serios sobre el tema.
Este libro presenta sus ideas.
En el conjunto de los libros sobre virus podemos
encontrar una variedad limitada de tipos. Tenemos los
libros que explican generalidades, cuentan como funcionan
el Stoned y el Jerusalem, por ejemplo, y no son demasiado
interesantes. Por otro lado, tenemos los libros como fue
en su momento el de Ralph Burger o es ahora el de Mark
Ludwig, que explican cómo hacer un virus, con detalles y
código fuente completo. Y en tercer lugar, tenemos
ensayos serios sobre cómo son los virus, qué hacer con
ellos, (no solamente contra ellos), y su funcionamiento
en distintos sistemas operativos. Es el caso de este
libro de Fred Cohen.
El libro está basado en los cursos de 8 horas que da
Cohen sobre virus, de ahí su nombre. En el prólogo aclara
que no es un libro sobre tecnología, sino sobre ciencia.
Por lo tanto, no se discuten en profundidad temas sobre
sistemas particulares, sino que se intenta dar un
conocimiento que pueda ser usado sin importar el sistema
operativo que se use, ni el lenguaje de programación. Por
lo tanto, empieza por una críptica definición formal de
los virus. A continuación la explica en lenguaje natural,
pero ya nos da una idea de cómo es el libro. Cohen ha
desarrollado una cantidad de teoremas sobre los virus,
los cuales presenta en un apéndice de este libro, pero
uno puede prescindir completamente de ellos para leerlo.
Después de la definición, explica con un ejemplo
comprensible para cualquiera cómo funcionan los virus. Su
definición es ligeramente distinta a la usada por la
mayoría de los investigadores. Para él, un virus es
cualquier programa que se auto-reproduzca, no necesita
modificar a otro programa para serlo.
También en el primer capítulo, explica el tipo de daño
que puede hacer un virus maligno. No habla de daños como
'formatear el rigido', ni 'hacer ruido por el parlante',
sino de ataques mucho menos específicos, pero más
interesantes, como un virus para robar información
secreta, o para sabotear industrias. Explica su idea de
un virus benigno, por ejemplo para realizar mantenimiento
en sistemas, o para implementar bases de datos
distribuidas. Para poner un poco los pies sobre la tierra
después de tanta teoría, explica brevemente cómo
funcionarían virus en distintos sistemas operativos
existentes.
El siguiente capítulo explica sus primeros experimentos
en virus, a partir de 1983. Desde sus primeros virus, que
demostraron que se podía infectar un sistema en poco
tiempo, hasta la infección de sistemas operativos de alta
seguridad, que demotró que ningun sistema operativo está
a salvo de los virus. También presenta algunos virus
famosos, como el Gusano de Internet, el Jerusalem,
etcétera.
El tercer capítulo es de mayor interes para el
administrador de un sistema. Se trata de las protecciones
técnicas contra los virus. Lo divide en defensas
perfectas, defensas con problemas serios, defensas que
funcionan bien y defensa profunda contra los virus. Lo
que demuestra (incluso matemáticamente) es que las
defensas perfectas no existen. Por lo tanto, propone una
serie de sistemas que pueden mantenernos alejados de los
virus. Por supuesto, sus consejos son muchos y la
elección depende de el entorno en que se trabaje. Cuanto
más sea la protección del sistema se limita su
usabilidad, por lo tanto el problema de elegir un buen
sistema anti virus no es una tarea sencilla. Su consejo
es una combinación de varios mecanismos de defensa,
siempre basado en lo que Cohen recomienda como método más
práctico, un shell de integridad. Se trata de un sistema
que controle y garantice que los programas no han sido
modificados, ni se han agregado nuevos programas
desconocidos. Otras de las opciones que funcionan bien,
para Cohen, son el control de cambios, que es un sistema
que impide que se haga cualquier cambio no autorizado en
el sistema, y software de tolerancia de fallas. Este
último es un complicado sistema que es extremadamente
difícil de implementar, excepto en situaciones muy
especiales. El siguiente capítulo es sobre las defensas
no técnicas. Se trata de políticas que deben
implementarse en la organización además de las defensas
técnicas, ya que, según el autor, éstas no funcionan si
la gente no coopera. Analiza desde la política a seguir
con los backups hasta las leyes existentes y que podrían
existir contra la creación de virus. Es muy interesante
la parte donde da consejos sobre qué hacer para
recuperarse de un ataque con virus. En muy simples pasos
explica qué hacer para sacarse un virus de encima, sin
gastos enormes para la organización. Con respecto a los
backups, da una serie de consejos y los desmitifica,
demostrando por qué no son siempre efectivos.
El capítulo cinco empieza la segunda parte del libro. Una
vez entendido cómo funciona un virus, y cómo funcionan
los sistemas anti virus, hace una comparación de los
productos anti virus existentes. El capítulo es un
análisis muy bien fundamentado de qué estrategias usar,
y, más importante, cómo hacer un análisis que se aplique
a la situación que se nos presente. Analiza en detalle
cómo se contagian los virus, en lo que llama
'epidemiología de los virus', y hace un análisis de la
exposición al peligro que un sistema particular pueda
tener. Básicamente, analiza el intercambio posible de la
información en un sistema, y de ahí saca como
conclusiones qué áreas están menos protegidas. Como
conclusión al capítulo, analiza el costo-beneficio para
cada sistema anti virus, con lo cual cualquier
administrador de sistema puede decidir qué es lo mejor
para su organización.
El capítulo siete es una conclusión, titulado 'estrategia
y táctica en la defensa contra virus'. Si bien no
presenta una 'receta mágica' a seguir en todos los casos,
da una serie de consejos aplicables en forma general, que
permiten a una organización estar preparada contra los
virus, y poder responder adecuadamente a un ataque. Sus
tácticas y estrategias no están basadas en un producto en
particular, más bien en una combinación de productos,
políticas a seguir y organización adecuada. Para terminar
el capítulo, nos da una serie de ejemplos diversos que
nos muestra que si bien hay métodos generales a seguir,
cada caso es para ser analizado en forma particular.
A continuación, hay una serie de apéndices, que incluyen
definiciones matemáticas formales sobre los virus, y los
teoremas en los que basó su trabajo matemático. Otro
apéndice es sobre la evolución de los virus, que cubre
los aspectos del polimorfismo y evolución automática de
los virus, y su efecto sobre las protecciones anti virus.
En conclusión, es un trabajo extremadamente valioso para
el administrador de un sistema que quiere estar protegido
contra los virus y no confía en ningun vendedor de
software que le promete una solución definitiva. Tambien
el que está interesado en los virus desde cualquier punto
de vista va a encontrar este trabajo extremadamente útil,
ya que es lo más serio que hemos encontrado en la
materia.
Aldo B. Castelar es consultor en informática en varias
empresas, y se desempeña en el campo de las
comunicaciones y de la programación a bajo nivel. Tambien
es redactor de Virus Report. Ha cursado estudios no
formales en filosofía y en literatura. Puede ser
contactado en aldo@ubik.to
Titulo: A short course on computer viruses, second
edition
Autor: Dr. Frederick B. Cohen
Editorial: John Wiley & Sons, Inc., Wiley professional
computing.
Paginas: 250
Año: 1984