Detección del proceso de vaciado

8

Estaba haciendo una lluvia de ideas sobre los métodos para detectar el vaciado del proceso y otras formas de inyección de código, y esta parecía bastante robusta.

¿Sería posible que un "escáner de seguimiento de procesos" enumere todas las páginas ejecutables en la memoria de un proceso, enumere todas las secciones ejecutables del archivo de imagen asociado al proceso y vea si hay páginas en la memoria que ¿No tenía ninguna página correspondiente en el archivo de imagen, por ejemplo, mediante el hashing difuso del archivo de imagen, el hashing de cada página de memoria y la comparación de los dos conjuntos?

Esto parecería detectar el proceso de vaciado muy bien: cualquier código inyectado en un proceso no estaría presente en el archivo de imagen, y, a menos que el atacante pudiera encontrar algún ataque de colisión contra el algoritmo de hash, no podrían engañar. el detector (y de todos modos se podrían utilizar múltiples algoritmos). Y como el detector se basa en buscar segmentos extra anómalos en la memoria del proceso en lugar de agrupar directamente la memoria y compararla con el archivo, funcionaría incluso si el archivo de imagen completo no se asigna en la memoria.

Entonces, ¿es este un método válido para detectar el vaciamiento del proceso? No creo haber visto este método usado en ningún lugar para detectar la inyección de código (lo más cercano que he visto es cuando los escáneres de rootkits comparan el hash de la sección de memoria completa de un proceso con el hash de todo el archivo de imagen, que solo funciona si el archivo está totalmente maltratado en la memoria).

¿Es este un método viable para detectar la inyección de código / el proceso de vaciado?

    
pregunta exosphere 12.05.2016 - 08:30
fuente

2 respuestas

2

Trustwave SpiderLabs escribió un blog sobre el análisis de malware con procesos huecos: enlace

Cuckoo Sandbox, un motor automatizado de análisis de malware de software de código abierto (FOSS) también se puede aprovechar para trabajar con procesos vacíos - enlace

y la madre de todos los artículos sobre el proceso de seguimiento se ha resumido aquí - enlace

    
respondido por el atdre 02.07.2016 - 03:56
fuente
1

Para detectar el hueco de procesamiento, puede usar la comparación del disco del encabezado de PE con la memoria, ya que se ejecutará en un subproceso normal

enlace

Para detectar la inyección de dll, puedes hacer una caminata o un seguimiento de la pila:

Busque el artículo llamado: "Walking the VAD Tree" & "Memoria del proceso de escaneo para el código inyectado"

    
respondido por el Félix 02.06.2016 - 00:42
fuente

Lea otras preguntas en las etiquetas