come rilevare un virus crittografato

2

un codice virus (x byte lungo) è XORed con una parola lunga x byte (chiamiamo questo T). Questa parola T è costruita ripetendo più volte una chiave segreta da 8 byte.

il file infetto contiene questo codice virus XORed (offuscato), la chiave segreta di 8 byte e un caricatore. Non conosciamo la posizione di quelle 3 entità all'interno del file. Il loader, una volta eseguito, utilizza la chiave segreta per creare T ed estrarre il codice del virus.

Se ho il codice del virus originale (ma non il caricatore né la chiave segreta), come posso determinare se un file è infetto?

    
posta 26.05.2015 - 13:39
fonte

2 risposte

3

Non puoi. È necessario rilevare il caricatore e contrassegnare tutti i file contenenti il caricatore come virus o rilevare dove T e l'area crittografata sono e decrittografare l'area crittografata per verificare se l'area crittografata contiene il virus che si sta cercando.

    
risposta data 26.05.2015 - 14:04
fonte
2

Ci sono alcune possibilità.

Innanzitutto, se il caricatore può essere rilevato da uno scanner antivirus. Per questo, è necessario che lo scanner antivirus riconosca il caricatore come un pezzo di malware noto.

In secondo luogo, se esiste un sistema per scoprire la manomissione dei file, è possibile che il file infetto sia stato modificato.

Infine, se per qualche motivo sei sicuro che questo particolare attacco sta succedendo, potresti andare a ogni file sospetto, prendere ogni sequenza di 8 byte nel file e XOR con ogni sequenza di 8 byte nel file fino a trovare il codice del virus effettivo.
Se non conosci T, proverai prima T = 1, quindi prova per T = 2 e così via.
Il processo ha una complessità temporale quadratica. Il writer virus può causare complessità fattoriale distribuendo le parti della chiave sul file, non inserendole in sequenza.

    
risposta data 26.05.2015 - 14:20
fonte

Leggi altre domande sui tag