Cryptolocker e RSA-2048

Recentemente sono stato contattato per cercare di ripulire un computer infettato dal virus cryptolocker, di cui nei giorni 9-12 febbraio 2016 c’è stata una ondata di distribuzione ed attacchi.
Oltre che ripulirlo – cosa fattibile in poco tempo ed un po’ di cura – era necessario ripristinare la situazione di file che consentisse la normale operatività.
I file sui di dischi di tale macchina sono stati cifrati con algoritmo di tipo RSA, utilizzando una chiave lunga 2048 bit.

Una cifratura estremamente forte.

Ho avuto le mie belle difficoltà a far capire al malcapitato che non è fattibile pensare di recuperare i suoi file con un tentativo a forza bruta, cioè provando tutte le combinazioni di chiavi possibili.

Ho sconsigliato di pagare il riscatto (l’equivalente di 500 euro da pagarsi con circa 1,4 Bitcoin) perché significa fornire fondi a quelle persone che puntano a far soldi distruggendo i file di terzi.
Dandogli nuovi fondi le probabilità che in futuro ci siano ulteriori attacchi simili probabilmente aumentano. Si entra in un circolo vizioso.

Spiegando con gli esempi qui sotto, sono riuscito a dare l’idea della complessità della situazione: l’algoritmo RSA si basa sulla difficoltà nel fattorizzare un numero ottenuto moltiplicando due numeri primi.
Più tali numeri sono grandi, moooolto grandi, e più è complesso ricostruire quali sono i 2 numeri di partenza il cui prodotto è un numero dato.

3 esempi:

RSA-100: (è scritto su più righe ma è un unico numero)
15226050279225333605356183781326374297180681149613806886579084945
80122963258952897654000350692006139

E’ il prodotto di:
37975227936943673922808872755445627854565536638199
× 40094690950920881030683735292761468389214899724061

Per ottenere i 2 fattori per forza bruta, utilizzando una cpu moderna, oggi si impiegano circa 4 ore.

RSA-300:
2769315567803442139028689061647233092237608363983953254005036722809375
2471494739461900602187562551243171865731050750745462388288171212746300721
134695643967418363899790869043044724760018390159830334519091746634646638
78291256644598955751571788169002287927112674719583575744167143664997220900
15674047

Non è ancora stato scomposto in fattori.

RSA-2048: (che è quello che ci interessa in quanto usato dal virus incriminato)
251959084756578934940271832400483985714292821262040320277771378360436620
207075955562640185258807844069182906412495150821892985591491761845028084
8912007284499268739280728777673597141834727026189637501497182469116507761
3379859095700097330459748808428401797429100642458691817195118746121515172
654632282216869987549182422433637259085141865462043576798423387184774447
9207399342365848238242811981638150106748104516603773060562016196762561338
4414360383390441495263443219011465754445417842402092461651572335077870774
9817125772467962926386356373289912154831438167899885040445364023527381951
378636564391212010397122822120720357

E’ lungo 617 cifre e non è ancora stato scomposto in fattori.

Per scomporre questo numero di 617 cifre quanto tempo ci può volere?

La quantità di numeri primi compresi tra 2^1024 e 2^1025, che si suppone di dover moltiplicare tra loro per ottenere un numero di 2048 bit, è circa 2,53×10^306.

Il numero di combinazioni possibili tra due numeri primi, nel range considerato sopra, diversi tra loro è circa 3,19×10^712.

Per avere un termine di paragone: il numero di atomi che vengono stimati esistere nell’universo osservabile è circa 10^80.

Se ogni atomo dell’universo fosse una CPU in grado di calcolare il valore di una delle combinazioni RSA a 2048 bit ogni millisecondo, servirebbero 1,013×10^628 anni per provarle tutte, cioè per completare un attacco a forza bruta su tutto lo spazio della chiave.

Dat che il nostro universo ha una vita stimata di 13,8×10^9 anni (13,8 miliardi di anni) si può dire che è impossibile riuscire a decriptare i dati cifrati con CryptoLoker se non si conosce la chiave.

Fino a che non ci saranno evoluzioni – probabilmente rappresentate da computer quantici oppure nuovi algoritmi di fattorizzazione – la cifratura RSA-2048 risulta sicura; purtroppo anche in questo caso.

Quindi: backup, backup, backup, antivirus, antimalware, backup, backup, backup…

Annunci
Questa voce è stata pubblicata in crittografia, lavoro, Problema e soluzione, varie e contrassegnata con , , , , , , , , , . Contrassegna il permalink.

9 risposte a Cryptolocker e RSA-2048

  1. Barney Panofsky ha detto:

    Ovviamente la soluzione e’ NON aprire alcun allegato strano 🙂

    Mi piace

    • dv8888 ha detto:

      Ciao, anche quello. E tenere flash player aggiornato. Eventualmente una macchina virtuale per navigare senza file sui suoi dischi e utente non amministrativo. Oppure un Linux o Mac

      Mi piace

  2. Num3ri ha detto:

    Al lavoro da me, di default, aprono gli allegati strani anche se viene comunicato a tutti di non farlo.
    Le altre soluzioni che proponevi. per motivi che qui non posso esporre non sono proponibili, come non è proponibile neanche il pagamento.
    Ciò ha comportato la perdita dei dati di alcuni utenti. La paura di perdere i propri dati ha convinto gli altri a tenere un comportamento più “attento”.
    Il vero problema non è tanto quanto il flash player e tutto il resto: non è un problema software, ma un problema hardware! Gli utenti si scordano di connettere l’apposita device ( in figura ) prima di accendere il pc. 😉 😀

    Mi piace

    • Num3ri ha detto:

      Dimenticavo la figura!!

      ( Stamane non sono connesso neanche io 😛 )

      Mi piace

      • dv8888 ha detto:

        Ciao,
        tralasciando l’accessorio in foto, che comunque ha il suo perché 🙂
        , se le soluzioni che propongo non sono implementabili (scenario tipico) che ci siano almeno:
        1. firewall aziendale che ispezioni anche il contenuto degli allegati
        2. antivirus aziendale su ogni macchina (configurato per analizzare file in uso e connessioni di dispositivi come chiavette usb) + anti malware
        3. segregazione a n livelli della infrastruttura con sotto-rete dei database dedicata ai dati
        4. proxy che controlli la navigazione
        5. politica di utilizzo degli strumenti (spiegata a tutti), che è la base della cultura it, comprendendo un manuale utente per gli utenti e strategie di aggiornamenti
        6. piano di backup (con test di restore per vari scenari)
        7. piano di emergenza per “contenere il danno” dove possibile
        8. referenti tecnici identificati cui chiedere supporto per casi dubbi
        Dan

        Mi piace

  3. dv8888 ha detto:

    Marina, esercito di terra, aviazione, paracadusti… ?!?! 😀

    Mi piace

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...