Ransomware ist anders

Die meisten Typen von bösartiger Software („Malware“) wie Viren und Botnetz-Zombies versuchen sich möglichst lange unauffällig zu benehmen während sie ihre heimtückischen Aufgaben erledigen. Anders bei Ransomware („Kryptotrojaner“), die begierig ihre Erpressung vorbereiten. Deshalb muss sich Ransomware nicht besonders gut verstecken und tief ins System einnisten. Alles, was die Ransomware will, ist möglichst rasch und ungestört möglichst viele wichtige Dateien zu verschlüsseln, um dann die berüchtigte Zahlungsaufforderung anzuzeigen, die Bitcoins gegen die Hoffnung auf Dateientschlüsselung verlangt.

An English version of this article appeared as „Ransomware is different“

In diesem Beitrag werden folgende Themen beleuchtet: Das Zahlen des Lösegeldes, wie und warum Ransomware funktioniert und – vor allem – was man dagegen tun kann.

Diese Unterschiede machen vieles einfacher: Die perfekte Erkennung von Ransomware kommt auf alle Fälle zu spät, da sich die Malware zu diesem Zeitpunkt bereits ins System eingenistet hat. Also gehen wir den anderen Weg und sorgen dafür, dass das Zurückholen der Daten auf möglichst nur einen Klick reduziert wird.

Soll ich das Lösegeld bezahlen?

Bitte nicht! Denken Sie nicht einmal im Traum daran! Mindestens vier Gründe sprechen gegen eine Zahlung:

  1. Sie wissen nicht, ob die Erpresser überhaupt auf das Zahlung reagieren. So gibt es Versionen von Ransomware, die gar nicht dafür eingerichtet sind, die Zahlung mit Ihrem Rechner bzw. dem Entschlüsselungsvorgang zu verbinden. Die Zahlung kann vergeblich sein.
  2. Auch wenn die technische Seite nicht versagt: Bedenken Sie, Sie haben es hier mit Kriminellen zu tun. Die anonymen Kriminellen hinter der Ransomware haben keinen echten Anreiz, sich als „rechtschaffene Verbrecher“ einen Namen zu machen. Im Gegenteil, einige erhöhen dann einfach die Forderung, wenn sie erkennen, dass jemand zu zahlen bereit ist. Die Zahlung kann wirkungslos bleiben.
  3. Selbst wenn Sie die Daten zurückerhalten: Jede einzelne Zahlung erhöht den Anreiz für diese und weitere Kriminelle, einen weiteren Angriff zu starten, noch mehr Schaden zu verursachen und noch mehr Lösegeld einzustreichen. Die Zahlung startet weitere Angriffe.
  4. Die Leute hinter der Ransomware sind nicht arme Alleinerziehende, die dies als letzte Chance für einen Bissen Brot für ihre Kinder sehen. Dahinter stehen viele Leute mit unterschiedlichsten Qualifikationen, die sich aus purer Gier zusammengeschlossen haben. Die Zahlung finanziert die organisierte Kriminalität und ihre Hintermänner.

Was soll ich also stattdessen tun?

Einzelne Familien von Ransomware haben Fehler, die es eigens dafür entwickelter Software erlaubt, den Schlüssel für die Entschlüsselung herauszufinden und somit die Dateien ohne Zahlung zu entschlüsseln. Aber verlassen Sie sich nicht darauf. Nicht nur kann es Tage und Wochen dauern, bis ein hilfreicher Hacker diese Schwachstelle gefunden und eine Entschlüsselungssoftware dafür geschrieben hat. Tage und Wochen, die Sie möglicherweise nicht haben, insbesondere, wenn Ihr Betrieb von diesen Daten abhängig ist. Ihre Familienfotos mögen warten, aber Ihre Firma wird Einnahmen und Vertrauen verlieren, möglicherweise sogar bankrott gehen. Kritische Infrastruktur wie etwa Kernkraftwerk könnten stehen noch schlechter da. Oder stellen Sie sich einmal vor, welches Chaos in einem Spital ohne Zugang zu Patientendaten und Belegungsplan ausbrechen würde.

Damit bleibt nur eines: Sie müssen sich vorbereiten. Wahrscheinlich haben Sie über Backups gelesen. Doch nicht jedes Backup ist geeignet, zuverlässig gegen Ransomware zu schützen. Eine externe USB-Disk ist beispielsweise kein Schutz, weil die Ransomware dann einfach die Daten auf der Disk mitverschlüsselt. Was Sie aber trotzdem tun können und wieso das funktioniert, müssen wir zuerst Ransomware verstehen.

Wie kommt eigentlich Ransomware auf meinen Computer?

Wie viele andere Schadsoftware dringt auch Ransomware hauptsächlich über folgende Infektionskanäle auf ihren Rechner oder Server:

  1. Der Mensch vor dem Rechner wird dazu überredet, eine Software (einen Trojaner) zu installieren. Beispielsweise als Folge eines „hilfreichen“ Anrufs einer falschen Hotline oder durch Attachments in einer Mail oder falsche Downloads von einer Webseite.
  2. Die Entwickler hinter der Software haben eine Sicherheitslücke in Ihrer Hardware, Betriebssystem oder Anwendung gefunden und nutzen dies aus, um die Software automatisch zu installieren und weiterzuverbreiten.[1]Deshalb sollten Sie Sicherheitsupdates immer sofort installieren und nicht mehr benötigte oder nicht mehr gepflegte Software deinstallieren, insbesondere wenn sie Internetzugang hat.

Was macht sie danach?

Schnelligkeit ist der Schlüssel zum Erfolg für Ransomware. Das bedeutet nicht, dass sie unmittelbar nach der Infektion beginnen muss, Dateien zu verschlüsseln. Vielleicht wartet sie ja eine Periode der Inaktivität (z.B. Mittagspause) ab.

Aber sobald sie begonnen hat, die erste Datei zu verschlüsseln, gibt es kein Halten mehr. Sobald Sie nämlich feststellen, dass Ihnen irgendwas spanisch vorkommt, sollte die Malware nämlich bereits genügend wertvolle Dateien „entführt“, d.h. verschlüsselt, haben, damit der Nutzer wahrscheinlich auf die Erpressung eingeht. Dazu liest sie eine Datei nach der Anderen, verschlüsselt sie in eine neue Datei und löscht dann das Original und überschreibt es vielleicht sogar noch.

Um sicherzugehen, dass sie bei ihrer Tätigkeit nicht unterbrochen wird, bootet einige Ransomware in einem speziellen Modus neu, so dass sie die volle Kontrolle über den Rechner erhält. Obwohl das beängstigend klingt (und es, wie jede Ransomware-Attacke, auch ist), hat es auch seine Vorteile: In diesem Modus kann sie meist nicht auf Fileserver in Firmen zugreifen. Für eine Firma ist es natürlich um ein Vielfaches verheerender, wenn nicht nur ein Arbeitsplatz unbrauchbar und die Arbeit einer Einzelperson unerreichbar ist, sondern wenn alle Dateien betroffen sind.

Bemerkenswert ist es, dass Ransomware auf Benutzerdokumente abzielt, nicht auf die Programme und Konfiguration des Betriebssystems. Während unserer Beschäftigung mit Ransomware ist uns auch aufgefallen, dass der Programmablauf zur Verschlüsselung einer Datei häufig sehr ineffizient abläuft: Daten werden mehrfach gelesen oder geschrieben, ohne dass ein Zweck oder Bedarf dafür erkennbar wäre. Ransomware wird scheinbar aus verschiedenen Programmmodulen zusammengesetzt, ohne dass deren Entwickler sich je treffen oder absprechen. Auch das ist ein Indiz für die Globalisierung dieser „Industrie“.

Wie erkennt man die Aktivität von Ransomware?

Traditionell wird Ransomware mit der klassischen Anti-Virus-Methode zu erkennen versucht: Sobald eine neue Ransomware-Variante bekannt wird, wird eine neue Signatur für die Malware oder die von ihr erzeugten Dateien erstellt und in die Antiviren-Datenbank aufgenommen. Stunden, manchmal Tage später aktualisiert sich die Antivirensoftware auf ihrem Rechner und lernt die neue Signatur kennen. Häufig ist das aber schon zu spät.

Wir waren mit diesem Vorgehen unzufrieden und wollten herausfinden, ob man Malware nicht auch ganz anders erkennen könne, nämlich an den unbedingt notwendigen Aktionen, die zur Umsetzung der Übeltaten notwendig sind. Damit wollten wir die Verteidigerseite stärken.

Was habt ihr dabei gelernt?

Ransomware folgt drei Hauptmustern:

  1. Das offensichtlichste zuerst: Viele Dateien werden nahezu zur gleichen Zeit erzeugt und gelöscht. Allerdings zeigen auch Softwareupdates und andere normale Aktivitäten dieses Muster. Das alleine reicht also nicht.
  2. Der Schlüssel liegt in der Analyse der Entropie des Dateiinhalts, also wie zufällig der Inhalt aussieht oder, anders gesagt, wie hoch die Informationsdichte ist oder umgekehrt, wie schlecht eine Datei komprimiert werden kann. Das Verschlüsseln maximiert die Entropie, aber sie wächst auch durch Kompression. Aber sie unterscheiden sich in zweierlei Hinsicht: Erstens, die Entropie in einer verschlüsselten Datei ist konstant hoch, während sie bei der Kompression etwas variiert. Und zweitens nimmt die Dateigrösse nur bei Kompression ab.
  3. Ein weiterer wichtiger Punkt ist die Entropie von Filenamen und insbesondere der Extension. Heutige Ransomware hängt eine neue, bisher unbekannte, Erweiterung an. Dies lässt sich leicht erkennen. Aber sie könnten auch zufällige neue Extensions nutzen. Eine plötzliches Auftauchen neuer Erweiterungen sollte also ein Alarmsignal sein. Darüberhinaus verschlüsseln einige Typen von Ransomware die Dateinamen. Auch hier ist die Entropieanalyse unser Freund.

Eigentlich könnten diese drei Kriterien am besten direkt auf dem Rechner selbst erkannt werden. Aber wollen wir einem Betriebssystem oder Antivirenprogramm trauen, die Aktivitäten genau zu analysieren, wenn es doch genau von dieser Ransomware bei der Installation übertölpelt wurde? Möglicherweise hat die Malware auch diese Erkennung schon unterwandert. Für uns schloss das einen Schutz auf der Maschine selbst aus.

Wie soll ich mich dann gegen Ransomware schützen?

Auch eine normale USB-Disk, die an den infizierten Rechner angeschlossen ist, kann von der Ransomware ebenfalls modifiziert werden. Also brauchen wir neben der Erkennung auch Isolation, wie auch Maersk herausgefunden hat.[2]Ganz Maersk war von dem Ransomware-Angriff betroffen, ausser einem abgelegene Ort in Ghana, welche durch schlechte Netzwerkverbindung geschützt war. Dort gab es noch ein nicht überschriebene Kopie des Zustands vor dem Angriff.

Wir haben zwei Ansätze der Isolation verfolgt (und verworfen):

  1. Einbau einer Art USB-Firewall in das Kabel zur externen USB-Platte. Leider ist das sehr schwer zu implementieren, aber wenn der Nutzer sein externes Backup verschlüsselt, was wir unbedingt empfehlen[3]unbedingt das Passwort sicher aufbewahren!, kann diese USB-Firewall nichts Relevantes aus dem Datenstrom extrahieren.
  2. Als nächstes schauten wir uns an, ob wir Ransomwareschutz auf einem Fileserver, in unserem Fall Samba, implementieren könnten. Die Idee: Sobald der Fileserver Ransomware-Aktivität erkennt, soll er unmittelbar den aktuellen Status der Dateien in einem Snapshot sichern, auf den später wieder zurückgegriffen werden kann. Leider klappt das nicht: (a) Ransomware wird nicht schon bei der ersten Aktivität zuverlässig erkannt sondern erst nach etlichen Aktionen; einen retroaktiven Snapshot gibt es leider nicht. (b) Heutige Snapshot-Techniken verlangsamen alle Operationen auf dem Dateisystem, spätestens, wenn viele Snapshots vorgehalten werden. (c) Aus diesen Snapshots wieder die richtigen Dateien herauszuholen wäre ebenfalls schwierig.

Schweren Herzens haben wir diese beiden Ansätze fallen gelassen. Doch wir haben daraus auch gelernt, dass wir (1) Isolation und (2) Snapshots benötigen. Also blieb eigentlich nur noch, das Zurückholen zu vereinfachen.

Wie habt ihr das gelöst?

Wir brauchen also eine Umgebung, die unabhängig und isoliert vom infizierten Rechner ist und automatisch Snapshots macht, aus denen danach gelöschte oder überschriebene Dateien rekonstruiert werden können. Dies finden wir in vielen Cloudspeicherlösungen; wir brauchen aber eine erweiterbare. Wegen der Verbreitung, einfachen Erweiterbarkeit, der einfachen Bedienung, der Kontrolle über die Daten, dem Funktionsumfang und der Möglichkeit, sie fast überall zu installieren, auch auf einem Kleinstrechner wie dem Raspberry Pi, haben wir Nextcloud gewählt.

Unsere inzwischen im Nextcloud-Appstore verfügbare Ransomware-Eliminations-App analysiert Folgendes:

  • Die Entropie (Zufälligkeit) des Inhalts jeder hochgeladenen oder synchronisierten Datei wird analysiert, insbesondere, ob sie gleichmässig sehr hoch ist. Damit können verschlüsselte Dateien von komprimierten oder anderen Dateien unterscheiden.
  • Die Entropie der Dateierweiterung.
  • Wie diese Datei in die Sequenz von Erstellen/Löschen/Umbenennen eingebunden ist.

Der Vorteil dieser Lösung ist, dass der Nutzer rein gar nichts tun muss, bis er bemerkt, dass Ransomware seine Dateien vernichtet hat. Keine falschen Warnungen alle paar Wochen, die nichts bewirken, als den Konsum von Blutdrucksenkern anzukurbeln.

Falls man wirklich infiziert wurde, trennt man das infizierte Gerät vom Netz und entfernt die Ransomware darauf mit dedizierter Software (oder installiert das System neu, was nach jeder Malware-Infektion zu empfehlen ist).

Dann geht man zur Ransomware-Eliminations-App und sieht die Liste der Dateien, die zum Zurücksetzen empfohlen werden. Diese Empfehlung kann man bei Bedarf ändern. Noch ein Knopfdruck und dank eingebauter Versionierung und Papierkorb sind die Daten wieder zurück. Die guten Daten stehen sofort im Webinterface zur Verfügung und beginnen auf die angeschlossenen Geräte zurück synchronisiert zu werden.

Vom ganzen Ransomwarestress bleibt eigentlich nur ein Klick auf „Undo“ und ein erleichtertes Aufschnaufen. Phuh!

Was bringt die Zukunft?

Wir sind sehr zufrieden mit dem aktuellen Stand, doch wir haben noch ein paar gute Ideen für die Zukunft:

  1. Dieses „Undo“ möchten wir gerne noch perfektionieren. Ganz besonders am Herzen liegt uns die Möglichkeit, die App auch erst nach der Infektion installieren zu können. Dank eingebauter Versionsverwaltung und Papierkorb sind die Dateien eigentlich schon sicher. Nun geht es nur noch darum, die relevanten Informationen zu extrahieren. Wir denken, dass dies die einzige Möglichkeit ist, die Nutzer wirklich gut zu schützen, den wer denkt schon vor einer Infektion wirklich an die Prävention? Wie heisst doch das geflügelte Wort:

    Backup ist nicht das Problem. Restore ist das Problem.

  2. Das Matching ist noch nicht perfekt. Zum Glück muss es das auch nicht sein, da man danach jederzeit noch andere Versionen der Dateien zurückholen kann. Wir hoffen, dass uns Algorithmen aus dem Umfeld der Künstlichen Intelligenz da noch helfen können.
  3. Dateien, welche als Kandidaten für ein Zurückholen identifiziert wurden, sollten eine gewisse Zeit vor dem Löschen geschützt werden, um die Zuverlässigkeit und Sicherheit weiter zu erhöhen.
  4. Es wäre schön, wenn es diese Funktionen auch für andere Cloudspeicher und Fileserver gäbe.

Wer uns dabei unterstützen will: Herzlich willkommen! Der Quellcode befindet sich auf GitHub.

Weitere Informationen

Die Grafiken sind lizenziert unter CC-BY-SA 4.0 Matthias Held (Bilder 2, 4 und 8) bzw. Marcel Waldvogel (übrige).

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.