Estudio de malware
El análisis de malware es el estudio o proceso de determinación de la funcionalidad, el origen y el impacto potencial de una muestra de malware determinada, como un virus , un gusano , un troyano , un rootkit o una puerta trasera . [1] El malware o software malicioso es cualquier software informático destinado a dañar el sistema operativo del host o robar datos confidenciales de los usuarios, organizaciones o empresas. El malware puede incluir software que recopila información del usuario sin permiso. [2]
Casos de uso
Hay tres casos de uso típicos que impulsan la necesidad de análisis de malware:
- Gestión de incidentes de seguridad informática : si una organización descubre o sospecha que algún malware puede haber ingresado a sus sistemas, un equipo de respuesta puede desear realizar un análisis de malware en cualquier muestra potencial que se descubra durante el proceso de investigación para determinar si es malware y, de ser así, qué impacto podría tener ese malware en los sistemas dentro del entorno de la organización objetivo.
- Investigación de malware : los investigadores de malware académicos o industriales pueden realizar análisis de malware simplemente para comprender cómo se comporta el malware y las últimas técnicas utilizadas en su construcción.
- Extracción de indicadores de compromiso : los proveedores de productos y soluciones de software pueden realizar análisis masivos de malware para determinar posibles nuevos indicadores de compromiso; esta información puede luego alimentar el producto o la solución de seguridad para ayudar a las organizaciones a defenderse mejor contra los ataques de malware.
Tipos
El método mediante el cual se realiza el análisis de malware generalmente se clasifica en uno de dos tipos:
- Análisis estático de malware : el análisis estático o de código se realiza generalmente diseccionando los diferentes recursos del archivo binario sin ejecutarlo y estudiando cada componente. El archivo binario también se puede desensamblar (o aplicar ingeniería inversa ) utilizando un desensamblador como IDA o Ghidra. El código de máquina a veces se puede traducir a código ensamblador que puede ser leído y entendido por humanos: el analista de malware puede entonces leer el ensamblado tal como está correlacionado con funciones y acciones específicas dentro del programa, luego entender las instrucciones del ensamblado y tener una mejor visualización de lo que está haciendo el programa y cómo fue diseñado originalmente. Ver el ensamblado permite al analista de malware/ingeniero inverso comprender mejor lo que se supone que debe suceder en comparación con lo que realmente está sucediendo y comenzar a trazar un mapa de acciones ocultas o funcionalidades no deseadas. Algunos programas maliciosos modernos se crean utilizando técnicas evasivas para vencer este tipo de análisis, por ejemplo, incorporando errores de código sintáctico que confundirán a los desensambladores pero que seguirán funcionando durante la ejecución real. [3]
- Análisis dinámico de malware : el análisis dinámico o de comportamiento se realiza observando el comportamiento del malware mientras se está ejecutando en un sistema host. Esta forma de análisis se realiza a menudo en un entorno de sandbox para evitar que el malware infecte los sistemas de producción; muchos de estos sandboxes son sistemas virtuales que se pueden revertir fácilmente a un estado limpio una vez que se completa el análisis. El malware también se puede depurar mientras se ejecuta utilizando un depurador como GDB o WinDbg para observar el comportamiento y los efectos en el sistema host del malware paso a paso mientras se procesan sus instrucciones. El malware moderno puede exhibir una amplia variedad de técnicas evasivas diseñadas para vencer el análisis dinámico, incluidas las pruebas de entornos virtuales o depuradores activos, retrasando la ejecución de cargas maliciosas o requiriendo algún tipo de entrada interactiva del usuario. [4]
Etapas
El examen de software malicioso implica varias etapas, que incluyen, entre otras, las siguientes:
- Inversión manual de códigos
- Análisis interactivo del comportamiento
- Análisis de propiedades estáticas
- Análisis totalmente automatizado
Referencias
- ^ "Revista internacional de investigación avanzada en análisis de malware" (PDF) . ijarcsse. Archivado desde el original (PDF) el 18 de abril de 2016 . Consultado el 30 de mayo de 2016 .
- ^ "Definición de malware" . Consultado el 30 de mayo de 2016 .
- ^ Honig, Andrew; Sikorski, Michael (febrero de 2012). Análisis práctico de malware. No Starch Press. ISBN 9781593272906. Recuperado el 5 de julio de 2016 .
- ^ Keragala, Dilshan (enero de 2016). "Detección de malware y técnicas de evasión de sandbox". SANS Institute.