In der vergangenen Woche berichteten wir darüber, wie Verschlüsselung maßgeblich Krypto-Ransomware beeinflusst. Der zweite Teil des Posts beschäftigt sich eingehender mit den Verschlüsselungsmethoden der vier Krypto-Ransomware-Familien: CryptoDefense (2014), TorrentLocker (2014), TeslaCrypt (2015) und Petya (2016).

Krypto-ransomware Dual-Verschlüsselung
CryptoDefense X
TorrentLocker
TeslaCrypt
Petya X

CryptoDefense

Zu Beginn schien CryptoDefense, der ersten einflussreichen Ransomware, CryptoLocker auffallend ähnlich zu sein. CryptoDefense hatte einige Makel in der Implementierung seiner C&C-Kommunikation und im Dateiverschlüsselungsprozess. Das C&C-Protokoll basierte auf HTTP POSTs, die von der Malware an den zu kompromittierenden Host gesendet wurden. Um die C&C-Kommunikation zu sichern, verwendete CryptoDefense Verschleierungen in der HTTP POST URL. Auf diese Weise konnte der Schlüssel zur Verschlüsselung des Nachrichten-Hauptteils verdeckt werden. Die POST-Nachricht überträgt die durch RC4 verschlüsselte C&C-Protokoll-Nachricht, unter Verwendung des verborgenen Schlüssels aus der POST URL.

Entschlüsselung des C&C-Protokolls von CryptoDefense

Abbildung 1: Entschlüsselung des C&C-Protokolls von CryptoDefense

Eine Kleinigkeit wurde von den Malware-Entwicklern jedoch übersehen. Der Verschlüsselungsschlüssel, der auf dem kompromittierten Host generiert und für die Dateiverschlüsselung benutzt wurde, wurde nie gelöscht. Das machte die Entschlüsselung einfach. Man musste nur den privaten RSA-Schlüssel auf dem kompromittierten System finden und mit Hilfe einer Windows API betroffene Dateien wiederherstellen.

TorrentLocker

Frühere anfällige Varianten des TorrentLockers benutzten schon sehr sichere Algorithmen, um die Dateien eines Opfers zu verschlüsseln: AES im Counter Mode (CTR). Nichtsdestotrotz schuf die Art und Weise wie der Algorithmus eingesetzt wurde, eine beträchtliche Schwachstelle im Gesamten Verschlüsselungsschema.

AES ist eine sogenannte Blockverschlüsselung (auch Blockchiffre genannt). Diese Technik ist in der Lage, Blöcke einer bestimmten Größe (Beispielsweise 16 Bytes) zu verschlüsseln. Und hierbei kommt die Betriebsart, in der Blockchiffren betrieben werden können, ins Spiel.

AES im Counter Mode (CTR) benötigt einen Initialwert als Parameter, der auch als Initialization Vector (IV) bekannt ist, und verwendet diesen, um den Schlüssel (bis zu 256 bits) bis auf die Länge des Klartexts (unverschlüsselter Inhalt) auszudehnen. Dieser Schlüsselstrom (Keystream), ist eine Sequenz an digitalen Symbolen, die in einem Verschlüsselungssystem erzeugt wird.

Angriffe durch frühere TorrentLocker waren relativ einfach: Auf dem kompromittierten System wurden 2MB an Schlüsselstrom erzeugt und mit der Verschlüsselung des ersten 2MB-Segments begonnen, in dem jedes Segments mit dem Schlüsselstrom XOR-verschleiert wird. Dateien kleiner als MB wurden komplett durch die Methode verschlüsselt.

Die Benutzung des AES-CTR-Modus war analog der Wiederverwendung des IV und des Schlüssels der Stromverschlüsselung – ein klassischer Anfängerfehler. Eine einzelne verschlüsselte Datei und der originale unverschlüsselte Inhalt reichen aus, um den Schlüsselstrom zu rekonstruieren und alle Dateien zu entschlüsseln.

TeslaCrypt

Es kommt nicht von ungefähr, dass TeslaCrypt mit Abstand die bis jetzt erfolgreichste Ransomware ist. Die Verschlüsselung wird mit Vorsicht gehandhabt und der verwendete Algorithmus deutet darauf hin, dass die Entwickler von TeslaCrypt sehr versiert sind.

TeslaCrypt benutzt die AES-256-Verschlüsselung. Im Gegensatz zu mangelhaften TorrentLocker-Varianten benutzt TeslaCrypt CBC als Operationsmodus. Im CBC-Modus wird jeder Ciphertext-Block der Verschlüsselung des nächsten Blocks zugeführt und alle Blocks werden dann durch den gleichen Schlüssel chiffriert.

Gleichwohl begingen auch die Entwickler von TeslaCrypt v2.2.0 (a.k.a. TeslaCrypt v8) einen Fehler, selbst wenn dieser nicht ganz trivial war. Wie BleepingComputer berichtete und Talos analysierte, beabsichtigt der Recovery Key (RK) den Verschlüsselungsschlüssel zu schützen. Dieser kann als die Multiplikation des Shared Secret Keys (C2K) mit dem privaten Schlüssel (FK) angesehen werden. Es ergibt sich: RK = C2K * FK.

Der RK ist auf dem kompromittierten System gespeichert und erlaubt die Wiederherstellung des privaten Schlüssels (FK) wenn C2K bekannt ist. Allerdings nahmen die TeslaCrypt-Entwickler fälschlicherweise an, dass ihnen das RSA-Problem hilfreich sein konnte. Aber der RK war nicht lang genug, um das Problem nicht lösen zu können. Mittels Brute-Force konnte der Entschlüsselungsschlüssel herausgefunden und verschlüsselte Dateien wiederhergestellt werden.

Petya

Petya verfolgt einen Ansatz, der sich von den anderen drei Ransomware stark unterscheidet. Anstelle Dateien einzeln zu verschlüsseln, hat diese Malware das ganze Dateisystem im Auge. Das Ziel ist des Opfers MBR (Master Boot Record). Dieses Startprogramm ist für das Hochfahren des Betriebssystems zuständig. Der von den Petya-Entwicklern gewählte Schlüssel war Salsa20 und gehört zum eSTREAM-Portfolio. Dieses ist das Endprodukt eines Projekts, welches das Design neuer Stromschlüssel fördert und ältere wie RC4 ersetzt. Die Adoption von Salsa20 kennzeichnet die Entwicklung von Krypto-Ransomware hinzu neuen und robusteren Verschlüsselungsalgorithmen.

Wenn Petya ausgeführt wird, beginnt eine zweistufige Attacke auf das MBR. Der Prozess der Verschlüsselung des MBRs ist gut gemacht. Es beginnt mit der Modifizierung des MBR und einem BSOD (Blue Screen Of Death), um das System neu zu starten. Danach folgt ein gefälschter Diskcheck (CHKDSK). In Wirklichkeit läuft im Hintergrund die MBR-Verschlüsselung. Nach einem weiteren Neustart bekommt der User dann die Ransomware-Nachricht angezeigt.

Petya Totenkopfschädel mit der Ransomware-Nachricht

Abbildung 2: Petya Totenkopfschädel mit der Ransomware-Nachricht

Beim Auftauchen der Nachricht sollte man Ruhe bewahren. Noch sind die sensiblen Daten nicht verloren, denn auch Petya hat ein Schlupfloch. Am Ende läuft alles darauf hinaus, dass das Security-Level der Petya-Verschlüsselung von 92-bit auf 46-bit absinkt und dann sogar von Standardcomputern mittels Brute-Force innerhalb von Sekunden geknackt werden kann.

Damit Hackern liquide Mittel für weitere Ransomware-Projekte fehlen, empfehlen wir allen Betroffen nicht auf die Lösegeldforderung einzugehen. Hier sollte man lieber auf Backups zurückgreifen, insofern welche angelegt wurden. ESET bietet eine Reihe von Tools an, die beim Entfernen der Ransomware helfen sollen. Außerdem stellt auch eine Initiative aus High Tech Crime Unit der Niederländischen Polizei und Europols European Cybercrime Centre in Zusammenarbeit mit IT-Sicherheitsfirmen diverse Tools bereit.