Sólo la mitad del malware es detectado por programas antivirus exclusivos
La detección basada en firmas es un mecanismo comúnmente utilizado por las soluciones antivirus para identificar variantes de malware conocidas. El antivirus compara una huella o firma única de malware con cada archivo que ingresa a una computadora o red. Cualquier archivo que coincida con la firma se identifica como malware y se marca como malicioso.
Lamentablemente, la detección basada en firmas es cada vez menos eficaz. Dado que los ciberdelincuentes utilizan una variedad de técnicas para derrotarlo, detectar y eliminar infestaciones de malware requerirá otras técnicas, como la detección de anomalías y la autoprotección de las aplicaciones en tiempo de ejecución.
Los AV exclusivos son cada vez más ineficaces
Sólo el 50% del malware es detectado por los sistemas antivirus basados en firmas. La razón de esto es que los autores de malware utilizan cada vez más técnicas diseñadas específicamente para anular la detección de firmas, como el empaquetado de código, el cifrado, el polimorfismo y el malware sin archivos.
-
Embalaje de código
Algunas variantes de malware utilizan el “empaquetado” para ocultar códigos o datos de malware identificables. Un empaquetador está diseñado para comprimir u ofuscar de otro modo el contenido del malware. Una vez que el malware está en la computadora de destino, se ejecuta un “código auxiliar de descompresión” (un pequeño fragmento de código no ofuscado) que descomprime el código malicioso, lo que le permite ejecutarse en la computadora infectada.
Debido a que existe una amplia variedad de empaquetadores (y los autores de malware pueden escribir los suyos propios), muchas herramientas que intentan realizar análisis estáticos de código malicioso (sin ejecutarlo) no pueden revertir la ofuscación. Como resultado, las firmas generadas en función del código de malware no podrán coincidir ni identificar la muestra.
-
Usando cifrado
Un paso adelante respecto al uso de técnicas simples de compresión u ofuscación es el uso de cifrado para proteger el malware de la detección. En este caso, el algoritmo de ofuscación utilizado es un algoritmo de cifrado sólido, que no se puede descifrar sin acceder a la clave de cifrado adecuada.
Normalmente, cifrar algo para el malware en la máquina infectada tiene un valor limitado ya que el malware necesita acceso a la clave de cifrado para realizar el descifrado (lo que significa que incluso un analista forense podría encontrar y utilizar la clave). Sin embargo, cuando el objetivo es simplemente obstaculizar o retrasar la detección de una infección de malware, utilizar el cifrado e incrustar la clave de cifrado dentro del malware es una buena manera de hacerlo.
-
Malware polimórfico
Si bien el uso de compresión y cifrado es útil para frustrar el análisis de firmas mediante algunas herramientas, no es una solución perfecta. Algunas soluciones de ciberseguridad ejecutarán código sospechoso en un entorno sandbox, lo que significa que el código de descompresión o descifrado será ejecutado por el propio malware, revelando el código y los datos desofuscados. En este punto, la detección tradicional basada en firmas puede resultar eficaz.
El malware polimórfico adopta un enfoque diferente para derrotar la detección de firmas. En lugar de ocultar las partes de sí mismo que podrían coincidir con las firmas, el malware polimórfico garantiza que no haya dos muestras de malware que coincidan con la misma firma.
El malware lo hace transformando su propio código de manera que no afecte la funcionalidad del malware en sí. Muchas instrucciones de bajo nivel (como insertar el valor cero en un determinado registro de computadora) se pueden ejecutar de diferentes maneras.
Si bien intercambiar dos de estos en una sola línea de código no afectaría el funcionamiento del malware, sí provocaría que las dos versiones del malware tuvieran un hash de archivo completamente diferente. Dado que los hashes de archivos se utilizan comúnmente para identificar diferentes variantes de malware, este simple cambio dejaría completamente inutilizables los algoritmos de detección de firmas basados en hash. Dado que el malware polimórfico es tan eficaz para frustrar la detección basada en firmas, no sorprende que el 93% del malware moderno sea polimórfico.
-
Malware sin archivos
La detección basada en firmas funciona comparando un archivo que contiene código potencialmente malicioso con una biblioteca de firmas de variantes de malware conocidas. Sin embargo, este enfoque sólo es eficaz si hay un archivo de código malicioso con el que comparar.
El malware sin archivos está diseñado para “vivir de la tierra” aprovechando funciones legítimas integradas en el sistema de destino. Herramientas como Windows PowerShell es extremadamente poderoso y un ciberdelincuente a menudo puede lograr su objetivo simplemente ejecutando algunos comandos de PowerShell desde un documento de Word infectado.
De lo contrario, el documento malicioso podría actuar como un descargador solicitando código malicioso protegido por uno de los otros mecanismos descritos aquí.
El malware sin archivos es eficaz porque no incluye archivos para comparar con la detección basada en firmas. Como resultado, es una técnica cada vez más popular utilizada por los autores de malware.
Protección contra amenazas de malware
La detección de malware basada en firmas ha sido una técnica popular durante mucho tiempo, ya que es simple y efectiva. Las características únicas de una muestra de malware se pueden extraer manual o automáticamente, y estas características se pueden usar para generar una firma con la que se puede comparar cada archivo que ingresa a una computadora o red.
Sin embargo, la simplicidad de la detección de firmas también hace que sea fácil de eludir. Técnicas como el empaquetado de códigos, el cifrado y el polimorfismo permiten que una muestra de malware evite la detección basada en firmas. Con el malware sin archivos, no hay ningún archivo cuya firma coincida.
La baja tasa de efectividad de la detección de firmas (solo 50%) significa que se necesitan alternativas para proteger los dispositivos finales de las amenazas de malware. Los mecanismos de detección basados en anomalías pueden ser eficaces para detectar archivos maliciosos si existe un archivo.
En el caso del malware sin archivos, donde el programa malicioso utiliza aplicaciones legítimas para lograr sus objetivos, puede ser necesaria una solución como Runtime Application Self-Protection (RASP). RASP envuelve un programa, observando sus entradas, salidas y comportamiento. Cualquier anomalía desencadena una respuesta, haciendo detectable incluso el malware sin archivos.