Heuristica Antivirus

35
HEURISTICA ANTIVIRUS Seguridad Informática: el análisis proactivo de amenazas Autor: Sebastián Bortnik

Transcript of Heuristica Antivirus

Page 1: Heuristica Antivirus

HEURISTICA ANTIVIRUSSeguridad Informática: 

el análisis proactivo de amenazas

Autor: Sebastián Bortnik

Page 2: Heuristica Antivirus

‘Heurística Antivirus’ - Sebastián Bortnik

El presente trabajo es publicado bajo una licencia de Creative Commons, Atribución­No Comercial­Compartir Obras Derivadas Igual 2.5 Argentina

Usted es libre de:

• copiar, distribuir, exhibir, y ejecutar la obra.

• hacer obras derivadas de ella.

Bajo las siguientes condiciones:

• Usted debe atribuir la obra en la forma especificada por el autor o el licenciante.

• Usted no puede usar esta obra con fines comerciales.

• Si usted altera, transforma, o crea sobre esta obra, sólo podrá distribuir la obra derivada resultante bajo una licencia idéntica a ésta.

http://creativecommons.org/licenses/by­nc­sa/2.5/ar/

-Pág. 2 de 35

Page 3: Heuristica Antivirus

‘Heurística Antivirus’ - Sebastián Bortnik

HEURISTICA ANTIVIRUSSeguridad Informática: el análisis proactivo de amenazas.

ResumenLa  tecnología está   cambiando   rápidamente  y   los  virus   informáticos  se  han  adaptado  para aprovechar   estos   cambios   e   incrementar   los   daños   causados   y,   fundamentalmente,   su capacidad   de   propagación.   La   velocidad   con   la   que   se   reproducen   los   virus   ha   crecido exponencialmente, más que la capacidad de los laboratorios antivirus para combatirlos. En la ‘ventana de tiempo’ que se genera entre el lanzamiento de un nuevo virus y la creación de una vacuna para prevenirlo, se infectan cada vez más ordenadores y los métodos originarios de prevención que se utilizaban, ya son insuficientes.En   el   presente   trabajo,   se   expone  en   qué   consisten     las   nuevas   soluciones   que   han desarrollado empresas antivirus para proteger los sistemas, sin la necesidad de brindar una vacuna específica para cada virus encontrado. Estas, se basan en la utilización de búsquedas heurísticas como complemento a los métodos ya existentes. Los temas son abordados desde una   perspectiva   conceptual,   independiente   de   las   implementaciones   técnicas   de   cada empresa. A modo de cierre, se incluye un modelo para la creación de reglas heurísticas en seguridad, que sintetiza a través de un esquema teórico, los conceptos desarrollados a lo largo de texto.

AbstractTechnology is changing rapidly and computer viruses have taken advantage of these changes to increase damages and, mainly,  its capacity to spread more quickly. The speed of viruses propagation has exponentially  increased, faster than the capacity of antivirus  laboratories to fight them. There is a ‘window time’ between the launch of the new threat and the appearence of the signature to prevent it. In the meantime, more and more computers get infected. As a consequence, the old tools to detect computer viruses are not enough.This paper presents new tools that antiviruses companies have developed to protect computers, without   the   need   of   ‘signatures’   of   previously   captured   viruses.   It   also   shows   what   these solutions consist of.  They are based on heuristic  research as a complement  to  the already existing methods. This paper does not take into consideration the technical implementation of each vendor,  but   rather   tackles  the subject  matter   from a general  view.  As a closure,   this research work includes a model for the creation of heuristic rules in security, which summarizes, through a theoretical outline, the concepts contained in this text.

Autor / Author: Sebastián Bortnik

Palabras   Clave:  heurística,   antivirus,   seguridad   informática,   virus,   malware,   métodos   de prevención, proactivo.

KeyWords:  heuristic,   antivirus,   information   security,   virus,   malware,   prevention   methods, proactive.

Fecha / Date: Agosto de 2007 / August 2007

-Pág. 3 de 35

Page 4: Heuristica Antivirus

‘Heurística Antivirus’ - Sebastián Bortnik

INDICE

Introducción 5

Qué es heurística 7

Heurística e Informática 10

Heurística y Seguridad Informática 12

Heurística Antivirus

      Qué es un virus 13

      Breve historia del surgimiento de los virus 13

      Cómo funciona un virus 14

      ¿Virus o Malware? 15

      Ejemplos de virus 16

      Antivirus 17

      Heurística antivirus 19

      Aspectos negativos de la heurística 20

      Técnicas heurísticas 21

      Cómo se evalúa una técnica heurística 21

      ¿La heurística reemplazará la exploración por firmas? 24

Otras aplicaciones en Seguridad Informática

      Antispam 25

      Firewall 25

      Filtros de Internet 26

      Educación en Seguridad 26

Conclusión 27

      Modelo teórico para la creación de reglas heurísticas en seguridad 29

Fuentes 31

-Pág. 4 de 35

Page 5: Heuristica Antivirus

‘Heurística Antivirus’ - Sebastián Bortnik

INTRODUCCIÓN

El concepto de heurística es poco popular en la actualidad, a pesar de que su concepción proviene de la Grecia antigua. A lo largo de los años se fue introduciendo el concepto en diferentes ciencias, incluso en las ciencias de la computación.

En  el  área  de   la  Seguridad   Informática,  el   término  se  volvió   popular  a   través  de   los software antivirus, encargados de proteger a nuestros computadores, de todo tipo de virus (o malware) que pueda ingresar en él y dañarlo. Muchos usuarios habrán escuchado que cierto antivirus, utiliza ‘búsquedas heurísticas’ sin saber qué significa tal afirmación y qué implicancia tiene esto en el rendimiento del software.

Existen diversos escritos sobre la aplicación de la heurística en antivirus. Sin embargo, se pretende con el presente trabajo, aportar una visión más global, estudiando el concepto desde sus orígenes y sus aplicaciones más allá de la informática. En consecuencia, se presentarán   analogías   y   ejemplos   con   respecto   a   las   personas   y   sus  ‘decisiones  heurísticas’. 

Las   técnicas  heurísticas  ya  son  aplicadas  por  muchas  de   las  empresas  que  proveen soluciones  antivirus  y,  de  hecho,  ya  son  indispensables  para  el  buen  desempeño  del software y la seguridad de nuestra Pc. Desde ya, que los algoritmos utilizados por cada motor   antivirus   no   son   publicados   y,   como   se   verá,   no   cualquier   heurística   ofrece resultados positivos. Sin embargo, no es propósito del presente comparar y juzgar a las diferentes empresas antivirus sino simplemente estudiar  el  concepto y sus aplicaciones más   allá   de   las   implementaciones   particulares   de   cada   empresa,   que   pueden   ser evaluadas por cada usuario en particular.

En los últimos años, teniendo en cuenta su crecimiento en los software antivirus, se han comenzado  a  aplicar   razonamientos  heurísticos  en  otras  aplicaciones  de   la  Seguridad Informática,   tales  como sistemas de detección de  intrusos   (IDS),  antispam y otros.  Es decir, la heurística se encuentra en una etapa de crecimiento en el área de la seguridad. Esto se debe a nuevas características de las amenazas informáticas que existen hoy en la red que obligaron a reformular las estrategias de defensa y prevención ya que, como se explicará   posteriormente,   las   utilizadas   hasta   el   momento   ya   no   brindan   suficiente protección.

Como   conclusión,   he   desarrollado   un  modelo   teórico   para   la   creación   de   reglas heurísticas en la seguridad que puede ajustarse, tanto para la creación de estrategias de seguridad y desarrollo de algoritmos heurísticos, como así también, para la comprensión de estos en aplicaciones ya existentes.

-Pág. 5 de 35

Page 6: Heuristica Antivirus

‘Heurística Antivirus’ - Sebastián Bortnik

“Si no puedes resolver un problema, entonces hay unamanera más sencilla de resolverlo: encuéntrala.”

George Pólya

“Si tomas una conclusión heurística como una certeza, podrás equivocarte y  sentirte engañado; pero si rechazas totalmente las conclusiones heurísticas, no 

harás ningún progreso.”

George Pólya

-Pág. 6 de 35

Page 7: Heuristica Antivirus

‘Heurística Antivirus’ - Sebastián Bortnik

QUÉ ES HEURÍSTICA

La  definición  del   término  heurística  es  una   tarea  compleja,   si   se   tiene  en  cuenta   las diferentes formas de expresarlo que existen, según el contexto en el que se la delimite. Sin embargo, todas las definiciones son válidas y refieren a un mismo concepto. Explorando desde sus  orígenes,  se  concluirá  en  una  definición  base para   la   lectura  del  presente trabajo.

La etimología de la palabra, proviene del griego  “heurísko”, es decir,  encontrar, lo cual ofrece una primera guía en la búsqueda de una definición común. De la misma palabra griega   proviene   el   famoso  ‘Eureka’  (“lo   encontré”)  mencionado   por   Arquímedes   al encontrar la solución al problema de comprobar que una corona era realmente de oro.

A pesar que el término es utilizado desde la Grecia antigua, fue popularizado en el año 1945 por el matemático George Pólya1  en su libro “How to solve it” (“Como resolverlo”), que trata sobre métodos para la resolución de problemas, especialmente en el área de la matemática. El autor hace mención a la necesidad de estudiar el concepto ya que “ha sido  comúnmente  presentada  a grandes   rasgos,  pero   rara  vez  en  detalle”2.  En  la  obra,  se presenta  el   término  en  función  del  descubrimiento  matemático  y  el  autor  diferencia   la utilización   del   mismo   como   adjetivo   o   sustantivo;   refiriéndose   a   algo   que   “guía   el  descubrimiento” en el primer caso y a una disciplina propiamente dicha que posee técnicas que guían el descubrimiento, si es utilizada en cambio como sustantivo.

Una técnica heurística nunca es utilizada como resolución final o búsqueda de la mejor solución. Justamente nos permite, ante cualquiera de estas situaciones, guiar el accionar hacia una posición favorable en pos del objetivo.Como también menciona Pólya en su texto, generalmente estamos obligados a utilizar el razonamiento heurístico.

A partir de la mención de Pólya y a lo largo de los años, el concepto de heurística comenzó a ser más frecuente en diferentes áreas de estudio y no solo en las matemáticas, sino también en la lógica, la psicología, la filosofía y la computación. Hoy en día, se pueden encontrar   diferentes   definiciones   del   mismo   concepto,   algunas   de   las   cuales   se mencionan, para poder precisarla.

La   Real   Academia   Española   la   define   como  “técnica   de   la   indagación   y   del  descubrimiento.”3  Otras   posibles   formas   de   definirla   son:  “reglas   del   sentido   común  deducidas de la experiencia”, “proceso de ganar conocimiento o un resultado deseado por  conjeturas inteligentes”, o, de forma más sencilla, “el problema de resolver problemas”.

1 http://es.wikipedia.org/wiki/George_P%C3%B3lya2 “Heuristic was the name of certain Branch of study [...] often outlined, seldom presented in detail.” Pág. 112. Polya, George – “How To Solve It: A New Aspect of Mathematical Method”3 http://buscon.rae.es/draeI/SrvltGUIBusUsual?LEMA=heur%C3%ADstico&origen=RAE

-Pág. 7 de 35

Page 8: Heuristica Antivirus

‘Heurística Antivirus’ - Sebastián Bortnik

En función de las variadas definiciones leídas y el contexto en el que se aplicará en el presente,   se   define   a   la   heurística   como   una  técnica   que,   a   través   de   conjeturas  ‘inteligentes’ basadas en la experiencia, encuentra estrategias y reglas que guían el  descubrimiento hacia la toma de decisiones o búsqueda de respuestas.

Como se puede apreciar, la definición elegida es abarcativa y será más útil para la lectura del presente. Sin embargo, como ya se mencionó, se pueden utilizar diferentes términos para una propia definición según el contexto en el que se encuentre.

La capacidad heurística es un rasgo característico de los humanos. Para aplicar heurística, siempre se debe tener un problema que resolver, una respuesta que encontrar, “algo“ por descubrir. Constantemente las personas aplican reglas heurísticas para guiar su accionar en la vida diaria.

EjemploSe tienen 100 números de teléfono de todo el mundo y se debe encontrar el de Harald Müller sin conocer a nadie. Se podría empezar llamando uno a uno a todos los teléfonos y se encontraría al individuo en cuestión. Pero esto consumiría mucho tiempo y sería muy costoso. Una solución heurística sería comenzar por los números que fueran de Alemania y el proceso se habría optimizado bastante4.

De forma similar, un encargado de Recursos Humanos filtra una serie de Currículos para una  selección  de  personal   (ya  que  son muchos   los   candidatos),   comenzando  por   las personas que provengan de cierta universidad que es elegida según la propia experiencia, la reputación de la facultad y otras posibles variables a considerar.

EjemploJosé  desea  ir  desde su casa (o un origen cualquiera)  hacia un estadio  de  fútbol  para entretenerse (destino) y desea llegar lo más rápido posible. Dentro de las soluciones ideales (y casi ficticias), José podría estudiar la frecuencia de los semáforos, buscar imágenes satelitales sobre el estado del tránsito, conocer el estado de las calles, informarse sobre los cortes, y otras tantas y así obtener la ruta que más rápido lo hará llegar a destino. Visto y considerando la dificultad de lo propuesto, José tomará decisiones basándose en un conocimiento previo y, por ejemplo, tomará  el camino que menos semáforos tenga. Se ha aplicado aquí  heurística, pero ¿se logrará  así realizar el camino más rápido? Es probable, pero no seguro, ya que  pueden aparecer otras variables no tenidas en cuenta como   un   embotellamiento,   un   corte,   etc.   La   heurística   funciona   efectivamente   en   la mayoría de las circunstancias pero, sin embargo, puede conducir a errores en la toma de decisiones.De la misma forma, en el primer ejemplo, Harald Müller podría no vivir en Alemania y el encargado de Recursos Humanos podría perderse de un gran profesional que provenga de otra universidad que la elegida.

4 Extraído de http://foro.msgpluslive.es/showthread.php?tid=3689

-Pág. 8 de 35

Page 9: Heuristica Antivirus

La historia de ‘Eureka’

Herón II, rey de Siracusa, pidió un día a su pariente Arquímedes (aprox. 287 a.C. ­ aprox.  212 a.C.),  que comprobara si  una corona que había encargado a un orfebre  local  era  realmente de oro puro. El rey le pidió también de forma expresa que no dañase la corona.Arquímedes dio vueltas y vueltas al problema sin saber como atacarlo, hasta que un día, al  meterse en la bañera para darse un baño, se le ocurrió la solución. Pensó que el agua que  se desbordaba  tenía que ser   igual  al  volumen de su cuerpo que estaba sumergido.  Si  medía el agua que rebosaba al meter la corona, conocería el volumen de la misma y a  continuación podría compararlo con el volumen de un objeto de oro del mismo peso que la  corona. Si los volúmenes no fuesen iguales, sería una prueba de que la corona no era de  oro puro.  A consecuencia de la excitación que le produjo su descubrimiento, Arquímedes salió del  baño y fue corriendo desnudo como estaba hacia el palacio gritando: "¡Lo encontré! ¡Lo  encontré!".La palabra griega "¡Eureka!" utilizada por Arquímedes, ha quedado desde entonces como  una expresión que indica la realización de un descubrimiento.Al llevar a la práctica lo descubierto, se comprobó que la corona tenía un volumen mayor  

‘Heurística Antivirus’ - Sebastián Bortnik

Es decir, al aplicar heurística, se sacrifican demandas de completitud; en pos de obtener una solución óptima en un tiempo razonable.

No se debe confundir la aplicación de una decisión heurística con el azar, la intuición o aspectos  por  el  estilo.  No siempre  que se solucione un problema en  forma  rápida  se aplican reglas heurísticas. Lo hago, si baso mis decisiones en la experiencia y en cierto aspecto inductivo al respecto. Volviendo al primer ejemplo, una persona en esa situación podría tener una corazonada de que Harald Müller vive en Brasil y hasta incluso podría ser cierto pero no por ello se ha aplicado un razonamiento heurístico.

Diferenciar una resolución de un problema en forma completa y en forma heurística es vital para la obtención de resultados y su valoración. Así lo explicita también en su libro George Pólya: “La heurística es buena en sí misma. Lo que es malo es mezclar el razonamiento  heurístico con pruebas  rigurosas  y,   lo que es peor,  vender  el   razonamiento heurístico  como una prueba rigurosa”5.

5 “Heuristic reasoning is good in itself. What is bad is to mi up heuristic reasoning with rigorous proof. What is worse es to sell heuristic reasoning for rigorous proof.” Pág. 113. Polya, George – “How To Solve It: A New Aspect of Mathematical Method”

-Pág. 9 de 35

Page 10: Heuristica Antivirus

‘Heurística Antivirus’ - Sebastián Bortnik

HEURISTICA E INFORMÁTICA

Un algoritmo es un conjunto finito de instrucciones o pasos que sirven para ejecutar una tarea o resolver  un problema.  Consta de una secuencia de pasos  lógicos que permite cumplir un objetivo u obtener una solución.

En informática se utilizan constantemente algoritmos para diversas funciones y objetivos, aplicándolos a cualquier tarea de programación. Al desarrollar software, se deben crear algoritmos que satisfagan las necesidades del programa en cuestión. 

Un problema de optimización es cualquier que necesite encontrar, no solo una solución aceptable,  sino   la  mejor.  Cualquiera  de estos  problemas,  puede  presentarse  como un conjunto de estados con funciones que permiten pasar de uno a otro; teniendo un estado inicial y un estado objetivo. De esta forma, se puede simplificar diciendo que un algoritmo es un proceso de búsqueda desde un problema (estado inicial) hacia una solución (estado objetivo).Si se piensa en estos términos, se pueden clasificar las búsqueda según si son ciegas o no; es decir,  si evalúan y recorren todo el árbol  de posibilidades o no. Las búsquedas heurísticas, no pertenecen a las búsquedas a ciegas, sino todo lo contrario: se aplican ante la imposibilidad de emplear una búsqueda que evalúe todas las posibilidades y obtenga el mejor  resultado.  Esto se debe siempre a un problema de recursos (sea tiempo, costo, memoria, etc.).

Al aplicar las reglas heurísticas, se pueden dar dos posibilidades:

• Que el razonamiento permita acotar la búsqueda y encuentre el resultado en este nuevo sub­conjunto de estados.

• Que el  razonamiento permita  orientar  una sucesión dentro de  todo el  conjunto, parando en el primer estado objetivo posible.

En  cualquiera  de   los   dos   casos,   la  aplicación  de  una   técnica  heurística  no  garantiza encontrar el mejor resultado, sino uno aceptable, teniendo en cuenta la optimización de la búsqueda.La especificación de qué es ‘aceptable’ depende de cada caso en particular y es propio de análisis para el desarrollo de cualquier función heurística.

La Inteligencia Artificial (IA) es la parte de la computación que se encarga del estudio del comportamiento   inteligente  de  las máquinas.  Las  metas  a  largo  plazo de   la   IA son el desarrollo de máquinas (o programas) que puedan hacer cosas que hacen los humanos, incluso mejor que estos.Como ya se mencionó,   la  heurística  proviene del  pensamiento  humano,  por  ende,  su aplicación en la informática se encuadra en la Inteligencia Artificial y es una aplicación de la misma.

-Pág. 10 de 35

Page 11: Heuristica Antivirus

‘Heurística Antivirus’ - Sebastián Bortnik

En resumen, las técnicas heurísticas son utilizadas para agilizar los procesos de búsqueda de una solución a través de los algoritmos de programación.

EjemploEn una habitación hay  n  elementos,  cada uno con un valor  vi  y un peso  pi.  Se tiene además,  una mochila con un peso  P.  El objetivo es llenar la mochila con el mayor  valor posible, eligiendo los elementos convenientes. Si tuviéramos 1, 2, 3 o 4 elementos sería   fácil   probar   todas   las   alternativas   y   elegir   la   de   mayor   valor.   Sin   embargo,   la explosión combinatoria6 hace difícil de evaluar todas las posibles soluciones al ser mayor el   número   de   elementos.   Si   tuviéramos   solamente   10   elementos,   serían   millones   las combinaciones posibles a evaluar. Una técnica heurística que podríamos aplicar es la de ir agregando a  la mochila,  el  elemento que aporte  mayor valor  en proporción a su peso (vi/pi), de esta forma, se supone o presume, encontraremos una solución, que aunque óptima,   seguramente   no   la   mejor.   En   términos   matemáticos   podríamos   decir   que   no encontraremos   el   máximo   absoluto   de   la   función   aunque   sí,   probablemente   nos acercaremos a él.  De hecho, es necesario aplicar alguna heurística para encontrar una solución en un tiempo razonable. Es decir, la heurística aumenta la eficiencia del proceso de búsqueda, sacrificando, como ya hemos mencionado, demandas de completitud.

Se presenta un caso con números para ejemplificar en forma más clara, como la técnica heurística puede no guiar hacia la mejor solución. Este es solo un ejemplo y no se debe concluir que la heurística no es efectiva; al contrario, pero es útil entender el por qué de su utilización y sus limitaciones. Nunca que podamos encontrar la solución real (en un tiempo prudente o con los recursos prudentes) se aplicará una técnica heurística.

Dado el problema de la mochila y teniendo los siguientes 3 elementos, ¿cuál es la mejor solución si la mochila puede soportar hasta 3000 grs?

Elemento Peso Valor1 1800 grs. $722 600 grs. $363 1200 grs. $60

Si se aplicara la técnica heurística de sumar a la mochila los objetos que más valor aporten en función a su peso, la solución final sería $96 con los objetos 2 y 3 (cuyo valor vi/pi es de 0.06 y 0.05 respectivamente contra 0.04 del primer objeto).

Sin  embargo,  analizando   todas   las  soluciones  posibles   (1­2,  1­3 y  2­3)  y   teniendo  en cuenta que el número de objetos es chico y es factible hacerlo, se observa que la mejor solución era la de colocar en la mochila los objetos 1 y 3, obteniendo así un valor de $132.

6 Propiedad de la combinatoria matemática (factorial de N) en donde, al agregar un nuevo elemento, el número de combinaciones posibles crece mucho más que en 1, de forma exponencial.

-Pág. 11 de 35

Page 12: Heuristica Antivirus

‘Heurística Antivirus’ - Sebastián Bortnik

HEURÍSTICA Y SEGURIDAD INFORMÁTICA

La Seguridad Informática es la característica de cualquier sistema que nos indica que está libre de todo peligro, daño o riesgo y que es, en cierta medida, fiable. Como la seguridad absoluta es imposible, se habla de fiabilidad, es decir, la probabilidad de que un sistema se comporte como se espera de él.Todo proceso que nos permita preservar la información y los objetos de nuestro sistema pertenece a la seguridad de la información.

Un sistema es seguro o confiable cuando se garantizan 3 aspectos:

Confidencialidad:  Los elementos de un sistema serán accedidos únicamente por elementos autorizados a ello.

Integridad:  Los  elementos  de  un  sistema  solo  pueden  ser  modificados  por   las personas autorizadas.

Disponibilidad:  Los  objetos   tienen   que   permanecer  accesibles  a   los  elementos autorizados.

En   el   campo   de   la   seguridad   también   se   aplican   técnicas   heurísticas   en   diferentes aplicaciones de protección del sistema.

Retomando  el  concepto,   la  seguridad  se encarga  de  proteger  a   la   información  de   las diversas amenazas existentes  en su contexto.  Comparando con  los humanos:  ¿cómo  determina una persona que algo/alguien es una amenaza para él/ella?  Cuando se dispone de toda la información es simple. Por ejemplo una persona va por la calle y se cruza con otra  que reconoce haber  visto  en el  noticiero,  donde se  informó  que es un asesino serial  prófugo.  Obviamente se reconocerá   rápido el peligro,  ya que se tiene la certeza que se está ante una amenaza, pero esta situación es la menos común. En la mayoría de los casos, utilizamos nuestro razonamiento basado en la experiencia y la inducción para deducir  (¡no suponer o adivinar!)  que algo/alguien es para nosotros una amenaza. Suponga que una persona va por la calle y se acerca a un perro cualquiera: ¿Cruzará esta persona la calle debido a que el animal lo va a morder? Seguramente se tomará esa decisión en función de la raza del perro y la agresividad media asociada a la misma. Es decir, aunque no se tiene la certeza si es o no una amenaza, cierto parámetro (en este caso el de pertenecer a una raza que es común que muerda) nos indica que es muy probable que así lo sea, y que mejor evitarlo.

En Seguridad Informática ocurre lo mismo: muchas veces al no saber si a lo que uno se enfrenta es una amenaza, se deben aplicar técnicas heurísticas para tomar una decisión al respecto.   La   idea   es   muy   simple:   en   la   protección   del   sistema   se   pueden   identificar amenazas conocidas (y registradas) o bien pueden encontrarse “sospechosos” y se debe evitar que estos, a pesar de no tener  la certeza de que hay un peligro,  ingresen en el sistema. La decisión de qué es sospechoso para nuestro sistema, le corresponde a  los algoritmos heurísticos.

-Pág. 12 de 35

Page 13: Heuristica Antivirus

‘Heurística Antivirus’ - Sebastián Bortnik

HEURÍSTICA ANTIVIRUS

Qué es un virus

Un virus es un programa  informático,  creado voluntariamente por alguna persona,  que posee las siguientes características:

• Tiene la capacidad de reproducirse a sí mismo.• Produce algún daño en el ordenador infectado.• Actúa sin que el usuario se de cuenta.

Cualquier virus informático, en su definición clásica, debe poseer las tres características mencionadas. Pueden replicarse por sí solos (es decir, su vida depende de ellos y no de un usuario que los crea y los elimina), al igual que con los virus humanos y, asimismo, multiplicarse a través de diferentes ordenadores y archivos. El daño que producen es muy variable  según  los  diferentes  casos;  desde un simple  mensaje  que moleste  al  usuario hasta   inhabilitar   el   acceso  al   sistema  operativo   son   algunas   de   las   variantes   que   se pueden encontrar. Por último, el virus realiza todas sus acciones sin el consentimiento del usuario y es invisible a este, salvo a través de los problemas que le cause su existencia.Si se intenta determinar de alguna forma, su grado de peligrosidad, puede decirse que para   un   virus,   su   capacidad   de   propagarse   es   más   determinante   que   el   daño   que ocasiona.

Existen diferentes tipos de virus, como los virus de sector de arranque, que infectan el sector de booteo de nuestra Pc; los virus de programas ejecutables o los virus residentes en memoria, que están latentes mientras utilizamos nuestro Sistema Operativo para atacar o infectar según el caso.

Breve historia del surgimiento de los virus

El   concepto   de   virus   siempre   fue   conocido   por   los   seres   humanos   (de   hecho   en   la informática, se llama también ‘vacunas’ a las curas de los programas) y, los comienzos de los virus informáticos, le corresponden a la Inteligencia Artificial que, desde las décadas del ’40 y el ’50 intentaba crear programas auto­replicantes aunque sin fines dañinos.

En   al   año  1959   aparece   el   precursor   del   que  sería  el   primer   virus   informático   y   fue simplemente un juego nombrado CoreWar. El mismo fue desarrollado en los laboratorios de   la   Bell   Computer  por  Robert   Morris,   Douglas  Mcllroy   y   Victor  Vysottsky.   El   juego consiste   en   el   enfrentamiento   entre   2   o   más   programadores   trabajando   en   código máquina7 con el objetivo de ocupar toda la memoria de la máquina del oponente.En 1972 aparece el primer virus, llamado Creeper, creado por Robert Morris. El programa emitía en forma regular un mensaje en pantalla con la inscripción “I’m a creaper... catch  me if you can!” (soy una enredadera, atrápame si puedes). Para eliminar el virus, se creó 

7 http://es.wikipedia.org/wiki/Lenguaje_m%C3%A1quina

-Pág. 13 de 35

Page 14: Heuristica Antivirus

‘Heurística Antivirus’ - Sebastián Bortnik

un ejecutable llamado Reaper que sirve de referencia como el comienzo de los antivirus a pesar de que en esa época no existía el concepto de software antivirus8.

En forma simplificada, los virus se pueden enmarcar en 3 generaciones: la primera hasta el año 1995 en donde los virus se transmitían prácticamente por medio de diskettes y su propagación era lenta; una segunda generación, hasta el año 2000, donde se expandían en unos pocos meses y una tercer generación, desde el comienzo del presente milenio, conformada por los actuales virus de rápida propagación (en horas o días). Esta última generación se la suele llamar también ‘Los virus de Internet’.

Cómo funciona un virus

Un virus al ejecutarse comienza a realizar dos acciones en paralelo: por un lado ejecuta un daño de cierta magnitud en el sistema y, por el otro, continúa su propagación.

Un virus puede entrar a nuestro ordenador por cualquier medio de almacenamiento (un disco rígido, un diskette, un pen drive, etc.), a través de una red local o bien, a través de Internet   (mail,  paginas  web,  Chat,  etc.)  que es  hoy  en  día el  medio  más  habitual  de transmisión de virus. Es decir que cualquier contacto entre nuestro sistema y otro es una posible infección.

En un principio los virus afectaban solo a archivos ejecutables como .EXE, .COM o .BAT pero hoy en día ya pueden afectar a archivos de imagen (.JPG) o de música (.MP3) o a cualquier tipo de archivo (.SYS, .PDF, etc.).

Un virus funciona suplantando el archivo infectado por el que contiene el código malicioso y modificando el nombre del archivo original. Cuando el usuario ejecuta el archivo, en un primer término se ejecutan los pasos del virus y, luego, este llama al archivo original (el virus conoce su nuevo nombre y ubicación). De esta forma, el virus se ejecutó  pero el usuario no se entera de la ejecución del virus ya que está viendo el archivo que quería utilizar.

8 Más info en http://www.kriptopolis.org/el­primer­antivirus

-Pág. 14 de 35

Page 15: Heuristica Antivirus

‘Heurística Antivirus’ - Sebastián Bortnik

¿Virus o Malware?

El concepto de virus en su forma pura, como fue presentado hasta el momento, evolucionó a lo largo de los años con el avance de la informática y, con la popularización de Internet, ha encontrado nuevas formas que, eventualmente, se nombran también como virus. Sin embargo,   la  mejor   forma de englobar   todo  el  software  dañino  es  Malware  (del   inglés  malicious   software;   software   malicioso).   Se   puede   considerar   como   malware   todo programa   con  algún   fin  dañino.  Dentro  de  este  grupo  se  encuentran   los   virus  en  su concepción clásica y otras nuevas formas que fueron apareciendo en los últimos años y que, algunas de ellas, se describen brevemente a continuación.

• Gusano: A diferencia de los virus, no infectan archivos. Su propósito es agotar lo recursos   del   sistema   y   se   reproducen   a   través   de   diferentes   medios   de comunicación. No necesitan de un archivo huésped para seguir vivos. El primer gusano que apareció fue el Morris9 en el año 1988, que llegó a colapsar cientos de sistemas pertenecientes a ArpaNet10.

• Troyano: Su nombre proviene del mito del caballo de Troya11 ya que el objetivo es el  de engañar al  usuario.  Son archivos que simulan ser normales e  indefensos como juegos o algún tipo de software que tienta a la victima a ejecutarlo; de esta forma logran instalarse en los sistemas. 

• Spyware: Derivan de las aplicaciones basadas en publicidad (Advertised Software – Adware). En este caso son aplicaciones espías (Spy Software), ya que no son instaladas   con   el   consentimiento   del   usuario   y   tienen   como   objetivo   robar información   de   este   y   enviarla   a   través   de   Internet,   generalmente   con   fines publicitarios.

Usualmente, se denomina virus a la infección de la computadora, a pesar de que en la mayoría   de   los   casos   nos   encontramos   ante   un   gusano   o   alguna   de   las   variantes presentadas. Es también probable que algún código malicioso presente características de más de una de las variantes expuestas.

Existen   más   variantes   de  virus   maliciosos   como   backdoors,   rootkits,   exploits   pero  su explicación escapa el alcance del presente12. Las tres variantes mencionadas son las más usuales y generales cuando se habla de Malware13.

9 Más info sobre los daños causados y gusanos en http://snowplow.org/tom/worm/worm.html.10 Precursora de Internet, perteneciente al Departamento de Defensa de los Estados Unidos. http://en.wikipedia.org/wiki/Arpanet11 http://es.wikipedia.org/wiki/Caballo_de_Troya ­ http://www.jornada.unam.mx/2005/04/27/029a1eco.php12 Para conocer más visitar http://en.wikipedia.org/wiki/Malware o http://es.wikipedia.org/wiki/Malware#Spyware13 De aquí en adelante, se utilizarán las palabras Virus y Malware indistintamente para identificar cualquier archivo con fines maliciosos hacia nuestro ordenador.

-Pág. 15 de 35

Page 16: Heuristica Antivirus

‘Heurística Antivirus’ - Sebastián Bortnik

Ejemplos de virus

Se presentan algunos virus de los más famosos para conocer sus principales efectos, sus variantes y sus medios de propagación.

• Virus Melissa

El virus Melissa apareció en el año 1999 y llegó a colapsar cientos de servidores de correo a las pocas horas de su propagación.Melissa afectaba documentos de Word 97 y Word 2000. Si el virus se ejecutaba, enviaba un   correo   electrónico   a   los   primeros   50   contactos   del   Outlook   Express   con   asunto “Important message from <name of sender>” donde ‘name of sender’ corresponde a la Pc infectada que envía el correo.En el  cuerpo del  mensaje,  solo estaba escrita  la siguiente  leyenda (traducida al  pie  al español):

Here is that document you asked for ... don't show anyone else ;­)TCizzle“Aquí está el documento que pediste ... no se lo muestres a nadie ;­)TCizzle”

El   correo   contenía   un   adjunto   de   Word   (LIST.DOC)   que   contenía   una   lista   de   sitios pornográficos y los passwords para acceder a ellos.

El virus además, poseía daños secundarios al modificar los archivos que eran abiertos en el momento en que los minutos del horario coincidieran con el día (ej.  18:30 un 30 de Marzo); y agregaba líneas de texto al archivo sin el consentimiento del usuario.

El virus Melissa es considerado de los primeros malware con daños significativos al poco tiempo de la propagación. Tuvo además, diferentes variantes que añadían o modificaban pequeños aspectos respecto al original.

El código del virus puede observarse en http://www.62nds.co.nz/62nds/documents/melissa.txt.14

• Win32/Sober

Fue un gusano de Internet que apareció en el año 2003 pero que sus variantes llegaron a afectar masivamente hasta el 2005; de hecho, fue el gusano de más propagación en aquel año. Alcanzó niveles de reproducción altísimos en unas muy pocas horas.Se propagaba en forma masiva a través del correo electrónico y tanto el asunto, el texto del mensaje y el adjunto eran variables en su idioma y extensiones respectivamente.

14 Posiblemente el antivirus detecta la página como amenaza pero el código está en texto plano por lo que es inofensivo.

-Pág. 16 de 35

Page 17: Heuristica Antivirus

‘Heurística Antivirus’ - Sebastián Bortnik

• I Love You

Es un gusano­troyano que se propagaba a través de IRC (mensajería instantánea) y el correo electrónico. Al ejecutar el archivo, la Pc se infectaba y se sucedían las siguientes acciones:

1) Se reenvía a todas las direcciones de la libreta de correo.2) Se descarga un archivo para el robo de información.3) Se eliminan distintos tipos de archivos.

El código del virus puede observarse en http://www.62nds.co.nz/62nds/documents/iloveyou.txt.15

Antivirus

Los antivirus son programas encargados de detectar y eliminar ataques informáticos de virus  que quieran,  o  hayan  accedido  a  nuestra  Pc.  Actualmente,   los  software  no  solo detectan virus, sino otros tipos de ataques de Malware, como los que ya se mencionaron en la sección anterior.

El software detecta el archivo, lo elimina y desinfecta el sistema. Muchas veces las tres acciones no son posibles y puede que solo se detecte el archivo y se lo elimine y, en el peor de los casos, puede que solo se detecte el archivo. Esto dependerá del virus al que se esté enfrentando.

Los antivirus tienen una serie de módulos de protección encargados de analizar diferentes tipos  de  archivos  y   tráfico  en  nuestro  ordenador.  Entre  estos,   los  que  se  encuentran usualmente son:

• Análisis de archivos: se encarga de verificar los archivos que se van utilizando en la   Pc   (abrir,   guardar,   copiar,   etc.).   En   caso   de   encontrar   Malware,   informa automáticamente al usuario.

• Análisis   de   archivos   por   demanda:   a   pedido   del   usuario,   escanea   todos   los archivos de la Pc (o de un sector indicado) en busca de Malware realizando un informe final de archivos infectados encontrados.

• Análisis del tráfico de Internet: verifica las páginas que son visitadas y los archivos que estas contienen. En caso de encontrar malware, avisa al usuario y cancela el acceso a la página web.

• Análisis del correo electrónico: analiza el correo entrante y saliente de nuestra Pc, eliminando adjuntos o correos infectados por Malware.

Estos son los módulos principales de cualquier motor antivirus. Con ellos, se monitorea prácticamente todo el tráfico de la Pc, en busca de Malware, tanto en tiempo real mientras 

15 Posiblemente el antivirus detecta la página como amenaza pero el código está en texto plano por lo que es inofensivo.

-Pág. 17 de 35

Page 18: Heuristica Antivirus

‘Heurística Antivirus’ - Sebastián Bortnik

el usuario trabaja como por demanda, cuando se utilizan las herramientas de Scanner que posee el software.

Desde sus orígenes, los antivirus cuentan con un método de detección basado en firmas. Este consiste en una base de datos generada por el fabricante que le permite determinar al software si un archivo es o no un virus. El sistema es simple: se compara cada archivo con   la   base   de   datos   y,   si   hay   coincidencia,   se   utiliza   la   firma   para   la   detección   y desinfección (si esta existe) del archivo y la Pc. El proceso para estar protegidos por esta metodología es el siguiente:

a) Aparece un nuevo virusb) Se recibe la muestra en la empresa antivirusc) Se crea la vacuna (llamada firma) para el nuevo virusd) La computadora descarga la firma y comienza a detectar el nuevo virus

A este método se debe la importancia de tener actualizado nuestro antivirus: si la firma ya ha sido creada por el fabricante, pero no la hemos descargado en nuestro ordenador, no estamos protegidos para esa amenaza en particular.

Además de esta, este método posee dos principales desventajas:

• El sistema no puede detectar virus que no se encuentran en la base de datos del fabricante.

• El sistema debe poseer una firma por cada variante de un mismo virus.

Debido a la alta velocidad de propagación (y aparición) de nuevos virus informáticos, el método de detección basado en firmas se volvió lento e insuficiente. Virus como el Melissa (antes mencionado) generaron miles de host infectados a las pocas horas de ser lanzado. El virus Bagle infecto casi veinte mil ordenadores en 4 horas16 y tuvo decenas de variantes desde su lanzamiento.El proceso de creación de firmas puede llevar horas. Según las estadísticas, recién a partir de las 3­4 horas aparecerán las soluciones en las primeras empresas y muchas veces se debe  esperar  hasta  20  horas  para   tener   la  actualización  disponible.  Por  otro   lado,   la cantidad de virus nuevos que aparecen día a día es creciente y esto hace más compleja la tarea de los laboratorios antivirus. Ya en 2003, los laboratorios antivirus recibían más de diez virus nuevos por día. Hoy ese número, llega a ser dos o tres veces mayor.

La pregunta  que surge entonces  es:  ¿hay probabilidades que en  las  horas  hasta  que aparezca la firma y se actualice el antivirus, la Pc se infecte? Obviamente la respuesta es sí.  Cada vez más ordenadores están conectados full   time a Internet  y se navega y se descargan e­mails constantemente.

16 “La historia sin fin: Virus Bagle” – Pág. 10http://www.eset­la.com/press/informe/historia_sin_fin_virus_bagle.pdf 

-Pág. 18 de 35

Page 19: Heuristica Antivirus

‘Heurística Antivirus’ - Sebastián Bortnik

Los   virus   se   reproducen   muchas   veces   como   una   epidemia   y   las   probabilidades   de infectarse antes de descargar la firma son muy altas. Es aquí donde surge la necesidad de encontrar   un   método   que   complemente   la   detección   por   firmas.   Como   antes   se mencionaba, al no existir la posibilidad ideal de que las computadores tengan siempre la firma   contra   los   virus  in   the   wild17,   se   debe   aplicar   alguna   técnica   que   nos   permita determinar que es probable que un archivo sea una amenaza. He aquí que los software antivirus   aplican   heurística   para   detectar   (sospechar­concluir)   que   un   archivo   es   una amenaza a nuestro sistema, a pesar de no figurar en la base de firmas.

De   esta   forma,   se   complementan   los   métodos   reactivos,   que   necesitan   conocer   la amenaza   para   brindar   la   solución,   con   nuevos   métodos   proactivos   de   detección   de amenazas.

Heurística antivirus

La   búsqueda   heurística   es   un   complemento   de   la   detección   basada   en   firmas.   El funcionamiento   es   similar   al   que   se   desprende   del   comportamiento   humano   en   la detección de amenazas18: al encontrar ciertos parámetros que se corresponden con las amenazas ya conocidas, se supone que cierto elemento es una amenaza. Los motores antivirus   utilizan   comportamientos   heurísticos   para   poder   detectar   amenazas,   aunque éstas no se encuentren identificadas en una base de firmas.

La heurística se compone de una serie de algoritmos “inteligentes” que permiten detectar virus   nuevos   y   desconocidos.   Es   importante   recordar   que   la   búsqueda   heurística   no depende  de   la  actualización  del  software,  siempre  está  disponible  con  el  antivirus  en funcionamiento.

Entre algunos de  los comportamientos  comunes en  los códigos maliciosos,  se pueden nombrar:   envío   masivo   de   e­mails,   modificación   del   registro   del   Sistema   Operativo, modificación de archivos protegidos  contra escritura  o archivos  del  Sistema Operativo, detención   de   procesos   en   ejecución   o   archivos   que   comiencen   con   un   salto   a   una instrucción sobre el final del código, entre otros.

Observando ciertos test independientes19 se desprende que hoy en día, pocas heurísticas, en  líneas generales,  obtienen altos  rendimientos   (difícilmente  superen el  80%) aunque algunas empresas han aventajado al resto. Algunas de ellas, alcanzan a detectar el 70% de  los virus sin utilizar   la  detección con  firmas.  Sin embargo,  más  de  la  mitad  de  las empresas   no   detectan   siquiera   un   35%   de   los   virus   utilizando   solo   las   funciones   de búsqueda heurística.

17 Listado de los códigos maliciosos para computadores que aún se encuentran activos para atacar. Este es mantenido por ‘The WildList Organization International’ y se puede consultar en la web http://www.wildlist.org/.18 Ver sección “Heurística y Seguridad”19 http://www.av­comparatives.org/index.html?http://www.av­comparatives.org/seiten/comparatives.html

-Pág. 19 de 35

Page 20: Heuristica Antivirus

‘Heurística Antivirus’ - Sebastián Bortnik

Cabe resaltar que, de todas formas, las técnicas heurísticas han evolucionado y resultan altamente   efectivas   en   virus   imitadores,   es   decir,   aquellos   que   solo   tienen   leves modificaciones sobre un virus original que ya está cargado en nuestra base de firmas. De hecho, en los virus que poseen alta cantidad de variantes20, se hace imposible para las empresas analizarlas todas y realizar una firma para cada una. 

En resumen, las técnicas heurísticas son la única protección de la que disponemos frente a la aparición de una nueva amenaza que no posea aún la firma.

En el análisis heurístico se examina el código de un archivo basándose en reglas para saber   si   lo   que   hace   es   normal   o   no.   Básicamente,   funciona   buscando   comandos ‘sospechosos’. Hay ciertos comandos que son muy utilizados por los autores de virus y que suelen aparecer frecuentemente. Si en un archivo “desconocido” se encuentran varios de estos comandos, se puede catalogar a este de “sospechoso” o “posible virus”. De una forma simplificada, se intenta deducir qué haría el programa si se ejecutara y se buscan patrones habituales empleados por códigos maliciosos.

Existen variadas técnicas para  la  implementación de algoritmos heurísticos en motores antivirus. Es importante destacar que técnica heurística es una descripción general de una forma   de   detectar   amenazas   que   puede   tener   rendimientos   muy   variables   según   la implementación particular que haga cada empresa. Una mala implementación, no significa que conceptualmente, las técnicas genéricas de detección de amenazas son una solución excelente para complementar las búsquedas reactivas y brindar una solución integral ante el malware.

Aspectos negativos de la heurística

La   aplicación   de   las   técnicas   heurísticas   conlleva   ciertas   desventajas   propias   de   la naturaleza de su implementación. Una búsqueda heurística:

• consume más recursos (fundamentalmente tiempo) que una búsqueda clásica.• pueden aparecer falsos positivos. Se produce un falso positivo cuando el software 

antivirus detecta como amenaza un archivo que en realidad no lo es.

Es   imposible   eliminar   totalmente   ambos   efectos,   aunque   es   deseable   minimizarlos   lo máximo posible. Siempre una búsqueda heurística demorará más que un simple escaneo basado en firmas y es imposible afirmar que no existirán falsos positivos. Un falso positivo puede generarle al usuario más problemas que un simple virus.

Otra limitación que existe aún, es que una amenaza encontrada a través de una búsqueda heurística, no podrá ser reparada sino simplemente eliminada o puesta en cuarentena, a 

20 Otro ejemplo, además de los ya mencionados, el virus Stration que tuvo cientos de variantes. http://www.rompecadenas.com.ar/articulos/1452.php

-Pág. 20 de 35

Page 21: Heuristica Antivirus

‘Heurística Antivirus’ - Sebastián Bortnik

diferencia de las firmas que brindan protección completa al sistema y desinfección total del virus.Cuando  un  antivirus   identifica  un  archivo   infectado  a   través  de   la  base de   firmas,  se informa al usuario todas las características conocidas y almacenadas en la base, entre ellas   el   nombre.   En   cambio,   al   identificarse   una   amenaza   a   través   de   una   técnica heurística,   la   información  que  se  brinda  al  usuario  es  más  genérica   indicando  que  el archivo puede provocar algún daño al sistema. Al identificar el virus detectado, el mensaje será,   por   ejemplo   “Probablemente   desconocido   NewHeur_PE(Virus)”21  según   NOD32; “Suspicious” (sospechoso) o “PossibleThreat” (posible amenaza) en el caso de Fortinet; o “HEUR/Crypted” y “HEUR/Malware” entre otros para AntiVir de Avira.

Técnicas Heurísticas22

Existen  diferentes   técnicas  para   realizar   implementaciones  y  algoritmos  específicos  de búsquedas heurísticas en motores antivirus. Cualquiera de ellas responde a la idea básica antes explicada: identificar patrones conocidos de malware en archivos que no figuran en la base de firmas y clasificarlos como una ‘posible amenaza’. Algunas de ellas son:

• Firmas Genéricas: Permite la identificación de toda una familia de virus (el original y sus variantes) a través de una única vacuna genérica.

• Reconocimiento de código compilado: Analiza las instrucciones que se le darán al sistema y busca aquellas comunes en software malicioso. 

• Desensamblado:   Analiza   el   código   fuente   y   busca   técnicas   de   desarrollo comúnmente encontradas en códigos maliciosos.

• Desempaquetamiento: Es común la utilización de empaquetadores para modificar la  apariencia  de   los   virus.  Esta   técnica  consiste  en  desempaquetarlo  para  así poder analizar el código fuente.

Cómo se evalúa una técnica heurística

Para testear el rendimiento de los algoritmos heurísticos en cualquier antivirus, se realizan las llamadas ‘Evaluaciones retrospectivas’. Estas   consisten   en   detener   las   actualizaciones   para   el   software   durante   un   periodo determinado   de   tiempo   y,   luego   de   ello,   someter   al   antivirus   al   análisis   de   códigos maliciosos nuevos recolectados en ese mismo periodo sin tenerlos en su base de firmas. De esta forma, solo a través de su heurística el antivirus podrá reconocer las amenazas.El  resultado de este test  es un porcentaje  de detección que,  como antes nombramos, todavía en promedio no se encuentra en valores muy altos.

21 Perteneciente al antivirus NOD32. Más info en http://blogs.eset­la.com/laboratorio/2007/07/28/alguem­mandou­cartao­virtual/22

 Extraído de “Así funciona una heurística antivirus.” de Sergio Hernando en http://www.sahw.com/wp/archivos/2006/07/03/asi­funciona­una­heuristica­antivirus­primera­parte/http://es.wikipedia.org/wiki/Heur%C3%ADstica_en_antivirus

-Pág. 21 de 35

Page 22: Heuristica Antivirus

‘Heurística Antivirus’ - Sebastián Bortnik

Muchas   veces   este   es   el   único   valor   que   se   considera   para   evaluar   los   algoritmos heurísticos. Sin embargo, es útil considerar otras variables del test además del porcentaje de  detección.  Estas,   refieren  a   los   ya   nombrados  efectos  colaterales   negativos  de   la heurística: falsos positivos y bajo rendimiento de los recursos.

Como ejemplo,   tomaremos la última evaluación retrospectiva realizada por el  sitio web independiente av­comparative.org23, con fecha en Mayo de 200724.

El informe posee las tres secciones ya explicadas y se presenta a continuación los gráfico resumen en cada característica evaluada:

• Porcentaje de detección de nuevos códigos maliciosos sin base de firmas

• Falsos Positivos

23 Se toma como referencia por ser el último realizado (Agosto de 2007). Otros sitios web recomendables que realizan test independientes son Virus Bulletin (http://www.virusbtn.com) e Hispasec (http://www.hispasec.com/)24 http://www.av­comparatives.org/seiten/ergebnisse/report14.pdf

-Pág. 22 de 35

Page 23: Heuristica Antivirus

‘Heurística Antivirus’ - Sebastián Bortnik

• Rendimiento del escaner25

Más allá del resultado puntual de esta evaluación, es importante evaluar los tres aspectos para conocer realmente el rendimiento heurístico de un producto.

Una heurística muy paranoica detectará muchos virus pero también tendrá un alto grado de falsos positivos26.Una heurística muy liviana tendrá muy pocos falsos positivos pero un bajo porcentaje en la detección de códigos maliciosos.Una heurística muy compleja podrá tener valores aceptables en las primeras dos variables pero disminuir en forma notable el rendimiento de nuestro sistema.

Ninguno de los tres casos es lo que se pretende. Al desarrollar algoritmos heurísticos se busca el equilibrio entre las tres variables: alto grado de detección, bajo grado de falsos positivos y buen rendimiento.

Queda al lector conocer otras evaluaciones y hacer un seguimiento de estas a lo largo de los meses para ir evaluando a su criterio los diferentes antivirus. Además, las evaluaciones retrospectivas como la aquí  presentada, evalúan solo la heurística de un producto. Una evaluación   como   esta,   debe   ser   acompañada   de   otra   que   evalúe   el   rendimiento   del producto a través de las bases de firmas.

25 El mismo está medido en MB/sec. A más valor, mayor rendimiento.26 Ver Noticia “Heurísticas primitivas (antivirus)”. http://blog.hispasec.com/laboratorio/189

-Pág. 23 de 35

Page 24: Heuristica Antivirus

‘Heurística Antivirus’ - Sebastián Bortnik

¿La heurística reemplazará a la exploración por firmas?

Como   ya   se   ha   explicado,   con   las   nuevas   características   de   los   virus,   las   técnicas heurísticas son un complemento  indispensable  para  la detección basada en firmas.  No obstante, las limitaciones de la heurística hacen imposible escindir de las bases de firmas; en un primer término por los índices de detección y, en segundo lugar, por la incapacidad para desinfectar el ordenador de un virus específico.

En  el   campo  de   la   Inteligencia  Artificial   es  muy   difícil   hacer  afirmaciones  ya   que   los avances son cada vez más  importantes.  Decir  que  la  heurística no alcanzará   técnicas genéricas de desinfección sería aventurar demasiado. Pero en el corto y mediano plazo, las técnicas heurísticas seguirán conviviendo con las técnicas  clásicas  en   los  motores  antivirus.  Aunque  cada  vez  más   importantes,  por  el momento nos permiten estar cubiertos y poseer una detección pro activa antes de que se genere la vacuna contra alguna amenaza.

La   actualización   de   los   antivirus   y   la   utilización   de   firmas   siguen   siendo   cuestiones prioritarias para el usuario si se desea tener una protección completa frente a los virus informáticos.

-Pág. 24 de 35

Page 25: Heuristica Antivirus

‘Heurística Antivirus’ - Sebastián Bortnik

OTRAS APLICACIONES EN SEGURIDAD INFORMÁTICA

El mismo concepto aplicado en los software antivirus, se fue aplicando en otros aplicativos de la Seguridad Informática. Muchos de ellos ya funcionaban con técnicas reactivas y, en los   últimos   años,   comenzaron   a   complementarse   con   nuevas   técnicas   genéricas   de detección de amenazas para brindar una solución integral.A continuación, se presentan algunas aplicaciones y una breve explicación de cómo han empezado a implementar el concepto de heurística, solo presentado en forma genérica para poder compararlo con la utilización que dan a estas técnicas los antivirus.

AntiSpam

Spam es un mensaje no solicitado por el destinatario que se envía en forma masiva. El objetivo del mismo es ofrecer algún tipo de producto o servicio. A pesar de que el medio más común, y el que se explicará a continuación, es el correo electrónico, existen otros medios donde están apareciendo mensajes no deseados como foros, blogs o celulares por citar algunos. Actualmente, más del 50% del correo recibido en una cuenta, es Spam.

Un antispam es un programa que se encarga de identificar aquellos correos no deseados y diferenciarlos del correo ordinario. El funcionamiento básico del Spam es la utilización de blacklists  (listas negras),  que son  listas de direcciones de correo o direcciones  IP que están catalogadas como Spammers. De esta forma, el antispam puede filtrar los correos que provengan de direcciones que figuren en la lista negra que utilice27. La similitud entre esta técnica y la base de firmas en los antivirus es clara: una técnica reactiva que requiere conocer la amenaza (en este caso su dirección) antes de poder atacarla.La implementación de algoritmos de detección proactiva para prevenir el spam consiste en una serie de reglas para identificar, analizando el contenido de un correo electrónico, si este es un spam. Se analizan los remitentes (si están falseados o no), el asunto del correo, las palabras, ciertas frases comunes, la puntuación, etc.Según la simlitud con los mensajes no deseados ya conocidos se cataloga o no al correo como sospechoso.Al  igual  que con los virus,  las técnicas heurísticas en el spam poseen falsos positivos. Cualquier lector habrá encontrado alguna vez en su correo no deseado algún mail que no era Spam.

FireWall

Es un elemento de hardware o software que controla el tráfico entre dos redes diferentes. Al igual que con el spam, los firewall poseen desde sus orígenes comportamientos más estáticos: bloqueo de puertos, bloqueo de ciertos tipos de paquetes, etc.

27 Existen varias listas negras. Diferentes soluciones utilizan algunas de ellas. Algunas direcciones web son: http://dsbl.org/listing ­ http://www.au.sorbs.net/lookup.shtml ­ http://spamcop.net/bl.shtml

-Pág. 25 de 35

Page 26: Heuristica Antivirus

‘Heurística Antivirus’ - Sebastián Bortnik

Las   nuevas   funcionalidades   heurísticas   para   los   firewall   consisten   en   algoritmos inteligentes que analizan el paquete e intenta determinar ‘qué quiere o va a hacer’ dicho paquete. Este tipo de algoritmos son más complejos ya que existen una amplia variedad de paquetes diferentes que pueden querer atravesar la red.

Filtros de Internet

Los filtros de Internet son aplicaciones que permiten controlar el uso seguro de Internet prohibiendo el ingreso a sitios web de sexo, violencia, prostitución, venta ilegal, entre otros. Estos programas están diseñados fundamentalmente para controlar el uso de los menores e Internet.El funcionamiento se divide de igual forma que los antispam, en dos protecciones:

• La reactiva que  tiene  una  lista  de sitios  web que se actualiza  constantemente, clasificados   de   forma   tal   que   el   usuario   puede   filtrar   según   la   categoría   y prohibir/permitir el acceso a la web.

• La proactiva que analiza el contenido de la página web y busca palabras asociadas a   las  diferentes  categorías  elegidas.  De  esta   forma  se  define   un  umbral   para permitir/denegar el  ingreso al sitio que, muchas veces, es configurable. De esta forma,   se  puede  decidir   restringir   un  sitio  al   encontrar  5/10/15  veces  palabras asociadas. La lista de palabras también posee actualizaciones.

Los   falsos  positivos  aquí   también son simples  de graficar.  El   ingreso a un sitio  sobre psicoanálisis puede ser prohibido si se posee una política muy exigente y se encuentran muchas palabras relacionadas con el sexo.

Educación en Seguridad

Con   el   pasar   de   los   años,   cada   vez   son   más   las   amenazas   que   aprovechan   una vulnerabilidad   del   sistema   que   no   está   protegida   por   ninguno   de   los   software   antes mencionados: la ignorancia del usuario.Es por ello que es indispensable la educación hacia la seguridad. Muchas amenazas como el phishing28, enmarcadas en la Ingeniería Social29, aprovechan la ignorancia del usuario para ejecutar el ataque con su inconciente colaboración.Obviamente un usuario  no puede poseer una lista de qué  es una amenaza y qué  no. Aunque parezca exagerado, todo lo referente a educación en Seguridad pretende que las  personas   utilicen   sus   capacidades   de   razonamiento   heurístico  para   protegerse   a   sí mismos. Obviamente no es importante que el usuario lo dimensione en estos término pero sí  brindarles  los conocimientos para poder identificar  una posible amenaza y tomar  los resguardos suficientes para protegerse de ello.

28Más info: http://es.wikipedia.org/wiki/Phishing29Más info: http://www.eset­la.com/pub/mvis.pdf

-Pág. 26 de 35

Page 27: Heuristica Antivirus

‘Heurística Antivirus’ - Sebastián Bortnik

CONCLUSIÓN

Hace   un   tiempo,   se   hablaba   de   la   necesidad   de   implementar   técnicas   de   detección genéricas en los software antivirus. Hoy, con varios años de experiencia aparecen, a mi criterio, dos desafíos importantes en el campo de la Seguridad Informática:

• Modificar  la estructura de los antivirus priorizando cada vez más las búsquedas heurísticas y, principalmente, optimizar los algoritmos de estas para obtener altos rendimientos y mejores resultados en la prevención de malware.

• Implementar   la prevención proactiva a través de algoritmos heurísticos en otras aplicaciones de la Seguridad Informática.

Los   avances   informáticos   y   la   popularización   de   Internet,   han   sido   más   rápidamente aprovechados por los creadores de malware que por las empresas antivirus. Los métodos reactivos a través de firmas, efectivos durante mucho tiempo, ya son insuficientes para proteger la Pc. La implementación de búsquedas heurísticas como método de prevención ha sido de suma utilidad, especialmente en las empresas que han puesto el eje en ello y han logrado alta efectividad en la prevención proactiva. Sin embargo, los números indican que hay que seguir trabajando al respecto. Crear y mejorar algoritmos ‘inteligentes’ es una tarea mucho más compleja que crear vacunas para virus conocidos, pero es la realidad que hoy nos toca enfrentar. No obstante,  considero  que  la  optimización de   los   resultados  es  un paso que debe  ir acompañado de un cambio estructural y educativo en cuanto a la utilización de cualquier software   antivirus.   Los   efectos   colaterales   de   la   heurística,   principalmente   los   falsos positivos, no serían un problema significativo para los usuarios si se llevaran a porcentajes razonables,   y   si   estos   fueran  concientes   de   los  métodos   de  búsqueda   que  posee  el antivirus.Un usuario que conozca las capacidades de detección genérica de su software, no debería molestarse al ver en su Pc, un aviso como el siguiente:

“El motor de búsqueda ha detectado, a través de sus capacidades heurísticas, un archivo  sospechoso que podría ser una amenaza para su ordenador”

Obviamente, el mensaje aquí propuesto es bastante más extenso que los breves, y por momentos inentendibles, avisos que arrojan los antivirus en la actualidad al detectar una amenaza. Es justamente por ello que considero primordial la educación de los usuarios al respecto. De esta forma, los software antivirus podrán modificar su estructura para trabajar interactivamente con el usuario. Un usuario medio nunca podrá entender en profundidad el funcionamiento de un antivirus pero sí las ideas fundamentales y los conceptos. Hoy en día   este,   la   única   certeza   que   tiene   sobre   su   antivirus   es   que  “busca   virus   en   su  computadora”. El mismo usuario en muchas ocasiones, no sabe qué hacer ante el alerta de virus, ni qué botón seleccionar cuando se le ofrece más de una acción. Es por ello, que 

-Pág. 27 de 35

Page 28: Heuristica Antivirus

‘Heurística Antivirus’ - Sebastián Bortnik

todos los avances en los métodos de detección genéricos son en vano si los usuarios no aprenden a tenerlos en cuenta, a la hora de elegir qué antivirus instalar en su ordenador.

En segundo término, considero que se deben terminar de plasmar los métodos genéricos de búsqueda en todas las aplicaciones de la Seguridad Informática.  En estas técnicas, reposa el   futuro de  la detección de amenazas y debe profundizarse este cambio para brindar   protección   real   a   los   sistemas.   Sin   métodos   proactivos,   ninguna   aplicación (Firewall,  Antispam,  IDS, etc.)  será  capaz de dar una solución  integral  para detectar  y prevenir de cualquier amenaza informática.Como ya se ha mencionado, la creación de estos métodos de búsqueda es mucho más compleja   que   mantener   los   “antiguos”   procedimientos   reactivos   utilizados   hasta   el momento.   Los   nuevos   desafíos,   implican   estudiar   mucho   más   en   profundidad   las amenazas   y   la   clave   del   éxito   está   en   caracterizarlas   profundamente,   saber   cómo funcionan y qué   recursos utilizan.  Para resumir,  diría que  lo  importante es  ‘conocer al  enemigo’.

Estos  son  los  desafíos  próximos  en   lo  que  respecta  al  análisis  heurístico  y  detección genérica   de   amenazas   informáticas.   Con   el   avance   de   estos,   los   antiguos   métodos reactivos que brindan una solución por cada amenaza conocida,  se convertirán en un aspecto   básico   de   cualquier   software   pero   no   permitirán   inesperados   niveles   de rendimiento  o  diferenciarse  de  otras  soluciones.  Además,  el   avance de   la   Inteligencia Artificial es tan veloz que es imposible afirmar que los algoritmos heurísticos no podrán desinfectar la Pc. Si así fuera y se agregara a ello la capacidad de aprendizaje autónomo en función de las diferentes amenazas encontradas, probablemente algún día los métodos reactivos dejarán de existir.De una u otra forma, es innegable que el futuro de la detección de malware reposa en estos métodos y que la detección genérica de amenazas es el nuevo paradigma de la seguridad   informática,   al   cual   el   entorno   deberá   terminar   de   adaptarse   para   que   las soluciones sean cada vez más efectivas.

-Pág. 28 de 35

Page 29: Heuristica Antivirus

‘Heurística Antivirus’ - Sebastián Bortnik

Modelo teórico para la creación de reglas heurísticas en seguridad

El siguiente modelo fue creado a forma de resumen sobre cómo se utiliza el concepto de heurística en la seguridad. Consta de en una serie de pasos para la creación de las reglas y  un  algoritmo general  que permite  detectar   las amenazas a  través  de una búsqueda heurística.  El mismo, no es de utilidad para  implementaciones reales en algoritmos de programación. Es solo un modelo teórico para facilitar la comprensión.Cabe   mencionar,   que   considero   que   el   modelo   es   útil,   no   solo   para   la   seguridad informática, sino también para la aplicación heurística en cualquier área de la seguridad.

Un conjunto de reglas heurísticas está determinado por los siguientes elementos:

• Una base de datos de características genérales de amenazas• Criterio/s de selección para determinar si un elemento es o no una amenaza.

Los pasos propuestos para obtener los mismosresultado final son:

1. Identificar las amenazas conocidas.2. Caracterizar las amenazas individualmente.3. Organizar las características y agruparlas según su aparición.4. Ponderar cada característica según su frecuencia.5. Seleccionar uno o más criterios de aceptación/rechazo en función de los valores 

adoptados en el paso anterior.

Suponga que se selecciona una base de 200 gusanos de alta propagación en los últimos meses. En segundo término, se deben caracterizar individualmente. Este paso es el más arduo y complejo en la elaboración de reglas y de su buena realización dependerá el resto del proceso. Una vez listadas todas las características, se debe realizar, como tercer paso, un filtro de selección. Este consiste en agrupar las características comunes y ordenarlas según su aparición y, considerar  solo  las características que  tengan una  frecuencia de aparición razonable. Por ejemplo, el envío masivo de e­mails seguramente aparecerá en  la mayoría de los gusanos analizados. Sin embargo ciertas características con baja frecuencia, que aparezcan en menos de 10 gusanos por ejemplo, pueden dejar de tenerse en cuenta para los siguientes pasos.El cuarto paso consiste en ponderar a través de un “valor de peligro” cada una de las características.   Esto   se   hace   según   las   frecuencias   de   aparición.   Una   característica encontrada en 100 gusanos tendrá el doble “valor de peligro” que una encontrada en 50 gusanos.  Esto,  en  la   realidad,  puede variar  y  hacerse exponencial  según  los métodos específicos que se creen para la ponderación de variables. Por último, se debe decidir a partir de qué “valor de peligro” acumulado, un elemento, será considerado una amenaza. Es decir, no se calificará a un objeto un gusano solo porque   encuentro   una   línea   de   código   sospechosa.   Se   deben   reunir   un   conjunto   de características que  indicaran  que el  elemento es sospechoso.  Este valor  es el  que se 

-Pág. 29 de 35

Page 30: Heuristica Antivirus

‘Heurística Antivirus’ - Sebastián Bortnik

define en este último paso. De esta forma se tienen los dos requerimientos para configurar una regla heurística.

Una vez creadas las reglas, para cualquier elemento que se desee determinar si es o no una amenaza, deberá pasar por algún algoritmo heurístico, cuya forma teórica se explica a continuación. La entrada es el elemento a analizar y se inicializa su “valor de peligro” en 0 (cero). Se tienen los resultados de las reglas antes mencionadas: una base de datos con características comunes y sus “valores de peligro”; y el criterio de selección (se supone un único criterio para simplificar el caso).

Para cada característica en la base de datos¿Se encuentra en el elemento la característica?Si sí � Si no �Sumar   al  “valor   de   peligro”  el   valor asociado a la característica

¿Es el “valor de peligro” > ‘umbral de selección’?Si sí � Si no �Se   considera   al  elemento    una amenaza para el sistema.

Se considera al elemento seguro.

En   resumen,   para   el   elemento   que   se   desea   analizar   se   buscan  cada   una  de   las características que figuran en la base de datos y se acumulan los valores individuales de aquellas que coincidan y sean encontradas en él. En el caso que el “valor de peligro”  total supere el  criterio  de selección,  se considera al  elemento una amenaza a  través de  la búsqueda heurística y se deberá indicar un alerta. Obviamente, en el caso de que el “valor de peligro” no sea lo suficientemente alto, el elemento se considerará seguro y se confiará en él.

El modelo aquí presentado, lo he creado mientras avanzaba en el desarrollo del trabajo y me ha sido de utilidad resumir las ideas en él y comprender mejor la relación entre las variables  y  conceptos  que se  interrelacionan en  la  utilización  de   reglas  heurísticas  en seguridad.

-Pág. 30 de 35

elemento

Mensaje de alerta

Page 31: Heuristica Antivirus

‘Heurística Antivirus’ - Sebastián Bortnik

FUENTES

Bibliografía

• HARLEY, DAVID; SLADE, ROBERT; GATTIKER, URS – “Viruses Revealed:  Understanding and Counter Malicious Software”. McGraw­Hill Companies (2001). ISBN 0­0721­3090­3

• PAJARES, MARTINSANZ; SANTOS PEÑAS, MATILDE. “Inteligencia Artificial e  ingeniería del conocimiento”. Alfaomega (2006). ISBN 9701511662.

• POLYA, GEORGE. “How To Solve It: A New Aspect of Mathematical Method”. Princeton University Press (1973). ISBN 0691023565.

• RUSSELL, STUART; NORVIG, PETER. “Inteligencia Artificial, un enfoque  moderno”. Pearson Prentice Hall (2004). ISBN 842054003X

Sitios Web

• “Alerta Anti­Virus”http://alerta­antivirus.red.es/

• “Av­Comparatives”http://www.av­comparatives.org/

• Blog Laboratorio Esethttp://blogs.eset­la.com/laboratorio/

• “Enciclopedia Virus”http://www.enciclopediavirus.com/home/

• “Eureka”http://ciencianet.com/eureka.html

• “Kriptopolis”http://www.kriptopolis.org/

• “Real Academia Española”http://www.rae.es/

• “Segu­Info”http://www.segu­info.com.ar

• Virus List

-Pág. 31 de 35

Page 32: Heuristica Antivirus

‘Heurística Antivirus’ - Sebastián Bortnik

http://www.viruslist.com

• Webopediahttp://www.webopedia.com/

Papers

• ATOCHA, ALISEDA –  "Heurística, hipótesis y demostración en matemáticas"http://www.filosoficas.unam.mx/~Tdl/atocha.htm

• BENJUMEA PULIDO, MIGUEL A. – “EUREKA, EUREKA, el principio de Arquímedes visto desde la perspectiva de un diálogo clásico.”http://personales.ya.com/casanchi/rec/arqui01.pdf

• BORGHELLO, CRISTIAN F. – “Cronología de los virus informáticos”http://www.eset­la.com/press/informe/cronologia_virus_informaticos.pdf

• BORGHELLO, CRISTIAN F. – “Guía básica de utilización de medios Informáticos de forma segura”Perteneciente al curso on­line de seguridad en http://edu.eset­la.com/

• BORGHELLO, CRISTIAN F. – “La historia sin fin: Virus Bagle”http://www.eset­la.com/press/informe/historia_sin_fin_virus_bagle.pdf

• GORDON, SARAH – “The Anti­Virus Strategy System”http://www.research.ibm.com/antivirus/SciPapers/Gordon/Strategy.html#GENERAL

• GORDON, SARAH – “What is Wild?”http://vx.netlux.org/lib/pdf/What%20is%20Wild%3F.pdf

• GORDON, SARAH; FRASER HOWARD – “Antivirus Software Testing for the New Millenium”http://csrc.nist.gov/nissc/2000/proceedings/papers/038.pdf

• HARLEY,   DAVID;   LEE,   ANDREW   –   “Análisis   heurístico:   detectando   malware desconocido”http://www.eset­la.com/press/informe/analisis_heuristico_   detectando_  malware_desconocido.pdf

• HERNANDO, SERGIO – “Así funciona una heurística antivirus”http://www.sahw.com/wp/archivos/2006/07/03/asi­funciona­una­heuristica­antivirus­  primera­parte/

• KUMAR, SANDEEP; SPAFFOR, EUGENE H. – “A Generis Virus Scanner in C++”

-Pág. 32 de 35

Page 33: Heuristica Antivirus

‘Heurística Antivirus’ - Sebastián Bortnik

http://vx.netlux.org/lib/pdf/A%20Generic%20Virus%20Scanner%20in%20C%2B%2B.pdf

• MACHADO, JORGE – “Breve Historia de los Virus Informáticos”http://www.perantivirus.com/sosvirus/general/histovir.htm

• MCAFEE – “An Introduction to Computer Viruses (and other destructive programs)”http://www.mcafee.com/common/media/vil/pdf/av_white.pdf

• MERELO, J. J. – “Técnicas heurísticas de resolución de problemas: computación evolutiva y redes neuronales”http://geneura.ugr.es/~jmerelo/tutoriales/heuristics101/

• MIN, PATRICK – “Virus Detection Alternatives”http://vx.netlux.org/lib/apm00.html

• MOSTOVOY, DMITRY – “Modern Methods of Detecting and Eradicating Known and Unknown viruses”http://vx.netlux.org/lib/pdf/Modern%20Methods%20of%20Detecting%20and%20Eradicating%20Known%20and%20Unknown%20Viruses.pdf

• SCHMALL, MARKUS – “Heuristic Techniques in AV Solutions: An Overview”http://www.securityfocus.com/infocus/1542

• SCHMIDT, CHARLES; DARBY, TOM – “The What, Why, and How of the 1988 Internet Worm”.http://snowplow.org/tom/worm/worm.html

• SPAFFORD, EUGENE – “Computer Viruses as Artificial Life”http://vx.netlux.org/lib/aes02.html

Otros

• ANTI­VIRUS COMPARATIVE NO. 14 (Test independiente – Mayo 2007)http://www.av­comparatives.org/seiten/ergebnisse/report14.pdf

• ANTIVIRUS, RENDIMIENTO VS. PROTECCIÓN (Artículo)http://www.hispasec.com/unaaldia/3210/

• COMO FUNCIONA UN ANTIVIRUS (Video desarrollado por McAfee)http://www.youtube.com/watch?v=0Q_hSXqsmTA

• CÓMO FUNCIONA UN LABORATORIO ANTIVIRUS (Noticia)http://www.terra.es/tecnologia/articulo/html/tec10175.htm

-Pág. 33 de 35

Page 34: Heuristica Antivirus

‘Heurística Antivirus’ - Sebastián Bortnik

• HEURÍSTICA ANTIVIRUS (Artículo) ­ Moreno Pérez, Arnolodohttp://alerta­antivirus.red.es/virus/ver_pag.html?tema=V&articulo=6&pagi na=4

• HEURÍSTICA DE LOS ANTIVIRUS (Artículo)http://www.zonavirus.com/datos/articulos/19/Heur%C3%ADstica_Antivirus.asp

• HOW COMPUTER VIRUSES WORK (Video ­ Artículo)http://www.howstuffworks.com/virus.htm

• LOS   LABORATORIOS   DE   ANTIVIRUS,   DESBORDADOS   POR   LA MULTIPLICACIÓN DE PROGRAMAS PELIGROSOS (Artículo)http://www.mn­soft.net/es_seguridad_los_laboratorios_de_antivirus_  desbordados_por_la_multiplicacion_de_programas_peligrosos­no­9.html

• RICHARD MARKO, de ESET (Entrevista)http://www.enciclopediavirus.com/enciclopedia/articulo.php?id=343http://www.wikilearning.com/entrevista­wkccp­4911­1.htm

• TEST DE ANTIVIRUS (Página Web de Eicar)http://www.eicar.org/anti_virus_test_file.htm

-Pág. 34 de 35

Page 35: Heuristica Antivirus

‘Heurística Antivirus’ - Sebastián Bortnik

El presente documento es autoría de Sebastián Bortnik y puede descargarse del siguiente link:

http://unmundobinario.wordpress.com/articulos/

-Pág. 35 de 35