VR21: 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