Quale metodo potrebbe utilizzare un attaccante di white-box per tracciare la cancellazione di memoria / file?

5

Una domanda piuttosto teorica: supponendo che ci sia memoria con un malware al suo interno. L'obiettivo del malware è quello di rilevare se un'applicazione legittima sta per eliminare i contenuti della memoria.

Se riconosciuto, il malware copia le parti, che non vengono ancora eliminate, in altre posizioni, che sono già state eliminate e quindi annullano in modo efficace il processo di cancellazione.

Le mie domande sono: in che modo un malware può notare che è stata avviata un'operazione di eliminazione. E il malware potrebbe in qualche modo riconoscere gli indirizzi del processo di cancellazione?

Se si considera la cancellazione in termini di sovrascrittura della memoria esistente con un valore costante (0 o 1), l'eliminazione di un file di grandi dimensioni dovrebbe ridurre l'entropia del contenuto della memoria. Tuttavia, credo che questo non sia un approccio ragionevole.

    
posta Richard Laurant 22.10.2014 - 13:04
fonte

1 risposta

1

Ci sono stati esempi più visibili di " solo memoria malware "e penso che da un punto di vista pratico ti farei impazzire cercando di trovare quello aggrovigliato nel pagliaio. Cosa potresti cercare? Chiamate Page_Execute_ReadWrite ? Mutex? Non solo quel problema (che chiama a cercare), ma quando il malware inizia ad agganciarsi ad altri processi, vedresti un sacco di problemi conflittuali con processi legittimizzati a fare qualcosa (falsi positivi) insieme a provare ad analizzare costantemente in esecuzione (cambiando ) chiamate di memoria, routine, subroutine, apre, chiude, ecc.

Quindi chiedi: " come potrebbe un malware notare che è stata avviata un'operazione di eliminazione " e io pongo: "questo varrebbe, ogni produttore di malware è diverso, non ci potrebbe mai essere un metodo statico per Fai questo." Un utente malintenzionato potrebbe collegare più variabili per assicurarsi che vengano sempre eseguite senza doversi preoccupare se qualcuno lo eliminerà. Per esempio:.

(pseudocodice)

home=c:\Users\someone\appdata\hidden_folder\here

if [ $home >= 0 ]
   then
       call this other {app, dll, cab, zip, etc}
       run other
fi

"Controlla se esisto, se non apro qualcosa per rimandarmi a casa"

Questo potrebbe vivere al di fuori del processo attivo in un'altra richiesta / chiamata minima. Non ci sarebbe bisogno di programmarlo nel malware stesso. Un po 'come un contagocce. Un dropper non è il malware stesso, ma solo un mezzo per terminare (uscire e scaricare il file dannoso).

    
risposta data 22.10.2014 - 13:50
fonte

Leggi altre domande sui tag