Abstract-Malware analysis tools have evolved in the last years providing tightly controlled sandbox and virtualised environments where malware is analysed minimising potential harmful consequences. Unfortunately, malware has advanced in parallel, being currently able to recognise when is running in sandbox or virtual environments and then, behaving as a nonharmful application or even not executing at all. This kind of malware is usually called analysis-aware malware. In this paper, we propose a tool to detect the evasion techniques used by analysis-aware malware within sandbox or virtualised environments. Our tool uses Dynamic Binary Instrumentation to maintain the binary functionality while executing arbitrary code. We evaluate the tool under a set of well-known analysis-aware malware showing its current effectiveness. Finally, we discuss limitations of our proposal and future directions.Index Terms-analysis-aware malware, binary analysis, dynamic binary instrumentation.
I. INTRODUCCIÓNL VOLUMEN de aplicaciones software creadas con intenciones maliciosas o sospechosas (dícese malware por su nombre en inglés) ha crecido tanto en cantidad como en complejidad en la última década [18], [35], [36], [44]. La lucha contra el malware requiere una constante actualización de las técnicas defensivas, entender cómo actúa el malware, qué tipo de acciones dañinas realiza y cómo éstas pueden ser detectadas, eliminadas o prevenidas. Expertos analistas de malware deben hacer frente cada día a un creciente número de muestras de malware. Por ejemplo, la compañía especializada en antivirus Kaspersky indicó que en 2013 analizó, aproximadamente, 350.000 muestras de malware diarias [30]. La ingeniería inversa es el proceso desarrollado para conocer y entender las capacidades y comportamiento del malware; sin embargo, requiere mucho tiempo y trabajo. Dado el incremento diario de retos a los que se enfrentan los analistas de malware, dos tendencias complementarias han emergido recientemente en el análisis de La automatización del proceso de análisis del malware permite, por un lado, un conocimiento del comportamiento de la muestra de una forma ágil y rápida, y por tanto permite mantener actualizadas las bases de datos de anti-virus para proteger de forma efectiva a los usuarios finales ante nuevas amenazas. Por otro lado, el aislamiento del entorno de análisis de malware previene que durante el proceso de análisis el malware pueda infectar un sistema o una red legítima, o incluso llegue a interferir en el negocio de la empresa donde se está llevando el análisis. En este sentido, en este artículo sólo consideramos las soluciones software propuestas para aislar el entorno de análisis de malware, dejando de lado las soluciones basadas en máquinas físicas aisladas como entorno de análisis.Sin embargo, los desarrolladores de malware han aprendido a su vez cómo se analizan las muestras de malware, y por ello han empezado a incorporar a sus desarrollos diversas técnicas de evasión que permiten reconocer cuándo el malware está siendo ejecutado...