Die Epidemie von Viren, die Dateien verschlüsseln und anschließend Geld von den Opfern erpressen ist ein Problem globalen Ausmaßes. Einer der ersten war der WannaCry Virus, der 2017 erschienen ist. Seine Klone und Modifikationen folgen ihm bis zum heutigen Tag.
Doch was kann gemacht werden, wenn man zum Opfer dieser Plage geworden ist? Es ist sehr unwahrscheinlich, dass die Daten entschlüsselt werden können, selbst nach der Zahlung des Lösegelds. Die einzigen Möglichkeiten sind das Finden eines Workarounds und
- Daten aus einem Backup herstellen
- Daten aus alten E-Mails übernehmen
- Kontakte und Informationen in Messenger-Diensten suchen
Haben Software-Entwickler eine Lösung für das Problem? Was bietet zum Beispiel Microsoft an?
Die Antwort lautet: NICHTS.
Die effektivste Option ist das Wiederherstellen der SQL-Datenbank aus dem letzten Backup. Aber wie sieht es aus, wenn das Wiederherstellen des Backups fehlschlägt oder auch das Backup von Ransomware befallen ist?
Ransomware Virus Bug
Viren verbreiten sich aufgrund verschiedener Fehler in Programmen, Betriebssystemen und durch Social Engineering. Die Viren selbst sind jedoch auch “nur” Programme und haben auch Fehler und versteckte Schwachstellen. Welche Schwachstellen haben Ransomware-Viren? Der Virus muss die maximale Anzahl von Dateien schnell verschlüsseln. Bei kleinen Dateien wie Excel, Word, PowerPoint, Project, AutoCAD, CorelDRAW und anderen Dateien ist der Verschlüsselungsprozess schnell. Hunderte und Tausende von Dateien werden sofort nach der Infektion verschlüsselt. Was passiert jedoch, wenn ein Virus auf eine große Datei trifft, z.B. eine FoxPro- oder Microsoft Access-Datenbank? In diesem Fall verschlüsselt der Virus in der Regel den Anfang der Datei und wechselt dann zur nächsten Datei.
Diese Feinheit gibt den Anwendern ein wenig Hoffnung. Microsoft SQL Server speichern Daten in dem MDF und NDF Format. Die Größen dieser Dateien sind beeindruckend: Gigabyte und Terabyte. Für ihre Speicherung werden große Plattenspeicher verwendet, die in der Regel auf RAID-Controllern basieren. Jede Datei beginnt mit einem kleinen Header, gefolgt von großen Mengen an Dienstinformationen für den schnellen Zugriff auf die Daten, Dienstinformationen, die Benutzerdaten beschreiben, und dergleichen.
In den meisten Fällen verschlüsselt der Virus den Großteil der Servicedaten in den MDF- und NDF-Dateien. Dennoch bleiben die eigentlichen Tabellen, die Daten in der Datei enthalten, unverschlüsselt.
Indirekte SQL Server Datenrettung
Wenn es Daten gibt, wie können wir sie dann lesen? Wie können wir alle Tabellen und Datenblöcke zusammenstellen, wenn Dienstinformationen aufgrund eines Virenangriffs nicht mehr verfügbar sind? Zur Lösung einer nicht trivialen Aufgabe sind ausgefeilte Werkzeuge erforderlich.
Daher ist der nächste Schritt die Suche nach einem Tool (Dienstprogramm, Webservice oder einer anderen Methode), das Inhalte in MDF- und NDF-Dateien analysieren kann. Ein Wiederherstellungswerkzeug kann dies für beschädigte Microsoft SQL Server Datenbanken tun. Sie lösen ähnliche Probleme unter den gleichen Anfangsbedingungen, wenn ein Teil der Datenbankdatei fehlt oder beschädigt ist.
Die zugänglichste und anwenderfreundlichste Lösung für diesen Zweck ist die Recovery Toolbox for SQL Server (https://sql.recoverytoolbox.com/de/). Recovery Toolbox for SQL Server wurde vor über zehn Jahren entwickelt und rettet Daten von den ersten Version des Microsoft SQL Server (6.5, 7.0, 2000) bis hin zu den aktuellen Versionen (2017, 2019).
So stellen Sie die SQL Server Datenbank nach dem Ransomware-Virenbefall wieder her
Da Recovery Toolbox for SQL Server nur für einen einzigen Zweck entwickelt wurde (Wiederherstellung beschädigter Microsoft SQL Server Datenbanken), enthält sie ein absolutes Minimum an Einstellungen. Das Dienstprogramm ist in Form eines Schritt-für-Schritt-Assistenten erstellt, und in jeder Phase führt der Benutzer einfache Aktionen durch:
- Verschlüsselte MDF-Datei auswählen
- Wiederherstellungsmethode und Speicherort für die geretteten Daten auswählen
- Gewünschte Daten auswählen
- Datenrettung und Backup starten
In der Anfangsphase liest und analysiert das Programm die verschlüsselte SQL Server Datenbank über einen langen Zeitraum; dies ist die wichtigste Phase für die Datenrettung. Je größer die Quelldatei und je komplexer die Daten, desto länger läuft das Programm in dieser Phase. Selbst wenn ein leistungsfähiger Server verfügbar ist, kann es bis zu einem Tag dauern, bis das Programm die Dateien mit Größen von 1-5 Tb durchsucht hat.
Alles, was aus der verschlüsselten MDF-Datei wiederhergestellt wurde, wird dem Benutzer in Form von praktischen Tabellen und Listen in der Recovery Toolbox for SQL Server präsentiert. Der Benutzer kann durch Seiten blättern, die Daten, Tabellen, benutzerdefinierte Funktionen und Prozeduren enthalten.
Falls die verschlüsselte MDF-Datei erfolgreich durchsucht wurde, sind die Listen und Tabellen auf der zweiten Seite im Programm nicht leer. Andernfalls ist nichts zu sehen und man braucht nichts zu zahlen, da die Demo-Version der Recovery Toolbox for SQL Server kostenfrei ist.
Sollte die Analyse der verschlüsselte Datei erfolgreich gewesen sein, kann anschließend ausgewählt werden, wie die Daten gespeichert werden sollen:
- Als SQL-Skripte in vielen einzelnen Dateien
- Alternativ die Daten in eine neue Microsoft SQL Server Datenbank übernehmen
Achtung: Bei der Wiederherstellung einer SQL Server Datenbank nach einem Ransomware-Virusangriff besteht die Möglichkeit, einen Teil der Daten zu verlieren; außerdem kann die Integrität der Daten beeinträchtigt werden. Infolgedessen werden Primärschlüssel und Fremdschlüssel höchstwahrscheinlich nicht funktionieren; dies zeigt sich bei der Ausführung von SQL-Skripten mit Primärschlüsseln und/oder Fremdschlüsseln, nachdem die Daten bereits in die Datenbank importiert wurden. Skripte mit Primärschlüssel und/oder Fremdschlüssel werden nicht oder fehlerhaft ausgeführt.
Die Reihenfolge der Ausführung von SQL-Skripten beim Export von Daten in eine neue Datenbank:
Diese Abfolge von Skripten ist in der Datei Install.bat enthalten, die Recovery Toolbox for SQL Server zusammen mit allen anderen SQL-Skripten im Ordner speichert. Führen Sie diese Datei einfach mit den erforderlichen Parametern (Servername, Datenbankname, Benutzername und Passwort) in der Befehlszeile aus. Möglicherweise muss dieses Skript mehrmals ausgeführt werden, um die Daten am vollständigsten in die Datenbank zu importieren.
So stellen Sie die Microsoft SQL Server Datenbank nach einem Ransomware-Angriff wieder her
Falls ein Ransomware-Virus Ihre SQL-Datenbank verschlüsselt hat, können Sie auch ohne Bezahlung versuchen, die Daten zu retten. Dafür müssen Sie folgende Schritte durchfüren:
- Daten aus dem Backup wiederherstellen
- Informationen aus den .MDF/.NDF-Dateien mithilfe der Recovery Toolbox for SQL Server als SQL-Skripte auslesen
- Daten aus den SQL-Skripten in eine neue SQL-Datenbank einlesen