Este artículo fue escrito el 30, 01, 2008 en la categoría Informática, P2P. Puedes obtener las respuestas a esta entrada a través del RSS 2.0 feed. También puedes responder, o hacer trackback desde tu página.
P2P, Ángeles y demonios
Al principio, los virus informáticos aparecieron como una broma, por lo menos así lo visualizó un joven de preparatoria de nombre Richard Skrenta, quien en 1982 creó el que se considera el primer virus que logró infectar computadoras más allá de un laboratorio. Llamado Elk Cloner, desplegaba un poema en la pantalla y se "contagiaba" mediante diskettes en sistemas Apple II.
Sin embargo, no pasó mucho tiempo para que esta "inocencia" desapareciera de los virus informáticos. Técnicas de programación cada vez más especializadas tomaron por sorpresa a una naciente industria de la computación personal que estaba más preocupada de que los programas funcionaran, que por su seguridad. Nombres como Vienna, Melissa y Michelangelo son solamente algunos ejemplos de virus informáticos que a lo largo de la década de los 90 lograron una amplia notoriedad al repercutir en medios masivos de comunicación y generar poco menos que histeria entre muchos usuarios y empresas que se sintieron desprotegidos contra la novedosa amenaza. Recuerdo una pequeña empresa de ese tiempo que optó por no encender sus computadoras un día 6 de marzo (aniversario del natalicio de Miguel Angel) por temor a que el virus Michelangelo, que se activaba justamente en esa fecha, les borrara toda su información.
La proliferación de los virus obedeció a varios factores, desde que por mucho tiempo la seguridad no fue una prioridad para los desarrolladores de software, hasta el hecho de que en algún momento se vio a los virus informáticos como una forma de "castigar" a aquellos que copiaban software ilegalmente. Este enfoque no resultó como se esperaba, ya que virus "éticos" creados con este propósito (como Brain, en 1986) acabaron sirviendo como inspiración para el desarrollo de nuevos virus.
Con el problema en constante aumento, surgió todo un ecosistema de empresas dedicadas a la producción de software antivirus. Nombres como McAfee o Norton surgieron con el objetivo de ofrecer herramientas que removieran virus de archivos infectados, lo cual no siempre era posible.
Pero, ¿dónde estamos al día de hoy? Basta con leer las especificaciones de cualquier programa antivirus que se comercialice en el mercado y tarde o temprano uno se encuentra con una frase que palabras más, palabras menos, dice algo como que "este producto le proporciona protección contra virus conocidos" y si tomamos en cuenta que existen más de 110 mil virus conocidos, esa afirmación lo puede hacer sentir a uno muy bien protegido. Pero, ¿qué se necesita para que un virus sea "conocido"? Bien, pues para empezar que ya haya infectado a alguien.
Sí, leyó usted bien, las suites antivirus que existen hoy en día dependen de algo que se conoce como "definiciones de virus", que no son otra cosa que instrucciones que le dicen al software antivirus cómo luce un virus en particular, a fin de que pueda identificarlo cuando se presente. Son estas definiciones las que su antivirus tiene que estar actualizando constantemente, ya que si no puede identificar un virus, no puede detenerlo.
El problema de esta solución es que entonces un virus informático "conocido" es un virus que en algún momento logró su cometido; algún usuario, en alguna parte, vio su computadora caer infectada a pesar de tener su software antivirus perfectamente actualizado. Pero la desgracia de algunos es la fortuna de otros, ya que eso es lo que permite que eventualmente un virus pueda ser analizado y su definición distribuida a millones de usuarios que, con un poco de suerte, ya no tendrán que preocuparse de ese virus en particular.
¿Qué hay de malo entonces con el modelo utilizado por los programas antivirus? Por un lado, constituyen los "ángeles guardianes" del mundo de las computadoras, al ser la principal barrera de defensa de millones de usuarios, pero por otro lado también son los "demonios" detrás de la pobre experiencia de uso que muchas personas viven a diario con sus computadoras, ya que el modelo reactivo que utilizan demanda cada vez más recursos para poder estar escudriñando constantemente toda la información que entra, sale y que se almacena en una computadora; esto sin mencionar la constante descarga de archivos para poderse mantener actualizados.
Ahora bien, el problema origen de todo esto evidentemente no son los antivirus, sino las vulnerabilidades en el software. Por lo general, los virus, troyanos y demás piezas de malware explotan "puntos débiles" del software a fin de poder infectar una computadora. A estos puntos débiles se les llama vulnerabilidades y es responsabilidad del fabricante del software resolverlas una vez que se sabe que están ahí.
Uno podría pensar que cada virus se aprovecha de una vulnerabilidad diferente, pero en realidad lo que ocurre es que generalmente una sola vulnerabilidad es aprovechada por muchos virus. Esto nos lleva al hecho de que resolviendo una vulnerabilidad, todos los virus, conocidos o no, que buscaran hacer uso de ella, quedan sin efecto.
Suena como la solución perfecta, ¿verdad? Desafortunadamente, resolver vulnerabilidades en el software no es un asunto sencillo y empresas como Microsoft llegan a tener vulnerabilidades conocidas en sus productos por semanas, meses e inclusive años (http://www.frsirt.com/english/Unpatched-Microsoft-Vulnerabilities.php) antes de liberar un parche o una actualización que lo resuelva, si es que lo resuelven.
Este aparentemente sencillo cambio de perspectiva en la forma de atacar el problema de los virus constituye una diferencia básica de los ambientes Linux/Unix contra los ambientes basados en plataforma Windows. Mientras que en el mundo Linux/Unix se busca resolver una vulnerabilidad tan pronto como es descubierta, Microsoft toma las cosas con más calma, se toma su tiempo, ya que sabe que en caso de que surjan virus que exploten alguna vulnerabilidad no parchada, toda la industria del software antivirus va a correr para tapar el hoyo; aunque ello implique que sus usuarios se encuentren atrapados en un interminable juego del gato y el ratón.

Responder