In che modo il software dannoso crittografa i file delle vittime così rapidamente?

48

Crittografare un file è come trattare una stringa molto lunga, alimentarla nella funzione di hashing o di crittografia per ottenere un'altra lunga stringa crittografata (o un hash nel caso dell'hashing).

Questo processo richiede una buona quantità di tempo. Lo so perché uso HashTab per verificare l'integrità dei file scaricati da Internet.

Come possono i ransomware come CTB-Locker o Crypt0l0cker criptare istantaneamente i loro file delle vittime?

Recentemente un mio amico è stato vittima di uno di questi ransomware e non ha potuto aprire i suoi file / foto da Ubuntu sul suo computer con doppio sistema operativo anche quando l'infezione si è verificata con MSWindows. Ciò suggerisce che la crittografia non avviene al volo quando si apre un file.

    
posta Ulkoma 05.07.2015 - 09:19
fonte

8 risposte

45

Ero in un discorso su OWASP in cui l'oratore decomponeva e analizzava un eseguibile ransomware (per Windows) di fronte a noi. Ci sono molti sapori di ransomware là fuori, quindi non posso parlare al ransomware in generale, ma posso sicuramente parlare di quello che ho visto. L'idea generale è che l'eseguibile del ransomware contiene la chiave pubblica di crittografia necessaria per crittografare i file utilizzando un algoritmo asimmetrico, ad esempio RSA. La chiave privata / di decrittazione corrispondente rimane con gli hacker in modo che nessuna quantità di reverse engineering del file eseguibile possa fornirti la chiave di decodifica.

Per crittografare effettivamente un file, fa qualcosa di simile a:

  1. Salta i primi 512 byte del file in modo che l'intestazione del file rimanga intatta.

  2. Cripta il prossimo 1 MB utilizzando la chiave di crittografia incorporata.

  3. Se il file è più lungo di questo, lascia il resto non criptato.

Il punto non è quello di nascondere o proteggere completamente i dati, è sufficiente renderli non analizzabili.

Per quanto riguarda il tempo, fare 1 MB di RSA è ancora lento e ci vorranno ancora diverse ore per eseguire la scansione del tuo HDD.

Sospetto che questo esemplare che ho visto fosse solo una pigra imitazione del completo ransomware RSA-AES di cui Steffen Ullrich ha parlato in la sua risposta - che è quella di cui dovresti davvero preoccuparti.

    
risposta data 05.07.2015 - 19:16
fonte
28

La prima crittografia simmetrica è piuttosto veloce. AES in alcune modalità è facilmente 200 MB / s. La tua affermazione che l'hashing è lento è una falsa pista. L'hashing è incredibilmente veloce. È così veloce sui processori moderni che indebolisce la sicurezza effettiva degli hash delle password. Ciò ha portato allo sviluppo di funzioni di derivazione chiave multi-round per "rallentare" l'hashing.

La velocità "lenta" che vedi è principalmente l'effetto del tuo disco rigido lento. Nella memoria hashing è qualcosa dell'ordine di 500 MB / sa 2 GB / s +.

Tuttavia il malware non ha bisogno di essere "istantaneo". Il sistema dell'utente è infetto silenziosamente. Le copie dei file possono essere crittografate senza avvisare l'utente e una volta pronti gli originali cancellati e l'utente ha notificato "istantaneamente". L'intero processo, dall'infezione a quel punto, può aver richiesto una quantità significativa di tempo nonostante sembrasse verificarsi istantaneamente.

    
risposta data 05.07.2015 - 16:06
fonte
15

Hashing (come SHA-1 ecc.) e la crittografia simmetrica (come AES) sono relativamente poco costosi, la crittografia asimmetrica (come RSA) è molto più costosa. Ecco perché in genere non si usa RSA per crittografare un file di grandi dimensioni, ma invece si usa la crittografia simmetrica con una chiave casuale e si cripta solo questa chiave breve con RSA.

I know that because I use HashTab to verify the integrity of the files I download off the Internet.

Sembra un metodo molto scientifico per me. A meno che tu non abbia un processore vecchio e lento, la velocità dell'hashing (e quindi la verifica dei dati) è per lo più veloce di quanto tu possa leggere i dati dal disco (nel caso questo non sia ovvio: ovviamente devi ancora leggere i dati per cancellarli , ma passerà più tempo nell'attesa dei dati dal disco rispetto al calcolo dell'hash).

How can ransomware like CTB-Locker or Crypt0l0cker encrypt their victims files instantly?

I moderni sistemi operativi supportano i file system crittografati e con i processori odierni (che spesso includono l'accelerazione hardware per AES) non noterai molta differenza di velocità se usi un file system crittografato o meno, perché il collo di bottiglia non è la crittografia ma la velocità del disco (nei parametri di riferimento vedere un calo delle prestazioni ma questi non riflettono l'utilizzo del mondo reale per la maggior parte delle persone). Quindi non c'è motivo per cui il ransomware non possa crittografare i dati troppo velocemente. Certo, potrebbero farlo sembrare più veloce collegandosi al sistema in modo che i file che vuoi aprire vengano prima crittografati e il resto in background.

    
risposta data 05.07.2015 - 11:57
fonte
10

L'errore che stai facendo è pensare che sia istantaneo. Piuttosto il malware si trova lì a crittografare in background e decodificare qualsiasi cosa l'utente chieda. È silenzioso durante questa fase, richiede solo il riscatto dopo che tutto è stato crittografato.

    
risposta data 06.07.2015 - 00:19
fonte
8

Secondo wikipedia:

When first run, the payload installs itself in the user profile folder, and adds a key to the registry that causes it to run on startup. It then attempts to contact one of several designated command and control servers; once connected, the server generates a 2048-bit RSA key pair, and sends the public key back to the infected computer.

Non è lento come pensi, se il tuo computer è veloce e non sta facendo un uso pesante della CPU al momento dell'infezione potresti perdere gigabyte di dati in meno di 15 minuti. I moderni PC possono calcolare l'hash ed eseguire operazioni di crittografia più velocemente di quanto i dischi del disco rigido / SSD possano funzionare. Quindi direi che il limite di velocità moderno per hash / velocità di crittografia si basa più sul disco stesso. Posso generare un hash SHA-512 per un file da 2,5 GB in 2 minuti.

Inoltre, il malware può solo attendere che crittografi tutto ciò che vuole prima di visualizzare un messaggio all'utente.

    
risposta data 05.07.2015 - 09:44
fonte
6

Il processo di base consiste nel leggere il contenuto del file e scriverlo su disco utilizzando una qualche forma di crittografia asimmetrica per garantire che sia necessario pagare per recuperare i dati. Alcuni crittografano solo piccole sezioni dei dati per migliorare la velocità, altri riscriveranno l'intero disco rigido, se possibile. Come alcune delle altre risposte, alcuni malware crittografano semplicemente una parte del tuo file sul posto per accelerare il processo, dal momento che per molti formati di file anche un leggero cambiamento nel file rende l'intero file inutilizzabile.

How can ransomware like CTB-Locker or Crypt0l0cker encrypt their victims files instantly?

Non possono. Invece quello che fanno è nascondere la loro attività rendendo i file visualizzati per essere OK fino al completamento del processo. Intercettando le chiamate al sistema file è possibile modificare la visualizzazione dell'utente di ciò che è effettivamente presente sul disco, facendo sembrare che tutto sia ancora OK fino al termine, quindi quando si toglie l'intercetta l'utente può vedere il vero stato del disco . Il pericolo nel fare questo è che devi avere entrambe le parti della tua coppia di chiavi asimmetriche per decodificare i file al volo quando l'utente ne apre uno, il che in linea di principio significa che qualcosa potrebbe trovare la chiave privata che vuoi vendere l'utente più tardi.

Altri malware come CryptoWall (di cui ho avuto più esperienza di recente di quanto non voglia ricordare) non si preoccupano di nascondersi, si limita a cifrare tutto quanto più velocemente possibile ... e questo è praticamente limitato da la velocità di I / O dell'unità che sta crittografando.

Esaminando alcuni parametri di riferimento per AES - che è l'algoritmo di crittografia utilizzato da CryptoWall - una CPU moderna modesta può crittografare i dati a velocità superiori a 100 MB / sec, il che significa che è probabile che l'operazione sia IO- associato a qualcosa di diverso da un SSD. Aggiungi più thread in esecuzione su core CPU separati per il targeting di diverse cartelle e / o unità e il processo può essere completato abbastanza rapidamente.

Recentemente ho dovuto ripulire un file server che era stato elaborato da CryptoWall in esecuzione su uno dei PC degli utenti. Quando gli utenti hanno notato che c'era qualcosa di sbagliato, il malware era in esecuzione da circa 1,75 ore. Abbiamo tolto la cosa dalla rete a un passo dal segno delle 2 ore e durante la pulizia ho trovato circa 230 GB di file crittografati. Si tratta di una media di circa 30 MB / sec di crittografia, che è certamente fattibile nell'ambiente. Ci sono voluti circa 3 volte tanto per ripristinare i file dal backup precedente. Anche se ho qualche idea su come accelerarla la prossima volta, la maggior parte dei client ha i propri backup su NAS scadenti a basso costo o unità USB ( shudder ).

Purtroppo è improbabile che vedremo la fine di queste cose in qualunque momento presto. Una soluzione di backup competente e correttamente configurata è il tuo migliore amico quando una di queste cose colpisce. Non fa male avere un programmatore a portata di mano per programmare il ripristino.

    
risposta data 06.07.2015 - 12:45
fonte
5

Da un punto di vista dell'ingegneria sociale, l'autore del malware avrebbe potuto scrivere un programma che sostituiva il contenuto dei dati con bit casuali. La vittima non avrebbe modo di verificare se il contenuto fosse criptato o semplicemente cestinato. Se decidono di pagare il riscatto e la "chiave" non funziona, non c'è molto che potrebbero fare, dopotutto i ragazzi sono criminali.

    
risposta data 05.07.2015 - 15:03
fonte
4

Alcuni ransom, come TorrentLocker, crittografano solo il primo MB (più aggiungi un finale). Questo è sufficiente per rendere la maggior parte dei formati non riconoscibili, ma allo stesso tempo rende molto più veloce la crittografia di un gran numero di file (ricorda anche che solo alcuni tipi di file sono crittografati, come documenti, foto ...).

Questo è stato segnalato da Nixu in blog SANS , e anche su ( white paper ESET ), anche se hanno riportato 2 MB.

E, come ha detto Loren, il ransomware mostra solo il grande striscione che chiede il riscatto dopo che tutto è stato crittografato (non è bene che ti rendi conto quando solo pochi file sono stati "tenuti"), anche se alcuni ransomware si posizionano mentre vai su un file esigente di ransomware su ogni cartella / per ogni file che hanno crittografato.

    
risposta data 06.07.2015 - 13:33
fonte

Leggi altre domande sui tag