Nmedia - Fotolia

Profi-Tipps gegen Ransomware-Verschlüsselung: Was hilft – und was nicht?

Sind die eigenen Daten erst durch Ransomware verschlüsselt, ist guter Rat teuer. Mit diesen Tipps lässt sich Ransomware manchmal noch aushebeln.

Es geht ganz schnell: Gerade sind die eigenen Dateien noch da, und im nächsten Moment sind sie weg. Und dabei hat man lediglich „nützliche“ Software heruntergeladen oder einen E-Mail-Anhang geöffnet, den man von einem Kollegen bekommen hat. Und dann erfährt man, dass alle angehängten Dateien völlig wertlos geworden sind.

Ben Herzog, Sicherheits-
forscher, Check Point
Software Technologies

Sämtliche Inhalte wurden durch etwas ersetzt, das als ein Zufallsrauschen erscheint. Natürlich hätte man ein Backup, aber damit ist genau das Gleiche passiert. Bald folgt eine Warnung, entweder in Form einer Pop-up-Nachricht oder über den gesamten Desktop verteilt: Wenn man seine Dateien jemals wiedersehen möchte, solle man ein saftiges Lösegeld zahlen.

Diese Art von Malware heißt Ransomware und ist eine Art krypto-virologischer Erpressung. In diese Situation zu geraten ist alles andere als eine angenehme Erfahrung.

Hätte man geahnt, dass dies passieren würde, hätte man mehrere Maßnahmen ergreifen können. Wenn man mit einem Windows-Rechner arbeitet, hätte man den Dienst Windows Shadow Copy aktivieren können.

Das System hätte Backups der entsprechenden Dateiversionen erstellt und möglicherweise hätte sich die Ransomware nicht die Mühe gemacht, diese Backups zu suchen und zu zerstören (obwohl man nicht zu optimistisch sein sollte; die meisten Autoren von Ransomware lassen sich so leicht nicht täuschen).

Man hätte sich auch bei einem Cloud-Service anmelden können, der laufend Updates des Dateisystems zieht (zumindest solange der Speicher nicht vom gleichen Dateisystem aufgebaut wurde und von dort aus zugänglich ist, denn auch dies wäre kontraproduktiv). Natürlich hätte man auch beim Öffnen von Dateien oder Besuchen von Webseiten einfach etwas vorsichtiger sein können…

Abbildung 1: Cryptolocker-Erpressermeldung

Einige der möglichen Präventivmaßnahmen gegen Ransomware sollen im Folgenden angesprochen werden. Aber wenn es um Ransomware geht, sollte man sich immer das Worst-Case-Senario vor Augen halten: Es gibt keine Ausfallsicherheit, keine funktionierenden Backups und man sitzt vor einer Festplatte voller verschlüsselter Dateien.

Angriffsvektor 1: Den Schlüssel finden und das System knacken

Ransomware-Erpressung basiert auf einer einfachen Tatsache: Nur die Angreifer haben den Schlüssel, der zur Entschlüsselung der eignen Dateien erforderlich ist. Eine Verschlüsselung ist nur so sicher wie ihr Schlüssel – wenn man den Schlüssel beschaffen kann, ist das Spiel für den Erpresser aus.

Man könnte meinen, dies veranlasse die Autoren der Malware dazu, bei der Sicherung des Schlüssels besonders vorsichtig zu sein. Überraschenderweise gibt es eine Vielzahl an Möglichkeiten, um den Schlüssel wieder herzustellen. Wie der DirCrypt-Fall zeigt, ist das Szenario „Malware-Autor weiß nicht, wie man verschlüsselt“ gar nicht mal so unwahrscheinlich. Der Malware-Stamm verwendete hierbei immer wieder den gleichen Stream-Cipher-Schlüssel zur Verschlüsselung aller Dateien und ließ darüber hinaus den Key praktisch neben jeder einzelnen verschlüsselten Datei liegen.

Abbildung 2: DirCrypt hängt seinen Schlüssel an die Opferdateien an

Geht man jedoch davon aus, dass der Malware-Autor über Grundkenntnisse der Verschlüsselung verfügt, dann kann man erwarten, dass Malware bei ihrer Ausführung sofort einen zufälligen AES-256-Schlüssel generiert, diesen zur Verschlüsselung der Dateien nutzt, ihn an den Command-and-Control-Server (C&C-Server) sendet und anschließend löscht.

Dann könnten zunächst einmal noch Spuren des Schlüssels im Host-System zurückbleiben. Zudem hat praktisch jede Station den Schlüssel unterwegs auf dem Weg zwischen dem eigenen Speicherort und dem C&C-Server gesehen, auch wenn die Malware dafür sorgt, dass all diese Spuren gelöscht werden. Bei diesem Vorgehen könnte durchaus ein Kommunikationsprotokoll vorliegen, von dem man den Schlüssel zurückbekommen könnte. Sogar wenn die Kommunikation selbst verschlüsselt ist, könnte diese Verschlüsselung erfolgreich angegriffen werden, insbesondere, wenn gezielt versucht wird, die Malware-Ausführung zurückzuentwickeln.

Diese Fallstricke sind der Hauptgrund, warum es quasi schon zum Standard gehört, Dateien eines Opfers durch asymmetrische Verschlüsselung als Geisel zu nehmen. Bei diesem Modell wird auf dem C&C-Server der Malware ein geheimer Schlüssel erzeugt, dann ein entsprechender öffentlicher Schlüssel, der zum infizierten System gesendet wird. Der öffentliche Schlüssel wird für die Verschlüsselung der Dateien verwendet, die dann nur vom geheimen Schlüssel entschlüsselt werden können (und nein, es ist nicht möglich, den öffentlichen Schlüssel zur Entschlüsselung zu verwenden).

Aber selbst wenn die Malware dieses Modell korrekt anwendet, gibt es bisweilen Möglichkeiten, den geheimen Schlüssel zurückzuerlangen. Im August 2014 wurde das GameOverZeus-Botnetz, das die berüchtigte CryptoLocker-Malware verbreitete, durch die Zusammenarbeit zwischen verschiedenen Exekutivbehörden, Universitäten und Sicherheitsfirmen gestoppt. Anschließend erlangten sie die Kontrolle über die für CryptoLocker genutzten C&C-Server – und auch über den Verwahrungsort der geheimen Schlüssel. In der Folge konnte jeder, der mit CryptoLocker infiziert war, einfach zu einer Webseite gehen und seine Dateien kostenlos entschlüsseln lassen.

Angriffsvektor 2: Keine Kommunikation, keine Erpressung

Dieser Angriffsvektor zielt auf die ungeschützte Phase des Schlüsselaustauschs ab. Im Gegensatz zum ersten Vektor handelt es sich hier um eine Präventivmaßnahme, die keine Krypto-Analyse beinhaltet, nicht einmal den banalen Typ des „Finde den Schlüssel und nutze ihn“. Stattdessen soll verhindert werden, dass die Ransomware mit ihrem C&C-Server kommuniziert.

Bei der Bekämpfung von Ransomware kann eine Traffic-Analyse einen wichtigen Beitrag leisten, besonders wenn sie über eine schnelle Shut-Down Automatik verfügt. Wenn die eigene Firewall die Kommunikation der Ransomware mit ihrem C&C-Server erkennt und die Malware daran hindern kann, einen symmetrischen Schlüssel zu versenden oder einen öffentlichen Schlüssel zu empfangen, wird die Malware wahrscheinlich beim Versuch, die Verbindung aufzubauen, in der Warteschleife hängen bleiben.

Ohne einen erfolgreichen Schlüsseltransfer haben Erpresser einen schweren Stand. Im Falle einer symmetrischer Verschlüsselung haben sie, falls die Malware den Erpressern den Schlüssel nicht senden kann, keinen Schlüssel, mit dem sie Ihre Dateien entschlüsseln können. Im Falle asymmetrischer (Public-Key)-Verschlüsselung und falls der C&C-Server den öffentlichen Schlüssel nicht an die Ransomware weitergeben kann, findet keine Verschlüsselung statt, denn die Ransomware hat dann keinen Key, mit dem sie die Verschlüsselung vornehmen kann.

Die offensichtliche Effektivität dieser Methode ist den Ransomware-Autoren nicht entgangen und so werden ernsthafte Anstrengungen unternommen, sie zu umgehen. Die Verschlüsselung der gesamten Kommunikation ist eine Möglichkeit (natürlich gibt es dabei ebenfalls Fallstricke). Eine andere Methode, die in letzter Zeit in der Ransomware-Landschaft angewandt wird, besteht darin, die gesamte Verschlüsselung offline auszuführen und erst nach erfolgter Verschlüsselung mit dem Server zu kommunizieren.

Eine Randnotiz: Das Diffie-Hellman Ransomware-Gambit

Die Methode „zuerst verschlüsseln, dann Fragen stellen” beschränkt sich nicht alleine darauf, alle Dateien einfach zu verschlüsseln und dann zu versuchen, den Schlüssel zum C&C-Server zu senden. Ein aufkommender Trend ist, das Diffie-Hellman-Key-Exchange-Protokoll zu nutzen, um für die Verschlüsselung einen Sitzungsschlüssel zu erlangen. Während die spezifischen Details bei unterschiedlichen Ransomware-Implementierungen variieren, ermöglicht es der Diffie-Hellmann-Key-Exchange der Ransomware-Infektion, einen Zustand zu erreichen, indem die Erpressung ohne Kontakt zum C&C-Server möglich ist.

Die genaue Funktion des Diffie-Hellman-Algorithmus ist ziemlich kompliziert, vereinfacht gesagt handelt es sich dabei um eine Form der Public-Key-Verschlüsselung, bei der zwei Parteien ohne gemeinsamen geheimen Schlüssel ein Shared Secret vereinbaren können. Wenn Alice und Bob jeweils die öffentlichen Schlüssel des anderen haben, können sie sich damit auf einen gemeinsamen Sitzungsschlüssel einigen. Die Berechnung des Schlüssels erfordert entweder Zugriff auf den privaten Schlüssel von Alice oder auf den privaten Schlüssel von Bob; die Berechnung des Sitzungsschlüssels mit Zugriff auf keinen der beiden, alleine auf Basis der öffentlichen Schlüssel von Alice und Bob, gilt als sehr problematisch.

Man nimmt einmal an, der C&C-Server hätte seine eigenen öffentlichen und privaten Schlüssel. Weiter gilt die Annahme, die Malware würde – sobald es ihr gelingt, ein Opfer zu infizieren und sie ausgeführt wird – für jede Datei:

  1. private und öffentliche Sitzungsschlüssel für diese Datei generieren.
  2. Mithilfe des öffentlichen Schlüssels des C&C-Servers und des privaten Schlüssels, der zuvor generiert wurde, einen Diffie-Hellman-Schlüsselaustausch (Diffie-Hellman Key Exchange, DHKE) durchführen.
  3. Die Datei mit dem sich ergebenden Sitzungsschlüssel verschlüsseln.
  4. Den privaten Sitzungsschlüssel löschen und den öffentlichen Sitzungsschlüssel an die verschlüsselte Datei anhängen.

Dann müsste man zur Entschlüsselung der Datei den Sitzungsschlüssel wiedererlangen. Dafür benötigt man Zugriff auf den von der Malware generierten privaten Sitzungsschlüssel oder auf den privaten Schlüssel des C&C-Servers.

Außer im Falle einer glücklichen forensischen Fügung ist der private Sitzungsschlüssel jetzt für immer verloren. Die einzige Hoffnung, die Daten wiederherstellen zu können, ruht auf dem privaten Schlüssel des C&C-Servers – den der Erpresser hat, man selbst aber nicht. Und dabei musste er den sicheren Bereich des C&C-Servers niemals verlassen.

Abbildung 3: Schematischer Überblick über den Diffie-Hellman Key Exchange.

Etwas Ähnliches, wie der oben beschriebene Angriff, wurde in eine relativ neue Ransomware-Familie mit dem Namen CTB-Locker implementiert. Der einzige Unterschied dabei ist, dass der CTB-Locker versucht, direkt nach der Verschlüsselung den öffentlichen Schlüssel der Malware an den C&C-Server zu senden, statt den Schlüssel in der infizierten Maschine zurückzulassen. Mehr Informationen über diese neue Welle raffinierter Ransomware stehen hierhier und hier zur Verfügung.

Angriffsvektor 3: Schwache Verschlüsselung erkennen und besiegen

Falls es unmöglich oder zu spät ist, den Schlüssel wiederherzustellen oder die Kommunikation der Ransomware zu unterbrechen, bleibt nichts anderes übrig, als zu versuchen, die Verschlüsselung zu knacken.

Wie zuvor erwähnt, ist das bei starker Verschlüsselung nicht möglich. Doch zum Glück wird nicht bei jeder Malware so viel Mühe in die Verschlüsselungsstärke gesteckt. Eine erfolgreiche Ransomware-Kampagne kann zehntausende Maschinen beeinträchtigen (GameOver Zeus hatte sogar hunderttausende von Maschinen unter seine Kontrolle gebracht). Wie viele Besitzer solcher Maschinen werden wohl die bedrohliche 72-Stunden-Frist zur Zahlung des Lösegelds sehen und sich denken, „Ich werde versuchen, die Verschlüsselung zu knacken“? Malware-Autoren könnten also durchaus zu dem Schluss kommen, dass es sich nicht lohnt, einen Schritt weiter zu gehen und für wirklich starke Verschlüsselung zu sorgen.

Um eine Datei erfolgreich zu entschlüsseln, muss man zunächst die verwendete Verschlüsselung verstehen. Generell gibt es dafür zwei Wege. Einer davon lautet, den Verschlüsselungsalgorithmus durch Reverse Engineering der lauffähigen Malware direkt zu erlangen. Das erfordert aber Zeit, Mühe, spezielle Qualifikationen und Zugang zur lauffähigen Original-Malware – die aber meist nicht vorhanden ist.

Eine andere Möglichkeit besteht darin, die verschlüsselte Datei direkt zu analysieren; die statistischen Merkmale der Datei können nützliche Hinweise auf die Art der verwendeten Verschlüsselung geben. Einige interessante Indikatoren sind:

  1. Die Byte-Entropie der Datei: Byte-Entropie ist, grob gesagt, ein Maß dafür, wie „zufällig“ die Byte-Verteilung in der Datei auftritt. Die möglichen Werte liegen zwischen 0 (die gesamte Datei ist nur ein wiederholtes Byte) und 8 (alle möglichen Bytes erscheinen mit gleicher Wahrscheinlichkeit). Starke Verschlüsselung erzeugt Dateien mit einer Byte-Entropie nahe 8; eine wesentlich niedrigere Byte-Entropie deutet auf schwächere Verschlüsselung hin, die leichter zu knacken sein könnte. Beispielsweise beeinträchtigen monoalphabetische Substitutionschiffres (wie einfache XOR-Verschlüsselung) die Byte-Entropie nicht.
  2. Die Dateilänge: Eine der Fragen, die man sich stellen sollte, lautet: Hat man es mit Stream-Verschlüsselung zu tun (die jedes Byte einzeln verschlüsselt) oder mit einer Blockverschlüsselung (die Bytes in „Blöcken“ bestimmter Größe verschlüsselt)? Ein guter Indikator ist, sich die höchste Potenz von zwei zu betrachten, durch die die verschlüsselten Dateigrößen teilbar sind. Daraus lässt sich die Blockgröße eventuell abschätzen. Dieser Indikator wird umso genauer, je mehr verschlüsselte Dateien man untersucht.
  3. Die maximale Anzahl an Blockwiederholungen: Wenn man vermutet, dass eine Datei mit einer Blockverschlüsselung verschlüsselt wurde, kann es hilfreich sein, zu prüfen, ob sich ein Verschlüsselungstextblock mehr als einmal wiederholt. Wenn ja, dann hat man es wahrscheinlich mit einer Datei zu tun, die im ECB (Electronic Code Book)-Modus verschlüsselt wurde – das heißt, jeder Block wurde separat verschlüsselt.

Metrik der Musterdatei:

Aus dieser Statistik wird deutlich, dass die dritte Datei von einer Blockchiffre im ECB-Modus verschlüsselt wurde. Die vierte wurde jedoch offensichtlich von etwas relativ einfacherem verschlüsselt. Ihre Datei-Entropie ist fast die gleiche wie die einer normalen Textdatei. Es leuchtet ein, dass die vierte Datei mithilfe monoalphabetischer Substitution verschlüsselt wurde (diese Art der Verschlüsselung wurde zum Beispiel von der PClock-Ransomware verwendet.)

Handelt es sich um schwache Verschlüsselung, hängt das weitere Vorgehen von der Art der genutzten Verschlüsselung ab. Einfache XOR-Verschlüsselung kann durch gründliche Suche geknackt werden; Varianten der „rotierenden Verschlüsselung“ im Sinne der Vigenère-Chiffre sind etwas anspruchsvoller und erfordern eine intelligentere Methode. Allerdings sind sie auf einem durchschnittlich leistungsstarkem Laptop innerhalb weniger Minuten zu knacken.

Abbildung 4: Die „Tabula Recta“ – basierend auf Modulo-26-Addition. Diese Tabelle stellt das Chiffretext-Byte als eine Funktion der entsprechenden Klartext-Byte und Schlüssel-Byte für bestimmte Arten der einfachen Verschlüsselung dar. Bei der einfachen Verschlüsselung wird üblicherweise XOR-Verschlüsselung verwendet, weniger die Base-26-Addition. Das Prinzip ist jedoch sehr ähnlich.

Sollte die Dateien jedoch mit starker Verschlüsselung verschlüsselt sein, stecken man in der Klemme. Wie gesagt wird vorausgesetzt, dass man kein funktionierendes Backup hat, das den Schlüssel wiederherstellen könnte, der Kommunikations- und Verschlüsselungsprozess der Ransomware nicht unterbrochen wurde und man jetzt herausgefunden hat, dass der Erpresser eine relativ starke Verschlüsselung nutzt. Da bleiben nicht mehr viele Möglichkeiten übrig. Es sei denn…

„Angriffsvektor“ 4: Zahlung des Lösegelds

Zunächst sollte klar und deutlich gesagt werden, dass das Zahlen von Lösegeld ein Glücksspiel ist. Der Erpresser könnte das Lösegeld ganz einfach nehmen und sich nicht mehr um die Entschlüsselung der Dateien kümmern. Und mit der Zahlung finanziert man natürlich die Verbrecher. Aus diesen beiden Gründen empfiehlt es sich eigentlich, kein Lösegeld zu zahlen.

Auf der anderen Seiten haben Ransomware-Erpresser allerdings ihren „guten“ Ruf zu verlieren. Wenn es sich erst einmal herumspricht, dass man seine Dateien selbst dann nicht zurückbekommt, wenn man zahlt, haben die Opfer keinen Grund mehr, zu zahlen. Dies wiederum liefe dem Zweck der Erpresser zuwider.

Zudem spielt es natürlich eine große Rolle, wie wichtig die verlorenen Daten sind. Wenn man davon überzeugt ist, dass es keinen anderen Weg gibt, um die Informationen zurückzubekommen, und diese wirklich so wertvoll sind, dann kommt natürlich auch eine Bezahlung der Erpresser in Frage. Letztlich eine Entscheidung, die jeder für sich selbst treffen muss.

So lässt sich Ransomware-Vorfällen vorbeugen

Sobald Ransomware die eigenen Daten erst einmal verschlüsselt hat, gibt es also kaum noch Möglichkeiten, ohne Lösegeldzahlung wieder an seine Daten heranzukommen. Allerdings gibt es eine Reihe von Gegenmaßnahmen, die man präventiv, aber auch nachträglich ergreifen kann.

Präventivmaßnahmen:

  • Wichtige Dateien auf einem Speichermedium sichern, das nicht mit dem täglichen Arbeitsrechner verbunden ist.
  • Bei der Nutzung eines Windows-Betriebssystems kann man die automatische Backup-Funktion (Systemwiederherstellung) aktivieren. Manche Ransomware-Stämme verfolgen zwar auch die Sicherheitskopien im Backup, aber einen Versuch ist es auf jeden Fall wert.
  • Einsatz eines aktuellen Malware-Schutzes: Antimalware-Lösungen schützen zwar nicht zuverlässig vor den neusten Ransomware-Spielarten, aber warum sollte man sich der Gefahr mehrerer Jahre alter Ransomware aussetzen, die längst bekannt ist?
  • Verwendung einer Firewall mit aktuellen Malware-Signaturen und Speicherung der Traffic-Protokolle über einen möglichst langen Zeitraum.
  • Natürlich sollten auch die gängigen Handlungsempfehlungen zur generellen Vermeidung von Malware-Infektionen eingehalten werden. Bevor man eine Datei anklickt, sollte man sich also die Frage stellen, woher die Datei kommt und wie gut man den Absender kennt. Gerade bei Anhängen, die von unerwünschten E-Mails stammen, sollte man besonders misstrauisch sein.

Nachträgliche Maßnahmen:

  • Beschaffung eines Samples, das das Gerät infizierte. Dies kann dann mit Open-Source-Tools wie VirusTotal abgeglichen werden, um herauszufinden, ob es sich um eine bekannte Malware handelt. Generell sollte man möglichst viel über die Vorgehensweise, das Verschlüsselungsschema und das Finanzmodell der Malware in Erfahrung bringen.
  • Wiederherstellung der Kommunikation der Malware mit allen Netzwerkprotokollen. Dort könnte irgendwo der Verschlüsselungsschlüssel stecken.
  • Analyse der verschlüsselten Dateien, um erkennen zu können, ob schwache oder starke Verschlüsselung verwendet wurde. Bei schwacher Verschlüsselung könnte es möglich sein, sie zu knacken und die Dateien wiederherzustellen.
  • Im Notfall könnte man das infizierte Gerät auch zu einem Fachmann bringen, der die oben genannten Maßnahmen durchführt.

Ben Herzog ist Sicherheitsforscher bei Check Point Software Technologies. Zuvor hat er ein Mathematik Post-Graduate-Programm und ein Informatikstudium an der Ben Gurion Universität absolviert. Seine Forschungsschwerpunkte sind Malware-Analyse, Kryptographie und Machine Learning.

Folgen Sie SearchSecurity.de auch auf Facebook, Twitter und Google+!

Fortsetzung des Inhalts unten

Erfahren Sie mehr über Bedrohungen

ComputerWeekly.de

Close