Saltar al contenido principal
Technology

Emulador

El emulador ejecuta las instrucciones del objeto una por una en un entorno virtual seguro, recopila artefactos y los pasa al analizador heurístico para detectar funciones de comportamiento malicioso de un archivo binario o un script.


Acerca de la tecnología de emulación de código

El método de emulación de código de detección de malware analiza el comportamiento de un archivo emulando su ejecución en un entorno virtual (emulado). En general, este método es similar al de la detección de malware en un sandbox, pero la emulación y el sandbox completo difieren en detalles de diseño y aplicación. Veamos la diferencia.

Un sandbox completo, a diferencia de un emulador, es un método "pesado". Emula el entorno completo y ejecuta una muestra analizada en una máquina virtual con un sistema operativo (SO) real y aplicaciones instaladas. Como resultado, este método requiere una gran potencia computacional y plantea limitaciones de compatibilidad para el sistema host. Por este motivo, un sandbox es más eficaz en soluciones centralizadas in situ y en la nube. No es adecuado para la detección de malware en hosts de usuarios y otros equipos normales.

Un emuladoremula solo la ejecución de la muestra misma. Crea temporalmente objetos con los que interactúa la muestra: contraseñas que un elemento de malware querrá robar, antivirus que intentará detener la memoria, el registro del sistema, etc. Estos objetos no son partes reales del sistema operativo o software, sino que son imitaciones realizadas por el emulador. Su control sobre el entorno emulado permite al emulador adelantarse al tiempo, ser testigo del comportamiento futuro de los archivos y evitar que el malware se evada por demora en el tiempo.

Un emulador determina las funciones de comportamiento esenciales de un archivo analizado mientras utiliza muchos menos recursos que un sandbox y es adecuado para hosts de usuarios. Por lo general, la ejecución de archivos desconocidos se pospone hasta que se analiza con un emulador. El enfoque de emulación no es nuevo, pero algunos emuladores son muy avanzados y su participación en la detección de malware es considerable. Los emuladores de hoy en día están facultados con servicios de reputación basados en la nube y su eficacia se ve incrementada por el aprendizaje automático.

Emulador de Kaspersky

Nuestras soluciones incluyen un emulador como una línea de defensa en un método de varios niveles de protección. Emula los archivos y scripts binarios, y la importancia de estos últimos está creciendo con la mayor popularidad de los ataques sin archivos basados en scripts.

La emulación se ha optimizada para recursos informáticos limitados. Se necesita mucha menos RAM por objeto que un sandbox y, simultáneamente, analiza muchos objetos sin cargar sustancialmente el sistema. Debido a la aceleración de hardware, la emulación utiliza de forma segura el procesador para acelerar la exploración unas 20 veces.

Nuestras soluciones comienzan con la lectura de emulación "a pedido" cuando un usuario solicita un análisis de disco, o "en acceso" cuando un objeto se analiza automáticamente antes de que se acceda a él o se ejecute. La emulación puede comenzar en paralelo con otros métodos de detección, como solicitudes de reputación del proceso en la nube.

Los emuladores se implementan en las soluciones de endpoint de Kaspersky, soluciones de nivel de pasarela (por ejemplo, servidores proxy y de correo electrónico) y en la protección del entorno de virtualización. En la infraestructura de Kaspersky, los potentes emuladores son parte del canal de clasificación de objetos.

Tareas del emulador:

  • Emula la ejecución de cualquier archivo ejecutable (PE): *.exe, *.dll, *.sys y otros en el entorno de Windows.
  • Procesa tipos de script JavaScript, VBScript y AutoIT, scripts independientes (descargados como archivos).
  • Analiza los scripts recibidos a través de un enlace web (en una página web, en un correo electrónico, en un mensaje), incorporadas en archivos PDF y MS Office.

Actualizaciones

La tecnología de emulación se implementa con un núcleo de emulación y registros de detección, que analizan los datos proporcionados por el núcleo. Los registros se crean en Kaspersky y las actualizaciones las descargan soluciones cada hora. Un registro de detección puede detectar muchas muestras de malware diferentes con contenido binario diferente, pero con un comportamiento similar.

Flujo de trabajo de detección de malware

  1. El emulador recibe una solicitud para analizar un objeto (un archivo ejecutable o un script) desde otro componente de una solución de seguridad.
  2. El emulador ejecuta de forma segura las instrucciones del objeto una a una en un entorno virtual a partir del punto de entrada del objeto. Si una instrucción interactúa con el entorno (sistema operativo, registro, otros archivos, web, memoria, etc.), el emulador imita la respuesta de estos objetos.
  3. El emulador recopila artefactos y los pasa al analizador heurístico. El analizador pasa un veredicto basado en estos artefactos al componente que solicitó el análisis.
  4. La emulación se detiene cuando hay suficientes artefactos para detectar malware o debido a un tiempo de espera agotado.

Artefactos recopilados mediante el emulador

Para archivos ejecutables (binarios):

  • Registro de llamadas API
  • Todos los cambios en el sistema de archivos y el registro del sistema
  • Volcados de memoria

Para scripts:

  • Argumentos y devoluciones de operaciones de cadena
  • Llamadas de funciones integradas y de funciones proporcionadas por el entorno
  • Eventos
  • Se reduce al sistema de archivos y los scripts secundarios

Prevención de la evasión

Los desarrolladores de malware avanzados equipan a su malware con características para evitar la detección en emulación. Nuestro emulador rastrea y neutraliza estas nuevas técnicas de evasión. Ejemplos:

Evasión A: Antes de la ejecución, el malware debe descomprimir. Esto toma mucho tiempo de computación y, por lo general, es suficiente para evadir la detección mediante un tiempo de espera de emulación.

Contraevasión A: El emulador reconoce archivos comprimidos y ajusta la profundidad de emulación según corresponda. La aceleración de hardware proporciona el emulador potencia suficiente para pasar por la descompresión.

Evasión B: Antes de ejecutar su carga maliciosa, el malware puede acceder a recursos web o parámetros de su entorno (por ejemplo, nombre del equipo, tamaño del disco) y comprobar si están disponibles y son significativos. Al no ver una respuesta significativa, un malware no ejecutará su carga y evadirá la detección.

Contraevasión B: Después de las solicitudes del archivo analizado, el emulador imita la información sobre el entorno y los recursos del sistema, haciéndolo tan importante como pueda. Por ejemplo, aleatoriza los nombres de los equipos, de modo que el malware puede no utilizar nombres de equipos específicos como una señal de ejecución en una emulación

Productos relacionados

ARTICLE

A Modern Hypervisor as a Basis for a Sandbox


ARTICLE

“The evolution of technologies used to...

Resultados de la evaluación comparativa independiente

Tecnologías relacionadas

Enfoque de seguridad en varios niveles

La verdadera ciberseguridad debe basarse en la sinergia de diversas técnicas de protección, desde los registros antivirus clásicos hasta la detección basada en comportamiento con modelos de aprendizaje profundo.

SandBox

Nuestros sandboxes se ejecutan en las instalaciones, en la nube y en la infraestructura de análisis de malware de Kaspersky y aplican diversas técnicas antievasión, al tiempo que su rendimiento de detección está respaldado con inteligencia contra amenazas de Kaspersky Security Network.

Defensas avanzadas contra ataques dirigidos: KATA Platform

Para detectar y responder de manera eficaz a las amenazas más complejas, incluidas las APT, se deben aplicar tecnologías avanzadas como aprendizaje automático, sandbox y búsqueda automatizada y proactiva de amenazas a los eventos y objetos agregados desde la infraestructura corporativa.