Diese Seite wurde maschinell übersetzt. Lesen Sie das englische Original. English

IBSurgeon-Bibliothek

So schützen Sie Firebird-Datenbanken vor Ransomware?

06-Dezember-2016, von Alexey Kovyazin

Ransomware-Angriffe sind zu einem ernsten Problem für viele Unternehmen geworden: In der letzten Woche hatten wir 3 Vorfälle von verschiedenen Kunden, deren Firebird-Datenbanken durch Ransomware-Viren verschlüsselt wurden. Glücklicherweise konnten wir allen helfen, aber das Ausmaß des Problems nimmt definitiv zu.

In diesem Artikel betrachten wir, wie diese Probleme gelöst wurden.

Im Allgemeinen ist Ransomware nicht darauf ausgelegt, speziell Firebird-Datenbanken zu verschlüsseln; sie verschlüsselt einfach alle Dateien auf dem Computer und verlangt dann ein Lösegeld für das Passwort zur Entschlüsselung. Selbst wenn man zahlt, erhält man möglicherweise kein Entschlüsselungspasswort oder gar keine Antwort (außerdem ist es notwendig, Antiviren-Websites zu prüfen: Sie veröffentlichen oft PIN-Codes oder sogar Entschlüsselungstools für diese Ransomware. Zum Beispiel eines davon: noransom.kaspersky.com/)

Natürlich ist es notwendig, ein zuverlässiges (und für Server geeignetes) Antivirenprogramm zu haben, aber können wir speziell etwas tun, um Firebird-Datenbanken zu schützen?

Es gibt verschiedene Arten von Ransomware; betrachten wir deren Auswirkungen auf Firebird-Datenbanken.

Die 2 Unternehmen wurden von Ransomware getroffen, die ihre Firebird-Datenbanken teilweise verschlüsselt hat.

Wie Sie wissen, ist eine Firebird-Datenbankdatei eine Menge von Seiten gleicher Größe. Datenbankseiten in einer Firebird-Datenbank enthalten verschiedene Arten von Informationen: Metadaten, Benutzerdaten, Indizes, Generatoren usw.

Normalerweise verschlüsselt solche Ransomware nicht die gesamte Datenbankdatei, sondern nur einen kleinen Teil davon - die Kopfseite und einige Prozent der Datenbankseiten innerhalb der Datenbank.

Da alle Seiten stark miteinander verbunden sind, machen bereits wenige verschlüsselte Seiten die gesamte Datenbank für die Firebird-Engine unlesbar. Zum Beispiel wurden in einer 10-GB-Datenbank weniger als 1% der Daten verschlüsselt, und die anderen 99% waren in Ordnung.

In diesem Fall kann eine solche verschlüsselte Datenbank als stark beschädigte Datenbankdatei betrachtet werden, und IBSurgeon FirstAID ist das Werkzeug, das den Export der Daten aus der verschlüsselten Firebird-Datenbankdatei durchführen kann. Derselbe Ansatz wird verwendet, um Datenbanken von beschädigten Festplatten wiederherzustellen.

Exportieren von Daten aus der verschlüsselten Firebird-Datenbank

IBSurgeon FirstAID kann Datenbanken mit einer direkten Reparatur oder mit Datenextraktion wiederherstellen. Die direkte Reparatur ist schnell; sie kann Beschädigungen direkt in der Datenbankdatei schnell beheben. Im Falle von Ransomware hilft sie jedoch nicht, da die Kopfseite und die Hauptmetadaten verloren sind, sodass die Extraktion die einzige Wahl ist.

FirstAID liest die Datenbankdatei direkt - es verwendet Firebird nicht, um auf die Datenbankdatei zuzugreifen; es liest die Datenbankdatei direkt, Byte für Byte. Da es sich nur auf die Extraktion der beschädigten Daten konzentriert und Leistung opfert, kann FirstAID Daten sogar aus stark beschädigten Firebird-Datenbanken exportieren. Natürlich überspringt FirstAID verschlüsselte Daten als beschädigt und exportiert nur gute Daten.

Wenn die Ransomware die kritischen Metadaten nicht verschlüsselt hat, ist es möglich, die verschlüsselte Datenbankdatei mit FirstAID zu öffnen und Datensätze in der Vorschau anzusehen: Wählen Sie die Tabelle in der Liste links aus und öffnen Sie den Tab Vorschau, und durchsuchen Sie dann die Datenseiten.

Die Datensätze, die Sie sehen, können in eine neue Datenbank mit derselben Struktur exportiert werden:

Der ungefähre Umfang der Verluste kann mit dem Prozentsatz der beschädigten Seiten auf dem Tab Seitenübersicht für die Datenbank geschätzt werden:

Der Prozentsatz der beschädigten Seiten zeigt, wie viele Datenbankseiten verschlüsselt wurden und deren Daten verloren sind.

In 2 Fällen wurden die Datenbanken also mit dem FirstAID Extractor gerettet, der die Daten aus den verschlüsselten Datenbanken exportiert hat.

Ransomware mit 100% Verschlüsselung

Leider verschlüsselt Ransomware oft 100% der Dateien und verschlüsselt sie vollständig, ohne Ausnahme.

Normalerweise injiziert solche Ransomware bösartigen Code in den Bootloader des Betriebssystems, startet dann den Computer neu und simuliert die Ausführung von CHKDSK, aber anstatt die Festplatten zu überprüfen, verschlüsselt sie alles.

Der einzige Weg, sich vor einem solchen Virus zu schützen, ist ein Backup der wichtigen Datenbank an einem externen Ort: in der Cloud oder in einem anderen Büro.

Es gibt 4 mögliche Backup-Ansätze für Firebird-Datenbanken:

  1. Vollständiges verifiziertes Backup mit gbak
  2. Inkrementelles unverifiziertes Backup mit nbackup
  3. Backup auf VM-Ebene (für virtuelle Umgebungen)
  4. Warm Standby (Datenbankspiegel), basierend auf Replikation

Welche Backup-Methode ist am besten für den Schutz vor Ransomware geeignet? Betrachten wir deren Vor- und Nachteile am praktischen Beispiel einer Firebird-Datenbank mit 50 GB Größe.

Funktion Vollständiges verifiziertes Backup (gbak) Inkrementelles Backup (nbackup) Backup auf VM-Ebene Warm-Standby (Replikation)
Größe zum Hochladen ~30 GB täglich 50 GB anfänglich, dann geänderte Teile
Maximale Backup-Häufigkeit Täglich Stündlich Abhängig von den Einstellungen des VM-Backup-Tools Jede Minute
Leistungsabfall der Datenbank Hoch Mäßig Niedrig Sehr niedrig
Zuverlässigkeit der Backup-Methode Hoch Niedrig Niedrig Hoch
Zeit für die Durchführung des Backups 2-3 Stunden (abhängig von der IO-Geschwindigkeit) Anfänglich 15-20 Minuten für Level 0, dann 3-4 Minuten Erfordert einen vollständigen Snapshot der Festplatte (abhängig von IO und Größe der Festplatte) Anfänglich 15-20 Minuten, immer online

Vollständiges verifiziertes Backup mit gbak

Das Backup-Tool (gbak) liest die gesamte Datenbank und speichert sie in einem speziellen Format (fbk). Diese Backup-Methode wird als verifiziert bezeichnet, da sie jeden Datensatz in der Datenbank liest und sicherstellt, dass die Datenbank in Ordnung ist. Es ist eine sehr zuverlässige Backup-Methode.

Ein vollständiges verifiziertes Backup ist jedoch nicht für Cloud-Backups von ausreichend großen Datenbanken geeignet (wie 50 GB in unserem Beispiel), da es das Hochladen des vollständigen Backups jedes Mal erfordert und viel Zeit für die Durchführung benötigt (es ist der langsamste Backup-Typ in Firebird). Während der gbak-Ausführung ist die Datenbankleistung aufgrund intensiver zufälliger Festplattenlese- und -schreibvorgänge niedrig.

Inkrementelles Backup mit nbackup

Inkrementelles Backup wird mit nbackup durchgeführt - einem weiteren Backup-Tool von Firebird. Nbackup erstellt Backups als Inkremente von Änderungen: Zuerst erstellt es ein Level-0-Backup, das eine exakte Kopie der Datenbank ist, und dann, bei der nächsten Iteration, scannt es die Datenbank und speichert nur geänderte Seiten als Level 1, Level 2 usw. Es ist möglich, ein vollständiges Backup (Level 0) einmal pro Quartal, Level-1-Inkremente jeden Monat, Level 2 jede Woche, Level 3 jeden Tag und Level 4 jede Stunde einzustellen.

Es ist ziemlich schnell; es erstellt Backups fast mit der Geschwindigkeit des linearen Dateikopierens.

Der Hauptnachteil von nbackup ist das Fehlen einer Verifizierung - wenn eine Datenbankseite beschädigt ist, kopiert nbackup sie in die Backup-Datei, die dann ebenfalls beschädigt ist (im Gegensatz zu gbak, das in diesem Fall einen Fehler ausgibt). Da das Erstellen jeder Ebene Firebird dazu veranlasst, die gesamte Datenbank zu scannen (in Firebird 2.5, v3 hat Verbesserungen), ist es nicht möglich, nbackup zu oft auf der großen Datenbank auszuführen.

Wie Sie verstehen können, erfordert nbackup einen ziemlich ausgeklügelten Zeitplan, aber mit den richtigen Werkzeugen ist es eine einfache Aufgabe.

Ein korrekter Ansatz ist, nbackup in Kombination mit gbak zu verwenden: gbak verifiziert die Datenbank jeden Tag oder jede Woche, und nbackup bietet eine schnelle Möglichkeit, die Datenbank ziemlich oft zu sichern.

Nbackup scheint also eine gute Wahl zu sein, um die Datenbank in der Cloud zu speichern.

VM-Backups

Was ist mit Backups virtueller Maschinen? Die Anbieter von VM- und Backup-Tools behaupten, dass sie Backups von Datenbanken unterstützen, aber sie geben oft nicht an, welche Datenbanken unterstützt werden. VM-Backups erfordern einen Volume Shadow Service (VSS)-Anbieter für die spezifische Datenbank, der installiert sein muss, um Online-Backups korrekt durchzuführen. Für Firebird ist der VSS-Anbieter als Teil der HQbird Advanced-Distribution verfügbar.

Natürlich gibt es keine Magie bei einem VM-Backup mit VSS-Anbieter - im Hintergrund verwendet es nbackup, um die Datenbank in einen für das Kopieren geeigneten Modus zu versetzen. Ohne den VSS-Anbieter wird das Ergebnis eines Backups auf VM-Ebene wie eine Kopie einer Datenbank in einem Zustand ähnlich einem harten Reset sein: Firebird nutzt intensiv das Caching von Daten im RAM, und es ist möglich, dass das Backup aufgrund nicht geleerter Änderungen beschädigt wird.

Warm-Standby

Einige Unternehmen möchten keine Daten aus der Datenbank verlieren. Die letzten Rechnungen vor dem Absturz könnten kritisch sein, und die letzte Lieferung könnte ein Dutzend Lastwagen auf die Straße schicken. In diesem Fall reichen selbst stündliche Backups nicht aus; die einzige mögliche Lösung ist ein Warm-Standby (ein schreibgeschützter Spiegel) der Datenbank, der auf asynchroner nativer Replikation basiert.

Nativ bedeutet, dass die Replikation keine Trigger oder Änderungen an Metadaten erfordert (die einzige Anforderung ist, Primär- oder Unique-Schlüssel für alle replizierten Tabellen zu haben), und sie funktioniert sehr schnell.

Das Warm-Standby erfordert das Erstellen einer anfänglichen Kopie der Datenbank, das Initialisieren als Replikat und das Hochladen auf den Standby-Server. Danach werden Datenänderungen mit minimaler Verzögerung (ab 1 Minute) vom Master gesendet. Es werden nur Änderungen gesendet, sodass die Lesleistung der Datenbank nicht beeinträchtigt wird.

Diese Backup-Option ist sehr zuverlässig - sie garantiert die Existenz einer Live-Kopie der Datenbank auf einem anderen Server.

Was kann IBSurgeon für Sie tun?

Wir bieten einen abonnementbasierten Support-Service für Firebird an, der Cloud-Backup- und Warm-Standby-Optionen umfasst. Es ist einfach und erschwinglich (99 $/Monat) und umfasst die folgenden Optionen:

  • Überwachung der Firebird-Datenbank und Automatisierung von Backups
  • Remote-Desktop- und Instant-Messenger-Support
  • Failover-Firebird-Lösung (Warm-Standby) und Cloud-Backup

Bitte lesen Sie weitere Details zum Firebird-Support-Service hier.

Eine weitere Option ist die Verwendung von HQbird, unserer erweiterten Distribution von Firebird, und die Implementierung von Cloud-Backup oder Warm-Standby selbst. Weitere Details zu HQbird finden Sie hier.

Und natürlich, als letzte Chance, FirstAID Extractor.

Bitte zögern Sie nicht, uns bei Fragen zu kontaktieren!