biforcazione dinamica di un processo in win32 rispetto agli antivirus moderni

3

La maggior parte delle esercitazioni sulle cripte presuppongono che i famosi antivirus non eseguano la scansione dei programmi eseguiti direttamente dalla memoria. Tuttavia, da quello che ho visto, alcuni di essi (ad esempio Nod32) sono in grado di scansionare la RAM in cerca di modelli noti. Questo mi fa meravigliare ... ecco cosa so:

[File dannoso] - > [Encrypter] - > [Stub + file dannoso crittografato] - > [eseguibile finale]

Se eseguiamo il file eseguibile finale, lo stub decodifica il codice dannoso, lo carica in RAM e poi lo esegue. Penso che un programma antivirus dovrebbe rilevare il codice malevolo mentre risiede nella RAM in un modulo già decrittografato, in attesa di essere eseguito. Mi sbaglio?

    
posta user3125731 02.11.2016 - 17:04
fonte

1 risposta

2

Hai ragione; è possibile che un antivirus interrompa il procedimento e scansiona il codice eseguibile che è stato caricato in memoria. La funzione del kernel da collegare sarebbe NtProtectVirtualMemory , che modifica la protezione su un blocco di memoria (indipendentemente dalla possibilità di lettura, scrittura o esecuzione). Se un processo improvvisamente ha cambiato un blocco scrivibile di memoria in eseguibile, sarebbe un'occasione perfetta per vedere cosa potrebbe essere ora eseguito.

Se un processo imposta una pagina simultaneamente scrivibile ed eseguibile (in modo che possa scrivere e quindi saltare immediatamente), ciò è già motivo di preoccupazione prima ancora che qualcosa venga scritto, perché l'esistenza di una tale pagina aiuta ad aprire la porta agli exploit anche in programmi legittimi. In alternativa, l'antivirus potrebbe semplicemente prendere nota di tali pagine ed entrare in azione nella prossima chiamata al kernel che il processo esegue dal codice che risiede lì.

    
risposta data 02.11.2016 - 21:28
fonte

Leggi altre domande sui tag