it-swarm.com.de

Wie verschlüsselt bösartige Software die Dateien der Opfer so schnell?

Das Verschlüsseln einer Datei ist für mich vergleichbar mit dem Umgang mit einer sehr langen Zeichenfolge, dem Einspeisen in die Hashing- oder Verschlüsselungsfunktion, um eine weitere lange verschlüsselte Zeichenfolge zu erhalten (oder einen Hash im Fall von Hashing).

Dieser Vorgang dauert einige Zeit. Ich weiß das, weil ich HashTab verwende, um die Integrität der Dateien zu überprüfen, die ich aus dem Internet herunterlade.

Wie kann Ransomware wie CTB-Locker oder Crypt0l0cker ihre Opferdateien sofort verschlüsseln?

Kürzlich war ein Freund von mir Opfer einer dieser Ransomware und konnte seine Dateien/Fotos von Ubuntu NICHT auf seinem Dual-OS-Computer öffnen, selbst wenn die Infektion mit MSWindows auftrat. Dies deutet darauf hin, dass die Verschlüsselung beim Öffnen einer Datei nicht im laufenden Betrieb erfolgt.

48
Ulkoma

Ich war bei einem OWASP-Vortrag, bei dem der Sprecher eine ausführbare Ransomware-Datei (für Windows) vor uns dekompilierte und analysierte. Es gibt viele Arten von Ransomware, daher kann ich im Allgemeinen nicht mit Ransomware sprechen, aber ich kann mit Sicherheit über die sprechen, die ich gesehen habe. Die allgemeine Idee ist, dass die ausführbare Ransomware-Datei den öffentlichen Schlüssel für die Verschlüsselung enthält, der zum Verschlüsseln von Dateien mit einem asymmetrischen Algorithmus, beispielsweise RSA, erforderlich ist. Der entsprechende private/Entschlüsselungsschlüssel verbleibt bei den Hackern, sodass Sie den Entschlüsselungsschlüssel nicht durch Reverse Engineering der ausführbaren Datei erhalten können.

Um eine Datei tatsächlich zu verschlüsseln, geschieht Folgendes:

  1. Überspringen Sie die ersten 512 Bytes der Datei, damit der Dateikopf intakt bleibt.

  2. Verschlüsseln Sie die nächsten 1 MB mit dem eingebetteten Verschlüsselungsschlüssel.

  3. Wenn die Datei länger als diese ist, lassen Sie den Rest unverschlüsselt.

Es geht nicht darum, die Daten vollständig auszublenden oder zu schützen, sondern sie nicht analysierbar zu machen.

Die Ausführung von 1 MB RSA ist immer noch langsam und es wird noch einige Stunden dauern, bis Ihre Festplatte gecrawlt ist.

Ich vermute, dass dieses Exemplar, das ich gesehen habe, nur eine faule Nachahmung der vollständigen RSA-AES-Ransomware war, über die Steffen Ullrich in seiner Antwort gesprochen hat - worüber Sie sich wirklich Sorgen machen sollten.

45
Mike Ounsworth

Die erste symmetrische Verschlüsselung ist ziemlich schnell. AES in einigen Modi beträgt leicht 200 MB/s. Ihre Behauptung, dass das Hashing langsam ist, ist ein roter Hering. Hashing ist unglaublich schnell. Auf modernen Prozessoren ist es so schnell, dass die effektive Sicherheit von Passwort-Hashes geschwächt wird. Dies hat zur Entwicklung von Funktionen zur Ableitung von Mehrrundenschlüsseln geführt, um das Hashing zu "verlangsamen".

Die "langsame" Geschwindigkeit, die Sie sehen, ist hauptsächlich der Effekt Ihrer langsamen Festplatte. Beim Speicher-Hashing liegt etwas in der Größenordnung von 500 MB/s bis 2 GB/s +.

Trotzdem muss die Malware nicht "sofort" sein. Das System des Benutzers ist lautlos infiziert. Kopien der Dateien können verschlüsselt werden, ohne den Benutzer zu benachrichtigen. Sobald sie fertig sind, werden die Originale gelöscht und der Benutzer "sofort" benachrichtigt. Der gesamte Prozess von der Infektion bis zu diesem Zeitpunkt hat möglicherweise viel Zeit in Anspruch genommen, obwohl er scheinbar sofort abläuft.

28
Gerald Davis

Hashing (wie SHA-1 usw.) und symmetrische Verschlüsselung (wie AES) sind relativ billig, asymmetrische Verschlüsselung (wie RSA) ist viel teurer. Aus diesem Grund verwendet man normalerweise nicht RSA, um eine große Datei zu verschlüsseln, sondern verwendet stattdessen symmetrische Kryptographie mit einem zufälligen Schlüssel und verschlüsselt diesen kurzen Schlüssel nur mit RSA.

Ich weiß das, weil ich HashTab verwende, um die Integrität der Dateien zu überprüfen, die ich aus dem Internet herunterlade.

Klingt für mich nach einer sehr wissenschaftlichen Methode. Wenn Sie keinen alten und langsamen Prozessor haben, ist die Geschwindigkeit des Hashings (und damit der Überprüfung der Daten) meist schneller, als Sie die Daten von der Festplatte lesen können (falls dies nicht offensichtlich ist: Natürlich müssen Sie die Daten noch lesen, um sie zu hashen Es wird jedoch mehr Zeit für das Warten auf die Daten von der Festplatte aufgewendet als für das Berechnen des Hashs.

Wie kann Ransomware wie CTB-Locker oder Crypt0l0cker ihre Opferdateien sofort verschlüsseln?

Moderne Betriebssysteme unterstützen verschlüsselte Dateisysteme. Bei den heutigen Prozessoren (die häufig eine Hardwarebeschleunigung für AES beinhalten) werden Sie keinen großen Geschwindigkeitsunterschied feststellen, wenn Sie ein verschlüsseltes Dateisystem verwenden oder nicht, da der Engpass nicht die Verschlüsselung, sondern die Geschwindigkeit von ist die Festplatte (in Benchmarks werden Sie siehe einen Leistungsabfall , aber diese spiegeln für die meisten Menschen nicht die reale Nutzung wider). Daher ist dies kein Grund, warum Ransomware Daten auch nicht schnell verschlüsseln konnte. Natürlich können sie sich dadurch schneller anfühlen, wenn sie sich in das System einbinden, sodass die Dateien, die Sie öffnen möchten, zuerst verschlüsselt werden und der Rest im Hintergrund.

15
Steffen Ullrich

Der Fehler, den Sie machen, ist zu denken, dass es sofort ist. Vielmehr befindet sich die Malware dort, verschlüsselt im Hintergrund und entschlüsselt alles, was der Benutzer verlangt. In dieser Phase ist es still, es wird erst das Lösegeld verlangt, nachdem alles verschlüsselt wurde.

10
Loren Pechtel

Laut Wikipedia:

Bei der ersten Ausführung installiert sich die Nutzlast im Benutzerprofilordner und fügt der Registrierung einen Schlüssel hinzu, der die Ausführung beim Start bewirkt. Anschließend wird versucht, einen von mehreren festgelegten Befehls- und Steuerungsservern zu kontaktieren. Sobald die Verbindung hergestellt ist, generiert der Server ein 2048-Bit-RSA-Schlüsselpaar und sendet den öffentlichen Schlüssel an den infizierten Computer zurück.

Es ist nicht langsam, wie Sie denken. Wenn Ihr Computer schnell ist und zum Zeitpunkt der Infektion keine hohe CPU-Auslastung aufweist, können Sie in weniger als 15 Minuten Gigabyte an Daten verlieren. Moderne PCs können Hash berechnen und Verschlüsselungsvorgänge schneller ausführen, als die Festplatten/SSD-Festplatten funktionieren können. Daher würde ich sagen, dass die moderne Geschwindigkeitsbegrenzung für die Hash-/Verschlüsselungsgeschwindigkeit eher auf der Festplatte selbst basiert. Ich kann in 2 Minuten einen SHA-512-Hash für eine 2,5-GB-Datei generieren.

Außerdem kann die Malware warten, bis sie alles verschlüsselt, was sie möchte, bevor sie dem Benutzer eine Nachricht anzeigt.

8
Freedo

Der grundlegende Prozess besteht darin, den Inhalt Ihrer Datei zu lesen und ihn mithilfe einer asymmetrischen Verschlüsselung auf die Festplatte zurückzuschreiben, um sicherzustellen, dass Sie zahlen müssen, um Ihre Daten zurückzubekommen. Einige verschlüsseln nur kleine Teile der Daten, um die Geschwindigkeit zu verbessern, andere schreiben Ihre gesamte Festplatte neu, wenn dies möglich ist. Wie einige der anderen Antworten bemerken, verschlüsselt Malware einfach einen Teil Ihrer Datei an Ort und Stelle, um den Prozess zu beschleunigen, da bei vielen Dateiformaten bereits eine geringfügige Änderung der Datei die gesamte Datei unbrauchbar macht.

Wie kann Ransomware wie CTB-Locker oder Crypt0l0cker ihre Opferdateien sofort verschlüsseln?

Sie können nicht. Stattdessen verbergen sie ihre Aktivität, indem sie die Dateien so lange als OK anzeigen lassen, bis der Vorgang abgeschlossen ist. Durch Abfangen von Dateisystemaufrufen können Sie die Ansicht des Benutzers ändern, was tatsächlich auf der Festplatte vorhanden ist, sodass es so aussieht, als ob bis zum Abschluss alles noch in Ordnung ist. Wenn Sie dann die Abfangen entfernen, kann der Benutzer den wahren Status des Laufwerks sehen . Die Gefahr dabei besteht darin, dass Sie beide Teile Ihres asymmetrischen Schlüsselpaars haben müssen, um die Dateien im laufenden Betrieb zu entschlüsseln, wenn der Benutzer eine öffnet. Dies bedeutet im Prinzip, dass etwas den gewünschten privaten Schlüssel finden kann Verkaufe den Benutzer später.

Andere Malware wie CryptoWall (mit der ich in letzter Zeit mehr Erfahrung hatte, als ich mir merken möchte) macht sich nicht die Mühe, sie zu verstecken. Sie verschlüsselt einfach alles so schnell wie möglich ... und das ist durch die IO Geschwindigkeit des Laufwerks, auf das verschlüsselt wird.

Wenn man sich einige Benchmarks für AES ansieht - den Verschlüsselungsalgorithmus, den CryptoWall angeblich verwendet -, kann eine bescheidene moderne CPU Daten mit Raten von weit über 100 MB/s verschlüsseln, was bedeutet, dass der Vorgang wahrscheinlich an E/A gebunden ist andere als eine SSD. Wenn Sie mehrere Threads hinzufügen, die auf separaten CPU-Kernen ausgeführt werden, die auf verschiedene Ordner und/oder Laufwerke abzielen, kann der Vorgang relativ schnell abgeschlossen werden.

Ich musste kürzlich einen Dateiserver bereinigen, der von CryptoWall auf einem der Benutzer-PCs verarbeitet wurde. Als die Benutzer bemerkten, dass etwas nicht stimmte, lief die Malware etwa 1,75 Stunden lang. Wir haben das Ding kurz vor der 2-Stunden-Marke aus dem Netzwerk genommen und während der Bereinigung habe ich ungefähr 230 GB verschlüsselte Dateien gefunden. Das ist eine durchschnittliche Verschlüsselung von ~ 30 MB/s, was in der Umgebung sicherlich möglich ist. Das Wiederherstellen der Dateien aus der vorherigen Sicherung dauerte ungefähr dreimal so lange. Obwohl ich einige Ideen habe, wie ich das nächste Mal beschleunigen kann, haben die meisten Clients ihre Backups auf beschissenen, kostengünstigen NASs oder (shudder) USB-Laufwerken.

Leider ist es unwahrscheinlich, dass diese Dinge bald ein Ende haben. Eine kompetente, anständig konfigurierte Backup-Lösung ist Ihr bester Freund, wenn eines dieser Dinge eintritt. Es tut nicht weh, einen Programmierer zur Verfügung zu haben, der die Wiederherstellung per Skript erstellt.

6
Corey

Aus Sicht des Social Engineering hätte der Malware-Autor ein Programm schreiben können, das den Inhalt der Daten durch zufällige Bits ersetzt. Das Opfer hätte keine Möglichkeit zu überprüfen, ob der Inhalt verschlüsselt oder einfach weggeworfen wurde. Wenn sie sich entscheiden, das Lösegeld zu zahlen und der "Schlüssel" nicht funktioniert, können sie nicht viel tun, die Jungs sind schließlich Kriminelle.

5

Einige Ransomwere wie TorrentLocker verschlüsseln nur die ersten MB (plus ein nachfolgendes). Dies reicht aus, damit die meisten Formate nicht erkannt werden, gleichzeitig aber eine große Anzahl von Dateien viel schneller verschlüsselt werden kann (denken Sie auch daran, dass nur einige Dateitypen wie Dokumente, Fotos usw. verschlüsselt sind).

Dies wurde von Nixu in SANS-Blog und auch in ( ESET-Whitepaper ) berichtet, obwohl sie 2 MB berichteten.

Und wie Loren bereits erwähnt hat, zeigt die Ransomware nur das große Banner, das nach dem Lösegeld fragt, nachdem alles verschlüsselt wurde (es ist nicht gut, dass Sie feststellen, wenn nur wenige Dateien "gehalten" wurden), obwohl einige Ransomwares platziert werden, während sie eine Ransomware verwenden Anspruchsvolle Datei für jeden Ordner/für jede verschlüsselte Datei.

4
Ángel