El antivirus y su defensa.

En informática los antivirus son programas cuyo objetivo es detectar o eliminar virus informáticos. Nacieron durante la década de 1980. Con el transcurso del tiempo, la aparición de sistemas operativos más avanzados e internet, ha hecho que los antivirus hayan evolucionado hacia programas más avanzados que no sólo buscan detectar virus informáticos, sino bloquearlos, desinfectar archivos y prevenir una infección de los mismos. Actualmente son capaces de reconocer otros tipos de malware, como spyware, gusanos, troyanos, rootkits, etc.
Esta protección se basa fundamentalmente en 2 métodos: firmas y heurística.

- Firmas: El antivirus buscara en el archivo indicios de que es un "software malicioso".Estos indicios pueden ser: secuencias de bits especificas, llamadas a librerías, nombres de variables, compresores de ejecutables, etc.

- Heurística: Si el archivo ha pasado el filtro de la firma (no tiene porque haber un orden), el antivirus observara el comportamiento del archivo, sus llamadas y que hace en el sistema: Llamadas a librerías, establecer conexiones, modificar directorios u archivos, estructura del propio fichero, etc. Básicamente es una lógica que busca un comportamiento no deseado en un fichero.

Ejemplo de Firmas:

Norma: Solo pueden pasar mujeres

Caso 1: Pasa una mujer – Correcto

Caso 2: Pasa un hombre – Denegado

Caso 3: Pasa un hombre disfrazado de mujer – Correcto
Ejemplo de Heurística:

Norma: Solo pueden pasar mujeres

Caso 1: Pasa una mujer – Correcto

Caso 2: Pasa un hombre – Denegado

Caso 3: Pasa un hombre disfrazado de mujer – Denegado

¿Como un atacante se salta esta protección?
Una vez que conocemos los métodos mas importantes de protección contra el software malicioso podemos indagar en como el atacante lucha contra estos métodos para obtener un ataque satisfactorio hacia un sistema protegido.

Básicamente, se trata de alterar el archivo malicioso todo lo posible sin que esto afecte a su funcionamiento. Se puede hacer principalmente de dos formas:

- Modificación binaria: Cambiar secuencias de bits, mover llamadas de memoria, cambiar llamadas a librerías, uso de compresores de ejecutables, etc.

-Modificación por código: Ofuscación del código, APIs, renombrar variables, funciones alternativas, etc.

Esto último más algo de ingeniería social, hacen que el atacante “infecte” a sus víctimas, tal y como se vera en la siguiente presentación.

Add Discussion