La ética y los virus: Entrevista a Alan Solomon por Fernando Bonsembiante El autor del Dr. Solomon Anti Virus Toolkit, Alan Solomon, estuvo en Buenos Aires los días 6 y 7 de Julio de 1993, para dar un seminario sobre seguridad informática. Se trata de una de las personas más respetadas en la comunidad anti virus internacional, e incluso en la comunidad de escritores de virus. Estuvimos hablando con él, en una entrevista exclusiva, sobre anti virus, polimorfismo, falsas alarmas y chicos que no pueden usar una computadora. VR: ¿Cómo empezó a trabajar con virus? AS: Hace unos cinco años, una de las actividades principales de nuestro negocio era la recuperación de datos, discos rígidos rotos, bases de datos destruidas, ese tipo de cosas. Una mujer de la universidad nos llamó y nos dijo que tenía unos disquettes a los que se les agregaba solos la etiqueta de volumen "(C) Brain", y pensaba que era un virus. Nosotros pensamos (un poco incrédulamente) "puede ser...", le dijimos que nos envíe los discos, que los ibamos a mirar y decirle. Ella nos los mandó. Hay dos cosas muy importantes. Primero, Brain es un virus de boot sector. Hace cinco años, nadie había oído hablar de boot sectors. Se hablaba de virus que podrían infectar el Command.com, porque no teníamos virus para analizar. Entonces, este es un virus que infectaba algo que la gente ni siquiera sabía que existía. No infectaba archivos, venía de una dirección completamente inesperada. Y lo segundo, es que es stealth. Puede ser que mucha gente piense que las técnicas stealth son una idea nueva, pero no es así, Brain es stealth. Por eso la mayor parte de la gente era incapaz de encontrarlo. Entonces escribí un artículo para una revista sobre este virus, y otra revista más me pidió un artículo sobre virus, y se los escribí. Otra persona que tenía el virus Ping Pong me lo mandó, y lo desensamblé. Alguien me mandó el Stoned, alguien el Vienna, el Cascade, el Jerusalem, y al final del año, todo el mundo creía que yo era un experto en virus. Probablemente hice el trabajo que no hicieron los demás, porque todos los demás estaban diciendo pavadas sobre los virus. Todos estaban imaginándose como funcionaría un virus, sin haber visto uno nunca y yo había visto cómo funcionaban realmente. Había desensamblado varios virus. Si uno habla de virus sin haberlos desensamblado, está diciendo pavadas, son sólo rumores. Si se desensambla un virus sabe exactamente qué está haciendo y cómo funciona. Entonces, al final del año, yo era uno de los pocos que sabía sacar un virus. Una gran compañía financiera tenía el virus Jerusalem, eran alrededor de 1000 computadoras, un trabajo grande, había que chequear 1000 computadoras. Al final, el trabajo fueron dos o tres semanas, y lo primero que me dije 'no puedo hacer esto para todos, no hay suficientes tiempo en el año para hacerlo'. Lo segundo y más importante, fue 'realmente, no me necesitan para esto, lo que necesitan son las herramientas para hacer el trabajo'. Entonces, si yo escribía las herramientas, la gente podía manejar a los virus solos, no necesitaban a un experto caro en virus. Para eso escribí el anti virus toolkit, por eso lo llamo 'toolkit' (conjunto de herramientas), porque son herramientas. VR: ¿Alguna vez escribió un virus? AS: Nunca lo pensé seriamente. Escribir un programa anti virus es muy interesante. Es un desafío. Tiene que hacer tres cosas: tiene que detectar virus, no tiene que dar falsas alarmas, y mientras hace eso, no tiene que ponerse en el camino del usuario. El usuario no tiene que notarlo. Por ejemplo, un scanner, tiene que ser muy rápido. VR: ¿Por que la gente debería comprar su producto, y no CPAV, Scan, etc.? AS: Vayamos de uno por vez. ¿Por qué el Toolkit es mejor que Central Point? El scanner es varias veces más rápido, encuentra tres veces más virus, no da falsas alarmas, Central Point da muchas falsas alarmas. Con respecto a McAfee, el Toolkit es más barato, es o más barato o el mismo precio: si lo compran, es más barato, si lo roban, es el mismo precio. Es más rápido, alrededor de 5 o 6 veces más rápido. El programa residente del Toolkit es mucho más chico que el de McAfee. Y encuentra más virus. Tambien tenemos mejor soporte técnico, nuestro soporte técnico atiende antes de los 5 rings del teléfono, y no ponemos música, directamente atiende el técnico. Para la mayoría de los productos no se puede hablar con el soporte técnico hasta por lo menos 15 minutos después de empezar a llamar. Ademas, el soporte tecnico no es alguien que fue simpremente a un curso sobre el tema, y está repitiendo algo que alguien dijo, es alguien que desensambló el virus y sabe lo que está diciendo. Hay tres tipos de problemas de soporte técnico. Uno, que no es en realidad un problema, es que alguien encuentra un 'virus' con un producto conocido pero el nuestro no muestra nada, es porque no hay tal virus, es una falsa alarma del otro producto. Nos llaman a nosotros porque no hay ninguna otra persona a quien llamar. Es una llamada muy fácil de responder, porque ya conocemos la respuesta. El segundo tipo de llamada, tambien es muy fácil, es cuando alguien tiene problemas instalando el programa, o quiere saber qué opcion del programa usar. El tercer tipo de soporte técnico es con los virus nuevos. Este debe ir a Inglaterra, pero no es tan difícil porque las telecomunicaciones hacen que Buenos Aires esté más cerca de Londres, entonces el virus nos puede llegar muy rápido. Hay algo en el Toolkit que se llama 'extra driver', con el que podemos mandar por fax, por correo electrónico, o como sea, un virus nuevo, entonces tenemos un virus nuevo que detecta el Toolkit. VR: Con respecto a los virus polimórficos, ¿cómo funciona el Toolkit? ¿No es complicado descubrir cómo están encriptados y luego desencriptarlos? AS: Es muy fácil, porque si miro el código, puedo ver qué está haciendo, de dónde saca la clave, qué es lo que hace, es muy muy fácil. La clave no es secreta con el virus. A menos que alguien escriba un virus que le pida al usuario que tipee la clave... VR: En los virus polimórficos, la clave cambia en todo momento... AS: Es lo mismo, si uno analiza el código ve lo que hace, el virus saca la clave del offset tal, está todo en el código, es clarísimo. Si el virus puede leer la clave para desencriptarse, yo también. De donde la saque el virus, yo también puedo sacarla. VR: Con respecto al desencriptor genérico del que habló en el seminario, no es tan genérico, es específico para tal o cual virus.... AS: Es genérico. Dejame explicarte cómo funciona el scanner. Primero que nada, hay que hacer tres cosas: encontrar el virus, no dar falsas alarmas, y ejecutarse rápido. Después, hay que actualizarlo, todos los meses o todas las semanas. Eso es mantenimiento del programa. No tiene nada que ver con bits y bytes, es el viejo y conocido mantenimiento de programas. Se necesita entre diez y cien veces más mantenimiento que con un programa normal, un programa normal se actualiza una vez por año, y si no se hace, no importa. Con un scanner, hay que actualizarlo una vez por mes, ese es el problema, cómo actualizarlo. Es un problema de mantenimiento de programas. Para que un programa sea fácilmente mantenible, hay que separar las cosas que cambian de las que no cambian. Todo esto está en los libros de texto de programación. Tenemos un motor y una base de datos. El motor lee la base de datos, y la base de datos le dice qué hacer. Le dice a que parte del archivo ir, qué buscar, ese tipo de cosas. El problema con los virus polimórficos es que la base de datos debe ser más compleja. En lugar de buscar secuencias de bytes debe hacer una descripción más compleja de lo que hay que buscar. Con Findvirus, inventamos un lenguaje de programación llamado 'Virtran' Virus Transaction Language. En ese lenguaje podemos describir un virus, podemos describir qué tipo de archivos infecta, qué le agrega al archivo cuando lo infecta, dónde está dentro del archivo, qué bytes hay que buscar para encontrarlo. Entonces, se puede calcular el checksum del virus, y compararlo con los de la base de datos, de esa forma podemos tener una identificación exacta del virus, para no decir 'bueno, este se parece al Jerusalem', podemos decir 'este es Jerusalem 1808'. Cuando uno sabe exactamente qué virus encontró, entonces es seguro intentar una reparación. Con los virus polimórficos, la forma tradicional de encontrarlos era usando un algoritmo en el programa, pero esto era un problema para el mantenimento. Lo que queremos es poner todo en la base de datos, no queremos tener nada en el código del programa. Para esto creamos un desencriptor genérico. Lo que tenemos que hacer es agarrar un archivo, suponer que contiene el virus, ver dónde está la clave de desencriptado, cómo está encriptado, y desencriptarlo. Es un simple comando en la base de datos: 'desencripte'. Cuando ya hizo eso, o sea, que desencriptó el virus, busca los bytes de identificación para identificarlo. Esto significa la solución al problema de mantenimiento. VR: A ver si lo entendí. El programa agarra un archivo, y supone que tiene un virus, pero no sabe si es así o que virus puede tener. Lo desencriptamos como si lo tuviese, y miramos si tiene virus o no. AS: Así es. Y aún si es un virus polimórfico, una vez desencriptado, los bytes son constantes. Nadie usó este método antes. Y esta es una razón más por la cual damos tan pocas falsas alarmas. Las falsas alarmas son algo muy común. Por ejemplo, el caso del Norton Anti Virus y Pkunzip. Este ha sido un gran problema en toda la industria anti virus. La gente llamaba y decía 'Tengo Maltese Amoeba'. La pregunta que le hacíamos inmediatemente era '¿Está usando Norton Anti Virus?' y la persona respondía 'Si, ¿Cómo sabe?' y le decíamos '¿El virus está en Pkunzip?' y decían 'Wow, esto es mágico!' VR: Hablando de esto, ¿es cierto lo que se dice que Peter Norton dijo que los virus informáticos no existían? AS: Si, es cierto. En una entrevista en una revista norteamericana, hace unos tres años, dijo que los virus eran una leyenda urbana. Y no fue el único. Me acuerdo, hace unos tres o cuatro años, discutía con la gente que no creía en que existían los virus, y me acuerdo de una persona que decía que tenía la prueba de que los virus no podían existir. El quería que yo viera esa prueba. Le dije que si, que iba a ver esa prueba, pero que él debía ver primero el virus Ping Pong. Se lo mostré, y nunca llegué a ver su prueba... Hoy nadie discute sobre la existencia de los virus, la pregunta es cuan comunes son. Por eso pregunté hoy en el seminario a los asistentes cuales eran los virus con los cuales habían tenido experiencias, para saber cuán comunes son los virus acá en Argentina. VR: ¿Cada país tiene sus virus más comunes? AS: Si, pero todos los países tienen el Stoned, casi todos tienen el Cascade, todos tienen el Jerusalem. Hay mucho más Michelangelo en Sudamérica que en cualquier otro lugar. El virus Form es muy raro en Sudamérica, pero muy común en Europa. Así que hay diferencias entre los países. VR: Yo pienso que Michelangelo vino de Asia. AS: La teoría principal dice que Michelangelo vino de Taiwan. VR: ¿Cómo es su empresa? AS: Tenemos 75 personas, su base es en Europa, pero tenemos representantes en Sudamérica y en Norteamérica. Nos dedicamos a los virus, por supuesto, todavía hacemos recuperación de datos, es una perte importante de nuestro negocio. Hacemos investigaciones criminales, fraude, por ejemplo, derechos de autor o trabajos de propiedad intelectual. También trabajamos mucho con redes, las redes son mucho más complicadas que las PC, y no mucha gente entiende las PC. La gente tiene los problemas más tontos con las redes. VR: ¿Cómo detectan los nuevos virus? AS: Bueno, de muchas fuentes. Primero que nada, tenemos representantes en casi todos los países del mundo. Cuando aparece un virus nuevo, por ejemplo en Chile, el virus CPW, fue enviado por nuestros representantes. Si aparece un virus nuevo en Argentina, ustedes nos lo mandarían, y conozco mucha gente en muchos países. Segundo, existe una organización internacional llamada CARO, Computer Anti- Virus Research Organization, tiene alrededor de 25 o 30 miembros en todo el mundo, principalmente en Europa, pero también en Note América, Africa, Australia. Los miembros de CARO comparten los virus entre sí, por ejemplo, yo le mando virus a Fridrik Skulason, él se los manda a Vesselin Bontchev, y así. Para el usuario sería muy malo tener que comprar venticinco produtos anti virus distintos si quiere detectar todos los virus, y si es malo para el usuario, es malo para el vendedor. Nosotros competimos, por supuesto, competimos en precio, en interfaz de usuario, en velocidad, etcétera, pero tenemos un acuerdo: no vamos a competir en la base de quien tiene qué virus. VR: ¿Piensa que el problema de los virus puede acabarse? AS: No. VR: ¿Aún cambiando de sistema operativo? AS: De aquí a veinte años, todavía van a haber de diez a cincuenta millones de computadoras bajo DOS. De aquí a veinte años las computadoras van a ser compatibles con PC. Los standards son muy poderosos. Hoy en el seminario hablé sobre ferrocarriles. Los ferrocarriles en Argentina tienen una trocha que es la misma que en Inglaterra, que es la misma que en Francia, que en todos los países del mundo. Esto viene de los caminos romanos. Una vez que se estableció una norma, no puede cambiarse, como pasó con la trocha de los ferrocarriles. Las PC son un standard, el DOS es un standard, dentro de veinte años van a seguir habiendo PC, con el sistema operativo DOS. VR: ¿Cómo le eligen los nombres a los virus? AS: En el mundo de los virus, tenemos una organización para ponerle nombres a los virus, y tenemos convenciones para ponerle nombres a los virus. Por ejemplo, si se encuentra un virus en Argentina, no le pueden poner 'virus Argentina', porque parte de la convención es no ponerle a un virus el nombre del país en el cual se encontró. Una vez cada seis meses el comité se reune, y hay quinientos o mil virus nuevos, entonces vemos los virus, uno por uno, y nos ponemos de acuerdo en un nombre internacional del virus. La primera vez que se reunió este comité, habían unos cincuenta u ochenta virus, y discutimos sobre cada uno. La última vez habían quinientos virus, y no hubo ni una discusión. Si no se estandarizan los nombres, si uno usa tres productos, tiene un solo virus y tres nombres distintos, y el usuario piensa que tiene tres virus distintos. El virus 'Argentina', por ejemplo, salía con ese nombre en las versiones anteriores del Findvirus, pero después de la última convención lo cambiamos, por eso a veces parecen 'desaparecer' ciertos virus de los productos anti virus. VR: ¿Por qué empezó la revista que editan ustedes, Virus News International? AS: La gente nos preguntaba qué pasaba con los virus, entonces siempre perdíamos unos cinco minutos explicando las últimas novedades y los chimentos, y después de hacerlo varias veces, pensamos que sería más fácil si lo escribiésemos y se lo mandásemos por fax. El fax empezó a crecer, y les estábamos mandando doce páginas de fax, y dijimos 'esto es una locura'. Así creamos un newsletter, contratamos gente para hacerlo, y creamos Virus News International. VR: ¿Conoce algún autor de virus? ¿Qué piensa de ellos? AS: Si, hablé con muchos escritores de virus, porque quiero hablar con ellos de ética. Quiero hablar sobre bien y mal, y sobre daño. Quiero hablar del impacto de los virus. Por ejemplo, una persona hoy me contó que dejaba jugar a sus hijos con su máquina, éstos ponían jueguitos, y gracias a los jueguitos su máquina se llenó de virus, como el ping-pong, el Michelángelo, etcétera. Entonces, ahora no le deja a sus hijos usar la computadora. Eso es terrible. Hay una computadora en la casa, y no se permite usarla a los chicos. Hay un gran daño que se hizo con eso. Quiero explicarle a los autores de virus el daño que están haciendo con sus virus. Ellos piensan en formateo de discos, pero no, dos chicos no pueden usar una computadora. Esto es el daño. Una persona tuvo el Michelángelo, y el día seis de marzo borró su disco rígido. Vino con si máquina a verme para ver si podía recuparar algo. Vino con un perro y un bastón blanco, porque era ciego. No lo sabía hasta que llegó. El se manejaba en forma totalmente independiente, escribía aplicaciones de bases de datos. Tenía un aparato con el cual todo lo que aparecía en la pantalla era pronunciado por un parlante. El se ganaba la vida con eso. Y el Michelangelo lo puso en serios problemas. Y su actitud fue: la vida me volvió a pegar en la cabeza, y esto no me va a frenar. Esto es lo que quiero mostar a los autores de virus, para que vean lo que están haciendo. Hablé mucho con los autores de virus sobre esto. Hablamos sobre daño. No es ilegal escribir un virus, uno puede hacer lo que quiera con su computadora, no me preocupa, pero con las computadoras de otra gente, esto es diferente. Es malo dañar las computadoras de otros, ellos están de acuerdo con eso, ellos lo ven, lo entienden, pero dicen 'yo sólo escribí el virus'. Entonces les explico: si me subo a la cima de una montaña y tiro una piedra, que golpea dos piedras, y así sucesivamente, y se crea una avalancha, que mata a alguien, ¿Quien es culpable? VR: ¿Es posible que haya compañías que escriban virus para hacer negocio? AS: No, creo que no. ¿Cuál sería el negocio? No creo que haya ninguna compañía que se beneficie con esto. Nosotros vendemos nuestro producto anti virus a la gente que tiene el virus Stoned, el Jerusalem, eso es lo que vende los productos. Los virus nuevos no hacen vender más productos anti virus que los virus viejos. Si se necesitaran a lo virus nuevos para vender los anti virus o sus actualizaciones, tenemos unos cien virus nuevos por mes, escritos por los chicos, gratis. No hace falta, no tiene ningun valor comercial. Y por supuesto, es criminal. Por eso no pienso que haya ninguna compañía escribiendo virus. VR: ¿Qué piensa del futuro de los virus? Nuevas técnicas, cosas nuevas, es posible crear un virus indetectable... AS: Dejame dividirlo en dos preguntas. Primero, que pienso sobre el futuro. En el pasado, la cantidad de virus se ha duplicado aproximadamente cada ocho o diez meses. Cada vez que pasa, digo 'no puede volver a pasar'. Y pasa cada vez, porque aparece algo nuevo. Por ejemplo, hace dos años, la idea de los BBS de intercambio de virus, esto creó una explosión de virus nuevos. El BBS de intercambio de virus en Bulgaria, de Todor Todorov, llegando hasta, mucho más recientemente, al gobierno de los Estados Unidos, que tenía un BBS de intercambio de virus, en el departamento del tesoro. El Washington Post escribió un artículo sobre esto, así que decidieron cerrarlo. Hace un año, vimos paquetes de creación de virus, como el Virus Creation Lab, el Mass Produced Code Generator de Phalcon/Skism, lo que hace muy fácil hacer un virus, sólo hay que saber usar uno de esos. Entonces, cada año hay algun avance en la organización, o tecnología, o algo nuevo que uno no había esperado, y que nos deja sin aliento. El gobierno de los Estados Unidos estaba distribuyendo virus... ¿Alguien podía predecir eso? Entonces, estas cosas siempre suceden... ¿Cual va a ser el próximo cambio en la organización, o nueva tecnología? No sé, pero esto sigue pasando. Supongamos que una compañía decide vender virus. Esto no es ilegal. La otra parte de la pregunta era si es posible escribir un virus que no pueda ser detectado. Una respuesta simple es: si, pero no. Se puede escribir un virus difícil de detectar, se puede escribir un virus que sea el doble de difícil de detectar, diez veces más difícil, etcétera. Cuando uno termina de escribir un virus, ahora es mi turno. Yo puedo tomarme todo el tiempo que quiera trabajando en el virus. Jueguemos un juego. El juego es: quien puede decir el número más alto. Vos empezás... Si vos empezás, yo voy a ganar siempre. Este es el juego que jugamos con los autores de virus. Nosotros siempre estamos segundos. Ellos escriben el virus, y nosotros estamos segundos. Si ellos hacen al virus muy difícil, tal vez nos tome dos horas descubrir como detectarlo. Si lo hacen diez veces más difícil, nos tomarán veinte horas. Si lo hacen mil veces más difícil, nos tomarán mil horas. Y el tema se convierte en algo económico. Algunas compañías van a decidir que no es económicamente aceptable, el costo de investigación y desarrollo es demasiado grande, y prefieren no detectar el virus. Otras compañías van a decidir que es economicamente posible, y van a detectar el virus. Al final, el tema termina siendo económico. Quizá pueda haber un virus que alguna compañía piense que no es economicamente posible, pero técnicamente, es posible siempre. El juego al que jugamos es muy interesante. VR: ¿Qué piensa de los otros autores de anti virus? AS: La mayoría son amigos míos. El propósito principal de CARO es tomar cerveza juntos. Por ejemplo, tuvimos una reunión de CARO hace un par de meses, en la cual discutimos muchas cosas técnicas, y al final terminamos en un restaurante, estabamos con Fridrik Skulason, autor del F-Prot, Yuval Rakavi, de BRM technologies, que vende el Intouchable, Vesselin Bontchev, que no tiene ningún producto pero es muy famoso, y un par más. Somos gente técnica, no somos gente comercial. Estamos trabajando en los mismos problemas técnicos, en gran medida nos ayudamos los unos a los otros. Por supuesto, reconocemos que somos competidores, no compartimos nuestros códigos fuentes, pero intercambiamos ideas. VR: ¿Y con los que no son miembros de CARO? Por ejemplo, John McAfee. AS: McAfee es una persona de marketing, no es un técnico. Yo no soy de marketing, reconozco la importancia del marketing para el éxito de una empresa, un ejemplo es Microsoft. Para que una compañía sea exitosa, necesita buen marketing y buenos técnicos. Tenemos muy buena gente de marketing en nuestra compañía. Si me preguntás del producto, técnicamente, es un poco lento. Y si examinamos las strings de búsqueda, algunas son demasiado cortas, y da falsas alarmas. Hubo un juicio, una compañía llamada Imageland le hizo un juicio a McAfee porque su producto daba una falsa alarma sobre un programa de ellos. Creo que le sacaron un millón de dólares a McAfee. Es algo que preocupó a todos en la industria. John me llamó una semana después de que le iniciaron el juicio, y me pidió que escribiera una carta diciendo que las falsas alarmas son una característica standard en los anti virus. La carta que escribí decía que muchos productos dan falsas alarmas, algunos más que otros. Findvirus da pocas falsas alarmas, porque en vez de buscar el virus en todo el archivo, lo busca en determinados lugares donde puede estar el virus. VR: ¿Por qué se creó CARO? AS: Por dos razones. Una fue el problema con los nombres. Y este es un problema muy tonto, porque a nadie le preocupa cual es el nombre exacto de cada virus, y sería muy bueno si todos podemos usar el mismo nombre. La segunda razón fue que teníamos una situación como la siguiente. Estaba yo, estaba Fridrik Skulason, Vesselin Bontchev, y algunos más. Yo le mandaba virus a esta gente, ellos se los mandaban a otros, y a su vez estos a otros... ¿No sería más simple si tuviésemos sólo un lugar para mandar virus, de donde despues todos los sacáramos? Esto es mucho más eficiente. Entonces, esas son las dos razones. Empezaron a unírsenos las grandes compañías, Symantec, Fifth Generation, Stiller Research, Virex, etcétera. En este momento hay sólo dos compañías grandes de anti virus que no son miembros de CARO, son Central Point y McAfee.