Análisis de malware

Malware de zona de pruebas basado en virtualización

11 de marzo de por Greg Belding

Introducción

Sandboxing es bien conocido por su capacidad para ejecutar código de forma segura sin posibles efectos maliciosos que afecten al sistema. Normalmente se utilizan para probar cómo reaccionarán los programas y aplicaciones en un entorno y en cualquier otro momento en el que desee probar la confiabilidad del código. Pero es posible que muchos no sepan que existen dos tipos diferentes de sandboxing y que no son iguales.

Este artículo detallará el malware basado en virtualización y explorará: las diferencias entre malware virtualizado y emulado, malware sandbox basado en virtualización en general y las tres técnicas diferentes que utiliza el malware para evadir el malware basado en virtualización. Daremos un resumen de algunos de los diferentes malware y familias de malware que aprovechan las vulnerabilidades del sandbox basado en virtualización.

¡Conviértete en un ingeniero inverso certificado!

Obtenga capacitación práctica en vivo sobre análisis de malware desde cualquier lugar y conviértase en un analista certificado de ingeniería inversa. Comienza a aprender

Sandboxing basado en virtualización versus emulado

Los entornos sandbox se utilizan normalmente para detectar malware y la relativa seguridad del código. Sin embargo, el malware avanzado y las familias de malware pueden evadir tanto a los consumidores principales como a los entornos sandbox de próxima generación. Esto se aplica a los entornos limitados basados ​​en virtualización o a los entornos limitados que se ejecutan en máquinas virtuales.

Los entornos aislados emulados son donde se emula todo el sistema, desde la memoria hasta la CPU y los dispositivos de E/S. Ofrece la mayor visibilidad sigilosa de lo que ocurre dentro de los programas y aplicaciones. El sandboxing basado en virtualización ofrece menos sigilo (ya que el malware puede detectar fácilmente el hipervisor y luego ocultar sus acciones maliciosas) y ofrece menos visibilidad dentro de los programas y aplicaciones. Esta es una deficiencia importante del sandboxing basado en virtualización.

Malware de zona de pruebas basado en virtualización

El malware avanzado puede detectar si se ejecuta o se ejecuta dentro de un entorno limitado. Cuando detecta una zona de pruebas, simplemente evitará realizar acciones maliciosas y evadirá con éxito la detección. Luego, el entorno de pruebas etiquetará erróneamente el archivo como benigno y se le permitirá ingresar a la red.

Sin detectar que está en una zona de pruebas, el malware simplemente procederá con normalidad y realizará acciones maliciosas. La clave aquí es no permitir la detección, de modo que si se trata de malware, pueda verlo tal como es en realidad.

Los entornos limitados basados ​​en virtualización no pueden evadir la detección porque el malware puede detectar entornos de máquinas virtuales como VMware, Xen y KVM. Cuando este sistema operativo (SO) «invitado» se ejecuta sobre un sistema operativo «host», inserta artefactos en el sistema host. Algunos de estos artefactos incluyen archivos del sistema operativo, procesos, funciones adicionales de la CPU y otros elementos necesarios para la virtualización. Estos artefactos son las señales reveladoras que busca el malware avanzado al detectar la presencia de sandbox o VM y es una de las técnicas exploradas.

Técnicas para evitar entornos sandbox basados ​​en virtualización

Hay tres técnicas que utiliza el malware avanzado para evitar entornos limitados basados ​​en virtualización.

Descubrimiento de artefactos de máquinas virtuales

Como se mencionó anteriormente, las máquinas virtuales suelen incluir artefactos que dejan pistas sobre su presencia en un sistema. Puede considerarlos como un rastro de rutas de navegación que el malware puede utilizar para detectar un entorno limitado basado en virtualización. Hay varias rutas de navegación diferentes que los atacantes pueden utilizar, entre ellas:

Descubrimiento de actividad del usuario

La actividad del usuario en el host, incluidos los marcadores del navegador, el historial, la memoria caché, etc., puede ser indicativa de un entorno auténtico.

El malware también puede detectar la actividad del usuario haciendo referencia a la interacción del usuario y a las firmas digitales. La actividad del usuario se puede determinar utilizando la frecuencia y la velocidad de los clics del mouse; los entornos aislados tendrán la misma cantidad. Se pueden obtener otras pruebas de la interacción específica del usuario, como la interacción con el sistema que precede a la activación del código malicioso. Un ejemplo de esto es el tiempo que tarda un usuario en activar un código malicioso al hacer doble clic en una imagen incrustada.

Descubrimiento de huellas digitales de hardware virtual

Los atacantes pueden comprobar la temperatura del sistema y el ventilador para determinar si el entorno es físico. Se puede realizar una verificación de la CPU de un ventilador del sistema con una consulta WMI de $q = “Select * from Win32_Fan” Get-WmiObject -Query $q. Si los resultados arrojan cero elementos, es probable que la máquina sea virtual.

Ejemplos de malware sandbox basado en virtualización

Hay muchos ejemplos diferentes de malware que pueden evadir los entornos limitados basados ​​en virtualización. Los siguientes ejemplos de malware utilizan las técnicas enumeradas anteriormente.

Mitigación y detección

El malware sandbox basado en virtualización no se puede mitigar fácilmente porque utiliza abusos de las funciones del sistema. Para eliminar esta capacidad del malware, esencialmente sería necesario desactivar la capacidad del sistema para utilizar entornos virtuales. Tampoco puede detectar fácilmente este tipo de malware, pero puede ser útil monitorear su sistema en busca de procesos sospechosos que recopilen información del sistema para su descubrimiento en un corto período de tiempo.

Conclusión

Los entornos sandbox normalmente se utilizan en parte para verificar si una aplicación, programa, ejecutable o simplemente un fragmento de código es malicioso. Los atacantes lo saben y pueden evadir eficazmente los entornos limitados basados ​​en virtualización, lo que facilita el acceso a un sistema objetivo. Al utilizar entornos aislados emulados, puede evitar esta vulnerabilidad y evitar mejor el malware mencionado anteriormente.

Fuentes

  1. Los entornos sandbox basados ​​en virtualización son vulnerables al malware avanzado , Lastline
  2. Virtualización/Evasión Sandbox , MITRE ATTCK
  3. Arquitecturas Sandbox: ¿cuál es mejor para detectar malware? , Última línea

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *