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.