Individuare campagne di malware zero-day è una sfida cruciale per la sicurezza informatica, ma il segreto sta nell’imparare dal passato (ovvero dalle minacce già conosciute). I cybercriminali modificano costantemente il loro codice per eludere i sistemi di difesa tradizionali, ma grazie al fuzzy hashing, i team di sicurezza possono creare impronte digitali uniche dei file, consentendo di rilevare somiglianze tra nuove varianti di malware e minacce già identificate. Questo approccio permette di individuare rapidamente attacchi emergenti, anche quando il codice è stato alterato, bloccando potenziali minacce prima che possano causare danni.

Funzionamento del Fuzzy Hashing

Il fuzzy hashing, noto anche come context-triggered piecewise hashing (CTPH) o similarity hashing, rappresenta un’evoluzione nei metodi di confronto dei file, privilegiando l’analisi del contenuto anziché la ricerca di corrispondenze esatte. A differenza degli algoritmi di hashing tradizionali, come MD5 o SHA-256, che assegnano a ogni file un hash di lunghezza fissa, il fuzzy hashing scompone un file in blocchi di dimensioni fisse, generando un hash per ciascuna sezione. Questi hash parziali vengono poi combinati per creare un hash complessivo che rappresenta l’intero file. Ciò che rende unico questo metodo è la sua capacità di riconoscere somiglianze tra file anche quando subiscono piccole modifiche, come l’aggiunta, la rimozione o il riordinamento dei dati. Questo lo rende particolarmente efficace nell’individuazione di varianti di malware o nella rilevazione di contenuti duplicati con leggere differenze.

Strumenti per il Fuzzy Hashing

  • ssdeep: Uno degli strumenti più diffusi per il fuzzy hashing, ssdeep consente di calcolare e confrontare gli hash fuzzy di file e directory. Grazie alla sua interfaccia a riga di comando, permette di generare hash fuzzy e individuare file simili analizzando le somiglianze nei loro hash.
  • sdhash: Specializzato nel riconoscimento di file simili e nella deduplicazione dei dati, sdhash utilizza tecniche avanzate di fuzzy hashing per identificare contenuti correlati. Supporta diversi formati di file e offre opzioni di personalizzazione per adattare la generazione degli hash a esigenze specifiche.
  • FuzzyHasher: Una soluzione intuitiva con interfaccia grafica per la creazione e il confronto di hash fuzzy. Facilita il processo di hashing, consentendo l’elaborazione batch e la visualizzazione chiara dei risultati, rendendolo accessibile anche agli utenti meno esperti.

Applicazioni del Fuzzy Hashing

Rilevamento del Malware
Il fuzzy hashing è una risorsa imprescindibile nel rilevamento di malware polimorfici, che si adatta e cambia costantemente per sfuggire ai metodi tradizionali di rilevamento basati su firme. Confrontando gli hash fuzzy con un database di varianti conosciute, i professionisti della sicurezza possono individuare rapidamente nuove minacce, permettendo una difesa più efficace e tempestiva.

Informatica Forense
Nell’ambito delle indagini forensi digitali, il fuzzy hashing è essenziale per rilevare file duplicati o simili su dispositivi di archiviazione differenti. Questa capacità consente agli investigatori di individuare schemi di attività illecita e tracciare la diffusione di contenuti criminali o informazioni sensibili, facilitando la ricostruzione di eventi e l’identificazione di prove cruciali.

Deduplicazione dei Dati
Il fuzzy hashing gioca un ruolo fondamentale nella deduplicazione dei dati, un processo che mira a eliminare le copie ridondanti di file e ottimizzare l’uso delle risorse di archiviazione. Con il confronto degli hash fuzzy, le organizzazioni possono identificare contenuti duplicati e implementare soluzioni più efficienti per razionalizzare l’infrastruttura di archiviazione, migliorando così la gestione dei dati e riducendo i costi.

Come viene utilizzato il fuzzy hashing per rilevare campagne di phishing e malware?

L’hashing fuzzy è utilizzato per rilevare campagne di phishing e malware identificando correlazioni tra domini che, pur sembrando non correlati, ospitano contenuti simili. Ad esempio, utilizzando ssdeep, si possono raggruppare pagine web da diversi domini con codice HTML simile, individuando cluster di phishing.

Il rilevamento dei cluster ssdeep è cruciale per affrontare le minacce emergenti, poiché molte campagne di phishing si trovano su domini diversi ma condividono lo stesso codice HTML con leggere varianti. Queste differenze potrebbero sfuggire ai metodi di rilevamento tradizionali basati su firme, ma il fuzzy hashing riesce a identificare le somiglianze chiavi, rilevando le correlazioni anche quando il codice è leggermente modificato. Un esempio pratico mostra come due pagine di phishing, pur avendo differenze nei testi e nei tag, presentano un alto grado di somiglianza quando si analizzano gli hash ssdeep.

Screenshot di due campagne di phishing su Facebook – Fonte Check Point

Anche se le strutture sembrano le stesse, possiamo notare delle differenze nel testo. Confrontando il codice HTML delle pagine, notiamo che ci sono piccole differenze nel <title>, nei tag href <link> e in altri elementi minori nel codice.

Uno strumento di controllo delle differenze che mostra la differenza tra il codice sorgente delle due pagine web – Fonte Check Point

Come previsto, quando calcoliamo l’SHA256 di questi due file, i risultati sono hash completamente diversi:

Tuttavia, confrontando i loro hash ssdeep, scopriamo che c’è un alto livello di somiglianza tra i file:

Il punteggio di similarità ssdeep per i 2 file sorgente forniti viene calcolato dal programma ssdeep:

e si ottiene una similarità del 97% , concludendo che i file contengono dati molto simili.

Conclusione

Il fuzzy hashing rappresenta una soluzione innovativa e potente per il confronto di file, permettendo di scoprire somiglianze anche quando i dati sono stati modificati. Strumenti come ssdeep, sdhash e FuzzyHasher sono diventati indispensabili per i professionisti della sicurezza e gli investigatori forensi, offrendo la possibilità di identificare varianti di malware, analizzare file sospetti e ottimizzare la gestione dei dati con una precisione senza pari. In un contesto di minacce informatiche sempre più sofisticate, il fuzzy hashing si conferma un alleato imprescindibile per scoprire nuove campagne malevole, rafforzando la sicurezza e la protezione degli ambienti digitali in modo proattivo ed efficace.

Ti è piaciuto l’articolo? Seguici su Linkedin per sostenerci!

consigliati