Funcionamiento de los antivirus


Funcionamiento de los antivirus

Los antivirus son programas diseñados para proteger las computadoras y dispositivos móviles contra software malicioso, como virus, troyanos, gusanos, spyware y otros tipos de malware. Aquí te explico cómo funcionan en términos generales:

  1. Escaneo y Detección: La función principal de un antivirus es escanear los archivos y programas en tu dispositivo en busca de patrones y firmas conocidas de malware. Utilizan una base de datos actualizada regularmente que contiene información sobre las amenazas conocidas. Si el antivirus encuentra una coincidencia entre los archivos escaneados y las firmas en su base de datos, alerta al usuario y toma medidas para eliminar o poner en cuarentena el archivo infectado.
  2. Heurísticas y Comportamiento: Además de buscar firmas conocidas de malware, los antivirus también utilizan técnicas heurísticas y de análisis de comportamiento para identificar amenazas desconocidas. Observan el comportamiento de los programas y archivos en busca de acciones sospechosas o patrones de actividad típicos de malware.
  3. Actualizaciones: Los antivirus requieren actualizaciones frecuentes de sus bases de datos de firmas para mantenerse al día con las nuevas amenazas. Estas actualizaciones permiten al antivirus reconocer y defenderse contra las últimas variantes de malware.
  4. Prevención: Además de detectar y eliminar malware, los antivirus modernos también pueden prevenir infecciones en tiempo real mediante la detección de intentos de acceso no autorizado, sitios web maliciosos y enlaces peligrosos.
  5. Limpieza y Cuarentena: Cuando un antivirus detecta un archivo infectado, generalmente ofrece opciones para limpiar (eliminar el malware del archivo), poner en cuarentena (aislar el archivo infectado) o tomar otras medidas para evitar que el malware se propague.
  6. Firewall: Algunos antivirus también incluyen un firewall, que es una capa adicional de protección que controla y filtra el tráfico de red entrante y saliente para evitar accesos no autorizados y bloquear amenazas en línea.
  7. Escaneo programado y en tiempo real: Los antivirus a menudo ofrecen opciones para realizar escaneos programados en momentos específicos y también pueden realizar un monitoreo en tiempo real, verificando constantemente los archivos y programas a medida que se accede a ellos.

Es importante destacar que ningún antivirus es 100% infalible y que la seguridad informática es un enfoque en capas. Además de utilizar un antivirus confiable, es esencial mantener actualizado el sistema operativo, utilizar contraseñas seguras, ser cauteloso al abrir correos electrónicos y enlaces desconocidos, y mantener una buena higiene informática en general.

Los antivirus utilizan distintos tipos de mecanismos para detectar virus. Como demostró Frederick Cohen ningún método es totalmente efectivo para identificar un virus. Los tipos de mecanismos más usados por los antivirus para detectar virus son:

  • Basados en Firma de virus: El antivirus dispone de una base de datos en las que almacena firmas de virus. En el pasado estas firmas eran hashes con los que se intentaba ajustar todos los ficheros del equipo analizado. Esta medida es fácil de eludir cambiando cualquier instrucción del código y el hash resultante no coincidiría con ninguna firma de la base de datos. No tardó en sofisticarse esa técnica y se empezó a intentar buscar una secuencia de bytes concreta en cada muestra de malware que lo identificara, así de esta manera, tendrías que saber que parte del código es con la que han identificado tu binario para modificarla y no ser detectable. Es habitual el uso de reglas Yara para declarar patrones específicos para detectar un malware concreto.​ Para luchar contra estas firmas en los malware se emplearon codificadores que modificaban todo el código del binario. Ejemplos de codificadores son el básico XOR o el “Shikata ga nai” de Metasploit que añadía una capa de polimorfismo, generando una cadena de bits diferente cada vez que se produce la codificación. También surgieron los packers que encapsulaban el código dentro del binario y lo cifraban, de tal manera que las firmas no eran capaces de ser útiles. La debilidad de estos sistemas es que en el código hay que añadir las instrucciones necesarias para el desempaquetado del código y eso puede generar firmas que identifiquen un binario como potencialmente malicioso.
  • Basados en Detección heurística: Consiste en el escaneo de los archivos buscando patrones de código que se asemejan a los que se usan en los virus. Ya no es necesaria una coincidencia exacta con una firma de virus almacenada si no que se buscan similitudes más generales aplicando algoritmos.
  • Basados en Detección por comportamiento: consiste en escanear el sistema tras detectar un fallo o mal funcionamiento. Por lo general, mediante este mecanismo se pueden detectar software ya identificado o no, pero es una medida que se usa tras la infección.
  • Basados en la Detección por caja de arena (o sandbox): consiste en ejecutar el software en máquinas virtuales y determinar si el software ejecuta instrucciones maliciosas o no. A pesar de que este mecanismo es seguro, toma bastante tiempo ejecutar las pruebas antes de ejecutar el software en la máquina real.
  • Basados en la Detección por inteligencia artificial: consiste en el uso de tecnologías de inteligencia artificial para detectar comportamiento malicioso. Ejemplos de antivirus que san estas tecnologías son MIT AI2 (desarrollado por el MIT y IBM Watson for Cyber Security (desarrollado por IBM).
  • Basado en Indicadores de compromiso (IDC): Una vez los IDC han sido identificados pueden ser utilizados para la detección temprana de intentos de ataque que utilizan sistemas antivirus.

Los antivirus tradicionalmente se ejecutan en el sistema analizado y utiliza la red para actualizar su software y datos. Los antivirus en la nube lo que hacen es delegar la mayor parte del procesamiento del antivirus en la nube.​ Hay que establecer decisión de que procesamientos son lo suficientemente importantes como para incluirlas en el cliente local sin saturar y cuáles deberían permanecer en un servidor en la nube.​ Las principales ventajas que se tienen son: acceso más rápido a actualizaciones de software y datos (no depender de actualización manual o de las actualizaciones automáticas programadas), el cliente del antivirus en el equipo a analizar es mucho más pequeño y requiere poco procesamiento dejando recursos para nuestro uso, facilidad de uso e instalación.​ Las principales desventajas son: dependencia con respecto a la conexión, posibles problemas de privacidad al enviar datos a la nube y posible foco de infección secundaria al subir datos a la nube.


Deja un comentario