jueves, 17 de junio de 2010

Técnicas para la detección de virus informáticos
Existen diferentes técnicas para la detección de los virus informáticos.3
Scanning o rastreo: Fue la primera técnica que se popularizó para la detección de virus informáticos, y que todavía se utiliza -aunque cada vez con menos eficiencia. Consiste en revisar el código de todos los archivos ubicados en la unidad de almacenamiento - fundamentalmente los archivos ejecutables - en busca de pequeñas porciones de código que puedan pertenecer a un virus informático.
La primera debilidad de este sistema radica en que al detectarse un nuevo virus, este debe aislarse por el usuario y enviarse al fabricante de antivirus, la solución siempre será a posteriori: es necesario que un virus informático se disperse considerablemente para que se envíe a los fabricantes de antivirus. Estos lo analizarán, extraerán el trozo de código que lo identifica y lo incluirán en la próxima versión de su programa antivirus. Este proceso puede demorar meses a partir del momento en que el virus comienza a tener una gran dispersión, lapso en el que puede causar graves daños sin que pueda identificarse.
Otro problema es que los sistemas antivirus deben actualizarse periódicamente debido a la aparición de nuevos virus. Sin embargo, esta técnica permite identificar rápidamente la presencia de los virus más conocidos y, al ser estos los de mayor dispersión, posibilita un alto índice de soluciones.
Comprobación de suma o CRC (Ciclyc Redundant Check): Es otro método de detección de virus. Mediante una operación matemática que abarca a cada byte del archivo, generan un número (de 16 ó 32 bytes) para cada archivo. Una vez obtenido este número, las posibilidades de que una modificación del archivo alcance el mismo número son muy pocas. Por eso, es un método tradicionalmente muy utilizado por los sistemas antivirus. En esta técnica, se guarda, para cada directorio, un archivo con los CRC de cada archivo y se comprueba periódicamente o al ejecutar cada programa. Los programas de comprobación de suma, sin embargo, sólo pueden detectar una infección después de que se produzca. Además, los virus más modernos, para ocultarse, buscan los ficheros que generan los programas antivirus con estos cálculos de tamaño. Una vez encontrados, los borran o modifican su información.
Programas de vigilancia: Ellos detectan actividades que podrían realizarse típicamente por un virus, como la sobreescritura de ficheros o el formateo del disco duro del sistema. En esta técnica, se establecen capas por las que debe pasar cualquier orden de ejecución de un programa. Dentro del caparazón de integridad, se efectúa automáticamente una comprobación de suma y, si se detectan programas infectados, no se permite que se ejecuten.
Búsqueda heurística: Es otra técnica antivirus que evita la búsqueda de cadenas. Con ella, se desensambla el programa y se ejecuta paso a paso, a veces mediante la propia CPU. De ese modo, el programa antivirus averigua qué hace exactamente el programa en estudio y realiza las acciones oportunas. En general, es una buena técnica si se implementa bien, aunque el defecto más importante es la generación de falsas alarmas, que no se tiene la certeza de que un programa sea un virus en función de su comportamiento. La mayoría de los virus nuevos evitan directamente la búsqueda heurística modificando los algoritmos, hasta que el programa antivirus no es capaz de identificarlos.
A pesar de utilizar estas cuatro técnicas, ningún programa puede asegurar la detección del ciento por ciento de los virus.
La calidad de un programa antivirus no sólo se demuestra por el número de virus que es capaz de detectar, sino también por el número de falsas alarmas que produce, es decir, cuando el programa antivirus estima que ha localizado un virus y en realidad se trata de un fichero sano (falso positivo). Puede ocurrir que un fichero presente una combinación de bytes idéntica a la de un virus, y el programa antivirus indicaría que ha detectado un virus y trataría de borrarlo o de modificarlo

Los Antivirus informáticos
El antivirus normalmente escanea cada archivo en la computadora y lo compara con las tablas de virus que guarda en disco. Esto significa que la mayoría de los virus son eliminados del sistema después que atacan a éste. Por esto el antivirus siempre debe estar actualizado, es recomendable que se actualice una vez por semana para que sea capaz de combatir los virus que son creados cada día. También, los antivirus utilizan la técnica heurística que permite detectar virus que aun no están en la base de datos del antivirus. Es sumamente útil para las infecciones que todavía no han sido actualizadas en las tablas porque trata de localizar los virus de acuerdo a ciertos comportamientos ya preestablecidos.
¿Qué se debe tener en cuenta para calificar un antivirus?
Un antivirus inexpertos, debe ser evaluado por distintas características como son, capacidad de detección de software malignos conocidos y desconocidos, actualización constante y efectiva, velocidad de escaneo y monitorización, dar grandes posibilidades a los expertos y sencillez a los efectiva limpieza de los virus y buena documentación de ayuda.Antivirus mas populares
Kaspersky Anti-virus.
Panda Security.
Norton antivirus.
McAfee.
avast! y avast! Home
AVG Anti-Virus y AVG Anti-Virus Free.
BitDefender.
F-Prot.
F-Secure.
NOD32.
PC-cillin.
ZoneAlarm AntiVirus.

TÉCNICAS DE DETECCIÓN
La detección consiste en reconocer el accionar de un virus por los conocimientos sobre el comportamiento que se tiene sobre ellos, sin importar demasiado su identificación exacta. Este otro método buscará código que intente modificar la información de áreas sensibles del sistema sobre las cuales el usuario convencional no tiene control –y a veces ni siquiera tiene conocimiento-, como el master boot record, el boot sector, la FAT, entre las más conocidas. Otra forma de detección que podemos mencionar adopta, más bien, una posición de vigilancia constante y pasiva. Esta, monitorea cada una de las actividades que se realizan intentando determinar cuándo una de éstas intenta modificar sectores críticos de las unidades de almacenamiento, entre otros. A esta técnica se la conoce como chequear la integridad.


ANÁLISIS HEURÍSTICO
La técnica de detección más común es la de análisis heurístico. Consiste en buscar en el código de cada uno de los archivos cualquier instrucción que sea potencialmente dañina, acción típica de los virus informáticos. Es una solución interesante tanto para virus conocidos como para los que no los son. El inconveniente es que muchas veces se nos presentarán falsas alarmas, cosas que el scanner heurístico considera peligrosas y que en realidad no lo son tanto. Por ejemplo: tal vez el programa revise el código del comando DEL (usado para borrar archivos) de MS-DOS y determine que puede ser un virus, cosa que en la realidad resulta bastante improbable. Este tipo de cosas hace que el usuario deba tener algunos conocimientos precisos sobre su sistema, con el fin de poder distinguir entre una falsa alarma y una detección real.
ELIMINACIÓN
La eliminación de un virus implica extraer el código del archivo infectado y reparar de la mejor manera el daño causado en este. A pesar de que los programas antivirus pueden detectar miles de virus, no siempre pueden erradicar la misma cantidad, por lo general pueden quitar los virus conocidos y más difundidos de los cuales pudo realizarse un análisis profundo de su código y de su comportamiento. Resulta lógico entonces que muchos antivirus tengan problemas en la detección y erradicación de virus de comportamiento complejo, como el caso de los polimorfos, que utilizan métodos de encriptación para mantenerse indetectables. En muchos casos el procedimiento de eliminación puede resultar peligroso para la integridad de los archivos infectados, ya que si el virus no está debidamente identificado las técnicas de erradicación no serán las adecuadas para el tipo de virus.
Hoy día los antivirus más populares están muy avanzados pero cabe la posibilidad de que este tipo de errores se de en programas más viejos. Para muchos el procedimiento correcto sería eliminar completamente el archivo y restaurarlo de la copia de respaldo. Si en vez de archivos la infección se realizó en algún sector crítico de la unidad de disco rígido la solución es simple, aunque no menos riesgosa. Hay muchas personas que recomiendan reparticionar la unidad y reformatearla para asegurarse de la desaparición total del virus, cosa que resultaría poco operativa y fatal para la información del sistema. Como alternativa a esto existe para el sistema operativo MS-DOS / Windows una opción no documentada del comando FDISK que resuelve todo en cuestión de segundos. El parámetro /MBR se encarga de restaurar el registro maestro de booteo (lugar donde suelen situarse los virus) impidiendo así que este vuelva a cargarse en el inicio del sistema. Vale aclarar que cualquier dato que haya en ese sector será sobrescrito y puede afectar mucho a sistemas que tengan la opción de bootear con diferentes sistemas operativos. Muchos de estos programas que permiten hacer la elección del sistema operativo se sitúan en esta área y por consiguiente su código será eliminado cuando se usa el parámetro mencionado.
Para el caso de la eliminación de un virus es muy importante que el antivirus cuente con soporte técnico local, que sus definiciones sean actualizadas periódicamente y que el servicio técnico sea apto para poder responder a cualquier contingencia que nos surja en el camino.

COMPROBACIÓN DE INTEGRIDAD
Como ya habíamos anticipado los comprobadores de integridad verifican que algunos sectores sensibles del sistema no sean alterados sin el consentimiento del usuario. Estas comprobaciones pueden aplicarse tanto a archivos como al sector de arranque de las unidades de almacenamiento.
Para poder realizar las comprobaciones el antivirus, primero, debe tener una imagen del contenido de la unidad de almacenamiento desinfectada con la cual poder hacer después las comparaciones. Se crea entonces un registro con las características de los archivos, como puede ser su nombre, tamaño, fecha de creación o modificación y, lo más importante para el caso, el checksum, que es aplicar un algoritmo al código del archivo para obtener un valor que será único según su contenido (algo muy similar a lo que hace la función hash en los mensajes). Si un virus inyectara parte de su código en el archivo la nueva comprobación del checksum sería distinta a la que se guardó en el registro y el antivirus alertaría de la modificación. En el caso del sector de booteo el registro puede ser algo diferente. Como existe un MBR por unidad física y un BR por cada unidad lógica, algunos antivirus pueden guardarse directamente una copia de cada uno de ellos en un archivo y luego compararlos contra los que se encuentran en las posiciones originales.
Una vez que el antivirus conforma un registro de cada uno de los archivos en la unidad podrá realizar las comprobaciones de integridad. Cuando el comprobador es puesto en funcionamiento cada uno de los archivos serán escaneados. Nuevamente se aplica la función checksum y se obtiene un valor que es comparado contra el que se guardó en el registro. Si ambos valores son iguales, el archivo no sufrió modificaciones durante el período comprendido entre el registro de cheksum antiguo y la comprobación reciente. Por el otro lado, si los valores checksum no concuerdan significa que el archivo fue alterado y en ciertos casos el antivirus pregunta al usuario si quiere restaurar las modificaciones. Lo más indicado en estos casos sería que un usuario con conocimientos sobre su sistema avale que se trata realmente de una modificación no autorizada –y por lo tanto atribuible a un virus-, elimine el archivo y lo restaure desde la copia de respaldo.
La comprobación de integridad en los sectores de booteo no es muy diferente. El comprobador verificará que la copia que está en uso sea igual a la que fue guardada con anterioridad. Si se detectara una modificación en cualquiera de estos sectores, le preguntará al usuario por la posibilidad de reconstruirlos utilizando las copias guardadas. Teniendo en cuenta que este sector en especial es un punto muy vulnerable a la entrada de los virus multipartitos, los antivirus verifican constantemente que no se hagan modificaciones. Cuando se detecta una operación de escritura en uno de los sectores de arranque, el programa toma cartas en el asunto mostrando en pantalla un mensaje para el usuario indicándole sobre qué es lo que está por suceder. Por lo general el programa antivirus ofrece algunas opciones sobre como proceder, evitar la modificación, dejarla continuar, congelar el sistema o no tomar ninguna medida (cancelar).
Para que esta técnica sea efectiva cada uno de los archivos deberá poseer su entrada correspondiente en el registro de comprobaciones. Si nuevos programas se están instalando o estamos bajando algunos archivos desde Internet, o algún otro archivo ingresado por cualquier otro dispositivo de entrada, después sería razonable que registremos el checksum con el comprobador del antivirus. Incluso, algunos de estos programas atienden con mucha atención a lo que el comprobador de integridad determine y no dejarán que ningún archivo que no esté registrado corra en el sistema.

PROTEGER ÁREAS SENSIBLES
Muchos virus tienen la capacidad de “parasitar” archivos ejecutables. Con esto se afirma que el virus localizará los puntos de entrada de cualquier archivo que sea ejecutable (los archivos de datos no se ejecutan por lo tanto son inutilizables para los virus) y los desviará a su propio código de ejecución. Así, el flujo de ejecución correrá primero el código del virus y luego el del programa y, como todos los virus poseen un tamaño muy reducido para no llamar la atención, el usuario seguramente no notará la diferencia. Este vistazo general de cómo logra ejecutarse un virus le permitirá situarse en memoria y empezar a ejecutar sus instrucciones dañinas. A esta forma de comportamiento de los virus se lo conoce como técnica subrepticia, en la cual prima el arte de permanecer indetectado.
Una vez que el virus se encuentra en memoria puede replicarse a sí mismo en cualquier otro archivo ejecutable. El archivo ejecutable por excelencia que atacan los virus es el COMMAND.COM, uno de los archivos fundamentales para el arranque en el sistema operativo MS-DOS. Este archivo es el intérprete de comandos del sistema, por lo tanto, se cargará cada vez que se necesite la shell. La primera vez será en el inicio del sistema y, durante el funcionamiento, se llamará al COMMAND.COM cada vez que se salga de un programa y vuelva a necesitarse la intervención de la shell. Con un usuario desatento, el virus logrará replicarse varias veces antes de que empiecen a notarse síntomas extraños en la computadora.
El otro “ente” ejecutable capaz de ser infectado es el sector de arranque de los discos magnéticos. Aunque este sector no es un archivo en sí, contiene rutinas que el sistema operativo ejecuta cada vez que arranca el sistema desde esa unidad, resultando este un excelente medio para que el virus se propague de una computadora a la otra. Como dijimos antes una de las claves de un virus es lograr permanecer oculto dejando que la entidad ejecutable que fue solicitada por el usuario corra libremente después de que él mismo se halla ejecutado. Cuando un virus intenta replicarse a un disquete, primero deberá copiar el sector de arranque a otra porción del disco y recién entonces copiar su código en el lugar donde debería estar el sector de arranque.
Durante el arranque de la computadora con el disquete insertado en la disquetera, el sistema operativo MS-DOS intentará ejecutar el código contenido en el sector de booteo del disquete. El problema es que en esa posición se encontrará el código del virus, que se ejecuta primero y luego apuntará el hacia la ejecución a la nueva posición en donde se encuentran los archivos para el arranque. El virus no levanta sospechas de su existencia más allá de que existan o no archivos de arranque en el sector de booteo.
Nuestro virus se encuentra ahora en memoria y no tendrá problemas en replicarse a la unidad de disco rígido cuando se intente bootear desde esta. Hasta que su módulo de ataque se ejecute según fue programado, el virus intentará permanecer indetectado y continuará replicándose en archivos y sectores de booteo de otros disquetes que se vayan utilizando, aumentando potencialmente la dispersión del virus cuando los disquetes sean llevados a otras máquinas.


LOS TSR
Estos programas residentes en memoria son módulos del antivirus que se encargan de impedir la entrada del cualquier virus y verifican constantemente operaciones que intenten realizar modificaciones por métodos poco frecuentes. Estos, se activan al arrancar el ordenador y por lo general es importante que se carguen al comienzo y antes que cualquier otro programa para darle poco tiempo de ejecución a los virus y detectarlos antes que alteren algún dato. Según como esté configurado el antivirus, el demonio (como se los conoce en el ambiente Unix) o TSR (en la jerga MS-DOS / Windows), estará pendiente de cada operación de copiado, pegado o cuando se abran archivos, verificará cada archivo nuevo que es creado y todas las descargas de Internet, también hará lo mismo con las operaciones que intenten realizar un formateo de bajo nivel en la unidad de disco rígido y, por supuesto, protegerá los sectores de arranque de modificaciones.
Las nuevas computadoras que aparecieron con formato ATX poseen un tipo de memoria llamada Flash-ROM con una tecnología capaz de permitir la actualización del BIOS de la computadora por medio de software sin la necesidad de conocimientos técnicos por parte del usuario y sin tener que tocar en ningún momento cualquiera de los dispositivos de hardware. Esta nueva tecnología añade otro punto a favor de los virus ya que ahora estos podrán copiarse a esta zona de memoria dejando completamente indefensos a muchos antivirus antiguos. Un virus programado con técnicas avanzadas y que haga uso de esta nueva ventaja es muy probable que sea inmune al reparticionado o reformateo de las unidades de discos magnéticos.

APLICAR CUARENTENA
Es muy posible que un programa antivirus muchas veces quede descolocado frente al ataque de virus nuevos. Para esto incluye esta opción que no consiste en ningún método de avanzada sino simplemente en aislar el archivo infectado. Antes que esto el antivirus reconoce el accionar de un posible virus y presenta un cuadro de diálogo informándonos. Además de las opciones clásicas de eliminar el virus, aparece ahora la opción de ponerlo en cuarentena. Este procedimiento encripta el archivo y lo almacena en un directorio hijo del directorio donde se encuentra el antivirus.
De esta manera se está impidiendo que ese archivo pueda volver a ser utilizado y que continúe la dispersión del virus. Como acciones adicionales el antivirus nos permitirá restaurar este archivo a su posición original como si nada hubiese pasado o nos permitirá enviarlo a un centro de investigación donde especialistas en el tema podrán analizarlo y determinar si se trata de un virus nuevo, en cuyo caso su código distintivo será incluido en las definiciones de virus.
Programas antivirus
Un programa antivirus está compuesto por 2 módulos principales: el primero denominado de control y el segundo de respuesta. A su vez, cada uno de ellos se divide en varias partes
Módulo de control: posee la técnica para la verificación de integridad que posibilita el hallazgo de cambios en los archivos ejecutables y las zonas críticas de un disco rígido, así como la identificación de los virus. Comprende diversas técnicas para la detección de virus informáticos y de códigos dañinos: En caso necesario, busca instrucciones peligrosas incluidas en programas para garantizar la integridad de la información del disco rígido. Esto implica descompilar (o desensamblar) en forma automática los archivos almacenados y tratar de ubicar sentencias o grupos de instrucciones peligrosas. Finalmente, el módulo de control también efectúa un monitoreo de las rutinas mediante las que se accede al hardware de la computadora (acceso a disco, etc.). Al restringir el uso de estos recursos, -por ejemplo, cuando se impide el acceso a la escritura de zonas críticas del disco o se evita que se ejecuten funciones para su formateo-, se limita la acción de un programa.
Módulo de respuesta: la función alarma se encuentra incluida en todos los programas antivirus y consiste en detener la acción del sistema ante la sospecha de la presencia de un virus informático. Se informa la situación mediante un aviso en pantalla. Algunos programas antivirus ofrecen, una vez detectado un virus informático, la posibilidad de erradicarlo.
Características que debe poseer un sistema antivirus
La expresión "cuál es el mejor antivirus", puede variar de un usuario a otro. Es evidente que para un usuario inexperto el término define casi con seguridad al software que es más fácil de instalar y utilizar, algo totalmente intranscendente para usuarios expertos, administradores de redes, etc.4
No se puede afirmar que exista un solo sistema antivirus que presente todas las características necesarias para la protección total de las computadoras; algunos fallan en unos aspectos, otros tienen determinados problemas o carecen de ciertas facilidades.