Rilevazione processo di svuotamento

8

Stavo analizzando i metodi per rilevare lo svuotamento dei processi e altre forme di iniezione di codice, e questo sembrava abbastanza robusto.

Sarebbe possibile per uno "scanner di elaborazione dei processi" enumerare tutte le pagine eseguibili in una memoria di processo, enumerare tutte le sezioni eseguibili del file di immagine associato al processo e vedere se c'erano delle pagine nella memoria che non aveva pagine corrispondenti nel file immagine, ad esempio da fuzzy con hashing del file immagine, hashing di ciascuna pagina di memoria e confronto tra i due set?

Questo sembrerebbe rilevare che il processo si sta svuotando molto bene - qualsiasi codice iniettato in un processo non sarebbe presente nel file immagine, e a meno che l'aggressore non possa trovare un attacco di collisione contro l'algoritmo di hashing non sarebbe in grado di ingannare il rivelatore (e comunque possono essere usati più algoritmi). E poiché il rilevatore si basa sulla ricerca di segmenti extra anomali nella memoria del processo anziché eseguire direttamente l'hashing della memoria e confrontarla con il file, funzionerebbe anche se l'intero file di immagine non è mappato in memoria.

Quindi questo è un metodo valido per rilevare il processo di svuotamento? Non credo di aver visto questo metodo utilizzato ovunque per rilevare l'iniezione di codice (il più vicino che ho visto è quando gli scanner di rootkit confrontano l'hash di un'intera sezione di memoria di un processo con l'hash dell'intero file di immagine, che funziona solo se il file è interamente mappato in memoria).

Si tratta di un metodo fattibile per rilevare l'inceppamento del codice / il processo di svuotamento?

    
posta exosphere 12.05.2016 - 08:30
fonte

2 risposte

2

Trustwave SpiderLabs ha scritto un blog sull'analisi del malware con processi vuoti - link

Cuckoo Sandbox, un popolare e gratuito software di analisi del malware automatizzato open source (FOSS) può anche essere sfruttato per lavorare con processi svuotati - link

e gli articoli di madre di tutti sullo svuotamento dei processi sono stati riassunti qui: link

    
risposta data 02.07.2016 - 03:56
fonte
1

Per rilevare l'elaborazione dell'hollowing, puoi utilizzare il confronto tra il disco dell'intestazione PE e la memoria poiché verrà eseguito su un thread normale

link

Per rilevare l'iniezione di dll puoi fare un vad a piedi o eseguire lo stack tracing:

Cerca l'articolo chiamato "Walking the VAD Tree" & "Scansione della memoria di processo per codice iniettato"

    
risposta data 02.06.2016 - 00:42
fonte

Leggi altre domande sui tag