Antivirus (AV)


     Los Antivirus, también conocidos como antimalware, son mecanismos de defensa desarrollados con el propósito de mantener la integridad y la seguridad en una terminal de trabajo, creando un entorno más seguro.

     Un aspecto importante a tomar en cuenta es que los antivirus realizan el análisis de los archivos binarios a nivel de disco, no en la memoria de acceso aleatorio (RAM), por sus siglas en inglés. Cuando un AV informa sobre el escaneo de la memoria, realmente se encuentra buscando en disco un programa que arranco un determinado proceso y en ese momento se ejecuta en la RAM, una vez localizado procede a escanear (en disco) en busca de malware. Cuando se trata de ejecutables dañinos desconocidos, se procede mediante rutinas heurísticas, las cuales pueden incluir: algoritmos de cifrado; llamadas a determinadas funciones tales como, rutinas de sobre escritura, encriptado, etc.



  Técnicas de detección Heurística para el estudio de programas dañinos.


    Algunos aspectos fundamentales para comprender el proceso de detección de programas dañinos mediante tecnología heurística, son los siguientes:

  • El desarrollo de programas dañinos se lleva a cabo mediante lenguajes de alto nivel (C, C++, etc.), luego se compilan generando código máquina que es interpretado por el CPU.
  • Los analistas de programas dañinos, por el contrario, aplican ingeniería inversa mediante el uso de un desensamblador para generar código ensamblador (asm, lenguaje de bajo nivel) a fin de analizar y averiguar cómo funcionan.
  • Tras determinar el funcionamiento de un determinado programa dañino, el analista genera una firma heurística para una serie acciones e índices de detección que luego se integra a los antivirus.
  • Los antivirus intentan aplicar los procesos de análisis humanos a un objeto mediante la toma de decisiones inteligentes, actuando bajo una serie de condiciones de la forma si (ANTECEDENTE) entonces (CONSECUENTE).
  • Los antivirus realizan el escaneo a nivel de disco, no en la memoria RAM, solo se encargan de detectar las llamadas al sistema y rastrear al binario que las realizo, una vez localizado procede a escanearlo (en disco) en busca de patrones o rutinas propias de los programas dañinos, si las localiza genera un alerta y actúa en consecuencia.
  • Los programas antivirus solo detectan una amenaza si las llamadas realizadas al sistema son clasificadas como sospechosas en su base de datos, en caso de binarios que permanecen en el disco sin acciones solo serán detectados mediante análisis programados por el usuario.

    La heurística se fundamenta en dos arquitecturas de análisis para cumplir con sus objetivos, como lo son: escaneo estático y dinámico, en el primer caso, se buscan atributos sospechosos o secuencias especificas de bits características de un programa dañino, modificación de secciones, empaquetado, encriptación, saltos de secuencia, entre otros, en el segundo caso, se sirve de la emulación del CPU para reunir información, luego de la inspección inicial, se analizan las llamadas realizadas al sistema (syscalls) en busca de comportamientos extraños, mecanismos de interrupción, sobre escritura de procesos, etc.

    Las técnicas empleadas para la recolección de datos pueden variar considerablemente en función de la arquitectura de la máquina, el Sistema Operativo y las herramientas o metodología utilizada para el proceso. Un análisis típico se centra en buscar las funciones más relevantes a fin de optimizar recursos y ahorrar tiempo.

0 comentarios: