DE112020003351T5 - Automatisches Erkennen von Ransomware mit einer Sperrung des Dateisystems auf Abruf und einer automatischen Reparaturfunktion - Google Patents

Automatisches Erkennen von Ransomware mit einer Sperrung des Dateisystems auf Abruf und einer automatischen Reparaturfunktion Download PDF

Info

Publication number
DE112020003351T5
DE112020003351T5 DE112020003351.1T DE112020003351T DE112020003351T5 DE 112020003351 T5 DE112020003351 T5 DE 112020003351T5 DE 112020003351 T DE112020003351 T DE 112020003351T DE 112020003351 T5 DE112020003351 T5 DE 112020003351T5
Authority
DE
Germany
Prior art keywords
file
ocm
affected
files
ocmt
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE112020003351.1T
Other languages
English (en)
Inventor
Dominic Mueller-Wicke
Stefan Bender
Thomas Schreiber
Kai Boerner
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE112020003351T5 publication Critical patent/DE112020003351T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • G06F21/565Static detection by checking file integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1453Management of the data involved in backup or backup restore using de-duplication of the data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2147Locking files

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Verfahren und System zum Erkennen von Ransomware und Reparieren von Daten nach einem Angriff. Das Verfahren beinhaltet das Sammeln von Dateistatistiken für Dateien in einem Dateisystem, das Identifizieren einer betroffenen Datei auf Grundlage der gesammelten Dateistatistiken, das Sperren des Zugriffs auf das Dateisystem in Reaktion auf das Identifizieren der betroffenen Datei, das Rückgängigmachen der Abgleichverarbeitung, das Reparieren der betroffenen Dateien und das Entsperren des Zugriffs auf das Dateisystem. Das System umfasst einen Computer-Knoten, ein Dateisystem, eine Mehrzahl von Plattenspeicherkomponenten, einen Backup-Client, einen Backup-Client und einen hierarchischen Speicher-Client. Der hierarchische Speicher-Client ist konfiguriert zum Sammeln von Dateistatistiken für Dateien in dem Dateisystem, Identifizieren betroffener Dateien auf Grundlage der gesammelten Dateistatistiken für die Datei, Sperren des Zugriffs auf das Dateisystem in Reaktion auf eine ermittelte betroffene Datei, Rückgängigmachen der Abgleichverarbeitung, Reparieren der betroffenen Datei und Entsperren des Zugriffs auf das Dateisystem.

Description

  • HINTERGRUND
  • Die vorliegende Offenlegung bezieht sich auf den Schutz von Dateisystemen, genauer gesagt auf das Erkennen und Reagieren auf einen Malware- oder Ransomware-Angriff auf ein Dateisystem.
  • Ransomware ist ein Typ von Malware aus der Kryptovirologie, der damit droht, die Daten des Opfers zu veröffentlichen oder den Zugriff auf die Daten dauerhaft zu blockieren, wenn kein Lösegeld gezahlt wird. Einfache Ransomware kann das System auf eine Weise sperren, die für eine sachkundige Person nicht schwer rückgängig zu machen ist. Fortgeschrittene Malware verwendet jedoch eine Technik, die als kryptovirale Erpressung bezeichnet wird, bei der sie die Dateien des Opfers verschlüsselt, so dass sie nicht mehr zugänglich sind, und dann eine Lösegeldzahlung für die Entschlüsselung verlangt. Bei einem richtig realisierten kryptoviralen Erpressungsangriff ist die Wiederherstellung der Dateien ohne den Entschlüsselungsschlüssel ein unlösbares Problem.
  • Ransomware-Angriffe werden in der Regel mit einem Trojaner durchgeführt, der als legitime Datei getarnt ist und den Benutzer dazu verleitet, die Datei herunterzuladen oder zu öffnen, wenn sie als E-Mail-Anhang eintrifft. Einige Versionen können jedoch ohne Benutzerinteraktion zwischen Computern übertragen werden.
  • Aktuelle Lösungen erkennen einen Ransomware-Angriff lediglich, nachdem das gesamte Dateisystem oder zumindest ein größerer Teil (mehrere Verzeichnisse) des Dateisystems verschlüsselt wurde. Um die von einem Ransomware-Angriff betroffenen Dateien zu reparieren, muss eine vollständige Wiederherstellung des Dateisystems ausgeführt werden. In der Regel erfolgt eine vollständige Systemwiederherstellung anhand eines Backups, sofern verfügbar. Dies nimmt jedoch viel Zeit in Anspruch und legt die Operation des betroffenen Dateisystems lahm. Im schlimmsten Fall hat der Benutzer kein Backup oder die verschlüsselten Dateien wurden bereits gesichert und er verliert alle Dateien oder ist gezwungen, den Ransomware-Angreifer zu bezahlen, um seine Dateien zurückzubekommen.
  • KURZDARSTELLUNG
  • Gemäß den Ausführungsformen der vorliegenden Offenlegung ist ein System zur Erkennung und Verwaltung von Ransomware offenbart. Ausführungsformen des Systems beinhalten einen Computer-Knoten, ein Dateisystem, eine Mehrzahl von Plattenspeicherkomponenten, einen Backup-Client, einen Backup-Client und einen hierarchischen Speicher-Client. Der hierarchische Speicher-Client ist konfiguriert zum Sammeln von Dateistatistiken für Dateien in dem Dateisystem, Identifizieren betroffener Dateien auf Grundlage der gesammelten Dateistatistiken für die Datei, Sperren des Zugriffs auf das Dateisystem in Reaktion auf eine ermittelte betroffene Datei, Rückgängigmachen von Abgleichverarbeitung (reconcile processing), Reparieren der betroffenen Datei; und Entsperren des Zugriffs auf das Dateisystem. In einigen Ausführungsformen beinhalten die gesammelten Dateistatistiken gesammelte Dateizugriffsstatistiken und gesammelte Dateideduplizierungs- und -Komprimierungsraten. In einigen Ausführungsformen umfasst der hierarchische Speicher-Client ferner ein Beobachtungs- und Steuerungsmodul (observation and control module, OCM), eine Beobachtungs- und Steuermodultabelle (control module table, OCMt), ein erweitertes Migrationsmodul (enhanced migration module, EMM), ein erweitertes Dateisystemabgleichsmodul (enhanced file system reconciliation module, EFRM) und ein erweitertes Rückrufmodul (enhanced recall module, ERM). In Ausführungsformen ist das OCM konfiguriert zum Registrieren bei dem Dateisystem, Empfangen einer Benachrichtigung von dem Dateisystem, wenn eine neue Datei erstellt oder eine bestehende Datei in dem Dateisystem geändert wird, Benachrichtigen des EMM über die neue Datei oder die geänderte Datei und Initiieren einer Vor-Migration der neuen oder geänderten Datei. In einigen Ausführungsformen ist das EMM konfiguriert zum Berechnen der Deduplizierungs- und Komprimierungsraten für die Datei während der Vor-Migration der Datei, Benachrichtigen des OCM über die Deduplizierungs- und Komprimierungsraten und Eintragen der Deduplizierungs- und Komprimierungsraten für das Tile in einen Eintrag für die Datei in der OCMt. In einigen Ausführungsformen ist das EMM ferner konfiguriert zum Sammeln der Deduplizierungs- und Komprimierungsraten, wenn eine Datei migriert wird. In einigen Ausführungsformen ist das EMM ferner konfiguriert zum Erzeugen einer Block-Level-Hash-Map einer Datei zu einem Zeitpunkt einer ersten Vor-Migration, Erzeugen einer zweiten Block-Level-Hash-Map der Datei zu einem Zeitpunkt einer zweiten Vor-Migration der Datei, Vergleichen der Block-Level-Hash-Map mit der zweiten Block-Level-Hash-Map, Ermitteln, dass ein vorbestimmter Teil der verglichenen Block-Level-Hash-Maps nicht übereinstimmt, und Identifizieren der Datei als betroffen in Reaktion auf das Überschreiten des vorbestimmten Teils. In einigen Ausführungsformen ist die OCM ferner konfiguriert zum Speichern der Block-Level-Hash-Map der Datei in der OCMt. In einigen Ausführungsformen ist die OCM ferner konfiguriert zum Ermitteln, ob eine anormale Menge von Dateischreibzugriffen auf das Dateisystem erfolgt ist. In einigen Ausführungsformen ist der OCM ferner konfiguriert zum Definieren eines Wasserzeichens eines akzeptierten Schreibzugriffs auf die Dateien in dem Dateisystem.
  • Gemäß den Ausführungsformen der vorliegenden Offenlegung ist ein Verfahren zum Erkennen von Ransomware offenbart. Das Verfahren beinhaltet das Sammeln von Dateistatistiken für Dateien in einem Dateisystem, das Identifizieren einer betroffenen Datei auf Grundlage der gesammelten Dateistatistiken, das Sperren des Zugriffs auf das Dateisystem in Reaktion auf das Identifizieren der betroffenen Datei, das Rückgängigmachen von Abgleichverarbeitung, das Reparieren der betroffenen Dateien und das Entsperren des Zugriffs auf das Dateisystem. In einigen Ausführungsformen beinhaltet das Sammeln von Dateistatistiken das Sammeln von Dateizugriffsstatistiken und das Sammeln von Dateideduplizierungs- und -komprimierungsraten. In einigen Ausführungsformen beinhaltet das Sammeln von Dateizugriffsstatistiken das Registrieren eines Beobachtungs- und Steuermoduls (OCM) bei dem Dateisystem, das Benachrichtigen des OCM, wenn eine neue Datei erstellt oder eine vorhandene Datei in dem Dateisystem geändert wird, das Benachrichtigen eines erweiterten Migrationsmoduls durch das OCM über die neue Datei oder die geänderte Datei und das Initiieren einer Vor-Migration der neuen oder geänderten Datei. In einigen Ausführungsformen umfasst das Verfahren die Registrierung, durch das OCM, eines Prozesses zur Verfolgung von Änderungen an der neuen Datei oder der bestehenden Datei für eine Benachrichtigung, wenn ein Schreibzugriff auf die neue Datei oder die bestehende Datei erfolgt. In einigen Ausführungsformen beinhaltet das Verfahren das Empfangen einer Benachrichtigung über einen Schreibzugriff und das Hinzufügen von mit der Datei verknüpften Daten zu einer Beobachtungs- und Steuermodultabelle (OCMt). In einigen Ausführungsformen beinhaltet das Verfahren das Empfangen einer Benachrichtigung über einen zweiten oder nachfolgenden Schreibzugriff auf die Datei und das Hinzufügen von Daten, die mit der Datei verknüpft sind, zur OCMt. In einigen Ausführungsformen umfasst das Sammeln von Dateideduplizierungs- und - komprimierungsraten das Berechnen von Deduplizierungs- und Komprimierungsraten für die Datei während einer Vor-Migration der Datei durch ein erweitertes Migrationsmodul (EMM), das Benachrichtigen des OCM durch das EMM über die Deduplizierungs- und Komprimierungsraten für die Datei und das Eintragen der Deduplizierungs- und Komprimierungsraten für die Datei in einen Eintrag für die Datei in der Beobachtungs- und Kontrollmodultabelle (OCMt).
  • In einigen Ausführungsformen beinhaltet das Identifizieren einer betroffenen Datei das Erzeugen einer Block-Level-Hash-Map einer Datei zu einem Zeitpunkt einer ersten Vor-Migration der Datei, das Speichern der Block-Level-Hash-Map der Datei in einer Beobachtungs- und Steuermodultabelle (OCMt), das Erzeugen einer zweiten Block-Level-Hash-Map der Datei zu einem Zeitpunkt einer zweiten Vor-Migration der Datei, das Vergleichen der Block-Level-Hash-Map mit der zweiten Block-Level-Hash-Map, das Ermitteln, dass ein vorbestimmter Teil der verglichenen Block-Level-Hash-Maps nicht übereinstimmt, und das Identifizieren der Datei als betroffen in Reaktion auf das Ermitteln. In einigen Ausführungsformen beinhaltet das Identifizieren einer betroffenen Datei das Ermitteln, ob eine abnormale Anzahl von Dateischreibzugriffen auf das Dateisystem erfolgt ist. In einigen Ausführungsformen beinhaltet das Ermitteln, ob eine anormale Anzahl von Dateischreibzugriffen auf das Dateisystem erfolgt ist, das Durchlaufen der Beobachtungs- und Steuermodultabelle (OCMt), das Bilden einer Summe von Schreibzugriffen für Dateien in der OCMt für einen jüngsten Beobachtungszyklus, das Bilden einer Summe von Schreibzugriffen für die Dateien in der OCMt für einen Beobachtungszyklus vor dem jüngsten Beobachtungszyklus. In einigen Ausführungsformen beinhaltet das Ermitteln, ob eine anormale Anzahl von Schreibzugriffen auf das Dateisystem erfolgt ist, das Durchlaufen der Beobachtungs- und Kontrollmodultabelle (OCMt) für jede Datei in der Tabelle, auf die in einem vorangehenden Beobachtungszyklus zugegriffen wurde, das Lesen eines verknüpften Eintrags für die Deduplizierungs- und Komprimierungsrate für jede Datei aus der OCMt als eine jüngste Rate. Für jede Datei das Berechnen einer aktuellen Deduplizierungs- und Kompressionsrate für die verknüpfte Datei als eine aktuelle Rate, das Vergleichen der aktuellen Rate für jede Datei mit der jüngsten Rate für die entsprechende Datei aus dem vorangehenden Beobachtungszyklus und das Feststellen, dass die verknüpfte Datei einen abnormalen Dateizugriff hat, wenn die aktuelle Rate niedriger ist als die jüngste Rate. In einigen Ausführungsformen beinhaltet das Identifizieren einer betroffenen Datei das Definieren eines Wasserzeichens eines akzeptierten Schreibzugriffs auf die Dateien in dem Dateisystem.
  • In einigen Ausführungsformen beinhaltet das Sperren des Zugriffs auf das Dateisystem in Reaktion auf die Identifizierung der betroffenen Datei das Durchlaufen der Beobachtungs- und Steuermodultabelle (OCMt), um zu ermitteln, ob eine Schwellenzahl von Dateien als betroffene Datei gekennzeichnet wurde, das Blockieren von Schreibzugriffen auf das Dateisystem, das Anhalten der gesamten Migrationsverarbeitung durch ein erweitertes Migrationsmodul (EMM) und das Anhalten der gesamten Abgleichverarbeitung durch ein erweitertes Dateisystemabgleichsmodul (EFRM). In einigen Ausführungsformen beinhaltet das Rückgängigmachen von Abgleichverarbeitung das Schreiben eines Undo-Logs der abzugleichenden Änderungen durch ein erweitertes Dateisystemabgleichsmodul (EFRM), die Ermittlung, dass die Abgleichverarbeitung in dem EFRM angehalten wurde, und das Anwenden des Undo-Logs zum Rückgängigmachen aller Abgleichaktivitäten auf einem Speicher-Server. In einigen Ausführungsformen beinhaltet das Reparieren der betroffenen Dateien das Durchlaufen der Beobachtungs- und Steuermodultabelle (OCMt), das Identifizieren jeder Datei in der OCMt, die als betroffene Datei gekennzeichnet wurde, das Verschieben der betroffenen Datei in einen Quarantäneordner und das Wiederherstellen der neuesten Version der betroffenen Datei von einem Speicher-Controller mit einem Migrationszeitstempel vor einem Zeitstempel, der mit einer aktuellen Version der betroffenen Datei verknüpft ist. In einigen Ausführungsformen beinhaltet das Reparieren der betroffenen Datei das Durchlaufen einer Beobachtungs- und Steuermodultabelle (OCMt), das Identifizieren jeder Datei in der OCMt, die als betroffene Datei gekennzeichnet wurde, das Stubbing der betroffenen Datei und das Verknüpfen der gestubbten Version der betroffenen Datei mit einer Version der betroffenen Datei in einem Speicher-Server, die vor einem Zeitstempel migriert wurde, der mit einer aktuellen Version der betroffenen Datei verknüpft ist.
  • Die obige Zusammenfassung ist nicht dazu gedacht, jede veranschaulichte Ausführungsform bzw. jede Realisierung der vorliegenden Offenlegung zu beschreiben.
  • Figurenliste
  • Die in der vorliegenden Anmeldung enthaltenen Zeichnungen sind in die Beschreibung eingebettet und bilden einen Bestandteil hiervon. Sie veranschaulichen Ausführungsformen der vorliegenden Offenbarung und dienen neben der Beschreibung dazu, die Grundsätze der Offenbarung zu erläutern. Die Zeichnungen zeigen lediglich bestimmte Ausführungsformen und bilden keine Beschränkung der Offenbarung.
    • 1 ist ein Blockschaubild, das ein System zum Bereitstellen einer Backup-Architektur mit Erkennung und Verwaltung von Ransomware gemäß veranschaulichenden Ausführungsformen darstellt.
    • 2 ist ein Blockschaubild, das die Komponenten des HSM-Clients gemäß veranschaulichenden Ausführungsformen in weiteren Details darstellt.
    • 3 ist ein Ablaufdiagramm, das einen Prozess zum Erkennen und Schützen eines Systems vor einem Ransomware-Angriff gemäß verschiedenen Ausführungsformen der vorliegenden Offenlegung veranschaulicht.
    • 4 ist ein Blockschaubild, das ein Computersystem gemäß einer Ausführungsform veranschaulicht.
    • 5 ist eine schematische Darstellung einer veranschaulichenden Cloud-Computing-Umgebung.
    • 6 stellt gemäß einer veranschaulichenden Ausführungsform eine Menge von funktionalen Abstraktionsschichten dar, die von einer Cloud-Computing-Umgebung bereitgestellt werden.
  • Obwohl die Erfindung für verschiedene Abwandlungen und alternative Formen offen ist, wurden ihre Besonderheiten in den Zeichnungen beispielhaft gezeigt und werden im Detail beschrieben. Dabei sollte jedoch klar sein, dass die Erfindung nicht auf die bestimmten beschriebenen Ausführungsformen beschränkt sein soll. Vielmehr sollen alle Abwandlungen, Entsprechungen und Alternativen, die unter den gedanklichen Wesensgehalt und inhaltlichen Umfang der Erfindung fallen, abgedeckt sein.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Aspekte der vorliegenden Offenlegung beziehen sich auf den Schutz von Dateisystemen und insbesondere auf den Schutz eines Dateisystems vor Malware- oder Ransomware-Angriffen. Während die vorliegende Offenlegung nicht notwendigerweise auf solche Anwendungen beschränkt ist, können verschiedene Aspekte der Offenlegung durch eine Diskussion verschiedener Beispiele unter Verwendung dieses Kontextes gewürdigt werden.
  • Ein Ransomware-Angriff ist eine der zerstörerischsten Angelegenheiten, die mit Dateien in einem Dateisystem passieren können. Dies kann erhebliche Auswirkungen auf das Dateisystem und die Dateibesitzer haben. Ransomware-Angriffe können nicht schnell genug erkannt werden, um den Verlust des Zugriffs auf die Dateien zu verhindern. In der Regel merkt der Eigentümer eines Dateisystems den Ransomware-Angriff lediglich, nachdem die Dateien verschlüsselt wurden.
  • Moderne Backup-Software (z. B. IBM Spectrum Protect) ist in der Lage zu erkennen, ob die Backup-Raten oder die Deduplizierungsraten in einem Backup-System Unterschiede zum normalen Prozess aufweisen. Leider erfolgt dieses Erkennen zum Zeitpunkt des nächsten Backups, das erfolgt, nachdem das Dateisystem infiziert wurde. Das bedeutet, dass alle Dateien bereits verschlüsselt sind, und es ist zu spät, den Angriff zu stoppen. Um die betroffenen Dateien zu reparieren, muss eine vollständige Wiederherstellung des Dateisystems ausgeführt werden. Dies nimmt jedoch sehr viel Zeit in Anspruch und bringt die Produktion auf dem betroffenen Dateisystem zum Erliegen. Im schlimmsten Fall hat der Benutzer kein Backup und verliert alle Dateien oder ist gezwungen, den Ransomware-Angreifer zu bezahlen, um seine Dateien zurückzubekommen.
  • Aktuelle Lösungen können keine Angriffe verhindern, die das gesamte Dateisystem betreffen. Derzeitige Lösungen erkennen einen Ransomware-Angriff lediglich, nachdem das gesamte Dateisystem verschlüsselt wurde. Um dieses Dateisystem zu reparieren, muss ein komplettes System aus einem Backup wiederhergestellt werden, falls vorhanden.
  • Die vorliegende Offenlegung behebt die Schwäche der derzeitigen Schutzmechanismen, indem sie einen Ransomware-Angriff schnell (nahezu in Echtzeit) erkennt und eine Reaktion in nahezu Echtzeit auf den erkannten Ransomware-Angriff bereitstellt, um eine weitere Verschlüsselung der Dateien und/oder des Dateisystems zu verhindern. Die vorliegende Offenlegung stellt ferner eine automatische Reparatur der Dateien bereit, die vor dem Erkennen des Ransomware-Angriffs verschlüsselt wurden. Ferner kann die vorliegende Offenlegung mit einem Virenscanner gekoppelt oder koordiniert werden, um Dateien automatisch zu reparieren, die durch Viren oder andere Beschädigungen infiziert wurden.
  • 1 ist ein Blockschaubild, das ein System zum Bereitstellen einer Backup-Architektur mit Erkennung und Verwaltung von Ransomware gemäß veranschaulichten Ausführungsformen darstellt. Das Backup-System 100 verwendet eine hierarchische Speicherverwaltungslösung (hierarchical storage management, HSM), um die Dateien zu verwalten. Das Backup-System 100 umfasst einen Computer-Knoten 110, ein Dateisystem 120, Plattenspeicherkomponenten 130-1, 130-2, 130-N (zusammen die Plattenspeicherkomponente 130), einen Backup-Client 140, einen Backend-Server 150 und einen hierarchischen Speicherverwaltungs-Client 160 (hierarchical storage management dient, HSM-Client 160).
  • Kurz in 1 dargestellt, läuft der Backup-Client 140 auf dem Computer-Knoten 110. Der Computer-Knoten hat einen lokalen Mount des Dateisystems 120 und hat über ein Netzwerk Zugriff auf die Plattenspeicherkomponenten 130. Die Backup-Client 140 - Komponente 140 ist mit dem Backend-Server 150 verbunden. HSM-Clients 160 werden in der Regel auf einem (oder in einer Cluster-Umgebung auf mehreren) Computer-Knoten 110 installiert. Der HSM-Client 160 liest die Daten aus dem Dateisystem 120, das auf dem/den Computerknoten 110 gemountet ist, und sendet die Dateidaten durch Migration an den Backend-Server 150. Der HSM-Client 160 läuft auf dem Computer-Knoten 110. Der Computer-Knoten hat einen lokalen Mount des Dateisystems 120 und hat über ein Netzwerk Zugriff auf die Plattenspeicherkomponenten 130. Die HSM-Client 160 -Komponente 160 ist mit dem Backend-Server 150 verbunden.
  • Eine hierarchische Speicherverwaltungslösung ist typischerweise eine virtuelle Erweiterung des Platzes des Dateisystems 120 durch Einführung zusätzlicher hierarchischer Speicher-Tiers. Der Grund für die Einführung von Speicher-Tiers ist die Speicherung großer Datenmengen zu geringeren Kosten und mit höherer Effizienz als bei herkömmlichen rotierenden Magnetplatten. In vielen Fällen umfassen HSM-Tier-Umgebungen unterschiedliche Flash- oder Festkörperlaufwerke (SSD) (Tier 0) und Festplattenlaufwerke (HDD) (Tier 1 - N-1) -Klassen sowie ein Band als letztes Tier (Tier N) in der Hierarchie. Der Prozess des Verschiebens von Dateien zwischen den Tiers wird als Migration und Rückruf bezeichnet. Migration bedeutet, die Dateidaten auf den nächstniedrigeren Tiers zu verschieben und die Daten auf dem höheren Tiers lediglich durch die Metadaten zu ersetzen, die erforderlich sind, um den neuen Speicherort der Dateidaten auf dem niedrigeren Tier für einen späteren Rückruf zu identifizieren. Die Metadaten werden in der Regel als „Stub-Datei“ bezeichnet und verbrauchen keinen Speicherplatz. Rückruf bedeutet, dass die Daten in das höhere Tier der Speicherhierarchie zurückgeschoben werden. Der physische Speicherort der Dateidaten ist für den Benutzer des Dateisystems 120 und die gespeicherten Daten transparent. Bei einer HSM-Lösung wird nicht zwischen unterschiedlichen Dateiversionen unterschieden. Eine Änderung von Dateidaten erfordert den Rückruf aus den unteren Tiers in ein Online-Tier. Diese Funktionen werden von der HSM-Client 160 -Komponente 160 durch das entsprechende Migrations- und Rückrufmodul realisiert (dargestellt in 2)
  • Im Hinblick auf die Migration von Dateien von einem höheren Tier zu einem niedrigeren Tier kennt ein Unix-HSM drei unterschiedliche Dateimigrationszustände: resident, vormigriert und migriert. Im residenten Zustand existieren die Dateidaten lediglich im Live-Dateisystem 120 (Tier 0). Auf dem Backup-Server, z. B. einem Spectrum Protect Server (Tier 1), befindet sich keine gültige Kopie der Datei. Dies ist der Migrationsstatus für neu erstellte oder geänderte Dateien. Im vormigrierten Zustand verfügen die Dateidaten über eine gültige Kopie sowohl im Dateisystem 120 (Ebene 0) als auch auf dem Backup-Server (Ebene 1). Der vormigrierte Zustand gilt auch für eine Datei, die vom Backup-Server zum Lesen zurückgerufen wurde. Der vormigrierte HSM-Dateistatus wird auch als Dual-Mode bezeichnet. Im migrierten Zustand wurde die Datei in Ebene 0 durch eine Stub-Datei ersetzt und existiert lediglich auf dem Backup-Server (Ebene 1). Der Migrationsstatus bleibt so lange bestehen, bis ein Zugriff auf die Dateidaten versucht wird.
  • Wenn ein Zugriff auf Dateidaten ausgeführt wird, wird ein transparenter Rückruf initiiert. Die Daten werden in Tier 0 verlagert, während der Systemaufruf für den Datenzugriff blockiert wird, bis er abgeschlossen ist. Der Benutzer-Rückruf von Dateien aus einem niedrigeren Tier in ein höheres Tier kann entweder durch den expliziten Aufruf eines HSM-Befehls ausgeführt werden, um eine Datei oder eine Liste von Dateien zurückzurufen, oder durch die Verwendung eines Befehls wie des Spectrum-Scale-Mmapplypolicy-Befehls, um den Rückruf von Dateien zu steuern, deren Attribute einer Menge von Policy-Regelkriterien entsprechen. Wenn eine Anwendung den Rückruf durch Zugriff auf die Datei ausgelöst hat, muss sie warten, bis die vollständigen Dateidaten vom Backup-Server in das Dateisystem 120 zurückgerufen wurden. Der Typ des Zugriffs kann Lesen, Schreiben oder Kürzen sein.
  • Abgleichverfahren stellen sicher, dass der Inhalt des Dateisystems 120 und der Inhalt des Back-up-Servers synchronisiert werden. Die Realisierung von Abgleichsfunktionen erfolgt durch die HSM-Client 160 -Komponente 160 über ein entsprechendes Abgleichsmodul (dargestellt in 2). Beispielsweise verwendet der Spectrum Protect for Space Management Client die Spectrum Scale Policy Engine, um eine Liste aller migrierten Dateien im Dateisystem 120 zu erzeugen, und führt einen schnellen Vergleich zwischen den aufgelisteten und den auf dem Spectrum Protect Server gespeicherten Dateien durch.
  • Typische Anti-Ransomware-Systeme basieren auf zwei unterschiedlichen Typen von Architekturen, um die Ausführung von Ransomware zu verhindern.
  • Der erste Architekturtyp ist ein Klon der Anti-Virus-Architektur. Die Anti-Ransomware-Software wird auf dem lokalen Computer-Knoten wie ein Beobachter installiert. Sie überwacht Dateisystemdaten und ausgeführte Programme auf spezifische Signaturen bekannter Ransomware. Die Anti-Ransomware-Software benötigt die Eingabe von Signaturen bekannter Ransomware-Software, so wie ein Virenscanner die neuesten Updates neuer Viren benötigt. Ohne Kenntnis der Ransomware-Signatur kann sie die Ransomware-Software nicht identifizieren, erkennen und daran hindern, lokale Dateisysteme anzugreifen und zu verschlüsseln.
  • Der zweite Typ von Anti-Ransomware-Software basiert auf der Grundlage von im Voraus festgelegten Zugriffsbeschränkungen auf Dateien, Verzeichnisse und Dateisysteme. Diese Software muss auf einem lokalen Computer-Knoten installiert werden und gewährt bestimmten vertrauenswürdigen Anwendungen Schreibzugriff auf bestimmte Bereiche. So können beispielsweise Verzeichnisse als geschützt gekennzeichnet werden, und lediglich registrierte Anwendungen dürfen Daten in diese Verzeichnisse schreiben. Diese Software führt keine Erkennung von Ransomware aus. Sie schützt lediglich Daten vor dem Überschreiben durch eine unbekannte oder nicht vertrauenswürdige Anwendung. Dabei kann es sich um Ransomware handeln oder einfach um eine andere Anwendung, die der Verbraucher verwenden möchte. Solche Anti-Ransomware-Software erhebt oft den Anspruch, ein Erkennen von Verhaltensweisen zu beinhalten, sammelt aber einfach nur eine Menge Feedback vom Verbraucher, so wie typische Desktop-Firewalls ihre Verbraucher fragen, ob diese Anwendung dies tun darf.
  • Bekannte Anwendungen zum Erkennen und Verhindern von Ransomware wie Bitdefender, Zone Alarm, Panda oder Webroot gehen in der Regel nach der folgenden Methode vor. Verzeichnisse können als geschützt gekennzeichnet werden, und lediglich registrierte Anwendungen dürfen Daten in diese Verzeichnisse schreiben. Zur Identifizierung von Ransomware-Angriffen auf Dateien wird die lokale Spur der Dateiänderung verwendet. Anwendungen, die als bösartig erkannt wurden, werden von der Anwendung zur Detektion von Ransomware auf dem lokalen System gestoppt. Die Einschränkung dieser Herangehensweise besteht darin, dass die Anwendungen zur Erkennung von Ransomware auf dem lokalen System laufen müssen, das angegriffen wird. Darüber hinaus führt der manuelle Schutz von Verzeichnissen zu einer gewissen Unflexibilität des Systems.
  • Im Gegensatz zu vorangehenden Systemen muss der HSM-Client 160 der vorliegenden Offenlegung nicht auf dem lokalen System ausgeführt werden. Das zu schützende Dateisystem 120 kann lokal, aber auch remote sein. Es müssen keine geschützten Verzeichnisse manuell identifiziert werden. Es müssen keine Anwendungen gestoppt werden, aber der Zugriff auf das Dateisystem 120 wird gesperrt, um weitere Änderungen an den Dateien zu verhindern.
  • 2 ist ein Blockschaubild, das die Komponenten des HSM-Client 160 in weiteren Details veranschaulicht. Der HSM-Client 160 umfasst ein Beobachtungs- und Steuermodul 220 (observation and control module, OCM 220), ein Migrationsmodul 240, ein Rückrufmodul 260 und ein Abgleichmodul 280.
  • Das OCM 220 Modul 220 ist ein Modul des HSM-Client 160, das so konfiguriert ist, dass es Dateizugriffsstatistiken sammelt und pflegt und Statistiken zur Dateienduplizierung sammelt und pflegt. Das OCM 220 Modul 220 pflegt die gesammelten Daten in der Beobachtungs- und Steuermodultabelle 225 (OCMt 225). Das OCM 220 verwendet die Steuerschnittstellen des Dateisystems 120, z. B. DMAPI oder den Windows-Filtertreiber, um Informationen über die Dateien zu sammeln und den Schreibzugriff auf die beobachteten und betroffenen Dateien im Dateisystem 120 zu verhindern.
  • Das Migrationsmodul 240 ist eine Komponente des Systems, die so konfiguriert ist, dass sie die Dateidaten auf das nächst niedrigere Tier verschiebt und die Daten auf dem höheren Tier lediglich durch die Metadaten ersetzt, die erforderlich sind, um den neuen Speicherort der Dateidaten auf dem niedrigeren Tier für einen späteren Rückruf zu identifizieren. Das Migrationsmodul 240 beinhaltet ein erweitertes Migrationsmodul 245 (EMM 245). Das EMM 245 ist so konfiguriert, dass es die Dateideduplizierungs- und - komprimierungsraten an das OCM 220-Modul 220 auslagert. Darüber hinaus ist das EMM 245 so konfiguriert, dass es während der Migration eine Block-Level-Hash-Map einer Datei erstellt und die Hash-Map an das OCM 220-Modul 220 auslagert. Das EMM 245 ist ferner so konfiguriert, dass es die Dateien zum Backend-Server 150 (z. B. Spectrum Protect Server) migriert. Der Backend-Server 150 ist mit einem Modul zur Verzögerung von Löschungen konfiguriert, bis eine Ransomware-Infektion ausgeschlossen werden kann.
  • Das Rückrufmodul ist eine Komponente des Systems, die so konfiguriert ist, dass sie die Daten zurück auf das höhere Tier in der Speicherhierarchie verschiebt. Das Rückrufmodul 260 beinhaltet ein erweitertes Rückrufmodul 265 (ERM 265). Das ERM 265 ist ein Modul, das so konfiguriert ist, dass es den Dateizugriff auf das Dateisystem 120 anhält.
  • Das Abgleichmodul 280 ist eine Komponente des Systems, die den Inhalt des Dateisystems 120 mit dem Inhalt des Backend-Servers 150 synchronisiert. Das Abgleichmodul beinhaltet ferner ein erweitertes Dateisystemabgleichmodul 285 (EFRM 285). Das EFRM 285 ist so konfiguriert, dass es die Abgleichverarbeitung bei Bedarf sofort anhält. Darüber hinaus kann das EFRM 285 eine Undo-Log-Funktion beinhalten.
  • 3 ist ein Ablaufdiagramm, das einen Prozess zum Erkennen und Schützen eines Systems vor einem Ransomware-Angriff gemäß verschiedenen Ausführungsformen der vorliegenden Offenlegung veranschaulicht. Prozess 300 beginnt mit der Ansammlung von Statistiken für die Dateien. Dies ist in Schritt 310 veranschaulicht. In diesem Schritt sammelt das OCM 220 Dateizugriffsstatistiken und Dateideduplizierungs- und -komprimierungsraten.
  • Um die Dateizugriffsstatistiken zu sammeln, registriert sich das OCM 220 beim Dateisystem 120, um eine Benachrichtigung zu empfangen, wenn eine neue Datei erstellt oder eine bestehende Datei geändert wurde. Wenn das OCM 220 eine Benachrichtigung über eine neu erstellte oder geänderte Datei erhält, registriert es einen Mechanismus zur Verfolgung von Änderungen an der Datei, um eine Benachrichtigung zu empfangen, wenn ein Schreibzugriff erfolgt. Wenn die Registrierung abgeschlossen ist, benachrichtigt das OCM 220 das EMM 245 über die neuen oder geänderten Dateien und initiiert die Vor-Migration der Datei. Beim ersten Schreibzugriff fügt das OCM 220 den Dateinamen zur OCMt 225 hinzu und trägt die Uhrzeit des Zugriffs auf die betreffende Datei ein. Nachfolgende Schreibzugriffe auf die gleiche Datei in der gleichen Beobachtungsperiode fügen der Tabelle zusätzliche Zeitstempel hinzu.
  • Zur Ansammlung von Dateideduplizierungs- und -komprimierungsraten zum Zeitpunkt der Vor-Migration dedupliziert und komprimiert das EMM 245 die Datei für eine effiziente Datenübertragung zum EHS. Das EMM 245 berechnet die Deduplizierungs- und Komprimierungsraten der Datei. Nach Abschluss der Vor-Migration der Datei benachrichtigt das EMM 245 das OCM 220, dass die Migration abgeschlossen ist, und stellt die Deduplizierungs- und Komprimierungsraten für das OCM 220 bereit. Das OCM 220 trägt die Deduplizierungs- und Komprimierungsraten für die betreffende Datei in das OCMt 225 ein. Bei späteren Migrationen werden zusätzliche Einträge für die gleiche Datei hinzugefügt. Das Gleiche geschieht, wenn eine residente Datei nicht vormigriert, sondern migriert wird. Wenn eine vormigrierte Datei migriert wird, müssen keine zusätzlichen Informationen erfasst werden, da diese bereits bei der letzten Übermittlung der Daten an das EHS (zum Zeitpunkt der Vor-Migration) erfasst wurden.
    Figure DE112020003351T5_0001
    Figure DE112020003351T5_0002
    abelle 1 veranschaulicht ein Beispiel eines Eintrags für eine Datei, FileA, in der OCMt 225, basierend auf dem Prozess der Schritte 310 und 320. Es sei darauf hingewiesen, dass die Kommentarspalte der Tabelle 1 in der OCMt 225 nicht vorhanden ist, sondern in diesem Beispiel bereitgestellt wird, um dem Leser zusätzliche Informationen darüber bereitzustellen, was sich in den einzelnen Einträgen geändert hat. In einigen Ausführungsformen basiert die Dateizugriffsstatistik nicht nur auf der Häufigkeit des Schreibzugriffs auf die Dateien, sondern berücksichtigt auch, dass sich die Dateigröße im Zusammenhang mit dem Schreibzugriff nicht ändert. Die Dateigröße ändert sich jedoch, wenn eine Verschlüsselung der Datei ausgeführt wird. In einigen Ausführungsformen berücksichtigt der Prozess, dass der Zugriff auf die Dateien einem Muster folgt. Bei diesem Muster kann es sich um das Durchlaufen von Verzeichnissen, das Durchlaufen von Inode-Tabellen, das Durchlaufen des benutzerspezifischen Dateisystems 120 oder die aufgezeichnete Zugriffsverweigerungsrate handeln. Diese Informationen können verwendet werden, um abnormale Aktivitäten beim Zugriff zu erkennen. In einigen Ausführungsformen basiert die Statistik des Dateizugriffs auf dem Rückruf für Schreibraten der Dateien. In dieser Ausführungsform interagiert das OCM 220 mit dem ERM 265, um diese Informationen zu sammeln, und trägt die Informationen in die Tabelle OCMt 225 ein. Dies kann auch verwendet werden, um abnormale Zugriffsmuster zu identifizieren. In einigen Ausführungsformen basiert die Statistik des Dateizugriffs auf den Abgleich-Ablaufraten der Dateien. Bei dieser Herangehensweise interagiert das OCM 220 mit dem EFRM 285, um diese Informationen zu sammeln, und trägt die Informationen in die Tabelle OCMt 225 ein. Nochmals, diese Informationen können verwendet werden, um abnormale Muster im System zu identifizieren.
  • Auf Grundlage der gesammelten Dateistatistiken fährt der Prozess damit fort, betroffene Dateien zu identifizieren. Dies ist in Schritt 320 veranschaulicht. In diesem Schritt identifiziert die OCM 220, ob eine Datei betroffen ist, während sie an die EHS gesendet wird. Wenn die Vor-Migration der Datei zuerst erfolgt, erstellt das EMM 245 eine Block-Level-Hash-Map der Datei und sendet diesen Hash an das OCM 220. Das OCM 220 speichert die Informationen in der OCMt 225. Wenn die Vor-Migration der Datei ein zweites Mal später erfolgt, wird die Block-Level-Hash-Map erstellt und mit den in der OCMt 225 gespeicherten Hash-Map-Informationen aus einem vorangehenden Lauf verglichen. Weist die Hash Map 100%ige Unterschiede auf, geht das EMM 245 davon aus, dass die Datei von der Verschlüsselung betroffen ist. Das EMM 245 benachrichtigt den OCM 220, dass die Datei betroffen ist. Der OCM 220 trägt diese Information in die OCMt 225 ein. In einigen Ausführungsformen kann der prozentuale Unterschied in der Hash-Map jedoch weniger als 100 % betragen, so dass das EMM 245 annimmt, dass die Datei von der Verschlüsselung betroffen ist.
  • Das OCM 220 identifiziert ferner, ob im Dateisystem 120 ein abnormal hoher Schreibzugriff auf die Datei erfolgt. Das OCM 220 durchläuft die OCMt 225 und bildet eine Summe Sn der Schreibzugriffe für alle Dateien in der Tabelle für den letzten Beobachtungszyklus. Ferner bildet das OCM 220 eine zweite Summe Sn-1 der Schreibzugriffe für alle Dateien in der Tabelle für den Beobachtungszyklus vor dem letzten Beobachtungszyklus. Ist das Ergebnis von Sn deutlich höher als das Ergebnis von Sn-1, kann der Prozess dazu übergehen, den Zugriff auf das Dateisystem 120 zu blockieren. Alternativ dazu kann die OCM 220 die OCMt 225 durchlaufen. Für jede Datei in der Tabelle, auf die im letzten Beobachtungszyklus zugegriffen wurde, wird der Eintrag für die Deduplizierungs- und Komprimierungsraten gelesen. Das OCM 220 greift auf die Datei zu und berechnet die aktuellen Deduplizierungs- und Kompressionsraten für die jeweilige Datei. Sind die aktuellen Deduplizierungs- und Kompressionsraten signifikant niedriger als die letzte Deduplizierungsrate, kann das OCM 220 die Datei in der Tabelle OCMt 225 als anormaler Dateizugriff kennzeichnen.
  • Das OCM 220 kann ferner ein Wasserzeichen eines akzeptierten Schreibzugriffs auf die Dateien im Dateisystem 120 definieren.
  • Es wird ein Intervall definiert, in dem das OCM 220 auf Ransomware-Angriffe prüft. Dieses Intervall wird als Beobachtungsintervall (observation interval, Ol) bezeichnet. Es kann vom Administrator festgelegt werden und ermittelt, wie schnell das OCM 220 in der Lage ist, einen Angriff zu erkennen. Je kleiner das OI ist, desto schneller wird ein Angriff erkannt. Sehr kleine Intervalle bergen jedoch das Risiko einer falschen Erkennung. Die Ol sollte viel kleiner sein als das übliche Intervall, in dem das Dateisystem 120 gesichert wird (z. B. 24 Stunden), um von den Ressourcen des OCM 220 zu profitieren. Das OCM 220 führt die Dateizugriffsstatistik für die letzten X Ol durch, wobei X Ol eine Zeitspanne von mehreren Tagen oder Wochen darstellen. Es werden die durchschnittliche Anzahl der geschriebenen Dateien im Dateisystem 120 sowie die Verteilung des Durchschnitts berechnet. Das OCM 220 führt dann die Dateizugriffsstatistik für die aktuelle Ol durch und berechnet die Menge der geschriebenen Dateien im Dateisystem 120. Die Ergebnisse der letzten X Ols werden mit dem Ergebnis der aktuellen Ol verglichen. Ein statistisches Standardverfahren (z. B. die 3-Sigma-Methode) wird angewandt, um zu ermitteln, ob in der aktuellen Ol eine ungewöhnlich hohe Dateiänderungsrate vorliegt. Es kann jedoch jedes beliebige statistische Verfahren angewandt werden. Wird eine ungewöhnlich hohe Änderungsrate erkannt, wird die OCMt 225 durchgelaufen und identifiziert alle Dateien, die in der letzten OI geändert wurden. Das OCM 220 kann dann prüfen, ob die gesamte Datei (oder ein anderer Schwellenwert) geändert wurde, indem es den Blockhash vergleicht und prüft, ob die Deduplizierungs- und Kompressionsrate abgenommen hat. Wenn beides bejaht wird, kann das OCM 220 den Zugriff auf das Dateisystem 120 sperren.
  • Wenn ermittelt wird, dass ein Angriff im Gange ist, sperrt das System den Zugriff auf die Datei und/oder das Dateisystem 120. Dies ist in Schritt 330 veranschaulicht. In diesem Schritt sperrt das OCM 220 den Schreibzugriff auf Dateien in einem Dateisystem 120, wobei ein anormaler Schreibzugriff erkannt wurde. Um den Zugriff auf die Datei zu sperren, wird die Tabelle OCMt 225 durchgelaufen. Wenn eine vorbestimmte Anzahl von Dateien als Dateien mit abnormalem Schreibzugriff gekennzeichnet ist, sperrt das OCM 220 alle weiteren Schreibzugriffe auf das gesamte Dateisystem 120 unter Verwendung des ERM 265. Damit soll verhindert werden, dass weitere Dateien überschrieben werden können. Das OCM 220 benachrichtigt das EMM 245, um die gesamte Migrationsverarbeitung anzuhalten. Damit soll verhindert werden, dass betroffene Dateien auf den Backend-Server 150 migriert werden und nicht betroffene Versionen der Datei auf dem Backend-Server 150 ungültig gemacht werden. Der OCM 220 benachrichtigt den EFRM 285, alle Abgleichverarbeitungen anzuhalten. Damit soll verhindert werden, dass nicht betroffene Versionen der migrierten Dateien auf dem Backend-Server 150 gelöscht werden. In einigen Ausführungsformen interagiert das OCM 220 mit einem Virenscanner. Das OCM 220 empfängt Benachrichtigungen von dem Virenscanner, wenn eine Datei in dem beobachteten Dateisystem 120 von einem Virus infiziert ist. Das OCM 220 sperrt dann den Schreibzugriff für die betreffende Datei und startet die automatische Reparatur wie unten beschrieben. In einer anderen Ausführungsform interagiert das OCM 220 mit einem Viren- oder Malware-Scanner-Tool, das automatisch vom OCM 220 gestartet wird, wenn ein Angriff beobachtet wird, und das verwendet wird, um die Malware oder den Virus vom betroffenen System zu entfernen.
  • Sobald der Zugriff auf die Dateien gesperrt wurde, macht das System die bereits erfolgte Abgleichverarbeitung rückgängig. Dies ist in Schritt 340 veranschaulicht. Das OCM 220 fährt mit der Rückgängigmachung der Abstimmungsverarbeitung fort, wenn ein abnormales Schreiben erkannt wurde. Wenn die Abgleichverarbeitung vor einem Angriff gestartet wird, schreibt das EFRM 285 ein Undo-Log, das alle Änderungen umfasst, die auf dem Backend-Server 150 abgeglichen werden sollen. Der Backend-Server 150 ist so konfiguriert, dass er die Aktivitäten des EFRM 285 zum Abgleich sammelt, die Dateien aber erst löscht, wenn das EFRM 285 den Abgleich endgültig festgelegt hat. Die eigentliche Löschung erfolgt lediglich einige Beobachtungszyklen nach dem Erkennen, dass die Datei obsolet ist. Wenn das EFRM 285 aufgrund eines anormalen Schreibzugriffs auf das Dateisystem 120 vom OCM 220 angehalten wird, wird das Undo-Log verwendet, um alle Abstimmungsaktivitäten auf dem Backend-Server 150 rückgängig zu machen. Wenn das EFRM 285 den Abgleich ordnungsgemäß beendet hat, werden die Änderungen am Backend-Server 150 festgelegt und das Undo-Log wird gelöscht.
  • Nach dem Anhalten des Abgleichsprozesses fährt das System mit der Reparatur der durch den Angriff beschädigten Dateien fort. Dies ist in Schritt 350 veranschaulicht.
  • Das OCM 220 repariert betroffene Dateien automatisch, indem es das OCMt 225 durchläuft, um Dateien zu identifizieren, die für einen abnormalen Schreibzugriff gekennzeichnet sind. In einigen Ausführungsformen verschiebt das OCM 220 die Datei dann in einen Quarantäneordner. Anschließend stellt das OCM 220 die jüngste Version der Datei vom Backend-Server 150 wieder her. Es macht dies durch Identifizierung der Version der Datei auf dem Backend-Server 150, die einen Migrationszeitstempel von vor dem Erkennen des abnormalen Schreibzugriffs auf den ursprünglichen Namen der Datei aufweist. Dies wird für alle betroffenen Dateien in der Tabelle fortgesetzt.
  • In einigen Ausführungsformen stellt das OCM 220 die Dateien durch Stubbing der betroffenen Dateien wieder her. Die Stub-Datei wird dann mit einer Version der Datei auf dem Backend-Server 150 verknüpft, die vor dem abnormalen Schreibzugriff auf Grundlage des Migrationszeitstempels migriert wurde.
  • Sobald die Dateien wiederhergestellt sind, fährt das System mit der Entsperrung der Dateien fort, die gesperrt waren. Dies ist in Schritt 360 veranschaulicht. Das OCM 220 kann die Entsperrung der Dateien nach einem vorbestimmten Zeitablauf entweder ab dem Beginn des Angriffs oder ab dem Zeitpunkt der Wiederherstellung der Dateien vornehmen. In einigen Ausführungsformen wird der Entsperrungsprozess manuell vom Administrator des Dateisystems 120 ausgeführt. In einigen Ausführungsformen kann das OCM 220 eine Benachrichtigung an den Benutzer erzeugen, um ihn über den erkannten Angriff zu informieren. Auf diese Weise kann der Benutzer das System darauf hinweisen, dass die Verschlüsselung beabsichtigt war oder nicht. Wurde die Verschlüsselung absichtlich durchgeführt, kann das System die Verschlüsselung fortsetzen. In einigen Ausführungsformen hat der Benutzer die Aufgabe, die Ransomware vor der Entsperrung der Datei zu identifizieren und zu entfernen. Der Benutzer kann dann die Ransomware vom System entfernen, indem er ein Entfernungswerkzeug verwendet. Sobald die Ransomware vom System entfernt ist, kann der Benutzer dem OCM 220 angeben, dass die Ransomware entfernt wurde und das Dateisystem freigeschaltet werden kann. In einigen Ausführungsformen muss der Benutzer die Ransomware möglicherweise erst entfernen, bevor er die betroffenen Dateien wiederherstellen kann.
  • 4 zeigt ein Blockschaubild eines beispielhaften Computersystems 401, das gemäß den Ausführungsformen der vorliegenden Offenlegung zur Realisierung eines oder mehrerer der hierin beschriebenen Verfahren, Tools und Module sowie aller damit verbundenen Funktionen verwendet werden kann (z. B. unter Verwendung eines oder mehrerer Prozessorschaltungen oder Computerprozessoren des Computers). In einigen Ausführungsformen können die Hauptkomponenten des Computersystems 401 eine oder mehrere CPUs 402, ein Speicher-Subsystem 404, eine Endgeräte-Schnittstelle 412, eine Speichergerät-Schnittstelle 416, eine E/A-(Eingabe/Ausgabe)-Geräte-Schnittstelle 414 und eine Netzwerk-Schnittstelle 418 umfassen, die alle direkt oder indirekt für die Kommunikation zwischen den Komponenten über einen Speicherbus 403, einen E/A-Bus 408 und eine E/A-Bus-Schnittstelleneinheit 410 kommunikativ gekoppelt sein können.
  • Das Computersystem 401 kann eine oder mehrere programmierbare Allzweck-Zentralverarbeitungseinheiten (CPUs) 402-1, 402-2, 402-3 und 402-N umfassen, die im Folgenden allgemein als CPU 402 bezeichnet werden. In einigen Ausführungsformen kann das Computersystem 401 mehrere Prozessoren umfassen, wie sie für ein relativ großes System typisch sind; in anderen Ausführungsformen kann es sich bei dem Computersystem 401 jedoch auch um ein einziges CPU-System handeln. Jede CPU 402 kann Anweisungen ausführen, die im Speicher-Subsystem 404 gespeichert sind, und kann eine oder mehrere Ebenen von On-Board-Cache beinhalten.
  • Der Systemspeicher 404 kann durch das Computersystem lesbare Medien in Form eines flüchtigen Speichers, wie Direktzugriffspeicher (RAM) 422 oder Cache-Speicher 424, beinhalten. Das Computersystem 401 kann ferner andere austauschbare/nicht austauschbare, flüchtige/nicht flüchtige Computersystem-Speichermedien beinhalten. Lediglich als Beispiel kann das Speichersystem 426 zum Lesen von und Schreiben auf ein nicht entfernbares, nicht flüchtiges magnetisches Medium, wie z. B. eine „Festplatte“, bereitgestellt werden. Obwohl nicht dargestellt, kann auch ein Magnetplattenlaufwerk zum Lesen von und Schreiben auf eine entfernbare, nicht flüchtige Magnetplatte (z. B. eine „Floppy-Disk“) oder ein optisches Plattenlaufwerk zum Lesen von oder Schreiben auf eine entfernbare, nicht flüchtige optische Platte wie eine CD-ROM, DVD-ROM oder ein anderes optisches Medium bereitgestellt werden. Außerdem kann der Speicher 404 einen Flash-Speicher beinhalten, z. B. ein Flash-Memory-Stick-Laufwerk oder ein Flash-Laufwerk. Speichergeräte können über eine oder mehrere Datenträgerschnittstellen mit dem Speicherbus 403 verbunden werden. Der Speicher 404 kann mindestens ein Programmprodukt mit einer Menge (z. B. mindestens einem) von Programmmodulen beinhalten, die zur Ausführung der Funktionen verschiedener Ausführungsformen konfiguriert sind.
  • Obwohl der Speicherbus 403 in 4 als eine einzige Busstruktur dargestellt ist, die einen direkten Kommunikationspfad zwischen den CPUs 402, dem Speichersubsystem 404 und der E/A-Busschnittstelle 410 bereitstellt, kann der Speicherbus 403 in einigen Ausführungsformen mehrere unterschiedliche Busse oder Kommunikationspfade beinhalten, die in unterschiedlichen Ausführungsformen angelegt sein können, wie z. B. Punkt-zu-Punkt-Links in hierarchischen, stern- oder netzförmigen Konfigurationen, mehrfache hierarchische Busse, parallele und redundante Pfade oder jeder andere geeignete Typ von Konfiguration. Auch wenn die E/A-Bus-Schnittstelle 410 und der E/A-Bus 408 als einzelne Einheiten dargestellt sind, kann das Computersystem 401 in einigen Ausführungsformen mehrere E/A-Bus-Schnittstelleneinheiten 410, mehrere E/A-Busse 408 oder beides umfassen. Ferner sind zwar mehrere E/A-Schnittstelleneinheiten dargestellt, die den E/A-Bus 408 von verschiedenen Kommunikationspfaden trennen, die zu den verschiedenen E/A-Geräten führen, doch können in anderen Ausführungsformen einige oder alle E/A-Geräte direkt an einen oder mehrere System-E/A-Busse angeschlossen sein.
  • In einigen Ausführungsformen kann das Computersystem 401 ein Mehrbenutzer-Großrechnersystem, ein Einzelbenutzersystem oder ein Servercomputer oder ein ähnliches Gerät sein, das nur eine geringe oder keine direkte Benutzerschnittstelle hat, aber Anforderungen von anderen Computersystemen (Clients) empfängt. Ferner kann das Computersystem 401 in einigen Ausführungsformen als Desktop-Computer, tragbarer Computer, Laptop oder Notebook, Tablet-Computer, Taschencomputer, Telefon, Smart-Phone, Netzwerk-Switch oder Router oder als jeder andere geeignete Typ von elektronischem Gerät realisiert werden.
  • Es wird darauf hingewiesen, dass 4 die repräsentativen Hauptkomponenten eines beispielhaften Computersystems 401 darstellen soll. In einigen Ausführungsformen können einzelne Komponenten jedoch komplexer oder weniger komplex sein als in 4 dargestellt, andere Komponenten als die in 4 gezeigten oder deren Hinzufügung können vorhanden sein, und die Anzahl, der Typ und die Konfiguration solcher Komponenten können variieren.
  • Ein oder mehrere Programme/Hilfsprogramme 428, die jeweils mindestens eine Menge von Programmmodulen 430 enthalten, können im Speicher 404 gespeichert werden. Die Programme/Hilfsmittel 428 können einen Hypervisor (auch als Virtual Machine Monitor bezeichnet), ein oder mehrere Betriebssysteme, ein oder mehrere Anwendungsprogramme, andere Programmmodule und Programmdaten umfassen. Jedes der Betriebssysteme, ein oder mehrere Anwendungsprogramme, andere Programmmodule und Programmdaten oder eine Kombination davon kann eine Realisierung einer Netzwerkumgebung beinhalten. Die Programme 428 und/oder Programmmodule 403 führen im Allgemeinen die Funktionen oder Methoden verschiedener Ausführungsformen aus.
  • Es soll verstanden werden, dass, obwohl diese Offenbarung eine detaillierte Beschreibung des Cloud-Computing beinhaltet die Umsetzung der hier dargelegten Lehren nicht auf eine Cloud-Computing-Umgebung beschränkt ist. Vielmehr können die Ausführungsformen der vorliegenden Erfindung in Verbindung mit jedem anderen Typ von Computer-Umgebung implementiert werden, der heute bekannt ist oder später entwickelt wird.
  • Cloud Computing ist ein Modell zur Bereitstellung von Diensten, das einen bequemen, bedarfsgerechten Netzzugang zu einem gemeinsamen Vorrat konfigurierbarer Computerressourcen (z. B. Netzwerke, Netzwerkbandbreite, Server, Verarbeitung, Speicher, Anwendungen, virtuelle Maschinen und Dienste) ermöglicht, die mit minimalem Verwaltungsaufwand oder minimaler Interaktion mit einem Anbieter des Dienstes schnell bereitgestellt und freigegeben werden können. Dieses Cloud-Modell kann mindestens fünf Charakteristiken, mindestens drei Service-Modelle und mindestens vier Bereitstellungsmodelle beinhalten.
  • Die Charakteristiken lauten wie folgt:
    • Bedarfsgesteuerte Selbstbedienung: Ein Cloud-Verbaucher kann einseitig Ressourcen für Berechnungen bereitstellen, wie z. B. Serverzeit und Netzwerkspeicher, und zwar automatisch, ohne dass eine menschliche Interaktion mit dem Anbieter des Dienstes erforderlich ist.
  • Breiter Netzwerkzugriff: Die Ressourcen sind über ein Netzwerk verfügbar und werden über Standardmechanismen abgerufen, die die Verwendung durch heterogene Thin- oder Thick-Client-Plattformen (z. B. Mobiltelefone, Laptops und PDAs) fördern.
  • Ressourcenbündelung: Die Computer-Ressourcen des Anbieters werden in einem Multi-Tenant-Modell gebündelt, um mehrere Verbraucher zu bedienen, wobei verschiedene physische und virtuelle Ressourcen je nach Bedarf dynamisch zugewiesen und neu zugewiesen werden. Es besteht eine gewisse Standortunabhängigkeit, da der Verbraucher in der Regel keine Kontrolle oder Kenntnis über den genauen Standort der bereitgestellten Ressourcen hat, jedoch den Standort auf einer höheren Abstraktionsebene angeben kann (z. B. Land, Staat oder Rechenzentrum).
  • Flexible Anpassungsfähigkeit: Ressourcen können schnell und elastisch bereitgestellt werden, in manchen Fällen auch automatisch, um schnell zu skalieren und schnell wieder freigegeben werden, um schnell zu skalieren. Für den Verbraucher erscheinen die für die Bereitstellung verfügbaren Ressourcen oft unbegrenzt und können in beliebiger Menge und zu jeder Zeit erworben werden.
  • Dienstmessung: Cloud-Systeme kontrollieren und optimieren automatisch die Ressourcennutzung, indem sie eine dem Typ des Dienstes entsprechende Steuereinheit auf einer bestimmten Abstraktionsebene verwenden (z. B. Speicher, Verarbeitung, Bandbreite und aktive Benutzerkonten). Die Ressourcennutzung kann überwacht, kontrolliert und gemeldet werden, wodurch Transparenz sowohl für den Anbieter als auch für den Nutzer des genutzten Dienstes bereitgestellt wird.
  • Die Service-Modelle lauten wie folgt:
    • Software as a Service (SaaS): Die dem Verbraucher bereitgestellte Ressource besteht darin, die Anwendungen des Anbieters zu verwenden, die auf einer Cloud-Infrastruktur laufen. Der Zugriff auf die Anwendungen erfolgt von verschiedenen Mandant-Geräten aus über eine Thin-Client-Schnittstelle wie z. B. einen Webbrowser (z. B. webbasierte E-Mail). Der Verbraucher verwaltet oder kontrolliert nicht die zugrunde liegende Cloud-Infrastruktur, einschließlich Netzwerk, Server, Betriebssysteme, Steuereinheiten oder sogar einzelne Anwendungsressourcen, mit der möglichen Ausnahme begrenzter benutzerspezifischer Anwendungskonfigurationseinstellungen.
  • Platform as a Service (PaaS): Die dem Verbraucher bereitgestellte Ressource besteht darin, vom Verbraucher erstellte oder erfasste Anwendungen, die mit vom Anbieter unterstützten Programmiersprachen und Tools erstellt wurden, in der Cloud-Infrastruktur einzusetzen. Der Verbraucher verwaltet oder kontrolliert nicht die zugrunde liegende Cloud-Infrastruktur, die Netzwerke, Server, Betriebssysteme oder Steuereinheiten umfasst, hat aber die Kontrolle über die bereitgestellten Anwendungen und möglicherweise über die Konfigurationen der Hosting-Umgebung der Anwendungen.
  • Infrastructure as a Service (laaS): Die dem Verbraucher bereitgestellte Ressource besteht in der Bereitstellung von Verarbeitungs-, Speicher-, Netzwerk- und anderen grundlegenden Computer-Ressourcen, wobei der Verbraucher in der Lage ist, beliebige Software einzusetzen und auszuführen, die Betriebssysteme und Anwendungen umfassen kann. Der Verbraucher verwaltet oder kontrolliert nicht die zugrunde liegende Cloud-Infrastruktur, sondern hat die Kontrolle über Betriebssysteme, Speicher, bereitgestellte Anwendungen und möglicherweise eine begrenzte Kontrolle über ausgewählte Netzwerkkomponenten (z. B. Host-Firewalls).
  • Die Bereitstellungsmodelle lauten wie folgt:
    • Private Cloud: Die Cloud-Infrastruktur wird für lediglich eine Organisation betrieben. Sie kann von der Organisation selbst oder von einem Dritten verwaltet werden und sich an Ort und Stelle oder an einem anderen Ort befinden.
  • Gemeinschafts-Cloud: Die Cloud-Infrastruktur wird von mehreren Organisationen gemeinsam genutzt und unterstützt eine spezifische Gemeinschaft mit gemeinsamen Anliegen (z. B. Aufgabe, Sicherheitsanforderungen, Richtlinie und Einhaltung von Gesetzen und Richtlinien). Sie kann von den Organisationen selbst oder von einem Dritten verwaltet werden und sich an Ort und Stelle oder an einem anderen Ort befinden.
  • Öffentliche Cloud: Die Cloud-Infrastruktur wird der allgemeinen Öffentlichkeit oder einer großen Branchengruppe bereitgestellt und ist Eigentum einer Organisation, die Cloud-Dienste verkauft.
  • Hybrid-Cloud: Die Cloud-Infrastruktur ist eine Zusammensetzung aus zwei oder mehreren (privaten, Gemeinschafts- oder öffentlichen) Clouds, die eigenständige Einheiten bleiben, aber durch eine standardisierte oder herstellerspezifische Technologie miteinander verbunden sind, die eine Portierbarkeit von Daten und Anwendungen ermöglicht (z. B. das Cloud-Bursting für den Lastausgleich zwischen Clouds).
  • Eine Cloud-Computing-Umgebung ist dienstorientiert, wobei der Schwerpunkt auf Zustandslosigkeit, geringer Kopplung, Modularität und semantischer Kompatibilität liegt. Im Mittelpunkt einer Cloud-Datenverarbeitung steht eine Infrastruktur, die ein Netzwerk von miteinander verbundenen Knoten umfasst.
  • Das System 600 kann in einer Cloud-Computing-Umgebung eingesetzt werden. 5 ist eine schematische Darstellung einer illustrativen Cloud-Computing-Umgebung 550 gemäß einer Ausführungsform. Wie dargestellt, umfasst die Cloud-Computing-Umgebung 550 einen oder mehrere Cloud Computing-Knoten 510, mit denen lokale Rechengeräte, die von Verbrauchern in der Cloud verwendet werden, wie z. B. ein persönlicher digitaler Assistent (PDA) oder ein Mobiltelefon 554A, ein Desktop-Computer 554B, ein Laptop-Computer 554C und/oder ein Computersystem 554N für Kraftfahrzeuge, kommunizieren können. Die Knoten 9Y können miteinander kommunizieren. Sie können physisch oder virtuell in einem oder mehreren Netzwerken gruppiert sein (nicht dargestellt), wie z. B. in privaten, Community-, öffentlichen oder hybriden Clouds, wie oben beschrieben, oder einer Kombination davon. Auf diese Weise kann die Cloud Computing-Umgebung 550 Infrastruktur, Plattformen und/oder Software als Service anbieten, für die ein Verbraucher in der Cloud keine Ressourcen auf einem lokalen Rechengerät beibehalten muss. Es wird verstanden, dass die in 5 dargestellten Typen von Rechengeräten 554A-N nur zur Veranschaulichung dienen und dass die Rechenknoten 510 und die Cloud-Computing-Umgebung 550 mit jeder Art von Computer-Gerät über jede Art von Netzwerk und/oder netzwerkadressierbare Verbindung (z. B. mit einem Webbrowser) kommunizieren können.
  • Bezug nehmend auf 6 wird eine Reihe von funktionalen Abstraktionsebenen gezeigt, die von der Cloud-Computing-Umgebung 550 (5) bereitgestellt werden. Es sollte im Voraus verstanden werden, dass die in 6 dargestellten Komponenten, Schichten und Funktionen nur zur Veranschaulichung dienen und die Ausführungsformen der Ofenbarung nicht darauf beschränkt sind. Wie gezeigt, werden die folgenden Schichten und entsprechenden Funktionen bereitgestellt:
  • Die Hardware- und Software-Schicht 660 umfasst Hardware- und SoftwareKomponenten. Beispiele für Hardware-Komponenten beinhalten: Großrechner 661; Server auf der Grundlage der RISC-Architektur (Reduced Instruction Set Computer) 662; Server 663; Blade-Server 664; Speichergeräte 665 sowie Netzwerke und Netzwerkkomponenten 666. In einigen Ausführungsformen beinhalten die Softwarekomponenten Netzwerk-Anwendungsserversoftware 667 und Datenbanksoftware 668.
  • Die Virtualisierungsschicht 670 beinhaltet eine Abstraktionsschicht, auf der die folgenden Beispiele für virtuelle Einheiten bereitgestellt werden können: virtuelle Server 671, virtuelle Speicher 672, virtuelle Netzwerke 673, einschließlich virtueller privater Netzwerke, virtuelle Anwendungen und Betriebssysteme 674 und virtuelle Mandanten 675.
  • In einem Beispiel kann die Verwaltungsschicht 680 die im Folgenden beschriebenen Funktionen bereitstellen. Die Ressourcenbereitstellung 681 stellt die dynamische Beschaffung von Computer-Ressourcen und anderen Ressourcen bereit, die zum Ausführen von Aufgaben innerhalb der Cloud-Computing-Umgebung genutzt werden. Metering und Pricing 682 stellen die Kostenverfolgung bei der Nutzung von Ressourcen in der Cloud-Computing-Umgebung sowie die Abrechnung oder Rechnungsstellung für den Verbrauch dieser Ressourcen bereit. In einem Beispiel können diese Ressourcen Lizenzen für Anwendungssoftware beinhalten. Sicherheit stellt die Identitätsprüfung für Verbraucher und Aufgaben in der Cloud sowie den Schutz von Daten und anderen Ressourcen bereit. Das Benutzerportal 683 stellt den Zugang zur Cloud-Computing-Umgebung für Verbraucher und Systemadministratoren bereit. Das Service-Level-Management 684 stellt die Zuweisung und Verwaltung von Cloud-Computing-Ressourcen bereit, so dass die erforderlichen Service-Levels eingehalten werden. Die Planung und Erfüllung von Service Level Agreements (SLA) 685 stellt die Anordnung und Beschaffung von Cloud-Computing-Ressourcen bereit, für die ein zukünftiger Bedarf gemäß einem SLA erwartet wird.
  • Die Schicht 690 „Arbeitslasten“ stellt Beispiele für Funktionen bereit, für die die Cloud-Computing-Umgebung genutzt werden kann. Beispiele für Arbeitslasten und Funktionen, die von dieser Schicht aus bereitgestellt werden können, umfassen: Mapping und Navigation 691; Softwareentwicklung und Lebenszyklusmanagement 692; Bereitstellung von Unterricht in virtuellen Klassenzimmern 693; Datenanalyseverarbeitung 694; Transaktionsverarbeitung 695; und Datenbank 969.
  • Bei der vorliegenden Erfindung kann es sich um ein System, ein Verfahren und/oder ein Computerprogrammprodukt handeln. Das Computerprogrammprodukt kann ein computerlesbares Speichermedium (oder -medien) mit computerlesbaren Programmanweisungen darauf enthalten, die bewirken, dass ein Prozessor Aspekte der vorliegenden Erfindung ausführt.
  • Das computerlesbare Speichermedium kann eine materielle Einheit sein, die Anweisungen zur Nutzung durch eine Einheit zur Anweisungsausführung enthalten und speichern kann. Bei dem computerlesbaren Speichermedium kann es sich beispielsweise um eine elektronische Speichereinheit, eine magnetische Speichereinheit, eine optische Speichereinheit, eine elektromagnetische Speichereinheit, eine Halbleiterspeichereinheit oder eine geeignete Kombination aus dem Vorhergehenden handeln, ohne auf diese beschränkt zu sein. Eine nicht umfassende Liste konkreterer Beispiele für das computerlesbare Speichermedium beinhaltet Folgendes: eine tragbare Computerdiskette, eine Festplatte, einen Direktzugriffsspeicher (RAM), einen Nur-Lese-Speicher (ROM), einen löschbaren programmierbaren Nur-Lese-Speicher (EPROM oder Flashspeicher), einen statischen Direktzugriffsspeicher (SRAM), einen tragbaren Compact-Disc-Nur-Lese-Speicher (CD-ROM), eine Digital Versatile Disk (DVD), einen Speicherstick, eine Diskette, eine mechanisch codierte Einheit wie Lochkarten oder erhabene Strukturen in einer Rille mit darin aufgezeichneten Anweisungen und jede geeignete Kombination aus dem Vorhergehenden. Ein wie im vorliegenden Dokument verwendetes computerlesbares Speichermedium soll nicht als transiente Signale an sich ausgelegt werden, beispielsweise Funkwellen oder andere sich frei ausbreitende elektromagnetische Wellen, elektromagnetische Wellen, die sich durch einen Wellenleiter oder andere Übertragungsmedien ausbreiten (z. B. Lichtimpulse, die ein Lichtleiterkabel durchlaufen), oder durch eine Leitung übertragene elektrische Signale.
  • Im vorliegenden Dokument beschriebene computerlesbare Programmanweisungen können von einem computerlesbaren Speichermedium auf jeweilige Datenverarbeitungs/Verarbeitungs-Einheiten oder über ein Netzwerk, beispielsweise das Internet, ein lokales Netz, ein Weitverkehrsnetz und/oder ein Funknetz, auf einen externen Computer oder eine externe Speichereinheit heruntergeladen werden. Das Netzwerk kann Kupferübertragungskabel, Lichtwellenleiter, eine drahtlose Übertragung, Router, Firewalls, Switches, Gateway-Computer und/oder Edgeserver aufweisen. Eine Netzadapterkarte oder Netzschnittstelle in jeder Datenverarbeitungs/Verarbeitungs-Einheit empfängt aus dem Netzwerk computerlesbare Programmanweisungen und leitet die computerlesbaren Programmanweisungen zum Speichern in einem computerlesbaren Speichermedium in der jeweiligen Datenverarbeitungs/Verarbeitungs-Einheit weiter.
  • Computerlesbare Programmanweisungen zum Ausführen von Funktionen der vorliegenden Erfindung können Assembler-Anweisungen, Anweisungen in einer Befehlssatzarchitektur (instruction set architecture, ISA), Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Firmwareanweisungen, Zustandseinstelldaten oder entweder Quellcode oder Objektcode sein, der in jeder Kombination aus einer oder mehreren Programmiersprachen geschrieben ist, darunter eine objektorientierte Programmiersprache wie Smalltalk, C++ oder Ähnliches, und herkömmliche prozedurale Programmiersprachen wie die Programmiersprache „C“ oder ähnliche Programmiersprachen. Die computerlesbaren Programmanweisungen können vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Softwarepaket, teilweise auf dem Computer des Benutzers und teilweise auf einem fernen Computer oder vollständig auf dem fernen Computer oder Server ausgeführt werden. In letzterem Fall kann der ferne Computer mit dem Computer des Benutzers über jede Art von Netzwerk verbunden sein, unter anderem ein lokales Netz (LAN) oder ein Weitverkehrsnetz (WAN), oder die Verbindung kann zu einem externen Computer erfolgen (beispielsweise per Internet über einen Internet-Diensteanbieter). In einigen Ausführungsformen können elektronische Schaltungen, darunter beispielsweise programmierbare logische Schaltungen, feldprogrammierbare Gate Arrays (FPGA) oder programmierbare Logik-Arrays (PLA), die computerlesbaren Programmanweisungen ausführen, indem sie Zustandsinformationen der computerlesbaren Programmanweisungen zum individuellen Gestalten der elektronischen Schaltungen verwenden, damit Aspekte der vorliegenden Erfindung ausgeführt werden.
  • Aspekte der vorliegenden Erfindung sind im vorliegenden Dokument unter Bezug auf Ablaufplandarstellungen und/oder Blockschaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß den Ausführungsformen der Erfindung beschrieben. Es versteht sich, dass jeder Block der Ablaufplandarstellungen und/oder Blockschaubilder und Kombinationen aus Blöcken in den Ablaufplandarstellungen und/oder Blockschaubildern mit computerlesbaren Programmanweisungen implementiert sein kann bzw. können.
  • Diese computerlesbaren Programmanweisungen können einem Prozessor eines Allzweck-Computers, eines Computers für besondere Zwecke oder einer anderen programmierbaren Datenverarbeitungsvorrichtung zur Herstellung einer Maschine bereitgestellt werden, sodass die Anweisungen, die über den Prozessor des Computers oder der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführt werden, Mittel zum Implementieren der Funktionen/Handlungen erzeugen, die in dem Block oder den Blöcken der Ablaufpläne und/oder Blockschaubilder angegeben sind. Diese computerlesbaren Programmanweisungen können auch in einem computerlesbaren Speichermedium gespeichert werden, das einen Computer, eine programmierbare Datenverarbeitungsvorrichtung und/oder andere Einheiten anweisen kann, auf eine besttimte Weise zu funktionieren, sodass das computerlesbare Speichermedium, in dem Anweisungen gespeichert sind, einen Herstellungsgegenstand aufweist, der Anweisungen enthält, die Aspekte der Funktion/Handlung realisieren, die in dem Block oder den Blöcken der Ablaufpläne und/oder Blockschaubilder angegeben ist.
  • Die computerlesbaren Programmanweisungen können auch in einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder andere Einheit geladen werden, um zu bewirken, dass eine Reihe von Arbeitsschritten auf dem Computer, der anderen programmierbaren Vorrichtung oder der anderen Einheit ausgeführt wird, um einen auf einem Computer realisierten Prozess zu erzeugen, sodass die Anweisungen, die auf dem Computer oder der anderen programmierbaren Vorrichtung oder der anderen Einheit ausgeführt werden, die Funktionen/Handlungen realisieren, die in dem Block oder den Blöcken des Ablaufplans und/oder Blockschaubilder angegeben sind.
  • Die Ablaufpläne und Blockschaubilder in den Figuren veranschaulichen die Architektur, Funktionalität und Funktionsweise möglicher Realisierungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In diesem Zusammenhang kann jeder Block in den Ablaufplänen oder Blockschaubildern ein Modul, Segment oder einen Anweisungsbestandteil darstellen, das bzw. der eine oder mehrere ausführbare Anweisungen zur Realisierung der angegebenen Logikfunktion(en) aufweist. Bei einigen Realisierungsalternativen können die in dem Block angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren angegeben vorkommen. Zwei hintereinander dargestellte Blöcke können beispielsweise in Wirklichkeit im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können manchmal in umgekehrter Reihenfolge ausgeführt werden, je nach der betreffenden Funktionalität. Es sei auch festgehalten, dass jeder Block der Blockschaubilder und/oder Ablaufplandarstellung und Kombinationen aus Blöcken in den Blockschaubildern und/oder der Ablaufplandarstellung durch Systeme auf der Grundlage von Hardware für besondere Zwecke realisiert sein kann bzw. können, die die angegebenen Funktionen oder Handlungen ausführen, oder Kombinationen aus Hardware für besondere Zwecke und Computeranweisungen ausführen.
  • Bei der vorliegenden Erfindung kann es sich um ein System, ein Verfahren und/oder ein Computerprogrammprodukt mit einem beliebigen möglichen Grad an technischer Integration handeln. Das Computerprogrammprodukt kann (ein) durch einen Computer lesbare(s) Speichermedium (oder -medien) beinhalten, auf dem/denen durch einen Computer lesbare Programmanweisungen gespeichert sind, um einen Prozessor dazu zu veranlassen, Aspekte der vorliegenden Erfindung auszuführen.
  • Bei dem durch einen Computer lesbaren Speichermedium kann es sich um eine physische Einheit handeln, die Befehle zur Verwendung durch eine Befehlsausführungseinheit behalten und speichern kann. Bei dem durch einen Computer lesbaren Speichermedium kann es sich zum Beispiel um eine elektronische Speichereinheit, eine magnetische Speichereinheit, eine optische Speichereinheit, eine elektromagnetische Speichereinheit, eine Halbleiterspeichereinheit oder jede geeignete Kombination daraus handeln, ohne auf diese beschränkt zu sein. Zu einer nicht erschöpfenden Liste spezifischerer Beispiele des durch einen Computer lesbaren Speichermediums gehören die Folgenden: eine tragbare Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM bzw. Flash-Speicher), ein statischer Direktzugriffsspeicher (SRAM), ein tragbarer Compact-Disc-Nur-Lese-Speicher (CD-ROM), eine DVD (Digital Versatile Disc), ein SpeicherStick, eine Diskette, eine mechanisch kodierte Einheit wie zum Beispiel Lochkarten oder erhabene Strukturen in einer Rille, auf denen Anweisungen gespeichert sind, und jede geeignete Kombination daraus. Ein durch einen Computer lesbares Speichermedium soll in der Verwendung hierin nicht als flüchtige Signale an sich aufgefasst werden, wie zum Beispiel Funkwellen oder andere sich frei ausbreitende elektromagnetische Wellen, elektromagnetische Wellen, die sich durch einen Wellenleiter oder ein anderes Übertragungsmedium ausbreiten (z.B. durch ein Lichtwellenleiterkabel geleitete Lichtimpulse) oder durch einen Draht übertragene elektrische Signale.
  • Hierin beschriebene, durch einen Computer lesbare Programmanweisungen können von einem durch einen Computer lesbaren Speichermedium auf jeweilige Datenverarbeitungs-/Verarbeitungseinheiten oder über ein Netzwerk wie zum Beispiel das Internet, ein lokales Netzwerk, ein Weitverkehrsnetz und/oder ein drahtloses Netzwerk auf einen externen Computer oder eine externe Speichereinheit heruntergeladen werden. Das Netzwerk kann Kupferübertragungskabel, Lichtwellenübertragungsleiter, drahtlose Übertragung, Leitwegrechner, Firewalls, Vermittlungseinheiten, Gateway-Computer und/oder Edge-Server aufweisen. Eine Netzwerkadapterkarte oder Netzwerkschnittstelle in jeder Datenverarbeitungs-/Verarbeitungseinheit empfängt durch einen Computer lesbare Programmanweisungen aus dem Netzwerk und leitet die durch einen Computer lesbaren Programmanweisungen zur Speicherung in einem durch einen Computer lesbaren Speichermedium innerhalb der entsprechenden Datenverarbeitungs-/Verarbeitungseinheit weiter.
  • Bei durch einen Computer lesbaren Programmanweisungen zum Ausführen von Arbeitsschritten der vorliegenden Erfindung kann es sich um Assembler-Anweisungen, ISA-Anweisungen (Instruction-Set-Architecture), Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Firmware-Anweisungen, zustandseinstellende Daten, Konfigurationsdaten für eine integrierte Schaltung oder sowohl um Quellcode als auch um Objektcode handeln, die in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben werden, darunter objektorientierte Programmiersprachen wie Smalltalk, C++ o.ä. sowie herkömmliche prozedurale Programmiersprachen wie die Programmiersprache „C“ oder ähnliche Programmiersprachen. Die durch einen Computer lesbaren Programmanweisungen können vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Software-Paket, teilweise auf dem Computer des Benutzers und teilweise auf einem fernen Computer oder vollständig auf dem fernen Computer oder Server ausgeführt werden. In letzterem Fall kann der ferne Computer mit dem Computer des Benutzers durch eine beliebige Art Netzwerk verbunden sein, darunter lokales Netzwerk (LAN) oder ein Weitverkehrsnetz (WAN), oder die Verbindung kann mit einem externen Computer hergestellt werden (zum Beispiel über das Internet unter Verwendung eines Internet-Dienstanbieters). In einigen Ausführungsformen können elektronische Schaltungen, darunter zum Beispiel programmierbare Logikschaltungen, im Feld programmierbare Gatter-Anordnungen (FPGA, Field Programmable Gate Arrays) oder programmierbare Logikanordnungen (PLA, Programmable Logic Arrays) die durch einen Computer lesbaren Programmanweisungen ausführen, indem sie Zustandsinformationen der durch einen Computer lesbaren Programmanweisungen nutzen, um die elektronischen Schaltungen zu personalisieren, um Aspekte der vorliegenden Erfindung durchzuführen.
  • Aspekte der vorliegenden Erfindung sind hierin unter Bezugnahme auf Ablaufpläne und/oder Blockschaltbilder bzw. Schaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es wird darauf hingewiesen, dass jeder Block der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder sowie Kombinationen von Blöcken in den Ablaufplänen und/oder den Blockschaltbildern bzw. Schaubildern mittels durch einen Computer lesbare Programmanweisungen ausgeführt werden können.
  • Diese durch einen Computer lesbaren Programmanweisungen können einem Prozessor eines Universalcomputers, eines Spezialcomputers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu erzeugen, so dass die über den Prozessor des Computers bzw. der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführten Anweisungen ein Mittel zur Umsetzung der in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder festgelegten Funktionen/Schritte erzeugen. Diese durch einen Computer lesbaren Programmanweisungen können auch auf einem durch einen Computer lesbaren Speichermedium gespeichert sein, das einen Computer, eine programmierbare Datenverarbeitungsvorrichtung und/oder andere Einheiten so steuern kann, dass sie auf eine bestimmte Art funktionieren, so dass das durch einen Computer lesbare Speichermedium, auf dem Anweisungen gespeichert sind, ein Herstellungsprodukt aufweist, darunter Anweisungen, welche Aspekte der/des in dem Block bzw. den Blöcken des Ablaufplans und/oder der Blockschaltbilder bzw. Schaubilder angegebenen Funktion/Schritts umsetzen.
  • Die durch einen Computer lesbaren Programmanweisungen können auch auf einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder eine andere Einheit geladen werden, um das Ausführen einer Reihe von Prozessschritten auf dem Computer bzw. der anderen programmierbaren Vorrichtung oder anderen Einheit zu verursachen, um einen durch einen Computer umgesetzten Prozess zu erzeugen, so dass die auf dem Computer, einer anderen programmierbaren Vorrichtung oder einer anderen Einheit ausgeführten Anweisungen die in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder festgelegten Funktionen/Schritte umsetzen.
  • Die Ablaufpläne und die Blockschaltbilder bzw. Schaubilder in den Figuren veranschaulichen die Architektur, die Funktionalität und den Betrieb möglicher Ausführungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In diesem Zusammenhang kann jeder Block in den Ablaufplänen oder Blockschaltbildern bzw. Schaubildern ein Modul, ein Segment oder einen Teil von Anweisungen darstellen, die eine oder mehrere ausführbare Anweisungen zur Ausführung der bestimmten logischen Funktion(en) aufweisen. In einigen alternativen Ausführungen können die in dem Block angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren gezeigt stattfinden. Zwei nacheinander gezeigte Blöcke können zum Beispiel in Wirklichkeit im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können manchmal je nach entsprechender Funktionalität in umgekehrter Reihenfolge ausgeführt werden. Es ist ferner anzumerken, dass jeder Block der Blockschaltbilder bzw. Schaubilder und/oder der Ablaufpläne sowie Kombinationen aus Blöcken in den Blockschaltbildern bzw. Schaubildern und/oder den Ablaufplänen durch spezielle auf Hardware beruhende Systeme umgesetzt werden können, welche die festgelegten Funktionen oder Schritte durchführen, oder Kombinationen aus Spezial-Hardware und Computeranweisungen ausführen.
  • Die Beschreibungen der verschiedenen Ausführungsformen der vorliegenden Offenlegung wurden zum Zwecke der Veranschaulichung vorgelegt und sind nicht als vollständig oder auf die offenbarten Ausführungsformen beschränkt zu verstehen. Der Fachmann weiß, dass zahlreiche Änderungen und Abwandlungen möglich sind, ohne von Umfang und Geist der beschriebenen Ausführungsformen abzuweichen. Die hier verwendete Begrifflichkeit wurde gewählt, um die Grundsätze der Ausführungsformen, die praktische Anwendung oder technische Verbesserung gegenüber marktgängigen Technologien bestmöglich zu erläutern bzw. anderen Fachleuten das Verständnis der hier offenbarten Ausführungsformen zu ermöglichen.

Claims (20)

  1. Ein System zur Erkennung und Verwaltung von Ransomware, das Folgendes umfasst: einen Computer-Knoten; ein Dateisystem; eine Mehrzahl von Plattenspeicherkomponenten; einen Backup-Client; einen Backend-Server; und einen hierarchischen Speicher-Client, der konfiguriert ist zum: Sammeln von Dateistatistiken für Dateien im Dateisystem; Identifizieren einer betroffenen Datei auf Grundlage der gesammelten Dateistatistiken; Sperren des Zugriffs auf das Dateisystem in Reaktion auf eine identifizierte betroffene Datei; Rückgängigmachen von Abgleichverarbeitung; Reparieren der betroffenen Datei; und Entsperren des Zugriffs auf das Dateisystem.
  2. System nach Anspruch 1, wobei die gesammelten Dateistatistiken umfassen: gesammelte Dateizugriffsstatistiken; und gesammelte Dateideduplizierungs- und Komprimierungsraten.
  3. System nach Anspruch 1, wobei der hierarchische Speicher-Client ferner umfasst: ein Beobachtungs- und Steuerungsmodul (OCM); eine Beobachtungs- und Steuermodultabelle (OCMt); ein erweitertes Migrationsmodul (EMM); ein erweitertes Dateisystemabgleichmodul (EFRM); und ein erweitertes Rückrufmodul (ERM).
  4. System nach Anspruch 3, wobei das OCM konfiguriert ist zum: Registrieren bei dem Dateisystem; Empfangen einer Benachrichtigung von dem Dateisystem, wenn eine neue Datei erstellt oder eine bestehende Datei in dem Dateisystem geändert wird; Benachrichtigen des EMM über die neue Datei oder die geänderte Datei; und Initiieren einer Vor-Migration der neuen oder geänderten Datei.
  5. System nach Anspruch 4, wobei das OCM ferner konfiguriert ist zum: Registrieren eines Prozesses zur Verfolgung von Änderungen Änderungsverfolgungsprozesses an der neuen Datei oder der bestehenden Datei, um eine Benachrichtigung zu empfangen, wenn ein Schreibzugriff auf die neue Datei oder die bestehende Datei erfolgt.
  6. System nach Anspruch 5, wobei das OCM ferner konfiguriert ist zum: Hinzufügen von Daten, die mit der Datei verknüpft sind, zu der OCMt in Reaktion auf das Empfangen einer Benachrichtigung über einen Schreibzugriff auf die Datei.
  7. System nach Anspruch 6, wobei die mit der Datei verknüpften Daten Folgendes umfassen: einen Dateinamen für die Datei; und einen Zeitpunkt eines Zugriffs auf die Datei.
  8. System nach Anspruch 6, wobei das OCM ferner konfiguriert ist zum: Hinzufügen von zweiten oder nachfolgenden Daten, die mit der Datei verknüpft sind, zu der OCMt in Reaktion auf eine zweite oder nachfolgende Benachrichtigung über einen Schreibzugriff auf die Datei.
  9. System nach Anspruch 3, wobei das EMM konfiguriert ist zum: Berechnen von Deduplizierungs- und Kompressionsraten für die Datei während der Vor-Migration der Datei; Benachrichtigen des OCM über die Deduplizierungs- und Kompressionsraten; und Eintragen der Deduplizierungs- und Kompressionsraten für das Tile in einen Eintrag für die Datei in der OCMt.
  10. System nach Anspruch 9, wobei das EMM ferner konfiguriert ist zum Sammeln der Deduplizierungs- und Kompressionsraten, wenn eine Datei migriert wird.
  11. Das System nach Anspruch 3, ferner umfassend: wobei das EMM ferner konfiguriert ist zum: Erzeugen einer Block-Level-Hash-Map einer Datei zu einem Zeitpunkt einer ersten Vor-Migration; Erzeugen einer zweiten Block-Level-Hash-Map der Datei zu einem Zeitpunkt einer zweiten Vor-Migration der Datei; Vergleichen der Block-Level-Hash-Map mit der zweiten Block-Level-Hash-Map; Ermitteln, dass ein vorbestimmter Teil der verglichenen Block-Level-Hash-Maps nicht übereinstimmt; Identifizieren der Datei als betroffen in Reaktion auf das Überschreiten des vorbestimmten Teils; und wobei das OCM ferner konfiguriert ist zum Speichern der Block-Level-Hash-Map der Datei in der OCMt.
  12. System nach Anspruch 3, wobei das OCM ferner konfiguriert ist zum Ermitteln, ob eine abnormale Menge von Dateischreibzugriffen auf das Dateisystem erfolgt ist.
  13. System nach Anspruch 12, wobei das OCM ferner konfiguriert ist zum: Durchlaufen der OCMt; Bilden einer Summe von Schreibzugriffen für Dateien in der OCMt für einen jüngsten Beobachtungszyklus; Bilden einer Summe von Schreibzugriffen für die Dateien in der OCMt für einen Beobachtungszyklus vor dem jüngsten Beobachtungszyklus.
  14. System nach Anspruch 12, wobei das OCM ferner konfiguriert ist zum: Durchlaufen der OCMt; für jede Datei in der Tabelle, auf die in einem vorangehenden Beobachtungszyklus zugegriffen wurde, Lesen eines verknüpften Deduplizierungs- und Komprimierungsrateneintrags für jede Datei aus der OCMt als eine jüngste Rate; für jede Datei Berechnen einer aktuellen Deduplizierungs- und Kompressionsrate für die verknüpfte Datei als aktuelle Rate; Vergleichen der aktuellen Rate für jede Datei mit der jüngsten Rate für die entsprechende Datei aus dem vorangehenden Beobachtungszyklus; und Feststellen, dass die verknüpfte Datei einen abnormalen Dateizugriff hat, wenn die aktuelle Rate niedriger ist als die jüngste Rate.
  15. System nach Anspruch 3, wobei das OCM ferner konfiguriert ist zum Definieren eines Wasserzeichens eines akzeptierten Schreibzugriffs auf die Dateien in dem Dateisystem.
  16. System nach Anspruch 15, wobei das OCM ferner konfiguriert ist zum: Definieren eines Beobachtungsintervalls, in dem ein Operation- und Kontrollmodul auf einen Ransomware-Angriff prüft; Berechnen einer durchschnittlichen Menge an geschriebenen Dateien im Dateisystem über eine vorbestimmte Anzahl von Beobachtungsintervallen; Berechnen einer Verteilung der durchschnittlichen Menge; Berechnen einer Menge von Dateien, die für ein aktuelles Beobachtungsintervall geschrieben wurden; Vergleichen der Menge der für das aktuelle Beobachtungsintervall geschriebenen Dateien mit dem berechneten Durchschnitt; Ermitteln, ob die Menge der für das aktuelle Beobachtungsintervall geschriebenen Dateien eine vorbestimmte Änderungsrate im Vergleich zu dem berechneten Durchschnitt überschreitet; und wenn die vorgegebene Änderungsrate überschritten wird: Durchlaufen der OCMt, um alle Dateien zu identifizieren, die in einem vorangehenden Beobachtungsintervall geändert wurden; für jede Datei, die geändert wurde, ermitteln, ob die gesamte Datei geändert wurde und ob eine Deduplizierungs- und Kompressionsrate abgenommen hat; und Feststellen, dass es sich bei der Datei um eine betroffene Datei handelt, wenn die Ermittlung positiv ausfällt.
  17. System nach Anspruch 3, wobei das OCM ferner konfiguriert ist zum: Ermitteln, ob eine abnormale Menge von Dateischreibzugriffen auf das Dateisystem erfolgt ist; und Definieren eines Wasserzeichens eines akzeptierten Schreibzugriffs auf die Dateien in dem Dateisystem.
  18. System nach Anspruch 3, wobei das OCM ferner konfiguriert ist zum: Durchlaufen der OCMt, um zu ermitteln, ob eine Schwellenanzahl von Dateien als eine betroffene Datei gekennzeichnet wurde; Blockieren weiterer Schreibzugriffe auf das Dateisystem; wobei das EMM konfiguriert ist zum Anhalten der gesamten Migrationsverarbeitung in Reaktion auf eine Benachrichtigung über die Blockierung durch das OCM; und wobei das EFRM konfiguriert ist zum Anhalten der gesamten Abgleichverarbeitung in Reaktion auf eine Benachrichtigung über die Blockierung durch das OCM.
  19. System nach Anspruch 3, wobei das OCM ferner konfiguriert ist zum: Durchlaufen der OCMt, um jede Datei zu identifizieren, die als eine betroffene Datei gekennzeichnet wurde; Verschieben der betroffenen Datei in einen Quarantäneordner; und Wiederherstellen einer jüngsten Version der betroffenen Datei von einem Speicher-Server mit einem Migrationszeitstempel vor einem Zeitstempel, der mit einer aktuellen Version der betroffenen Datei verknüpft ist.
  20. System nach Anspruch 3, wobei das OCM ferner konfiguriert ist zum: Durchlaufen der OCMt, um jede Datei zu identifizieren, die als eine betroffene Datei gekennzeichnet wurde; Stubbing der betroffenen Datei; und Verknüpfen der gestubbten Version der betroffenen Datei mit einer Version der betroffenen Datei in einem Speicher-Server, die vor einem Zeitstempel migriert wurde, der mit einer aktuellen Version der betroffenen Datei verknüpft ist.
DE112020003351.1T 2019-08-13 2020-07-10 Automatisches Erkennen von Ransomware mit einer Sperrung des Dateisystems auf Abruf und einer automatischen Reparaturfunktion Pending DE112020003351T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/539,453 US11693963B2 (en) 2019-08-13 2019-08-13 Automatic ransomware detection with an on-demand file system lock down and automatic repair function
US16/539,453 2019-08-13
PCT/IB2020/056502 WO2021028740A1 (en) 2019-08-13 2020-07-10 Automatic ransomware detection with an on-demand file system lock down and automatic repair function

Publications (1)

Publication Number Publication Date
DE112020003351T5 true DE112020003351T5 (de) 2022-03-24

Family

ID=74567345

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112020003351.1T Pending DE112020003351T5 (de) 2019-08-13 2020-07-10 Automatisches Erkennen von Ransomware mit einer Sperrung des Dateisystems auf Abruf und einer automatischen Reparaturfunktion

Country Status (6)

Country Link
US (1) US11693963B2 (de)
JP (1) JP7475428B2 (de)
CN (1) CN114222990A (de)
DE (1) DE112020003351T5 (de)
GB (1) GB2601938B (de)
WO (1) WO2021028740A1 (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11716338B2 (en) * 2019-11-26 2023-08-01 Tweenznet Ltd. System and method for determining a file-access pattern and detecting ransomware attacks in at least one computer network
US20230060606A1 (en) * 2021-08-26 2023-03-02 International Business Machines Corporation Filesystem object protection from ransomware attacks
US11954337B2 (en) 2021-08-26 2024-04-09 International Business Machines Corporation Encryption monitor register and system
CN115718571B (zh) * 2022-11-23 2023-08-22 深圳计算科学研究院 一种基于多维度特征的数据管理方法和装置

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8140786B2 (en) * 2006-12-04 2012-03-20 Commvault Systems, Inc. Systems and methods for creating copies of data, such as archive copies
US9454321B1 (en) * 2014-05-30 2016-09-27 Emc Corporation Workload-driven storage configuration management
EP2966562A1 (de) * 2014-07-09 2016-01-13 Nexenta Systems, Inc. Verfahren zur Inline I/O Verarbeitung in Tiered Optimieren verteilter Speichersysteme
US9690501B1 (en) * 2014-12-02 2017-06-27 EMC IP Holding Company LLC Method and system for determining data profiles using block-based methodology
US10311234B2 (en) 2015-06-26 2019-06-04 Quick Heal Technologies Private Limited Anti-ransomware
US10083299B2 (en) * 2015-12-16 2018-09-25 Carbonite, Inc. Systems and methods for automatic snapshotting of backups based on malicious modification detection
US10742665B2 (en) 2016-02-01 2020-08-11 NortonLifeLock Inc. Systems and methods for modifying file backups in response to detecting potential ransomware
US10715533B2 (en) 2016-07-26 2020-07-14 Microsoft Technology Licensing, Llc. Remediation for ransomware attacks on cloud drive folders
US10055582B1 (en) 2016-09-19 2018-08-21 EMC IP Holding Company LLC Automated detection and remediation of ransomware attacks involving a storage device of a computer network
WO2018071367A1 (en) 2016-10-10 2018-04-19 Stephen Rosa Method and system for countering ransomware
US20180157834A1 (en) 2016-12-02 2018-06-07 Politecnico Di Milano Protection system and method for protecting a computer system against ransomware attacks
WO2018111271A1 (en) 2016-12-15 2018-06-21 Hewlett-Packard Development Company, L.P. Ransomware attack monitoring
JP6851212B2 (ja) 2017-02-09 2021-03-31 Sky株式会社 アクセス監視システム
US10333984B2 (en) * 2017-02-21 2019-06-25 International Business Machines Corporation Optimizing data reduction, security and encryption requirements in a network environment
US20180248896A1 (en) 2017-02-24 2018-08-30 Zitovault Software, Inc. System and method to prevent, detect, thwart, and recover automatically from ransomware cyber attacks, using behavioral analysis and machine learning
JP6341307B1 (ja) 2017-03-03 2018-06-13 日本電気株式会社 情報処理装置
EP3635603A4 (de) 2017-05-30 2021-03-03 Cyemptive Technologies, Inc. Echtzeitdetektion und -schutz vor malware und steganographie in einem kernmodus
US20190108340A1 (en) 2017-09-14 2019-04-11 Commvault Systems, Inc. Ransomware detection
US10956575B2 (en) 2017-11-20 2021-03-23 Hewlett Packard Enterprise Development Lp Determine malware using firmware
US11113156B2 (en) 2018-01-10 2021-09-07 Kaseya Us Llc Automated ransomware identification and recovery
US20190236274A1 (en) 2018-01-31 2019-08-01 EMC IP Holding Company LLC Detection of and recovery from ransomware in backup data
US20190286569A1 (en) * 2018-03-19 2019-09-19 Seagate Technology Llc Logical to physical data storage mapping
US10819738B2 (en) * 2018-09-21 2020-10-27 EMC IP Holding Company, LLC Detecting and protecting against ransomware
US11232206B2 (en) * 2019-04-23 2022-01-25 Microsoft Technology Licensing, Llc Automated malware remediation and file restoration management
US11599280B2 (en) * 2019-05-30 2023-03-07 EMC IP Holding Company LLC Data reduction improvement using aggregated machine learning
US11782790B2 (en) * 2019-07-10 2023-10-10 Centurion Holdings I, Llc Methods and systems for recognizing unintended file system changes

Also Published As

Publication number Publication date
US20210049272A1 (en) 2021-02-18
GB202202607D0 (en) 2022-04-13
US11693963B2 (en) 2023-07-04
GB2601938B (en) 2022-12-21
CN114222990A (zh) 2022-03-22
JP2022544909A (ja) 2022-10-24
WO2021028740A1 (en) 2021-02-18
JP7475428B2 (ja) 2024-04-26
GB2601938A (en) 2022-06-15

Similar Documents

Publication Publication Date Title
DE112020003351T5 (de) Automatisches Erkennen von Ransomware mit einer Sperrung des Dateisystems auf Abruf und einer automatischen Reparaturfunktion
DE112012005037B4 (de) Verwalten von redundanten unveränderlichen Dateien unter Verwendung von Deduplizierungen in Speicher-Clouds
DE112020003420T5 (de) Datenwiederherstellung in einem virtuellen Speichersystem
DE112018002031T5 (de) Sichern einer betriebssystemkonfiguration unter verwendung von hardware
DE112020003423T5 (de) Architektur von virtuellem speichersystem
US11328064B2 (en) Automatic ransomware detection with an on-demand file system lock down and automatic repair function
DE112012005275T5 (de) Datenauswahl zur Sicherung von Datenspeichern
DE102016103769A1 (de) Inkrementelle Replikation eines Quellen-Datasets
DE112011103378T5 (de) Automatische und sich selbsttätig anpassende Datensicherungsoperationen
DE112011103048T5 (de) Ein Verfahren zum Beglaubigen einer Vielzahl von Datenverarbeitungssystemen
DE112012003695T5 (de) Aufrechterhalten mehrerer Zielkopien
DE112020004840B4 (de) Speicherbereinigung in datenspeichersystemen
DE112020002552T5 (de) System und verfahren für eine siem-regel-sortierung und bedingte ausführung
DE112013000650T5 (de) Datenzwischenspeicherungsbereich
DE102016105062A1 (de) Nähengestützte Berechtigungsprüfung für einheitenübergreifend verteilte Daten
DE112017005772T5 (de) Zeitpunktgesteuerte sicherungen über einen speicher-controller in eine objektspeicher-cloud
DE112018002954T5 (de) Bereitstellen eines konfigurationsabhängigen arbeitsablaufs
DE112019000402T5 (de) Chronologisch geordnetes out-of-place-aktualisierungs-schlüssel-wert-speichersystem
DE112019000399B4 (de) Schnelle wiederherstellung nach ausfällen in einem chronologisch geordneten log-strukturierten schlüssel-wert-speichersystem
DE112020002155T5 (de) Einwilligung zu gemeinsamen personenbezogenen informationen
DE102012221261A1 (de) Verfahren zum Zwischenspeichern und System zum Ausführen des Verfahrens zum Zwischenspeichern zum Betreiben eines mindestens einen Host-Computer aufweisenden Computerserversystems
DE112021003615T5 (de) Schutz vor logischer beschädigung für daten
DE112019002052T5 (de) Datenschutzsensibilisierung bei der bereitstellung von arbeitslasten
DE102021130358A1 (de) E/a-operationen in log-strukturierten arrays
DE112021000408T5 (de) Prädiktives bereitstellen von fern gespeicherten dateien

Legal Events

Date Code Title Description
R012 Request for examination validly filed