Ransomware im Fokus: Verschlüsselungsverfahren
Der Ausbruch der WannaCry-Ransomware hat viele Fragen aufgeworfen. Wie funktioniert Ransomware? Was kann man dagegen tun? Wie gelangt sie auf das System? Was passiert, wenn sie es schafft? Unsere Reihe „Ransomware im Fokus“ erläutert die verschiedenen Stadien eines Ransomware-Angriffs. Diese Woche befassen wir uns mit den von Ransomware eingesetzten Verschlüsselungsverfahren.
Eine Ransomware-Infektion und -Verschlüsselung ist eine der schnellsten Methoden, dass alle Ihre privaten Dateien möglicherweise für immer verloren sind. Durch die Verschlüsselung machen die Kriminellen die Bedrohung greifbar und verschaffen sich die Kontrolle über Ihre Daten. Indem die eingesetzten Verschlüsselungsverfahren immer ausgeklügelter werden, wird es für die „Guten“ immer schwieriger zu helfen.
Erfahren Sie, was Verschlüsselung ist, welche Verfahren die Ransomware-Entwickler einsetzen und weshalb ein umfangreiches Hintergrundwissen zu Verschlüsselung so wichtig für die Rettung der betroffenen Dateien ist.
Sollten Sie noch neu im Thema Ransomware sein, können Sie sich zunächst hier informieren, wie der Schädling auf ein System gelangt und was er dann dort macht.
Eine kleine Einführung zu Kryptografie und Kryptoanalyse
Kryptografie (aus dem Altgriechischen für verborgenes oder geheimes Schreiben) sind Techniken, mit denen verhindert werden soll, dass andere Personen oder die Öffentlichkeit persönliche Nachrichten lesen können. Mithilfe von Verschlüsselung wird Klartext (unverschlüsselte Daten) in Geheimtext (verschlüsselte Daten, auch als Chiffretext bezeichnet) umgeschrieben. Durch die Chiffrierung wird der Inhalt der Nachricht für andere verschleiert und unlesbar.
Kryptografie verfolgt 4 wesentliche Ziele:
- Vertraulichkeit: Nur der gewünschte Empfänger soll die Nachricht verstehen können.
- Integrität: Die Nachricht kann nicht geändert werden, ohne dass die Manipulation auffällt.
- Nichtabstreitbarkeit: Indem der Absender die Nachricht verfasst, kann er seine Absichten nicht bestreiten.
- Echtheit: Empfänger und Absender können sicher sein, dass sie miteinander kommunizieren.
Moderne Kryptografie überschneidet sich in den Bereichen Mathematik, Computerwissenschaften und Elektrotechnik. Sie findet zudem in vielen Gebieten Anwendung, etwa bei militärischer Kommunikation, im elektronischen Handel (E-Commerce), für Geldkarten oder auch für Computerkennwörter – letztendlich allem, bei dem ein sicherer Informationsaustausch unerlässlich ist.
Gleichzeitig zur Kryptografie entwickelte sich natürlich auch die Kryptoanalyse, also die Erforschung von Kryptografiesystemen, um deren Schwächen zu erkennen und die Inhalte der chiffrierten Nachrichten zu entschlüsseln. Auch wenn der Begriff selbst erst in den 1920ern geprägt wurde, reicht das Knacken von Codes und Zahlen mindestens zurück bis ins 9. Jahrhundert. Kryptoanalyse spielte beispielsweise während des Zweiten Weltkriegs eine wichtige Rolle. Damals galt es, die mit der Enigma-Maschine geschützten deutschen Informationen zu entschlüsseln. Dabei wurden von Absender und Empfänger unverschlüsselte symmetrische Schlüssel eingesetzt.
Seitdem hat die stetige und sprunghafte Zunahme von Computerleistung immer komplexere Verschlüsselungsverfahren ermöglicht. Diese können jedoch nicht nur für sicheren E-Mail- oder Datenverkehr eingesetzt werden, sondern leider auch von Cyberkriminellen zur Erpressung mit Ihren Daten.
Verschlüsselungsverfahren: symmetrisch und asymmetrisch
Im Vergleich zu den frühesten Techniken sind heutige Verschlüsselungsverfahren unglaublich komplex. Bei den Substitutionen aus Julius Caesars Zeiten wurde der Klartext durch schlichtes Verschieben der Buchstaben um eine bestimmte Anzahl von Stellen vor oder zurück innerhalb des Alphabets chiffriert.
Da die Struktur in der verschlüsselten Nachricht dieselbe ist wie im Klartext, ist es relativ einfach, mit einer Häufigkeitsanalyse Muster zu erkennen, wie oft und in welcher Reihenfolge die Zeichen auftauchen.
Symmetrische Verschlüsselung: schnell, aber angreifbar
Die oben aufgeführte Chiffrierung ist ein einfaches Beispiel dafür, wie eine symmetrische Verschlüsselung funktioniert: Absender und Empfänger verschieben die Buchstaben um dieselbe feste Anzahl von Positionen. Diese Anzahl der Positionen ist der sogenannte „Schlüssel“. Aus diesem Grund muss der Schlüssel unbedingt geheim gehalten werden. Symmetrische Verschlüsselung ist also eine Verschlüsselung mit „geheimen Schlüssel“.
Symmetrische Verschlüsselung basiert auf zwei wesentlichen Verfahren: Blockchiffren und Stromchiffren.
Wie der Name schon andeutet, verschlüsseln Blockchiffren Blocks in bestimmten Bitgrößen mithilfe desselben Schlüssels. Die Nachricht wird je nach Länge auf verschiedene Blocks aufgeteilt. Außerdem werden mit dem sogenannten Padding (also Auffüllen) vorhersehbare Daten angehängt, um den Block auf seine volle Länge aufzufüllen. Die häufigsten Blockchiffren, die Ihnen begegnen werden, sind AES und Blowfish. Das erstgenannte Verfahren wird häufig bei der Ransomwareverschlüsselung eingesetzt (mehr dazu später im Artikel).
Stromchiffren verschlüsseln hingegen mithilfe eines zufällig wirkenden Schlüsselstroms jedes einzelne Zeichen eines Klartextes (meistens in Form eines Bits). Es wird also für jedes Bit ein anderer Schlüssel des Stroms verwendet. Ein mathematischer „exklusives Oder“-Operator (kurz XOR für „exclusive or“) verknüpft diese Bits dann zu dem Chiffretext. Heutzutage häufig eingesetzte Stromchiffren sind unter anderem RC4 und Salsa20.
Typisch für diese beiden symmetrischen Verschlüsselungsverfahren ist, dass wenig Rechenleistung erforderlich ist und sie zum Ver- und Entschlüsseln nur einen Schlüssel benötigen.
Der zweite Punkt wirft jedoch eine wichtige Frage auf: Wie lässt sich der Schlüssel geheim mitteilen, ohne dass ihn jemand abfängt oder mitliest?
Asymmetrische Verschlüsselung: sicher, aber langsam
Die Antwort auf diese Frage ist die asymmetrische Verschlüsselung, die einen öffentlichen und einen privaten Schlüssel einsetzt.
Der öffentliche Schlüssel dient zur weiten Verbreitung, während sich der private Schlüssel nur im Besitz des Schlüsseleigentümers befindet. Die mit dem öffentlichen Schlüssel chiffrierten Nachrichten können nur mit dem privaten Schlüssel entschlüsselt werden und umgekehrt mit dem privaten Schlüssel verschlüsselte Daten nur mit dem öffentlichen.
Mit asymmetrischen Verschlüsselungsalgorithmen lassen sich also nicht nur Nachrichten ver- und entschlüsseln, sondern auch deren Echtheit bestätigen. Schließlich kann nur der Besitzer des privaten Schlüssels Nachrichten erstellen, die sich mit dem öffentlichen Schlüssel entschlüsseln lassen.
Den meisten asymmetrischen Kryptografiesystemen unterliegt jedoch ein Algorithmus, der eine hohe Rechenleistung erfordert. Zu den häufigsten Formen gehören hier Diffie-Hellman-Merkle-Schlüsselaustausch, RSA und Elliptic Curve Cryptography (Elliptische Kurven-Kryptografie). Jede davon einzeln zu erläutern, würde den Rahmen dieses Beitrags sprengen. Es gibt jedoch eine Reihe von ausführlichen Artikeln in ArsTechnica (auf Englisch), falls Sie sich näher mit der zugehörigen Mathematik befassen möchten.
Grundsätzlich lässt sich sagen, dass die asymmetrische Verschlüsslung ein relativ sicheres Verfahren ist, das keinen Austausch des geheimen Schlüssels erfordert. Aufgrund seines hohen Leistungsbedarfs eignet es sich allerdings nur bedingt für große Datenmengen.
Angesichts der Vor- und Nachteile der zwei Verfahren wird in den meisten Anwendungen (wozu auch Ransomware gehört) eine Kombination der beiden eingesetzt: Mittels der symmetrischen Verschlüsselung wird ein zufälliger Schlüssel erstellt. Mit diesem sogenannten Sitzungsschlüssel werden die Nachrichten und Dateien verschlüsselt. Über das asymmetrische Verfahren wird dieser dann selbst verschlüsselt.
Gängige Kryptologiebegriffe
Nachricht: Die mit der Verschlüsselung zu schützenden Daten – Das können tatsächliche Mitteilungstexte oder auch allgemein Dateien sein.
Klartext: Die unverschlüsselte Nachricht
Geheim-/Chiffretext: Die verschlüsselte Nachricht
Schlüssel: Die von einem Verschlüsselungsalgorithmus verwendete Komponente, um den Klartext in Chiffretext umzuschreiben (oder umgekehrt)
Blockchiffre: Symmetrische Verschlüsselung in Bitblocks
Stromchiffre: Symmetrische Verschlüsselung jedes einzelnen Bits mithilfe eines Schlüsselstroms
Symmetrische Verschlüsselung (geheimer Schlüssel): Zum Ver- und Entschlüsseln der Nachricht wird derselbe Schlüssel verwendet.
Asymmetrische Verschlüsselung (öffentlicher Schlüssel): Zum Ver- und Entschlüsseln der Nachricht werden unterschiedliche Schlüssel verwendet.
CryptoLocker – Wie Ransomware-Entwickler Verschlüsselung einsetzen
Um nachvollziehen zu können, wie Malware-Entwickler Verschlüsselung für ihre schmutzigen Zwecke einsetzen, werfen wir einen Blick auf eine bestimmte Ransomware-Familie. Sie war so wirksam und weitverbreitet, dass ihr Name bis heute als Synonym für Ransomware gilt: CryptoLocker.
Auch wenn CryptoLocker nicht die erste verschlüsselnde Ransomware war, so war sie doch die erste Familie, die großflächig die Aufmerksamkeit der Medien erregte. Zur Verschlüsselung der Dateien nutzt sie das symmetrische 256-Bit-AES-Verfahren. Für Weitergabe und Schutz des symmetrischen Sitzungsschlüssel wird das asymmetrische RSA-Verfahren eingesetzt.
Da überrascht es nicht, dass CryptoLocker zur Vorlage für viele kommende Ransomware-Versionen wurde. Sehen wir uns mithilfe dieses Fallbeispiels an, wie Ransomware Ihre Dateien sperrt.
- Aufbauen einer sicheren Kommunikationsverbindung
Wenn CryptoLocker auf ein System gelangt, verfügt es lediglich über einen (asymmetrischen) öffentlichen RSA-Schlüssel, mit dem eine sichere Verbindung zu seinem Steuerserver (Command and Control Server, kurz C2- oder C&C-Server) hergestellt wird. Sämtliche Kommunikation zwischen der Ransomware und dem Server des Malware-Entwicklers läuft über diesen Kanal. Die Verwendung eines öffentlichen Schlüssels hat in diesem Fall zwei wesentliche Vorteile:
- Jeder Außenstehende, der bei der Netzwerkkommunikation „mithört“, kann die zwischen CryptoLocker und dem Server ausgetauschten Nachrichten nicht als Klartext sehen. Malware-Analytikern wird beim Auslesen des Netzwerkverkehrs und Analysieren des Protokolls lediglich verschlüsselter Kauderwelsch angezeigt.
- Noch wichtiger ist jedoch, dass die Malware-Entwickler auf diese Weise nicht nur ihre Nachrichten vor neugierigen Augen schützen, sondern auch sicherstellen, dass die mit der Ransomware kommunizierenden Server auch wirklich ihnen gehören.
Sie erinnern sich: Jeder öffentliche Schlüssel entschlüsselt nur Nachrichten, die mit dem zugehörigen privaten Schlüssel verschlüsselt wurden – den wiederum nur der Malware-Entwickler hat.
Die Verschlüsselung der Kommunikation mittels RSA gewährleistet nicht nur Geheimhaltung, sondern auch Echtheit. Strafverfolgungsbehörden, die einen Steuerserver übernehmen, können die Malware also nicht einfach durch Eingabe eigener Befehle kontrollieren.
- Verschlüsseln von Dateien
Bei der Kommunikation mit dem Steuerserver fordert CryptoLocker einen zweiten öffentlichen RSA-Schlüssel an, der für jedes Opfer einzigartig ist. Anschließend erstellt die Ransomware einen 256-Bit-AES-Sitzungsschlüssel, mit dem die Dateien des Opfers verschlüsselt werden. Wie bereits zuvor erwähnt ist eine asymmetrische Verschlüsselung etwa über RSA für große Datenmengen nicht geeignet, da sie im Vergleich zum symmetrischen Verfahren lange dauert. Die Verwendung des symmetrischen AES-Algorithmus‘ für die vielen Anwenderdaten ist daher wesentlich effizienter.
- Sichern des öffentlichen Schlüssels
Zu guter Letzt verschlüsselt CryptoLocker mit dem Opfer-spezifischen öffentlichen RSA-Schlüssel (asymmetrisch) den 256-Bit-AES-Schlüssel und speichert ihn zusammen mit den anderen verschlüsselten Dateien.
Ist der Verschlüsselungsvorgang abgeschlossen, wird der AES-Sitzungsschlüssel aus dem Speicher gelöscht, um keine Spuren zu hinterlassen. Allein der Besitzer des privaten Schlüssels des Opfers, der ausschließlich auf dem Server des Malware-Entwicklers erstellt und gespeichert wurde, kann nun den AES-Sitzungsschlüssel wieder entschlüsseln und damit die Dateien des Opfers dechiffrieren. Dafür muss das Opfer das Lösegeld bezahlen.
Ransomware nutzt die Vorteile der asymmetrischen und symmetrischen Verschlüsselung, um die Dateien des Opfers nicht innerhalb von Stunden, sondern Sekunden zu sperren. Diese dann ohne Bezahlung an die Kriminellen wieder herzustellen, ist fast unmöglich.
Fast …
Wissen um Verschlüsselung hilft im Kampf gegen Ransomware
Das Analysieren von Ransomware-Verschlüsselung ist enorm komplex. Mit diesem Artikel haben wir gerade einmal an der Oberfläche des Themas gekratzt. Dennoch soll Ihnen diese grobe Übersicht darüber, wie Ransomware Ihre Dateien verschlüsselt, ein Verständnis für die harte Arbeit unseres Laborteams vermitteln. Unsere Experten versuchen jeden Tag aufs Neue, Decrypter für Ransomware zu entwickeln, und damit den Opfern zu helfen – kostenlos.
Manchmal haben wir Glück: Ransomware wie Harasom, die allein mit symmetrischer Verschlüsselung arbeitet, „versteckt“ den auf jedem System zum Verschlüsseln aller Dateien verwendeten Schlüssel in der ausführbaren Datei des Programms selbst.
Wie schön wäre es, wenn es uns die Ransomware-Entwickler immer so leicht machen würden.
Die aufwendigere Verschlüsselung von CryptoLocker erschwert zwar ein Knacken, hat jedoch mehr Potenzial für Schwachstellen in der Umsetzung. Das ist vergleichbar mit einem Fehler in einer seriösen gewerblichen Anwendung, die dadurch angreifbar wird.
Nehmen wir das Beispiel CryptoDefense: Diese Ransomware-Familie wurde nach CryptoLocker veröffentlicht und nutzte nahezu dieselbe Herangehensweise, jedoch mit einem kleinen Unterschied. Der private und öffentliche Schlüssel wurde nicht auf dem Server erstellt, sondern auf dem System des Opfers und von dort an den Steuerserver geschickt. Glücklicherweise hatten die Entwickler von CryptoDefense die Dokumentation über die Verschlüsselungsbibliothek nicht gründlich gelesen und versehentlich das erstellte Schlüsselpaar auf dem System des Opfers gespeichert. Auf diese Weise war es einfach für uns, die Schlüssel zu finden und mit ihnen die Dateien der Opfer wiederherzustellen.
Schutz ist besser als Aufräumen
Wie bei jeder Malware ist es natürlich besser, von vornherein geschützt zu sein, anstatt nach der Infektion aufräumen zu müssen. Das ist erst recht bei Ransomware der Fall. Warten Sie also nicht, bis es zu spät ist, sondern schützen Sie sich mit einer zuverlässigen Anti-Malware-Lösung.
Wir wünschen eine schöne (Ransomware-freie) Zeit.
Übersetzt von Doreen Schäfer