
Uno strumento potente e flessibile per applicare attacchi attivi per interrompere lo stegomalware
Negli ultimi 10 anni, molti gruppi di minaccia hanno impiegato stegomalware o altre tecniche basate sulla steganografia per attaccare organizzazioni di tutti i settori e in tutte le regioni del mondo. Alcuni esempi sono: APT15/Vixen Panda, APT23/Tropic Trooper, APT29/Cozy Bear, APT32/OceanLotus, APT34/OilRig, APT37/ScarCruft, APT38/Lazarus Group, Duqu Group, Turla, Vawtrack, Powload, Lokibot, Ursnif, IceID, ecc.
La nostra ricerca (vedi APTs/) mostra che la maggior parte dei gruppi impiega tecniche molto semplici (almeno da un punto di vista accademico) e strumenti noti per aggirare le difese perimetrali, sebbene gruppi più avanzati utilizzino anche la steganografia per nascondere la comunicazione C&C e l'esfiltrazione di dati. Sosteniamo che questa mancanza di sofisticazione non sia dovuta alla mancanza di conoscenza della steganografia (alcuni APT, come Turla, hanno già sperimentato algoritmi avanzati), ma semplicemente perché le organizzazioni non sono in grado di difendersi, nemmeno contro le tecniche steganografiche più semplici.
Per questo motivo, abbiamo creato stegoWiper, uno strumento per interrompere ciecamente qualsiasi stegomalware basato su immagini, attaccando il punto più debole di tutti gli algoritmi di steganografia: la loro robustezza. Abbiamo verificato che è in grado di interrompere tutte le tecniche e gli strumenti di steganografia (Invoke-PSImage, F5, Steghide, openstego, ...) impiegati oggi, così come gli algoritmi più avanzati disponibili nella letteratura accademica, basati su crittografia a matrice, wet-papers, ecc. (ad esempio Hill, J-Uniward, Hugo). Infatti, più una tecnica steganografica è sofisticata, maggiore è l'interruzione prodotta da stegoWiper.
Inoltre, il nostro attacco attivo ci permette di interrompere qualsiasi payload steganografico da tutte le immagini scambiate da un'organizzazione tramite un servizio proxy web ICAP (Internet Content Adaptation Protocol) (vedi c-icap/), in tempo reale e senza dover prima identificare se le immagini contengono dati nascosti.
stegoWiper v0.1 - Cleans stego information from image files
(png, jpg, gif, bmp, svg)
Usage: ${myself} [-hvc <comment>] <input file> <output file>
Options:
-h Show this message and exit
-v Verbose mode
-c <comment> Add <comment> to output image file
stegowiper.sh -c "stegoWiped" ursnif.png ursnif_clean.png
La directory examples/ include diverse immagini di base che sono state utilizzate per nascondere informazioni segrete usando diversi algoritmi steganografici, così come il risultato della loro pulizia con stegoWiper.
stegoWiper rimuove tutti i commenti di metadati dal file di input e aggiunge anche un rumore impercettibile all'immagine (non importa se contiene effettivamente un payload nascosto o meno). Se l'immagine contiene un payload steganografico, questo rumore casuale lo altera, quindi se si tenta di estrarlo, fallirà o verrà danneggiato, e lo stegomalware non riesce a eseguirsi.
Abbiamo testato diversi tipi (Uniforme, Poisson, Laplaciano, Impulsivo, Moltiplicativo) e livelli di rumore, e il migliore in termini di interruzione del payload e riduzione dell'impatto sull'immagine di input è quello Gaussiano (vedi tests/ per un riepilogo dei nostri esperimenti). Vale anche la pena notare che, poiché il rumore è casuale e distribuito su tutta l'immagine, gli attaccanti non possono sapere come evitarlo. Questo è importante perché altri autori hanno proposto alterazioni deterministiche (come cancellare il bit meno significativo di tutti i pixel), quindi gli attaccanti possono facilmente aggirarle (ad esempio usando il secondo bit meno significativo).
Questo progetto è stato sviluppato dal Dr. Alfonso Muñoz e dal Dr. Manuel Urueña. Il codice è rilasciato sotto la GNU General Public License v3.