it-swarm-eu.dev

Perché è possibile rompere così tanto ransomware?

Il sito: https://www.nomoreransom.org/ offre molti strumenti di decodifica per i ransomware.

Ma perché?

Non dovrebbe essere così difficile utilizzare l'API Crypto di Windows (ad es. Google "crea chiave AES in Windows") per creare chiavi AES, crittografarle con una chiave RSA pubblica generata localmente e crittografare la chiave RSA privata corrispondente con una RSA pubblica Chiave controllata dall'attaccante. (Il metodo di Wanacry.)

Se la vittima paga il riscatto, deve inviare la chiave RSA privata crittografata agli aggressori e, si spera, ottenere la chiave RSA privata decodificata.

Perché queste persone cercano di reinventare la ruota e nel processo commettono errori che consentono lo sviluppo di strumenti di decodifica?

67
kiara

Divulgazione: Lavoro per uno dei fornitori che partecipano a NoMoreRansom.

La maggior parte dei ransomware moderni implementa effettivamente una corretta crittografia. Le versioni precedenti utilizzavano Rand() per la generazione di chiavi, seminando i generatori casuali con varianti di time() - ecco perché era importante che la decrittazione riuscisse a sapere quando si è verificata esattamente l'infezione; idealmente fino a pochi minuti. Quelli potrebbero essere decifrati con forza bruta. Ma la maggior parte dei ransomware moderni utilizza effettivamente l'API Crypto di Windows o le librerie crittografiche in bundle.

Tuttavia, indipendentemente dalla corretta implementazione del ransomware, c'è sempre un punto debole: per facilitare la decrittazione, le chiavi devono essere archiviate da qualche parte. Questo luogo potrebbe essere rintracciato dalle compagnie di sicurezza, che collaborerebbero con le forze dell'ordine per prenderne il controllo. L'accesso al server offre alla società di sicurezza la possibilità di decrittografare i file delle vittime del ransomware. Questo è ad esempio il caso del ransomware GangCrab.

100
George Y.

È solo una domanda di costo/guadagno. Gli sviluppatori di ransomware generalmente non vogliono creare uno strumento di sicurezza con tutte le revisioni coinvolte. Vogliono solo lo strumento meno costoso che consentirà loro di ottenere più soldi di quanto costino. Certo, sono probabilmente fragili, ma a chi importa? A condizione che alcune delle prime vittime abbiano pagato ciò che è stato loro chiesto, l'attaccante ottiene molto più denaro di quanto abbia speso. Inoltre, più a lungo ne usi uno, maggiore è il rischio di essere colto se un'agenzia di sicurezza governativa riesce a entrare in gioco.

È più o meno ciò che fanno molti ladri della vita reale quando riescono a entrare in una casa a caso: prendi le cose più preziose nel più breve tempo possibile e vai via.

Le cose sono diverse sia nella vita reale che nel mondo IT per gli attacchi mirati. Se vuoi attaccare una banca o una gioielleria, il guadagno dovrebbe essere abbastanza alto da spendere molto tempo di preparazione. Lo stesso quando un servizio governativo attacca un obiettivo strategico, utilizzerà strumenti di qualità superiore. Ma raramente viene utilizzato per obiettivi casuali.

49
Serge Ballesta

La risposta ovvia è che nessun criminale vorrebbe interagire così direttamente con la propria vittima.

"invia la chiave RSA privata crittografata agli aggressori"

richiede un punto di contatto coerente.

Nel modello attuale, tutte le comunicazioni sono unidirezionali e fungibili:

  • il malware visualizza una schermata che indica alla vittima di depositare bitcoin (nessun contatto diretto)
  • i criminali monitorano i depositi e inviano e-mail con la chiave (la comunicazione è automatizzata e unidirezionale da qualsiasi intermediario usa e getta)

Il modello attuale funziona così bene, è una delle principali minacce in tutto il mondo. Ci sono sempre modi per migliorare un sistema, ma se non è rotto, qual è il vantaggio?

21
schroeder

Francamente, è piuttosto complicato ottenere una buona crittografia e decrittografia dei file, anche con una libreria che dovrebbe farlo per te. Ho provato a modificare un cryptor (inteso a offuscare i virus per nascondere le loro firme dai programmi antivirus) che originariamente utilizzava una tecnica di bit-shift molto semplice e non funzionava bene perché la maggior parte dei programmi antivirus avrebbe letteralmente forzato il binario e si sarebbe reso conto che era in realtà un virus! Volevo sostituire la "crittografia" bitshift, se così si potesse anche chiamarla così, con la crittografia AES tramite una libreria C # che avevo usato con successo in passato per le stringhe, ma non avrei mai potuto farlo funzionare. Un altro problema è che più complicato è il tuo algoritmo di crittografia, più tempo ci vuole per spazzare l'intero disco e poi decifrare alla fine quando/se pagano. È anche più probabile che fallisca nel mezzo e si traduca in un lavoro incompleto.

Quello che ho visto una volta sul computer di mia nonna, prima che il ransomware decollasse e migliorasse, era un programma di ransomware che avrebbe crittografato i suoi file e voleva circa $ 200 per decrittografarli. In realtà, tutto ciò che ha fatto è stato aggiungere l'estensione ".crypted" alla fine di ogni singolo file in modo che Windows non sapesse quale programma usare per aprirne uno qualsiasi! Una volta capito, tutto ciò che era necessario fare era usare il task manager per individuare ed eliminare il file ransomware originale, quindi scrivere uno script batch per controllare ricorsivamente ogni file sul sistema per l'estensione .crypted e rimuoverlo se presente. Problema risolto entro un'ora, niente soldi pagati agli hacker! Ma se avessero usato AES, questa tecnica non avrebbe funzionato affatto e l'eliminazione del file del virus avrebbe probabilmente distrutto ogni speranza che tu abbia mai avuto di infrangere la crittografia di livello militare.

La differenza è che il ragazzo che ha usato la prima tecnica per rinominare l'estensione del file in modo che Windows non potesse aprire alcun file probabilmente aveva già avuto centinaia di infezioni quando il ragazzo che utilizzava la crittografia di livello militare ha persino finito il suo virus e il 5% delle persone che sono abbastanza intelligenti da risolvere il primo probabilmente sono anche abbastanza intelligenti da non essere infettati dal secondo. L'altro 95% delle persone che non sono riuscite a trovare un modo per risolvere entrambi i virus oltre a pagare il riscatto, probabilmente lo hanno pagato la prima volta (al ragazzo con il ransomware facilmente risolvibile) e quindi hanno immediatamente impostato una soluzione di backup completa per evitare che accada mai più. Se in seguito sono stati infettati dal ransomware di livello militare, hanno già imparato la lezione una volta e sono appena stati ripristinati dal backup. Si spera che anche le persone che non sono state ancora infettate inizino a impostare i backup, quindi non devono nemmeno pagare il riscatto una volta.

Da questo scenario, puoi vedere come il ragazzo con il ransomware facilmente frangibile può rilasciarlo prima, agisce più velocemente ed è più affidabile e più facile da invertire anche se il programma antivirus riesce a eliminare il virus prima della decrittazione e, per questo, ha farà più soldi della persona che impiega un sacco di tempo a creare un virus ransomware completamente a prova di proiettile, ma è più tardi sul mercato dopo che le persone hanno iniziato a fare il saggio e il backup dei loro file importanti.

5