Die Notbremse
Ransomware läuft im Gast mit allen Rechten, die es gibt. Sie sieht den Virenschutz dort drinnen, schaltet ihn ab, und tut das auch. Was sie nicht sieht, ist die Schicht, auf der ihre Festplatte in Wahrheit eine Datei auf einer fremden Maschine ist — und auf dieser Schicht ist sie nicht zu übersehen.

Warum sich das nicht umgehen lässt
Verschlüsselte Daten sehen aus wie Rauschen — nahe acht Bit Entropie je Byte, wo gewöhnliche Daten weit davon entfernt sind. Die Ransomware liest Ihre Datei und schreibt sie an dieselbe Stelle als Rauschen zurück, tausendfach, schneller als ein Mensch je schreibt.
Das ist keine Heuristik, um die eine neue Variante herumkommt. Es folgt aus der Aufgabe: Sie kann die Signatur nicht vermeiden, ohne aufzuhören, Ransomware zu sein.
Keine Schwelle — eine Wendung
Eine feste Schwelle wäre nutzlos. Auf einem schlichten Debian-Gast gemessen liegen 19 % der Blöcke, die Daten tragen, bereits bei 7,8 Bit oder darüber, weil komprimierte Dateien, Pakete und Abbilder ebenfalls wie Rauschen aussehen.
Beobachtet wird deshalb nicht die Höhe, sondern die Wendung: eine Probe, die bei der letzten ruhigen Messung gewöhnliche Daten trug und jetzt Rauschen trägt. Jede Platte wird gegen ihr eigenes Bild von sich gehalten, und heraus kommt eine Zahl, mit der ein Mensch etwas anfangen kann — so viel von dem, was gewöhnliche Daten waren, ist jetzt Rauschen.
Einfrieren, nicht töten
Die Reaktion ist Anhalten, und darin liegt der ganze Entwurf. Einfrieren dauert Millisekunden und hält alles dort an, wo es steht — und es ist vollständig umkehrbar: fortsetzen, und der Gast hat nichts bemerkt.
Weil es umkehrbar ist, darf es aggressiv sein. Eine Maßnahme, die etwas zerstört, muss sich sicher sein, bevor sie handelt; eine, die sich mit einem Klick zurücknehmen lässt, darf auf einen Verdacht hin handeln. Von der ersten Wendung bis zum angehaltenen Gast waren es in der Messung sechs Sekunden.
Töten wirft dagegen genau das weg, was in diesem Moment am wertvollsten ist: den Speicher der Maschine, die gerade mitten im Verschlüsseln war.
Container: dieselbe Frage, eine Schicht höher
Ein Container hat kein Plattenabbild, und die Blockschicht darunter gehört dem Host, mit den Daten jedes anderen Gastes dazwischen. Die Überwachung stellt dieselbe Frage deshalb an die Dateien: Sie merkt sich einige hundert davon und liest sie in jeder Runde neu.
Zwei Dinge sind hier besser. Sie kann die Dateien benennen — unter einem Plattenabbild gibt es nur Blöcke, und kein Block sagt, zu welchem Dokument er gehört. Und einen Container einzufrieren ist ein Schreibvorgang in eine cgroup-Datei: keine Zeit, keine Mitwirkung von innen.
Eines ist schlechter, und es steht da: Gelesen wird nur der Anfang jeder Datei, wer also allein das Ende jeder Datei verschlüsselt, bewegt hier nichts.
Der Schlüssel im eingefrorenen Speicher
Ein angehaltener Gast steht mitten in der Tat still. Sein Speicher ist vollständig, der Host kann ihn in Ruhe herausschreiben, und das, was da verschlüsselt, hat seinen Schlüssel noch in der Hand.
AES verschlüsselt nicht direkt mit dem Schlüssel — es rechnet ihn einmal zu einem Fahrplan aus, den danach jeder Block benutzt, und dieser Fahrplan ist erkennbar, ohne den Schlüssel zu kennen, weil jedes Wort nach einer festen Regel aus früheren entsteht. Ein falscher Treffer übersteht die erste Prüfung mit einer Wahrscheinlichkeit von etwa eins zu vier Milliarden.
Was das behauptet und was nicht: Ein hier gefundener Fahrplan beweist, dass in diesem Gast etwas AES gerechnet hat. Er sagt nicht, welcher Schlüssel welche Datei verschlüsselt hat, und er entschlüsselt von sich aus nichts. Das Speicherabbild zu durchsuchen ist ein eigenes Recht, denn es enthält alles, was im Gast war, als er angehalten wurde.
Weiterlesen
Jedes Thema auf einer eigenen Seite
Vierzehn Seiten, jede aus dem geschrieben, was das Programm wirklich tut — samt der Stellen, an denen es aufhört.













Auf der eigenen Hardware ausprobieren
Einen Monat, vollständig, ohne Registrierung und ohne dass nach Daten gefragt wird. Der Installer schreibt einen ganzen Server — dafür ist eine freie Maschine oder eine VM der richtige Ort.