Perché non esiste una protezione euristica facile contro il ransomware?

6

Dopo la recente diffusione del ransomware WannaCry - che ha dimostrato ancora una volta che questo tipo di attacco è in grado di causare serius danni e pericolose interruzioni ai servizi critici - mi sono chiesto perché non c'è una protezione semplice contro questo tipo di malware usando un approccio euristico.

Il mio ragionamento è il seguente: sebbene i vettori di attacco del ransomware possano essere di vario tipo, che vanno dall'azione negligente degli utenti agli exploit zero day, l'azione è sempre più o meno la stessa: molti e molti i file vengono aperti, crittografati e quindi il file crittografato viene memorizzato al posto di quello originale.

Non ho una conoscenza più approfondita dei principi di funzionamento della protezione antivirus, ma sono portato a credere che questo tipo di azione dovrebbe essere rilevabile relativamente facile con un approccio euristico. Si potrebbe ad esempio osservare i processi che eseguono operazioni di lettura e scrittura di massa, con i file di output che hanno in genere un'entropia molto più alta rispetto ai file di input. Inoltre, è possibile osservare i processi attualmente in esecuzione per l'invio di istruzioni alla CPU, che sembrano contenere passaggi di crittografia. Anche se quest'ultimo è probabilmente più difficile da raggiungere, penso che dovrebbe essere fattibile dato il numero piuttosto piccolo di algoritmi di crittografia ampiamente diffusi.

Senza dubbio, questo non fornirebbe una protezione perfetta contro il ransomware. Quando il ransomware ha iniziato a crittografare, ci vorrà un po 'di tempo prima che l'antivirus si avvii e potrebbero esserci già alcuni file persi. Ma ovviamente, è meglio perdere alcuni file invece di perderli tutti. Inoltre ci sarà un certo numero di falsi positivi, che possono essere fastidiosi per l'utente. Poi di nuovo, alcune suite antivirus richiedono una tastiera connessa, sia che si tratti di una tastiera e non di un dispositivo USB manipolato, che considero altrettanto fastidioso.

Durante la ricerca online, l'unico approccio simile che sono riuscito a trovare è il software CryptoMonitor , che a quanto pare è stato richiesto da byte di malware . Ma a giudicare dalle piccole informazioni che sono riuscito a raccogliere su di esso, tuttavia, sembra non aver colpito il mercato di massa. Inoltre, non sono a conoscenza di approcci simili dai fornitori di software antivirus conosciuti, o almeno non sono riuscito a trovarlo.

Questo mi porta alla conclusione che la mia idea di protezione contro il ransomware semplicemente non funziona. Ma perché in questo caso un approccio euristico non dovrebbe funzionare?

    
posta ranguwud 14.05.2017 - 16:57
fonte

4 risposte

3

C'è. Programmi come Cybereason Ransomfree sostengono di fare esattamente questo. Dalle loro FAQ:

Cybereason RansomFree watches the way applications interact with files, and when it detects ransomware behavior, it stops it immediately before the files are encrypted. Cybereason RansomFree uses pure behavioral detection techniques and does not rely on malware signatures.

Cybereason RansomFree deploys bait files strategically placed where ransomware often begins its encryption. The solution watches the way applications interact with files, and when it detects ransomware behavior, it stops it immediately before the files are encrypted. Cybereason RansomFree uses pure behavioral detection techniques and does not rely on malware signatures.

L'ho installato sulla mia macchina. Crea directory nascoste con file che monitora sul desktop e su ogni partizione .

Non ho ancora testato la sua efficacia (ad esempio modificando rapidamente tutti i file in una di quelle directory).

Si noti che questo tipo di protezione potrebbe non essere una garanzia contro tutti gli effetti del ransomware, perché non si ha alcun controllo sull'ordine in cui ransomware elabora i file (alcuni file saranno già crittografati prima del attacco è rilevato). Inoltre, se la prevenzione si basa sulla velocità delle modifiche al file, il malware potrebbe scivolare quando ne rallenta la propria esecuzione (alcune varianti sono conosciute per farlo).

    
risposta data 14.05.2017 - 21:45
fonte
3

Non credo funzionerà perché genererà troppi falsi allarmi.

Il comportamento da monitorare è il comportamento di molte applicazioni legittime:

  1. strumenti di compressione / archiviazione
  2. un browser web che salva localmente molti dati in cache (compressi, in genere)
  3. qualsiasi software che memorizzi i dati
  4. qualsiasi software in grado di eseguire operazioni batch (ad esempio alterazioni di immagine / suono)
  5. software di database (io operazioni intensive)
  6. anche spostare manualmente le cartelle con molti file può far alzare l'allarme

Inoltre, un ransomware per essere efficace non ha bisogno di crittografare l'intero file, è sufficiente crittografare solo alcune centinaia o migliaia di byte all'inizio del file

    
risposta data 15.05.2017 - 11:37
fonte
2

La tecnologia esiste da decenni. Si chiama monitoraggio dell'integrità dei file, di solito parte di alcune offerte HIDS / HIPS.

Le implementazioni variano, ma per farla breve si ha un demone in esecuzione in background che controlla le modifiche ai file specificati, quindi genera un avviso quando l'hash del file differisce da quello precedentemente registrato.

Nel caso del ransomware creerai file "canary" ("readme.txt", ecc.) tra i tuoi preziosi dati e guarderai le modifiche. Se cambiano in qualsiasi modo, da manomissione dell'utente o da una scansione batch ransomware, si otterrà un avviso (si spera) all'inizio del processo e potrebbe intervenire e mitigare ulteriori danni. Non importa se cripta l'intero file o solo l'intestazione-- il file cambia in entrambi i modi, quindi l'hash cambia e diventa degno di un avviso.

Pochissimi datori di lavoro per i quali ho lavorato li hanno infastiditi. Forse tornerà alla luce degli eventi recenti.

    
risposta data 15.05.2017 - 20:45
fonte
0

Penso che il tuo approccio funzionerebbe, in particolare la seguente parte:

with the output files typically having much higher entropy than the input files

Questo deve essere vero per tutti i ransomware.

Le tue altre idee, come ad esempio esaminare processi che aprono molti file o consumano molta banda IO, dipendono dal ransomware. Dubiterei che un ransomware intelligente possa funzionare a tutto gas - vuole rimanere nascosto fino a quando non ha crittografato una grande percentuale dei file sul sistema, al fine di far funzionare l'estorsione. Quindi non può iniziare semplicemente a crittografare i file il più velocemente possibile, il che renderà il sistema notevolmente più lento. Quindi potrebbe volerci del tempo e potrebbe non comportarsi in modo sensibilmente diverso da altri processi che leggono e scrivono molti dati.

Probabilmente non è fattibile osservare le istruzioni della CPU per i passaggi di crittografia. Il problema più evidente è che questo rallenterebbe considerevolmente tutte le operazioni eseguite dal sistema (non solo leggermente - presumibilmente da un fattore pari o superiore a 100). Inoltre, l'identificazione degli algoritmi di crittografia basati sulle istruzioni della CPU in esecuzione è molto probabilmente un problema difficile e, se funzionasse, avresti bisogno in qualche modo di fare un'eccezione per i processi che sono autorizzati a crittografare e decrittografare i dati.

Ma se volessi scrivere un rilevatore di ransomware, probabilmente utilizzerei un approccio euristico proprio come immagina, solo più semplice: definirei un insieme di file da guardare e quindi misurare periodicamente la loro entropia. Se molti di loro improvvisamente avessero aumentato l'entropia (ad esempio, trasformati in dati casuali), avvertirei immediatamente l'utente e, se possibile, spegnere il sistema.

    
risposta data 14.05.2017 - 23:16
fonte

Leggi altre domande sui tag