domingo, 30 de septiembre de 2012

¿Cómo funcionan los Antivirus?

Identificación

Para identificar un virus primero deberemos detectarlo y luego determinar de cuál se trata.
A la técnica de identificación se le conoce como “scanning”. Los programas antivirus poseen
cadenas propias de cada virus. Dichas cadenas las usará el antivirus como “huella” para identificar
si un fichero se trata o no de virus y si es así cuál es en concreto.
Teóricamente se deberían comprobar todos los archivos del sistema con todas y cada una de las
cadenas de virus que tiene en la base de datos el antivirus, pero esto en la práctica no es eficiente
ya que sería bastante costoso.
Para que este proceso sea posible, y un usuario pueda identificar un virus, con anterioridad otro
usuario debe haber informado de su presencia a las empresas desarrolladoras de antivirus para
que éstas creen la cadena del virus y preparen su desinfección si es que es posible. Por ello es tan
importante tener actualizadas las bases de datos y que la empresa desarrolladora de nuestro
antivirus saque con frecuencia actualizaciones de las firmas.
Esto último es lo que hace que la técnica de scanning sea algo débil, ya que para que un virus sea
detectado depende de que tengamos su firma en nuestro antivirus. Durante ese transcurso de
tiempo el virus es libre.

Detección

Es muy interesante detectar un virus antes de que ocasione daños. Por ello es primordial
detectarlo por encima de identificarlo. La técnica de scanning es algo débil por lo que aparecen
otras técnicas que nos permiten detectar a un virus aunque no sepamos exactamente cual es.
Entre ellas se encuentran el análisis heurístico y la comprobación de integridad.
· Análisis heurístico
Puede ser considerada como la técnica de detección de virus más común. Está técnica analizará los
distintos ficheros en búsqueda de instrucciones, o secuencia de ellas, dañinas para el sistema.
Algunos posibles ejemplos serian instrucciones de que intentarán replicarse, modificaciones en la
FAT, acceso a los contactos de nuestro programa de correo, etc.
No obstante alguna de las instrucciones comentadas antes no tienen porqué ser dañinas. Por ello
esta técnica conlleva multitud de falsas alarmas.

· Comprobación de integridad

Técnica de detección que consiste en una vigilancia continua de algunos sectores del sistema
controlando que estos no sean alterados sin el permiso del usuario.
Esta comprobación se realiza tanto en archivos como en sectores de arranque.
Para poder usar está técnica lo primero que deberá hacer el antivirus será crear un registro con las
características (nombre, tamaño, fecha….) de cada uno de los archivos y aplicar sobre cada uno de
ellos un algoritmo que nos dará un valor, en principio único (aunque en ocasiones dos ficheros
distintos han producido checksum idénticos), denominado checksum.
En el momento en que un virus se introduzca en un fichero será detectado por el antivirus al
realizar la consiguiente comprobación de checksum, ya que al aplicar dicho algoritmo sobre el
fichero el checksum resultante no será el mismo.
El método de comprobación de integridad para un MBR o para el sector de boot es bastante
similar, pero en este caso no solo se hará un checksum sino que también se hará una copia de
seguridad de dichos datos. De esta forma cuando el antivirus se encuentre monitorizando si
encuentra alguna diferencia entre los checksum avisará al usuario y dará la posibilidad de
restaurar con las copias de seguridad hechas anteriormente.
Obviamente para que esta técnica sea efectiva, todos los checksum y copias de seguridad deben
realizarse antes de que el sistema esté infectado, ya que si no es así los checksum a pesar de que
un fichero contenga virus estarán correctos.

 Eliminación

Podría parecer sencillo el hecho de desinfectar o eliminar un virus de un fichero ya que la idea es
sencilla: extraer el código dañino del fichero infectado, que normalmente como ya dijimos se sitúa
en el inicio y fin del fichero. Pero no es una tarea tan sencilla ya que por lo general los antivirus
son capaces de eliminar un pequeño porcentaje de los virus, exactamente de los que se tiene un
amplio conocimiento, por lo general los más conocidos.
Incluso en los casos en los que la eliminación sea posible puede ser peligrosa ya que si el virus no
está perfectamente identificado las técnicas usadas para su eliminación no serán las adecuadas.
Por todo ello quizás lo más adecuado en los casos en que la seguridad sea crítica es borrar dichos
ficheros infectados y restaurarlos con la correspondiente copia de seguridad. Incluso si no estamos
seguros o si la infección se ha realizado en los sectores de arranque la solución pasaría por
formatear la unidad correspondiente (si tenemos la seguridad de que no han sido infectadas las
demás unidades del sistema).

Demonios de protección

Conocidos en el ámbito de UNIX como demonios de protección y el de MSDOS como TSR, éstos
son módulos del antivirus que residen en memoria evitando la entrada de cualquier virus y
controlando aquellas operaciones que se consideren sospechosas. Controlará operación de
creación de nuevos ficheros, borrado, copia, etc.
Dichos demonios serán cargados antes que cualquier otro programa para poder detectar desde un
principio la carga en memoria de los posibles virus.

 Cuarentena

Ya que la eliminación de los virus, como ya indicamos, no siempre es posible, en muchas ocasiones
la solución podría consistir en borrar el fichero. Esto es un procedimiento arriesgado ya que puede
que realmente el fichero no esté infectado, y que no se tenga copia de seguridad para restaurarlo
por lo que borrarlo supondría perderlo. Es aquí cuando surge el concepto de cuarentena.
Todos aquellos ficheros que sospechemos que realmente no están infectados o que nos queremos
asegurar de su infección (porque no podemos permitirnos borrarlos así como así) se pondrán en
cuarentena. La cuarentena consiste en encriptar dicho fichero y guardarlo en un directorio creado
para tal efecto.
Esto paralizará el posible daño del virus, si es que realmente se trata de un virus, o restaurarlo en
el momento en que nos aseguremos de que no es un virus.

Bases de datos de antivirus

Para que la técnica de scanning sea efectiva, las definiciones, cadenas o firmas de los virus deben
estar actualizadas. De esto se ocuparán las compañías de antivirus que controlarán los virus
siguiendo sus posibles modificaciones y sacarán nuevas firmas.
No obstante no solo es imprescindible mantener actualizadas dichas firmas sino que también es
importante mantener actualizado el programa antivirus en sí, ya que nos proporcionará técnicas
mejoradas de análisis heurístico, mejora de los demonios de protección

No hay comentarios:

Publicar un comentario