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:
- La presencia de herramientas VM: por ejemplo, si está utilizando VMware, su sistema puede tener más de 50 referencias a VMware en sus archivos del sistema.
- Parámetros de hardware específicos exclusivos de VM o entornos físicos reales: estos se pueden encontrar consultando números de serie o valores atribuidos a procesadores, placas base, etc.
- Las claves de registro pueden contener grandes volúmenes de valores que solo utilizan los sistemas virtuales: VMware puede almacenar más de 300 referencias a VMware
- Las estructuras de memoria del sistema específicas pueden estar ubicadas en diferentes áreas para entornos de VM, incluida la tabla de descriptores de interrupciones (IDT).
- Identificación de la dirección MAC o el número de serie del BIOS del adaptador de red virtual: VMware está asociado con direcciones MAD que comienzan con 00-05-69, 00-0c-29, 00-1c-14 o 00-50-56.
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.
- parche malo
- PALILLO
- AcogedorCoche
- tinte
- conejito malvado
- FIN7
- FinFisher
- GravityRAT
- HAWKBALL
- UpsIE
- OSX_OCEANLOTUS.D
- EnchufeX
- cachorro
- Remcos
- PícaroRobin
- ROKRAT
- Cargador de humo
- SynAck
- UBarcoRAT
- Ursnif
- yty
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
- Los entornos sandbox basados en virtualización son vulnerables al malware avanzado , Lastline
- Virtualización/Evasión Sandbox , MITRE ATTCK
- Arquitecturas Sandbox: ¿cuál es mejor para detectar malware? , Última línea