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
[email protected]

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