
Esta es, probablemente una de las situaciones que más molestan a las personas que, falsamente, se sienten protegidos porque, sienten que, al tener un antivirus, todo está protegido.
Un antivirus puede ser engañado por diversos tipos de amenazas cibernéticas debido a varias técnicas sofisticadas utilizadas por los maleantes para evadir la detección. Aquí te platico algunas de las acciones más comunes que un maleante emplea para lograr traspasar un antivirus sin querer decir que esta es una lista total de opciones.
Confusión de código: La idea central es cambiar el código del programa maligno para que sea complicado de analizar por un antivirus. De esta forma, por ejemplo, se cambian los nombres de las funciones del cófigo de los programas, se insertan instrucciones que no hacen nada (Se conocen como NOPs o “NO operation”) o bien se cifran ciertas partes para ocultar el código real que es dañino
Compresión y ciframiento: Parecido al punto anterior, cúando se comprime un archivo y además se cifra su contenido original deja de poder reconocerse por los motores de escaneo de los antivirus. De esta forma, mandan por ejemplo en un correo un archivo comprimido que al tu abrirlo ejecuta su carga nociva. Para esto, existen varias herramientas como UPX (Ultimate Packer for Executables) para comprimir el archivo o encriptar la “carga útil” (en inglés “payload”) del malware que te están provocando o motivando a que tu “abras”.
Droppers: Un dropper es un tipo de malware diseñado para instalar otros programas maliciosos. Los droppers pueden parecer benignos y solo desplegar el malware real después de evadir la detección inicial. Es así como se puede recibir un archivo aparentemente inofensivo que, una vez ejecutado, descarga y ejecuta el verdadero malware desde un servidor remoto, esto es, originalmente no tiene nada “malo” pero al correrlo, en vivo abre una “ventana” por la que se comunica a algo fuera de tu equipo, y lo descarga directamente. Tu antivirus ve esto como parte de lo que está haciendo, pues muchos programas al ejecutarse consultan algo de forma remota, pero este “jala” algo malo desde afuera para instalarlo, y como tu autorizaste que ese programa corriera, el antivirus te da su “voto de confianza”.
Técnicas de Polimorfismo y Metamorfismo: Polimorfismo y metamorfismo implican cambiar el código del malware cada vez que se propaga para evitar la detección basada en firmas, que es lo que busca un antivirus, algo que ya detectó que es “malo” pero como cada vez estos malwares se van modificando nunca se puede encontrar un patrón idéntico. De esta forma el polimorfismo cambia solo la apariencia del malware mientras mantiene su funcionalidad, mientras que el metamorfismo reescribe completamente su propio código.
Evasión de Análisis en Entorno de Sandbox: Algunos malware pueden detectar si están siendo ejecutados en un entorno de análisis (conocido como “sandbox” o “arenero” esto es, un lugar que está restringido) y modificar su comportamiento para parecer inofensivos. Aquí diversas herramientas ven como se comporta una aplicación dentro de un entorno controlado, y si todo es favorable, permiten que se “salga” del “arenero” y pueda funcionar en donde sea. Pues estas amenazas lo que hacen es que su comportamiento sea “bueno” mientras está en el arenero, y cuando sale lo detecta y hace sus actividades nefastas. De esta forma estas amenazas detectan cuando se les está “analizando” y mientras eso sucede “se portan bien”. Cuando ven que dejan de revisarlos, proceden a hacer sus malas intenciones.
Explotación de Vulnerabilidades Zero-Day: Se entiende por “zero day” a fallas o debilidades en software, hardware o firmware que son desconocidos para los responsables de su mantenimiento y para el público general. Debido a que no hay conocimiento previo de estas vulnerabilidades, no existen parches ni soluciones disponibles para corregirlas cuando son descubiertas o explotadas por primera vez, y el antivirus como consecuencia está pensando que así es como se comporta un programa que controla o administra los recursos del equipo en el que está operando, simplemente, el antivirus no ha sido entrenado para reconocerlas. En pocas palabras, si un maleante sabe la vulnerabilidad de ese programa o sistema operativo antes que los demás, puede aprovecharlo en su beneficio.
Uso de Técnicas de Ingeniería Social: He comentado mucho de este tema, y en esta liga: puedes escuchar un podcast del tema, pero, en esencia se trata de convencer a los usuarios para que desactiven el antivirus o ignoren las advertencias de seguridad por su propia cuenta. Así es, son manipulados a hacerlo. O bien, reciben correos electrónicos de phishing que parecen ser de fuentes confiables, instando a los usuarios a descargar y ejecutar archivos maliciosos.
Carga Maliciosa en Módulos de Software Legítimos: Esto consiste en insertar código malicioso dentro de software legítimo que tiene una firma digital válida, tal como modificar una aplicación popular para incluir malware y luego redistribuirla.
Uso de Técnicas de Rootkit: Este es un conjunto de herramientas o programas que permite a un atacante mantener acceso privilegiado a un sistema informático mientras oculta su presencia y las actividades maliciosas asociadas otorgando acceso de nivel administrativo (root) al sistema comprometido, lo que les permite controlar completamente el sistema, y son además difíciles de detectar porque se instalan en el núcleo del sistema operativo (kernel) donde alteran el sistema para ocultarlo, o modificando las llamadas del sistema operativo para que no alerten su presencia, o se ocultan en herramientas del sistema operativo para no poderse detectar
Distribución en Partes Fragmentadas: En este caso el malware se divide en varias partes que por sí solas no son maliciosas y se van ensamblando en el sistema objetivo. Esto puede suceder a través del envío de varios correos electrónicos que van llevando en pedazos una amenaza, pero al analizar cada parte por si sola no representan nada dañino, y al llegar la última pieza se tiene la capacidad de ensamblarse por si solo y efectuar su carga dañina.
Conclusión
Como puede observarse estas técnicas dan una idea cómo los atacantes pueden sofisticadamente evadir la detección de los antivirus, lo que resalta la importancia de utilizar múltiples capas de defensa y mantener siempre actualizado el software de seguridad.
Por lo anterior, y de manera muy elemental, algunas de las recomendaciones para apoyar que un antivirus no sea vulnerado están:
- Actualizar continuamente todas las aplicaciones y el sistema operativo.
- Utilizar otras herramientas, tales como firewalls, sistemas de prevención de intrusiones y tecnología de respaldo a tiempo real
- Contar con herramientas de análisis de comportamiento que detectan a nivel funcional cuando algún programa o aplicación está haciendo algo más allá de lo que está programado en hacer
- Emplear tecnología de análisis de tráfico que permite detectar actividades inusuales, transportando información no lógica.
- Aparte del establecimiento de políticas de auditoría, de listas “blancas” de aplicaciones confiables y herramientas para la ejecución permanente de parches del sistema operativo y todas las aplicaciones, entre los puntos más elementales.