Dmitry Sklyarov, leader del team di Reverse Engineering di Positive Technologies , società di sicurezza russa, ha pubblicato un procedimento che consente – sotto determinate circostanze – il recupero dei dati contenuti in un computer infetto dal ransomware/wiper NotPetya .
La condizione principale affinché il procedimento possa avere luogo è che NotPetya abbia ottenuto i privilegi di amministratore nell’infettare la macchina: in questo caso il ransomware utilizza l’algoritmo Salsa20 per cifrare il disco, in caso contrario opta per AES-256 .
Entrambi gli algoritmi (il primo è un cifrario a flusso, il secondo un cifrario a blocchi) sono estremamente robusti, tuttavia i creatori del virus hanno commesso diversi errori che rendono fattibile, pur se complesso ed oneroso in termini di tempo e CPU, un processo di decifratura nel caso in cui venga utilizzato Salsa20.
Nel dettaglio, Sklyarov descrive due errori di implementazione relativi alle funzioni s20_crypt32
, che si occupa della cifratura dei settori del disco, e s20_rev_littleendian
, che sposta il keystream generato all’interno di una word di 32 bit. Questi errori comportano il fatto che i keystream abbiano una periodicità di 2^16 bit, cioè 4 megabyte, e non siano in grado di cifrare completamente il dato, rendendo l’algoritmo vulnerabile ad un attacco con testo in chiaro noto . Un ulteriore aiuto al processo di decifratura è dato dal fatto che due settori limitrofi vengono cifrati per mezzo dello stesso keyframe, a meno di due byte indicanti l’offset .
Il ricercatore descrive anche le modalità di decifratura utilizzate, basate sul contenuto in chiaro presente su disco, che possono essere file di sistema “standard”, oppure i primi sedici record della MFT del file system NTFS. Tuttavia, le tempistiche della procedura possono durare diverse ore e l’efficacia, seppure possa raggiungere il 100 per cento, dipende fortemente da fattori come la dimensione del disco, lo spazio libero a disposizione e la frammentazione del file system.
Altra buona notizia, purtroppo non strettamente correlata a NotPetya, è il fatto che l’autore delle prime versioni del ransomware Petya (“Janus Cybercrime Solutions”) abbia deciso di rilasciare la chiave di decifratura attraverso un archivio cifrato caricato sul sito di file hosting Mega . La chiave, testata e funzionante, è in grado di decifrare i dati dei computer infettati dalle prime tre versioni di Petya, tuttavia non è efficace su NotPetya il quale, nonostante condivida buona parte del codice sorgente con il suo predecessore, diverge in alcuni dettagli di implementazione significativi .
Elia Tufarolo