DE112020004487T5 - Erkennen von mutationsereignissen zum überwachen der integrität - Google Patents

Erkennen von mutationsereignissen zum überwachen der integrität Download PDF

Info

Publication number
DE112020004487T5
DE112020004487T5 DE112020004487.4T DE112020004487T DE112020004487T5 DE 112020004487 T5 DE112020004487 T5 DE 112020004487T5 DE 112020004487 T DE112020004487 T DE 112020004487T DE 112020004487 T5 DE112020004487 T5 DE 112020004487T5
Authority
DE
Germany
Prior art keywords
external
change events
mutation event
computer
mutation
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
DE112020004487.4T
Other languages
English (en)
Inventor
Hirokuni Kitahara
Yuji Watanabe
Fumiko Akiyama
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 DE112020004487T5 publication Critical patent/DE112020004487T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3024Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • 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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Multimedia (AREA)
  • Debugging And Monitoring (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Ein durch einen Computer implementiertes Verfahren weist Erzeugen eines oder mehrerer Prozessbäume auf Grundlage eines oder mehrerer Prozesse auf, die einem Änderungsereignis bzw. mehreren Änderungsereignissen innerhalb eines Cluster-Datenverarbeitungssystems zugehörig sind, Erkennen von Mutationsereignissen durch Vergleichen einer Wurzel jedes des einen oder mehrerer Prozessbäume mit einem oder mehreren externen Befehlen und auf Grundlage des Vergleichs Erzeugen eines Mutationsereignisberichts.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Erfindung bezieht sich im Allgemeinen auf Computersysteme und im Besonderen auf Erkennen von Mutationsereignissen zum Überwachen der Integrität.
  • HINTERGRUND
  • Im Rahmen von Compliance- und Auditstandards kann ein Überwachen der System- und Informationsintegrität erforderlich sein. Zu solchen Standards können, ohne auf diese beschränkt zu sein, Payment Card Industry Data Security Standards (PCI/DSS) (z.B. PCI-Anforderung 11.5), National Institute of Standards and Technology (NIST) Standards (z.B. NIST Special Publication 800-53 (SI-7)), usw. gehören.
  • KURZDARSTELLUNG
  • Gemäß einem Aspekt der vorliegenden Erfindung wird ein System bereitgestellt. Das System weist eine Speichereinheit zum Speichern von Programmcode und mindestens einen Hardwareprozessor auf, der funktionsmäßig mit der Speichereinheit verbunden ist. Der mindestens eine Hardwareprozessor ist so konfiguriert, dass er auf der Speichereinheit gespeicherten Programmcode ausführt, um auf der Grundlage eines oder mehrerer Prozesse, die einem Änderungsereignis bzw. mehreren Änderungsereignissen innerhalb eines Cluster-Datenverarbeitungssystems zugehörig sind, einen oder mehrere Prozessbäume zu erzeugen, Erkennen von Mutationsereignissen durch Vergleichen einer Wurzel jedes des einen oder der mehreren Prozessbäume mit einem oder mehreren externen Befehlen durchzuführen und auf der Grundlage des Vergleichs einen Mutationsereignisbericht zu erzeugen.
  • Gemäß einem weiteren Aspekt der vorliegenden Erfindung wird ein durch einen Computer implementiertes Verfahren bereitgestellt. Das Verfahren umfasst Erzeugen eines oder mehrerer Prozessbäume auf der Grundlage eines oder mehrerer Prozesse, die einem Änderungsereignis bzw. mehreren Änderungsereignissen innerhalb eines Cluster-Datenverarbeitungssystems zugehörig sind, Erkennen von Mutationsereignissen durch Vergleichen einer Wurzel jedes des einen oder der mehreren Prozessbäume mit einem oder mehreren externen Befehlen und auf der Grundlage des Vergleichs Erzeugen eines Mutationsereignisberichts.
  • Diese und andere Merkmale und Vorteile ergeben sich anhand der folgenden ausführlichen Beschreibung veranschaulichender Ausführungsformen, die in Verbindung mit den beigefügten Zeichnungen zu lesen ist.
  • Figurenliste
  • Die nachfolgende Beschreibung stellt Einzelheiten bevorzugter Ausführungsformen mit Bezug auf die folgenden Figuren bereit, in denen:
    • 1 ein Blockschaubild/Ablaufplan eines Überblicks über ein Cluster-Datenverarbeitungssystem gemäß einer Ausführungsform der vorliegenden Erfindung ist;
    • 2 ein Blockschaubild zum Erkennen und Speichern von Änderungsereignissen ist, die gemäß einer Ausführungsform der vorliegenden Erfindung in dem System von 1 implementiert werden können;
    • 3 ein Blockschaubild/Ablaufplan eines Systems/Verfahrens zum Erkennen von Mutationsereignissen in einem Cluster-Datenverarbeitungssystem gemäß einer Ausführungsform der vorliegenden Erfindung ist;
    • 4 ein Blockschaubild eines Verarbeitungssystems gemäß einer Ausführungsform der vorliegenden Erfindung ist;
    • 5 ein Blockschaubild einer beispielhaften Cloud-Computing-Umgebung mit einem oder mehreren Cloud-Computing-Knoten ist, mit denen von Cloud-Nutzern genutzte lokale Datenverarbeitungseinheiten gemäß einer Ausführungsform der vorliegenden Erfindung Daten austauschen;
    • 6 ein Blockschaubild eines Satzes von funktionalen Abstraktionsschichten ist, die gemäß einer Ausführungsform der vorliegenden Erfindung von einer Cloud-Computing-Umgebung bereitgestellt werden; und
    • 7 eine Darstellung eines beispielhaften Änderungsereignisses gemäß einer Ausführungsform der vorliegenden Erfindung ist.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Die hier beschriebenen Ausführungsformen stellen Erkennen von Mutationsereignissen für Cluster-Datenverarbeitungssysteme bereit. Ein Cluster-Datenverarbeitungssystem kann eine oder mehrere Gruppen verbundener Computereinheiten oder Cluster aufweisen, die zusammenarbeiten, um Aufgaben durchzuführen. Bei Clustern kann jede Knotengruppe die gleichen Aufgaben durchführen, die über Software gesteuert und geplant werden können.
  • Wie hier verwendet, bezieht sich ein Mutationsereignis auf ein Änderungsereignis, das einer unbeabsichtigten Änderung innerhalb eines Clusters entspricht. Genauer gesagt können die hier beschriebenen Ausführungsformen Änderungsereignisse sammeln und Mutationsereignisse aus den Änderungsereignissen extrahieren. Die Änderungsereignisse können Ereignisse auf niedriger Ebene aufweisen, z.B. Dateien anlegen, Aktualisieren, Löschen und Prozesse starten. Die Mutationsereignisse können (1) ohne Programm- oder Bildanalyse und (2) mit der Möglichkeit, nur gelegentlich oder selten vorkommende Nicht-Mutationsereignisse (z.B. beabsichtigte Ereignisse) herauszufiltern, extrahiert werden.
  • Die hier beschriebenen Ausführungsformen können beispielsweise mit einem Cluster-Datenverarbeitungssystem implementiert werden, das ein Container-Orchestrierungssystem zum Automatisieren der Anwendungsimplementierung, -skalierung und -verwaltung umfasst. Ein Container ist ein Modul, das eine Virtualisierung auf Betriebssystemebene nutzt, um Software bereitzustellen. Container sind voneinander getrennt und können ihre eigene Software, Bibliotheken und Konfigurationsdateien bündeln. Da Container von einem einzigen Betriebssystem-Kernel ausgeführt werden, sind sie einfacher als z.B. virtuelle Rechner. Der Cluster kann zum Beispiel ein Kubernetes(„k8s“)-Container-Orchestrierungssystem umfassen. Bei Kubernetes handelt es sich um ein Open-Source-Container-Orchestrierungssystem, das mit einer Vielfalt von Containertools verwendet werden kann.
  • Die hier beschriebenen Ausführungsformen können zum Einhalten von System- und Informationsintegritätsstandards verwendet werden, zum Beispiel, ohne auf diese beschränkt zu sein, PCI/DSS (z.B. PCI-Anforderung 11.5), NIST-Standards (z.B. NIST Special Publication 800-53 (SI-7)) usw. Wenn beispielsweise die PCI-Anforderung 11.5 auf Container angewendet wird, deren Verhalten besonders genau definiert ist, können Mutationen im Container eine anormale Änderung des Verhaltens des Containers vorhersagen. Derartige Verhaltensänderungen können vom Systemadministrator zur weiteren Untersuchung ausgewertet werden (nach Berücksichtigen bekannter Änderungen, die im Container auf der Grundlage eines Profils auf der Whitelist zu erwarten sind). Die Untersuchung kann auf bösartige Aktivitäten (neue bösartige Dateien oder Prozesse), Bitcoin-Miner oder Container in einem nicht einwandfreien Zustand hinweisen.
  • Ein Hinweis in der Beschreibung auf „eine Ausführungsform“ sowie andere Variationen davon bedeutet, dass ein bestimmtes Merkmal, eine bestimmte Struktur oder eine bestimmte Eigenschaft usw., das/die in Verbindung mit der Ausführungsform beschrieben wird, in mindestens einer Ausführungsform der vorliegenden Erfindung enthalten ist. Die an verschiedenen Stellen in der Beschreibung vorkommende Wendung „in einer Ausführungsform“ sowie andere Variationen davon braucht sich daher nicht unbedingt jeweils auf ein und dieselbe Ausführungsform zu beziehen.
  • Es sei darauf hingewiesen, dass die Verwendung von „/“, „und/oder“ und „mindestens ... oder“ zum Beispiel in den Fällen von „A/B“, „A und/oder B“ und „mindestens A oder B“ die Auswahl der als erstes aufgeführten Option nur (A) oder die Auswahl der als zweites aufgeführten Option nur (B) oder die Auswahl beider Optionen (A und B) umfassen soll. Als weiteres Beispiel soll die Wendung in den Fällen „A, B und/oder C“ und „mindestens A, B oder C“ die Auswahl der als erstes aufgeführten Option nur (A) oder die Auswahl der als zweites aufgeführten Option nur (B) oder die Auswahl der als drittes aufgeführten Option nur (C) oder die Auswahl der als erstes und zweites aufgeführten Optionen nur (A und B) oder die Auswahl der als erstes und drittes aufgeführten Optionen nur (A und C) oder die Auswahl der als zweites und drittes aufgeführten Optionen nur (B und C) oder die Auswahl aller drei Optionen (A und B und C) umfassen. Für einen Fachmann auf diesem und ähnlichen Gebieten ist ersichtlich, dass dies auf beliebig viele Begriffe ausgedehnt werden kann.
  • Die hierin verwendete Terminologie dient lediglich zum Zweck des Beschreibens von speziellen Ausführungsformen und soll die Erfindung nicht einschränken. Wie hierin verwendet, sollen die Singularformen „ein/eine/einer/eines“ und „der/die/das“ ebenfalls die Pluralformen umfassen, es sei denn, der Zusammenhang zeigt eindeutig etwas anderes auf. Es versteht sich ferner, dass die Begriffe „aufweisen“ und/oder „aufweisend“, „umfassen“ und/oder „umfassend“, wenn sie hier verwendet werden, die Anwesenheit von angegebenen Merkmalen, Ganzzahlen, Schritten, Operationen, Elementen und/oder Komponenten spezifizieren, jedoch nicht die Anwesenheit oder Hinzufügung von einem oder mehreren anderen Merkmalen, Ganzzahlen, Schritten, Operationen, Elementen, Komponenten und/oder Gruppen davon ausschließen.
  • Es sei darauf hingewiesen, dass die Begriffe „erstes“, „zweites“ usw. hier zwar zum Beschreiben verschiedener Elemente verwendet werden können, diese Elemente aber nicht durch diese Begriffe eingeschränkt werden sollen. Diese Begriffe werden nur verwendet, um ein Element von einem anderen Element zu unterscheiden. So könnte ein erstes Element, das im Folgenden beschrieben wird, als zweites Element bezeichnet werden, ohne vom Anwendungsbereich des vorliegenden Konzepts abzuweichen.
  • Mit Bezug nunmehr auf die Zeichnungen, in denen gleiche Ziffern gleiche oder ähnliche Elemente kennzeichnen, und mit Bezug zuerst auf 1, wird ein Überblick über ein Cluster-Datenverarbeitungssystem 100 bereitgestellt. In einer Ausführungsform umfasst das System 100 ein Container-Orchestrierungssystem. Das System 100 kann zum Beispiel ein Kubernetes-Container-Orchestrierungssystem umfassen.
  • Das System kann einen oder mehrere Cluster umfassen. Wie in dieser veranschaulichenden Ausführungsform dargestellt, kann das System 100 eine Mehrzahl von Clustern umfassen, darunter Cluster 110-1 und Cluster 110-2. Weitere Einzelheiten zu den Clustern 110-1 und 110-2 werden im Folgenden unter Bezugnahme auf 2 beschrieben.
  • Wie weiter dargestellt, kann das System 100 weiterhin eine Datenbank (DB) 120 umfassen. Die DB 120 kann ein oder mehrere Änderungsereignisse speichern, die von den Clustern 110-1 und 110-2 empfangen werden. Wie im Folgenden näher beschrieben wird, können das eine oder mehrere Änderungsereignisse gesammelt werden, um Mutationsereignisse zu erkennen.
  • Wie weiter dargestellt, kann das System 100 weiterhin einen API-Server (Application Programming Interface - Anwendungsprogrammierschnittstelle) 130 umfassen. Der eine oder mehrere externe Befehle kann/können von einer Containerplattform innerhalb eines Container-Orchestrierungssystems ausgeführt werden. In einer Ausführungsform kann es sich bei dem API-Server 130 beispielsweise um einen Kubernetes-API-Server handeln. Wie weiter unten ausführlicher beschrieben wird, kann der API-Server 130 einen oder mehrere externe Befehle (z.B. einen oder mehrere Prüfbefehle) bereitstellen, um in Verbindung mit den Änderungsereignissen Mutationsereignisse zu erkennen.
  • Wie weiter dargestellt, umfasst das System 100 weiterhin mindestens eine Verarbeitungseinheit 140. Die mindestens eine Verarbeitungseinheit 140 ist so konfiguriert, dass sie Mutationsereignisse auf der Grundlage des einen oder mehrerer Änderungsereignisse und des einen oder mehrerer externer Befehle erkennt.
  • Zum Beispiel kann die mindestens eine Verarbeitungseinheit 140 eine Abrufkomponente für externe Befehle 142 umfassen, die so konfiguriert ist, dass sie einen oder mehrere externe Befehle (z. B. einen oder mehrere Prüfbefehle) vom API-Server 130 abruft. Beispielsweise kann der eine oder können mehrere externe Befehle aus Containerdefinitionen im API-Server 130 extrahiert werden. Beispiele für externe Befehle (z.B. Prüfbefehle) umfassen, ohne auf diese beschränkt zu sein, liveness_probe (wird periodisch ausgeführt, um den Aktivitätszustand eines Containers zu prüfen), readiness_probe (wird periodisch ausgeführt, um die Bereitschaft eines Containers zu prüfen), lifecycle_post_start (wird nur einmal kurz nach Starten eines Containers ausgeführt), lifecycle_pre_stop (wird nur einmal kurz vor Stoppen eines Containers ausgeführt) usw.
  • Die mindestens eine Verarbeitungseinheit 140 kann weiterhin eine Komponente zum Sammeln von Änderungsereignissen 144 umfassen, die so konfiguriert ist, dass sie ein oder mehrere Änderungsereignisse aus der Datenbank 120 sammelt. Ein Beispiel für ein Änderungsereignis wird im Folgenden unter Bezugnahme auf 7 näher beschrieben.
  • Die mindestens eine Verarbeitungseinheit 140 kann weiterhin eine Komponente zum Erzeugen von Prozessbäumen 146 umfassen, die so konfiguriert ist, dass sie einen oder mehrere Prozessbäume (oder „Mutationsbäume“) auf der Grundlage eines oder mehrerer Prozesse erzeugt, die dem einen oder mehreren Änderungsereignissen zugehörig sind. In einem gegebenen Prozessbaum kann der übergeordnete Prozess beispielsweise alle untergeordneten Prozesse als seine Verzweigung aufweisen. Dateiänderungsereignisse können dann die untergeordneten Elemente des entsprechenden Prozesses in Form eines Blattes der Verzweigung sein. Insbesondere können der eine oder mehrere Prozessbäume anhand von Prozesskennungen (process identifiers - PIDs) in jedem Ereignis erzeugt werden. Eine PID ist eine Kennung (z.B. eine Nummer), die von einem Betriebssystem-Kernel verwendet werden kann, um einen aktiven Prozess zu identifizieren. Zu Beispielen für PIDs, die zum Erzeugen des einen oder mehrerer Prozessbäume verwendet werden können, gehören, ohne auf diese beschränkt zu sein, PID, PPID (die PID eines übergeordneten Prozesses), PGID (die PID eines Prozessgruppenleiters einer Prozessgruppe) usw.
  • Die mindestens eine Verarbeitungseinheit 140 kann weiterhin eine Mutationserkennungskomponente 148 umfassen. Die Mutationserkennungskomponente 148 kann so konfiguriert werden, dass sie eine Mutationserkennung durchführt, indem sie eine Wurzel jedes des einen oder mehrerer Prozessbäume mit dem einen oder mehreren externen Befehlen vergleicht. Bei der Wurzel eines gegebenen Prozessbaums handelt es sich um einen Prozess, der einem ursprünglichen Prozess von Ereignissen entspricht. Wenn die Wurzel des gegebenen Prozessbaums mit mindestens einem der externen Befehle übereinstimmt, wird festgestellt, dass die Wurzel des gegebenen Prozessbaums ein Prozess ist, der sich aus einem externen Befehl ergibt. Somit werden alle Ereignisse in dem gegebenen Prozessbaum durch einen externen Befehl erzeugt, und es wird keine Mutation erkannt. Wenn jedoch die Wurzel des gegebenen Prozessbaums nicht mit mindestens einem der externen Befehle übereinstimmt, wird festgestellt, dass die Wurzel des gegebenen Prozessbaums kein Prozess ist, der sich aus einem externen Befehl ergibt. So werden alle Ereignisse im gegebenen Prozessbaum durch einen externen Befehl erzeugt, und es wird eine Mutation erkannt.
  • Die Mutationserkennungskomponente 148 kann weiterhin so konfiguriert werden, dass sie auf der Grundlage des Vergleichs einen Mutationsereignisbericht („Bericht“) 150 erzeugt. Wenn der Vergleich beispielsweise zu einer Feststellung führt, dass die Wurzel des gegebenen Prozessbaums ein Prozess ist, der sich aus einem externen Befehl ergibt und somit keiner Mutation entspricht, kann der gegebene Prozessbaum ausgelassen oder aus dem Bericht 150 entfernt werden. Wenn hingegen der Vergleich zu einer Feststellung führt, dass die Wurzel des gegebenen Prozessbaums kein Prozess ist, der sich aus einem externen Befehl ergibt und somit einer Mutation entspricht, kann der gegebene Prozessbaum dem Bericht 150 hinzugefügt werden.
  • Zum Beispiel kann in einem Container-Orchestrierungssystem bei einer gegebenen Stichprobe die mindestens eine Verarbeitungseinheit 140 einen Container kontinuierlich auf den Zustand von Dateien und Prozessen überwachen und auf einer Benutzerschnittstelle Modulo-Änderungen des Zustands melden, die der Profil-Whitelist als normale Änderungen für den Container hinzugefügt wurden. Die Berichte können als Meldungen über Mutationen zu jedem einzelnen Container sowie als Zeitleiste für jeden Container betrachtet werden. Entsprechend kann die mindestens eine Verarbeitungseinheit 140 die Normen zur Überwachung der Containerintegrität erfüllen.
  • In einer veranschaulichenden Ausführungsform kann die Datenbank 120 so konfiguriert werden, dass sie etwa 32.835 Änderungsereignisse pro Stunde sammelt, die Komponente zum Erzeugen von Prozessbäumen 146 kann so konfiguriert werden, dass sie etwa 4.011 Prozessbäume pro Stunde erzeugt, und 4 Prozessbäume pro Stunde, die einem nicht externen Befehlsereignis (z.B. Nicht-Prüfbefehle) entsprechen, können erkannt werden (z.B. nur 2 Container pro Stunde).
  • Mit Bezug auf 7 wird eine Darstellung bereitgestellt, die ein beispielhaftes Änderungsereignis 700 zeigt. In dieser veranschaulichenden Ausführungsform ist das Änderungsereignis 700 einem Kubernetes(„k8s“)-Container-Orchestrierungssystem zugehörig. Wie gezeigt, kann das Änderungsereignis 700 eine Mehrzahl von Feldern umfassen, darunter „Time“, „k8s.ns.name“, „k8s.pod.name“, „container.name“, „proc.cmdline“, „entry_proc“, „proc.vpgid“ und „proc.vpid“.
  • Das Feld „Time“ stellt einen Zeitstempel bereit, der dem Änderungsereignis entspricht.
  • Das Feld „k8s.ns.name“ gibt den Namen des Namensbereichs (ns) an, der in diesem Beispiel „cognitive-data“ lautet.
  • Das Feld „k8s.pod.name“ gibt den Namen des Pods an, der in diesem Beispiel „conv-a-s04-csfdev-data-exhaust-healthcheck-5c8cd97fd5-dllhf“ lautet. Ein Pod ist eine Gruppe von einem oder mehreren Containern mit gemeinsam genutztem Speicher/Netzwerk und einer Spezifikation, wie die Container ausgeführt werden sollen.
  • Das Feld „container.name“ gibt einen Namen für den Container an, der in diesem Beispiel „data-exhaust-producer“ lautet.
  • Das Feld „proc.cmdline“ gibt die vollständige Befehlszeile beim Starten des Prozesses an.
  • Das Feld „entry_proc“ gibt an, ob es sich bei dem Prozess um einen anderen Stammprozess als den vom Container-Eingangspunkt ausgehenden Stammprozess handelt.
  • Das Feld „proc.vpgid“ gibt die Prozessgruppenkennung des Prozesses an, der das Ereignis erzeugt, wie aus seinem aktuellen PID-Namensbereich hervorgeht.
  • Das Feld „proc.vpgid“ gibt die Kennung des Prozesses an, der das Ereignis erzeugt, wie aus seinem aktuellen PID-Namensbereich hervorgeht.
  • Mit Bezug auf 2 wird ein System 200 gezeigt, das einen Cluster 202-1 und einen Cluster 202-2 umfasst. Wie dargestellt, kann der Cluster 202-1 einen Knoten 210-1 und eine Mehrzahl von Containern 220-1 umfassen, die auf dem Knoten 210-1 ausgeführt werden, und der Cluster 202-2 kann einen Knoten 210-2 und eine Mehrzahl von Containern 220-2 umfassen, die auf dem Knoten 210-2 ausgeführt werden. Das System 200 kann weiterhin eine Datenbank (DB) 230 umfassen.
  • Die Mehrzahl der Container 220-1 kann einen Crawler-Container 222-1 umfassen, und die Mehrzahl der Container 220-2 kann einen Crawler-Container 222-2 umfassen. Der Crawler-Container 222-1 kann so konfiguriert werden, dass er die Container 220-1 überwacht, die auf dem Knoten 210-1 ausgeführt werden, und der Crawler-Container 222-2 kann so konfiguriert werden, dass er die Container 220-2 überwacht, die auf dem Knoten 220-2 ausgeführt werden. Die von den Crawler-Containern 222-1 und 222-2 beobachteten oder erkannten Daten können dann an die DB 230 gesendet werden. Die DB 230 kann die Daten zum Durchführen der Erkennung von Mutationsereignissen speichern, z.B. wie oben unter Bezugnahme auf 1 beschrieben. Zum Implementieren der Crawler-Container 222-1 und 222-2 gemäß den hier beschriebenen Ausführungsformen kann jeder geeignete Crawler-Container verwendet werden. Geeignete Crawler-Container umfassen beispielsweise Sysdig, ohne darauf beschränkt zu sein.
  • In dieser veranschaulichenden Ausführungsform handelt es sich bei dem System 200 um ein Cluster-Datenverarbeitungssystem, das ein Container-Orchestrierungssystem umfasst. Eine solche Ausführungsform ist jedoch nicht als einschränkend anzusehen, und das Cluster-Datenverarbeitungssystem kann jedes geeignete Orchestrierungssystem gemäß den hier beschriebenen Ausführungsformen umfassen.
  • Mit Bezug auf 3 wird ein Blockschaubild/Ablaufplan gezeigt, das/der ein System/Verfahren 300 zum Erkennen von Mutationsereignissen in einem Cluster-Datenverarbeitungssystem veranschaulicht.
  • In Block 310 werden ein oder mehrere Änderungsereignisse in einem Cluster-Datenverarbeitungssystem gesammelt. Das Cluster-Datenverarbeitungssystem kann einen oder mehrere Cluster umfassen, die jeweils einen entsprechenden Knoten enthalten, und Sammeln des einen oder mehrerer Änderungsereignisse kann Erkennen des einen oder mehrerer Änderungsereignisse in dem einen oder mehreren Clustern und Speichern des einen oder mehrerer erkannter Änderungsereignisse in einer Datenbank umfassen.
  • In einer Ausführungsform kann das Cluster-Datenverarbeitungssystem ein Container-Orchestrierungssystem umfassen (z.B. ein Kubernetes-Container-Orchestrierungssystem), wobei jeder Cluster eine Mehrzahl von Containern umfasst, die auf dem entsprechenden Clusterknoten ausgeführt werden. Insbesondere kann es sich bei einem gegebenen Container aus der Mehrzahl von Containern innerhalb eines gegebenen Clusters des einen oder der mehreren Cluster um einen Crawler-Container handeln, der so konfiguriert ist, dass er die auf dem gegebenen Cluster ausgeführten Container überwacht. Jeder geeignete Prozess kann verwendet werden, um das eine oder mehrere Änderungsereignisse gemäß den hier beschriebenen Ausführungsformen zu sammeln.
  • In Block 320 werden ein oder mehrere Prozessbäume auf der Grundlage eines oder mehrerer Prozesse erzeugt, die dem einen oder den mehreren Änderungsereignissen zugehörig sind. In einem gegebenen Prozessbaum kann der übergeordnete Prozess beispielsweise alle untergeordneten Prozesse als seine Verzweigung aufweisen. Dateiänderungsereignisse können dann die untergeordneten Elemente des entsprechenden Prozesses in Form eines Blattes der Verzweigung sein. Insbesondere können der eine oder mehrere Prozessbäume anhand von Prozesskennungen (process identifiers - PIDs) in jedem Ereignis erzeugt werden. Zu Beispielen für PIDs, die zum Erzeugen des einen oder der mehreren Prozessbäume verwendet werden können, gehören, ohne auf diese beschränkt zu sein, PID, PPID (die PID eines übergeordneten Prozesses), PGID (die PID eines Prozessgruppenleiters einer Prozessgruppe) usw. Jeder geeignete Prozess kann verwendet werden, um den einen oder die mehreren Prozessbäume gemäß den hier beschriebenen Ausführungsformen zu erzeugen.
  • In Block 330 können ein oder mehrere externe Befehle abgerufen werden. Der eine oder mehrere externe Befehle können beabsichtigten Zugriffsmustern entsprechen. Der eine oder mehrere externe Befehle können zum Beispiel von einer Containerplattform innerhalb eines Container-Orchestrierungssystems ausgeführt werden. In einer Ausführungsform können der eine oder mehrere externe Befehle von einem API-Server (z.B. einem Kubernetes-API-Server) abgerufen werden. Abrufen des einen oder mehrerer externer Befehle kann Extrahieren des einen oder mehrerer externer Befehle aus ContainerDefinitionen im API-Server umfassen. Beispiele für externe Befehle (z.B. Prüfbefehle) umfassen, ohne auf diese beschränkt zu sein, liveness_probe (wird periodisch ausgeführt, um den Aktivitätszustand eines Containers zu prüfen), readiness_probe (wird periodisch ausgeführt, um die Bereitschaft eines Containers zu prüfen), lifecycle_post_start (wird nur einmal kurz nach Starten eines Containers ausgeführt), lifecycle_pre_stop (wird nur einmal kurz vor Stoppen eines Containers ausgeführt) usw. Jeder geeignete Prozess kann verwendet werden, um den einen oder mehrere externe Befehle gemäß den hier beschriebenen Ausführungsformen abzurufen.
  • In Block 340 wird Erkennen von Mutationsereignissen durchgeführt, indem eine Wurzel jedes Prozessbaums mit dem einen oder mehreren externen Befehlen verglichen wird. Wenn die Wurzel des gegebenen Prozessbaums mit mindestens einem der externen Befehle übereinstimmt, wird insbesondere festgestellt, dass die Wurzel des gegebenen Prozessbaums ein Prozess ist, der sich aus einem externen Befehl ergibt. Somit werden alle Ereignisse in dem gegebenen Prozessbaum durch einen externen Befehl erzeugt, und es wird keine Mutation erkannt. Wenn jedoch die Wurzel des gegebenen Prozessbaums nicht mit mindestens einem der externen Befehle übereinstimmt, wird festgestellt, dass die Wurzel des gegebenen Prozessbaums kein Prozess ist, der sich aus einem externen Befehl ergibt. So werden alle Ereignisse im gegebenen Prozessbaum durch einen externen Befehl erzeugt, und es wird eine Mutation erkannt.
  • Die in den Blöcken 310 bis 340 durchgeführten Schritte können „unbeabsichtigte“ Ereignisse aus dem einen oder mehreren Änderungsereignissen ohne Programm- oder Bildanalyse extrahieren und alle „beabsichtigten“ Ereignisse oder Zugriffsmuster aus dem einen oder mehreren Änderungsereignissen herausfiltern, die selten oder nur gelegentlich vorkommen.
  • In Block 350 kann auf der Grundlage des Vergleichs automatisch ein Mutationsereignisbericht erzeugt werden. Der Mutationsereignisbericht kann Änderungsereignisse umfassen, die als Prozessbaum strukturiert sind und durch einen unbeabsichtigten Zugriff (im Gegensatz zu einem beabsichtigten Zugriff) verursacht werden. Wenn der Vergleich beispielsweise zu der Feststellung führt, dass die Wurzel des gegebenen Prozessbaums ein Prozess ist, der sich aus einem externen Befehl ergibt und somit keiner Mutation entspricht, kann der gegebene Prozessbaum ausgelassen oder aus dem Mutationsereignisbericht entfernt werden. Wenn hingegen der Vergleich zu der Feststellung führt, dass die Wurzel des gegebenen Prozessbaums kein Prozess ist, der sich aus einem externen Befehl ergibt und somit einer Mutation entspricht, kann der gegebene Prozessbaum dem Mutationsereignisbericht hinzugefügt werden.
  • In Block 360 kann der Mutationsereignisbericht an eine oder mehrere Datenverarbeitungseinheiten übertragen werden. Die eine oder mehrere Datenverarbeitungseinheiten können einem oder mehreren Systemadministratoren zugehörig sein. Der Mutationsereignisbericht kann auf einer Benutzeroberfläche angezeigt werden, die den (die) Systemadministrator(en) über unbeabsichtigte Änderungen (z.B. unbeabsichtigte Änderungen an einem Container) informieren kann. Der (Die) Systemadministrator(en) kann (können) dann Abhilfemaßnahmen ergreifen, um unbeabsichtigte Änderungen zu beseitigen, die im Mutationsereignisbericht enthalten sind.
  • Zum Beispiel kann in einem Container-Orchestrierungssystem bei einer gegebenen Stichprobe das System/Verfahren 300 einen Container kontinuierlich auf den Zustand von Dateien und Prozessen überwachen und auf einer Benutzerschnittstelle Modulo-Änderungen des Zustands melden, die der Profil-Whitelist als normale Änderungen für den Container hinzugefügt wurden. Die Berichte können als Meldungen über Mutationen zu jedem einzelnen Container sowie als Zeitleiste für jeden Container betrachtet werden. Entsprechend kann das System/Verfahren 300 die Normen zur Überwachung der Containerintegrität erfüllen.
  • Mit Bezug auf 4 ist ein beispielhaftes Verarbeitungssystem 400 dargestellt, auf das die vorliegende Erfindung gemäß einer Ausführungsform angewendet werden kann. Das Verarbeitungssystem 400 enthält mindestens einen Prozessor (CPU) 404, der über einen Systembus 402 funktionsmäßig mit anderen Komponenten verbunden ist. Ein Cache 406, ein Nur-Lese-Speicher (ROM) 408, ein Direktzugriffsspeicher (RAM) 410, ein Eingabe/Ausgabe(E/A)-Adapter 420, ein Tonadapter 430, ein Netzwerkadapter 440, ein Benutzeroberflächenadapter 450 und ein Anzeigeadapter 460 sind funktionsfähig mit dem Systembus 402 verbunden.
  • Eine erste Speichereinheit 422 und eine zweite Speichereinheit 424 sind über den E/A-Adapter 420 funktionsmäßig mit dem Systembus 402 verbunden. Bei den Speichereinheiten 422 und 424 kann es sich um beliebige Plattenspeichereinheiten (z.B. eine magnetische oder optische Plattenspeichereinheit), eine magnetische Halbleitereinheit usw. handeln. Bei den Speichereinheiten 422 und 424 kann es sich um den gleichen Typ von Speichereinheit oder andere Typen von Speichereinheiten handeln.
  • Ein Lautsprecher 432 ist über den Tonadapter 430 funktionsmäßig mit dem Systembus 402 verbunden. Ein Sendeempfänger 442 ist über den Netzwerkadapter 440 funktionsmäßig mit dem Systembus 402 verbunden. Eine Anzeigeeinheit 462 ist über den Anzeigeadapter 460 funktionsmäßig mit dem Systembus 402 verbunden.
  • Eine erste Benutzereingabeeinheit 452, eine zweite Benutzereingabeeinheit 454 und eine dritte Benutzereingabeeinheit 456 sind über den Benutzerschnittstellenadapter 450 funktionsmäßig mit dem Systembus 402 verbunden. Bei den Benutzereingabeeinheiten 452, 454 und 456 kann es sich um eine Tastatur, eine Maus, ein Tastenfeld, eine Bilderfassungseinheit, eine Bewegungsabtasteinheit, ein Mikrofon oder eine Einheit mit der Funktionalität von mindestens zwei der vorhergehenden Einheiten usw. handeln. Natürlich können auch andere Arten von Einheiten verwendet werden. Bei den Benutzereingabeeinheiten 452, 454 und 456 kann es sich um den gleichen Typ von Benutzereingabeeinheiten oder verschiedene Typen von Benutzereingabeeinheiten handeln. Die Benutzereingabeeinheiten 452, 454 und 456 werden verwendet, um Informationen in das System 400 einzugeben und aus dem System 900 auszugeben.
  • Die Komponente 470 zum Erkennen von Mutationsereignissen (MED) kann funktionsmäßig mit dem Systembus 402 verbunden sein. Die MED-Komponente 470 ist so konfiguriert, dass sie in einem System zum Erzeugen von Formulierungen wie oben beschrieben Proben nimmt. Die MED-Komponente 470 kann als eigenständige spezielle Hardwareeinheit oder als Software, die auf einer Speichereinheit gespeichert ist, implementiert werden. In der Ausführungsform, in der die MED-Komponente 470 durch Software implementiert ist, obwohl sie als separate Komponente des Computersystems 400 dargestellt ist, kann die MED-Komponente 470 z.B. auf der ersten Speichereinheit 422 und/oder der zweiten Speichereinheit 424 gespeichert werden. Alternativ kann die MED-Komponente 470 auch auf einer separaten Speichereinheit gespeichert werden (nicht abgebildet).
  • Das Verarbeitungssystem 400 kann wie für den Fachmann ersichtlich natürlich auch andere Elemente enthalten (nicht dargestellt) und bestimmte Elemente weglassen. Wie für den Fachmann ersichtlich können beispielsweise je nach der jeweiligen Umsetzung verschiedene andere Eingabe- und/oder Ausgabeeinheiten in das Verarbeitungssystem 400 einbezogen werden. So können beispielsweise verschiedene Arten von drahtlosen und/oder drahtgebundenen Ein- und/oder Ausgabeeinheiten verwendet werden. Wie für den Fachmann ersichtlich können darüber hinaus auch zusätzliche Prozessoren, Steuereinheiten, Speicher usw. in verschiedenen Konfigurationen verwendet werden. Diese und andere Variationen des Verarbeitungssystems 400 sind angesichts der Lehren der vorliegenden Erfindung, die hierin bereitgestellt werden, für den Fachmann ersichtlich.
  • Die vorliegende Offenbarung enthält zwar eine ausführliche Beschreibung von Cloud-Computing, es versteht sich jedoch, dass die Umsetzung der hier dargelegten Lehren nicht auf eine Cloud-Computing-Umgebung beschränkt ist. Stattdessen können Ausführungsformen der vorliegenden Erfindung gemeinsam mit beliebigen Arten von jetzt bekannter oder später erfundener Datenverarbeitungsumgebung umgesetzt werden.
  • Cloud-Computing ist ein Modell zum Liefern eines Dienstes, der einen problemlosen, bedarfsorientierten Netzwerkzugriff auf einen gemeinsamen Pool von konfigurierbaren Datenverarbeitungsressourcen (z.B. Netzwerke, Netzwerkbandbreite, Server, Verarbeitung, Speicher, Anwendungen, virtuelle Maschinen und Dienste) ermöglicht, die mit minimalem Verwaltungsaufwand bzw. minimaler Interaktion mit einem Anbieter des Dienstes schnell bereitgestellt und freigegeben werden können. Dieses Cloud-Modell kann mindestens fünf Eigenschaften, mindestens drei Dienstmodelle und mindestens vier Implementierungsmodelle enthalten.
  • Bei den Eigenschaften handelt es sich um die Folgenden:
    • On-Demand Self-Service (bedarfsorientierte Selbstbedienung): Ein Cloud-Nutzer kann einseitig automatisch nach Bedarf Datenverarbeitungsfunktionen wie Serverzeit und Netzwerkspeicher bereitstellen, ohne dass eine menschliche Interaktion mit dem Anbieter der Dienste erforderlich ist.
  • Broad Network Access (breiter Netzzugriff): Über ein Netzwerk sind Funktionen verfügbar, auf die durch Standardmechanismen zugegriffen wird, die die Verwendung durch heterogene schlanke oder leistungsintensive Client-Plattformen unterstützen (z.B. Mobiltelefone, Laptops und PDAs).
  • Ressource Pooling (Ressourcen-Bündelung): Die Datenverarbeitungsressourcen des Anbieters werden gebündelt, um mehreren Nutzern unter Verwendung eines Mehrmietermodells zu dienen, wobei verschiedene physische und virtuelle Ressourcen dynamisch nach Bedarf zugewiesen und neu zugewiesen werden. Es gibt eine gefühlte Standortunabhängigkeit, da der Nutzer allgemein keine Kontrolle bzw. Kenntnis über den genauen Standort der bereitgestellten Ressourcen hat, aber in der Lage sein kann, einen Standort auf einer höheren Abstraktionsebene festzulegen (z.B. Land, Staat oder Rechenzentrum).
  • Rapid Elasticity (schnelle Anpassungsfähigkeit): Funktionen können für eine schnelle horizontale Skalierung (scale out) schnell und elastisch bereitgestellt werden, in einigen Fällen auch automatisch, und für ein schnelles Scale-in schnell freigegeben werden. Für den Nutzer erscheinen die für das Bereitstellen verfügbaren Funktionen häufig unbegrenzt und sie können jederzeit in jeder beliebigen Menge gekauft werden.
  • Measured Service (messbarer Dienst): Cloud-Systeme steuern und optimieren die Verwendung von Ressourcen automatisch, indem sie eine Messfunktion auf einer gewissen Abstraktionsebene nutzen, die für die Art von Dienst geeignet ist (z.B. Speicher, Verarbeitung, Bandbreite sowie aktive Benutzerkonten). Die Inanspruchnahme von Ressourcen kann überwacht, gesteuert und gemeldet werden, wodurch sowohl für den Anbieter als auch für den Nutzer des verwendeten Dienstes Transparenz bereitgestellt wird.
  • Es gibt folgende Dienstmodelle:
    • Software as a Service (Saas) (Software als Dienst): Die dem Nutzer bereitgestellte Funktion besteht darin, die in einer Cloud-Infrastruktur laufenden Anwendungen des Anbieters zu verwenden. Die Anwendungen sind über eine schlanke Client-Schnittstelle wie einen Web-Browser (z.B. auf dem Web beruhende eMail) von verschiedenen Client-Einheiten aus zugänglich. Der Nutzer verwaltet bzw. steuert die zugrunde liegende Cloud-Infrastruktur nicht, darunter das Netzwerk, Server, Betriebssysteme, Speicher bzw. sogar einzelne Anwendungsfunktionen, mit der möglichen Ausnahme von eingeschränkten benutzerspezifischen Einstellungen der Anwendungskonfiguration.
  • Platform as a Service (Paas) (Plattform als Dienst): Die dem Nutzer bereitgestellte Funktion besteht darin, durch einen Nutzer erstellte bzw. erhaltene Anwendungen, die unter Verwendung von durch den Anbieter unterstützten Programmiersprachen und Werkzeugen erstellt wurden, in der Cloud-Infrastruktur einzusetzen. Der Nutzer verwaltet bzw. steuert die zugrunde liegende Cloud-Infrastruktur nicht, darunter Netzwerke, Server, Betriebssysteme bzw. Speicher, hat aber die Kontrolle über die eingesetzten Anwendungen und möglicherweise über Konfigurationen der Hosting-Umgebung der Anwendung.
  • Infrastructure as a Service (laas) (Infrastruktur als Dienst): Die dem Nutzer bereitgestellte Funktion besteht darin, Verarbeiten, Speicher, Netzwerke und andere grundlegende Datenverarbeitungsressourcen bereitzustellen, wobei der Nutzer in der Lage ist, beliebige Software einzusetzen und auszuführen, zu der Betriebssysteme und Anwendungen gehören können. Der Nutzer verwaltet bzw. steuert die zugrunde liegende Cloud-Infrastruktur nicht, hat aber die Kontrolle über Betriebssysteme, Speicher, eingesetzte Anwendungen und möglicherweise eine eingeschränkte Kontrolle über ausgewählte Netzwerkkomponenten (z.B. Host-Firewalls).
  • Es gibt folgende Einsatzmodelle:
    • Private Cloud: Die Cloud-Infrastruktur wird einzig und allein für eine Organisation betrieben. Sie kann durch die Organisation oder einen Dritten verwaltet werden und kann sich in den eigenen Räumen oder in fremden Räumen befinden.
  • Community Cloud (Benutzergemeinschafts-Cloud): Die Cloud-Infrastruktur wird von mehreren Organisationen gemeinsam genutzt und unterstützt eine spezielle Benutzergemeinschaft, die gemeinsame Anliegen hat (z.B. Aufgabe, Sicherheitsanforderungen, Richtlinien sowie Überlegungen bezüglich der Einhaltung von Vorschriften). Sie kann durch die Organisationen oder einen Dritten verwaltet werden und kann sich in den eigenen Räumen oder fremden Räumen befinden.
  • Public Cloud (öffentliche Cloud): Die Cloud-Infrastruktur wird der allgemeinen Öffentlichkeit oder einer großen Branchengruppe zur Verfügung gestellt und gehört einer Organisation, die Cloud-Dienste verkauft.
  • Hybrid Cloud (hybride Cloud): Die Cloud-Infrastruktur besteht aus zwei oder mehr Clouds (privat, Benutzergemeinschaft oder öffentlich), die zwar einzelne Entitäten bleiben, aber durch eine standardisierte oder herstellereigene Technologie miteinander verbunden sind, die eine Übertragbarkeit von Daten und Anwendungen ermöglicht (z.B. Cloud-Zielgruppenverteilung für den Lastenausgleich zwischen Clouds).
  • Eine Cloud-Computing-Umgebung ist dienstorientiert und schwerpunktmäßig auf Statusunabhängigkeit, geringe Kopplung, Modularität und semantische Interoperabilität ausgerichtet. Der Kern der Cloud-Computing ist eine Infrastruktur, die ein Netzwerk aus miteinander verbundenen Knoten enthält.
  • Mit Bezug nunmehr auf 5 ist eine veranschaulichende Cloud-Computing-Umgebung 550 dargestellt. Wie gezeigt, enthält die Cloud-Computing-Umgebung 550 einen oder mehrere Cloud-Computing-Knoten 510, mit denen von Cloud-Nutzern verwendete lokale Datenverarbeitungseinheiten wie der persönliche digitale Assistent (PDA) oder das Mobiltelefon 554A, der Desktop-Computer 554B, der Laptop-Computer 554C und/oder das Kraftfahrzeug-Computersystem 554N Daten austauschen können. Die Knoten 510 können miteinander Daten austauschen. Sie können physisch oder virtuell in einem oder mehreren Netzwerken wie private, benutzergemeinschaftliche, öffentliche oder hybride Clouds wie oben beschrieben oder in einer Kombination davon in Gruppen angeordnet sein (nicht dargestellt). Dies ermöglicht es der Cloud-Computing-Umgebung 550, Infrastruktur, Plattformen und/oder Software als Dienste anzubieten, für die ein Cloud-Nutzer keine Ressourcen auf einer lokalen Datenverarbeitungseinheit vorhalten muss. Es ist ersichtlich, dass die Arten von Datenverarbeitungseinheiten 554A bis N, die in 5 dargestellt sind, nur veranschaulichend sein sollen und die Datenverarbeitungsknoten 510 und die Cloud-Datenverarbeitungsumgebung 550 mit jeder Art von computergestützter Einheit über jede Art von Netzwerk und/oder netzwerkadressierbarer Verbindung Daten austauschen kann (z.B. über einen Web-Browser).
  • Mit Bezug nunmehr auf 6 wird ein Satz funktionaler Abstraktionsschichten gezeigt, die von der Cloud-Computing-Umgebung 550 (5) bereitgestellt werden. Es versteht sich im Voraus, dass die in 6 dargestellten Komponenten, Schichten und Funktionen nur veranschaulichend sein sollen und Ausführungsformen der Erfindung nicht darauf beschränkt sind. Wie dargestellt, werden die folgenden Schichten und entsprechenden Funktionen bereitgestellt:
  • Die Hardware- und Software-Schicht 660 enthält Hardware- und Software-Komponenten. Zu Beispielen für Hardware-Komponenten gehören: die Großrechner 661; die Server 662 auf Grundlage der RISC-Architektur (RISC = Reduced Instruction Set Computer, Computer mit reduziertem Befehlssatz), die Server 663; die Blade-Server 664; die Speichereinheiten 665; sowie die Netzwerke und Netzwerkkomponenten 666. In einigen Ausführungsformen enthalten die Software-Komponenten die Netzwerk-Anwendungsserver-Software 667 und die Datenbank-Software 668.
  • Die Virtualisierungsschicht 670 stellt eine Abstraktionsschicht bereit, aus der die folgenden Beispiele für virtuelle Entitäten bereitgestellt werden können: virtuelle Server 671; virtuelle Speicher 672; virtuelle Netzwerke 673; darunter virtuelle private Netzwerke; virtuelle Anwendungen und Betriebssysteme 674; und virtuelle Clients 675.
  • In einem Beispiel kann die Verwaltungsschicht 680 die nachfolgend beschriebenen Funktionen bereitstellen. Die Ressourcenbereitstellung 681 ermöglicht eine dynamische Bereitstellung von Datenverarbeitungsressourcen und anderen Ressourcen, die verwendet werden, um Aufgaben in der Cloud-Computing-Umgebung durchzuführen. Messen und Preisfindung 682 stellen Kostenverfolgung beim Verwenden von Ressourcen in der Cloud-Computing-Umgebung sowie Abrechnung oder Rechnungsstellung für die Inanspruchnahme dieser Ressourcen bereit. In einem Beispiel können diese Ressourcen Lizenzen für Anwendungssoftware umfassen. Die Sicherheitsfunktion stellt eine Identitätsprüfung für Cloud-Nutzer und Aufgaben sowie Schutz für Daten und andere Ressourcen bereit. Ein Benutzerportal 683 stellt Nutzern und Systemadministratoren den Zugang zur Cloud-Computing-Umgebung bereit. Die Verwaltung der Dienstgüte 684 stellt Zuordnung und Verwaltung von Cloud-Computing-Ressourcen bereit, sodass die erforderliche Dienstgüte erreicht wird. Die Planung und Erfüllung der Dienstgütevereinbarung (Service Level Agreement, SLA) 685 stellt eine Vorabeinteilung und eine Beschaffung von Cloud-Computing-Ressourcen bereit, deren künftiger Bedarf auf der Grundlage einer Dienstgütevereinbarung vorausgesehen wird.
  • Die Arbeitslastschicht 690 stellt Beispiele für Funktionalitäten bereit, für die die Cloud-Computing-Umgebung verwendet werden kann. Zu Beispielen für Arbeitslasten und Funktionen, die von dieser Schicht bereitgestellt werden können, gehören: Abbildung und Navigation 691; Software-Entwicklung und Lebenszyklusverwaltung 692; Bereitstellung von Ausbildung in virtuellen Klassenzimmern 693; Datenanalyseverarbeitung 694; Transaktionsverarbeitung 695; und Mutationserkennung 696.
  • Bei der vorliegenden Erfindung kann es sich um ein System, ein Verfahren und/oder ein Computerprogrammprodukt auf jedem möglichen technischen Detaillierungsgrad der Integration handeln. Das Computerprogrammprodukt kann (ein) durch einen Computer lesbare(s) Speichermedium (oder -medien) umfassen, auf dem/denen durch einen Computer lesbare Programmanweisungen gespeichert ist/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 Anweisungen zur Verwendung durch eine Einheit zur Ausführung von Anweisungen 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 Kompaktspeicherplatte-Nur-Lese-Speicher (CD-ROM), eine DVD (digital versatile disc), ein Speicher-Stick, eine Diskette, eine mechanisch codierte Einheit wie zum Beispiel Lochkarten oder gehobene 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. einen Lichtwellenleiter durchlaufende Lichtimpulse) oder durch einen Draht übertragene elektrische Signale.
  • Hier 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 Weitverkehrsnetzwerk und/oder ein drahtloses Netzwerk auf einen externen Computer oder eine externe Speichereinheit heruntergeladen werden. Das Netzwerk kann Kupferübertragungskabel, Lichtwellenübertragungsleiter, drahtlose Übertragung, Router, 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, zustandssetzende Daten oder entweder Quellcode oder 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 entfernt angeordneten Computer oder vollständig auf dem entfernt angeordneten Computer oder Server ausgeführt werden. In letzterem Fall kann der entfernt angeordnete Computer mit dem Computer des Benutzers durch eine beliebige Art Netzwerk verbunden sein, darunter ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetzwerk (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, vor Ort 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.
  • Der hier verwendete Begriff „Hardwareprozessor-Teilsystem“ oder „Hardwareprozessor“ kann sich auf einen Prozessor, einen Speicher, Software oder Kombinationen davon beziehen, die zusammenarbeiten, um eine oder mehrere spezifische Aufgaben durchzuführen. In geeigneten Ausführungsformen kann das Hardwareprozessor-Teilsystem ein oder mehrere Datenverarbeitungselemente umfassen (z.B. Logistikschaltkreise, Verarbeitungsschaltkreise, Anweisungsausführungseinheiten, usw.). Das eine oder die mehreren Datenverarbeitungselemente können in einer Zentraleinheit, einer Grafikverarbeitungseinheit und/oder einer separaten Steuereinheit auf der Grundlage eines Prozessors oder eines Datenverarbeitungselements (z.B. in Logikgattern usw.) enthalten sein. Das Hardwareprozessor-Teilsystem kann einen oder mehrere integrierte Speicher umfassen (z.B. Caches, dedizierte Speicheranordnungen, Nur-Lese-Speicher usw.). In einigen Ausführungsformen kann das Hardwareprozessor-Teilsystem einen oder mehrere Speicher umfassen, die integriert oder extern sein können oder die speziell für Verwenden durch das Hardwareprozessor-Teilsystem vorgesehen sind (z.B. ROM, RAM, grundlegendes Eingabe-/Ausgabesystem (BIOS) usw.).
  • In einigen Ausführungsformen kann das Hardwareprozessor-Teilsystem ein oder mehrere Softwareelemente umfassen und ausführen. Das eine oder mehrere Softwareelemente können ein Betriebssystem und/oder eine oder mehrere Anwendungen und/oder spezifischen Code umfassen, um ein bestimmtes Ergebnis zu erzielen.
  • In anderen Ausführungsformen kann das Hardwareprozessor-Teilsystem spezielle Schaltkreise umfassen, die eine oder mehrere elektronische Verarbeitungsfunktionen durchführen, um ein bestimmtes Ergebnis zu erzielen. Solche Schaltkreise können eine oder mehrere anwendungsspezifische integrierte Schaltungen (ASICs), FPGAs und/oder PLAs umfassen.
  • Diese und andere Varianten eines Hardwareprozessor-Teilsystems sind gemäß Ausführungsformen der vorliegenden Erfindung ebenfalls denkbar.
  • Aspekte der vorliegenden Erfindung sind hier 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, sodass 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, sodass das durch einen Computer lesbare Speichermedium, auf dem Anweisungen gespeichert sind, einen Herstellungsartikel 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 auf einem Computer ausgeführten Prozess zu erzeugen, sodass 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.
  • Nachdem bevorzugte Ausführungsformen von Systemen und Verfahren einer Mutationsereigniserkennung beschrieben wurden (wobei die Ausführungsformen veranschaulichend und nicht einschränkend sein sollen), sei darauf hingewiesen, dass auf Grundlage der vorstehenden Lehren Änderungen und Abwandlungen durch Fachleute vorgenommen werden können. Es versteht sich daher, dass Änderungen an den besonderen offenbarten Ausführungsformen vorgenommen werden können, die im Rahmen des Anwendungsbereichs der Erfindung liegen, wie sie in den beigefügten Ansprüchen dargelegt ist. Nachdem somit Aspekte der Erfindung mit den gemäß der Patentgesetzgebung erforderlichen Einzelheiten und Besonderheiten beschrieben wurden, wird in den beigefügten Ansprüchen das dargelegt, was beansprucht und durch Patenturkunde geschützt werden soll.

Claims (20)

  1. System, das aufweist: eine Speichereinheit zum Speichern von Programmcode; und mindestens einen Hardwareprozessor, der funktionsmäßig mit der Speichereinheit verbunden ist und so konfiguriert ist, dass er den auf der Speichereinheit gespeicherten Programmcode ausführt, um: einen oder mehrere Prozessbäume auf Grundlage eines oder mehrerer Prozesse zu erzeugen, die dem einen oder mehreren Änderungsereignissen in einem Cluster-Datenverarbeitungssystem zugehörig sind; Erkennen von Mutationsereignissen durchzuführen, indem eine Wurzel jedes des einen oder mehrerer Prozessbäume mit einem oder mehreren externen Befehlen verglichen wird; und auf Grundlage des Vergleichs einen Mutationsereignisbericht zu erzeugen.
  2. System nach Anspruch 1, das weiterhin aufweist: eine Datenbank, die mit der mindestens einen Prozessoreinheit Daten austauscht und so konfiguriert ist, dass sie das eine oder mehrere Änderungsereignisse speichert; und einen Server mit Anwendungsprogrammierschnittstelle (API), der mit dem mindestens einen Hardwareprozessor Daten austauscht.
  3. System nach Anspruch 2, wobei der mindestens eine Hardwareprozessor weiterhin so konfiguriert ist, dass er in der Speichereinheit gespeicherten Programmcode ausführt, um: das eine oder mehrere Änderungsereignisse aus einer Datenbank zu sammeln; und den einen oder mehrere externe Befehle über einen Server mit Anwendungsprogrammierschnittstelle (API) abzurufen.
  4. System nach Anspruch 1, wobei: das Cluster-Datenverarbeitungssystem einen oder mehrere Container aufweist; der mindestens eine Hardwareprozessor weiterhin so konfiguriert ist, dass er das eine oder mehrere Änderungsereignisse von dem einen oder mehreren Containern sammelt; und der eine oder mehrere externe Befehle von einer Containerplattform ausgeführt werden.
  5. System nach Anspruch 1, wobei der eine oder mehrere externe Befehle einen oder mehrere Prüfbefehle aufweisen.
  6. System nach Anspruch 1, wobei der mindestens eine Hardwareprozessor weiterhin so konfiguriert ist, dass er den Mutationsereignisbericht erzeugt auf Grundlage des Vergleichs durch: Feststellen, dass die Wurzel eines gegebenen Prozessbaums ein Prozess ist, der sich aus einem der externen Befehle ergibt; und Weglassen des gegebenen Prozessbaums im Mutationsereignisbericht.
  7. System nach Anspruch 1, wobei der mindestens eine Hardwareprozessor weiterhin so konfiguriert ist, dass er den Mutationsereignisbericht an eine oder mehrere Datenverarbeitungseinheiten überträgt.
  8. System nach Anspruch 1, wobei das Cluster-Datenverarbeitungssystem ein Kubernetes-Cluster-Datenverarbeitungssystem aufweist.
  9. Durch einen Computer implementiertes Verfahren, das aufweist: Erzeugen eines oder mehrerer Prozessbäume auf Grundlage eines oder mehrerer Prozesse, die dem einen oder mehreren Änderungsereignissen in einem Cluster-Datenverarbeitungssystem zugehörig sind; Durchführen des Erkennens von Mutationsereignissen, indem eine Wurzel jedes des einen oder mehrerer Prozessbäume mit einem oder mehreren externen Befehlen verglichen wird; und Erzeugen eines Mutationsereignisberichts auf Grundlage des Vergleichs.
  10. Verfahren nach Anspruch 9, das weiterhin aufweist: Sammeln des einen oder mehrerer Änderungsereignisse; und Abrufen des einen oder mehrerer externer Befehle.
  11. Verfahren nach Anspruch 10, wobei: das Cluster-Datenverarbeitungssystem einen oder mehrere Container aufweist; Sammeln des einen oder mehrerer Änderungsereignisse weiterhin Sammeln des einen oder mehrerer Änderungsereignisse von dem einen oder mehreren Containern aufweist; und der eine oder mehrere externe Befehle von einer Containerplattform ausgeführt werden.
  12. Verfahren nach Anspruch 9, wobei der eine oder mehrere externe Befehle einen oder mehrere Prüfbefehle aufweisen.
  13. Verfahren nach Anspruch 9, wobei das Erzeugen des Mutationsereignisberichts auf Grundlage des Vergleichs weiterhin aufweist: Feststellen, dass die Wurzel eines gegebenen Prozessbaums ein Prozess ist, der sich aus einem der externen Befehle ergibt; und Weglassen des gegebenen Prozessbaums in den Mutationsereignisberichten.
  14. Verfahren nach Anspruch 9, das weiterhin Übertragen des Mutationsereignisberichts an eine oder mehrere Datenverarbeitungseinheiten aufweist.
  15. Computerprogrammprodukt, das ein durch einen Computer lesbares Speichermedium mit darauf enthaltenen Programmanweisungen aufweist, wobei die Programmanweisungen von einem Computer ausführbar sind, um den Computer zu veranlassen, ein Verfahren durchzuführen, das aufweist: Erzeugen eines oder mehrerer Prozessbäume auf Grundlage eines oder mehrerer Prozesse, die dem einen oder mehreren Änderungsereignissen in einem Cluster-Datenverarbeitungssystem zugehörig sind; Durchführen des Erkennens von Mutationsereignissen, indem eine Wurzel jedes des einen oder mehrerer Prozessbäume mit einem oder mehreren externen Befehlen verglichen wird; und Erzeugen eines Mutationsereignisberichts auf Grundlage des Vergleichs.
  16. Computerprogrammprodukt nach Anspruch 15, wobei das Verfahren weiterhin aufweist: Sammeln des einen oder mehrerer Änderungsereignisse; und Abrufen des einen oder mehrerer externer Befehle.
  17. Computerprogrammprodukt nach Anspruch 16, wobei: das Cluster-Datenverarbeitungssystem einen oder mehrere Container aufweist; Sammeln des einen oder mehrerer Änderungsereignisse weiterhin Sammeln des einen oder mehrerer Änderungsereignisse von dem einen oder mehreren Containern aufweist; und der eine oder mehrere externe Befehle von einer Containerplattform ausgeführt werden.
  18. Computerprogrammprodukt nach Anspruch 15, wobei der eine oder mehrere externe Befehle einen oder mehrere Prüfbefehle aufweisen.
  19. Computerprogrammprodukt nach Anspruch 15, wobei das Erzeugen des Mutationsereignisberichts auf Grundlage des Vergleichs weiterhin aufweist: Feststellen, dass die Wurzel eines gegebenen Prozessbaums ein Prozess ist, der sich aus einem der externen Befehle ergibt; und Weglassen des gegebenen Prozessbaums in den Mutationsereignisberichten.
  20. Computerprogrammprodukt nach Anspruch 15, wobei das Verfahren weiterhin Übermitteln des Mutationsereignisberichts an eine oder mehrere Datenverarbeitungseinheiten aufweist.
DE112020004487.4T 2019-09-23 2020-09-22 Erkennen von mutationsereignissen zum überwachen der integrität Pending DE112020004487T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/578,868 2019-09-23
US16/578,868 US11144418B2 (en) 2019-09-23 2019-09-23 Mutation event detection for integrity monitoring
PCT/IB2020/058815 WO2021059116A1 (en) 2019-09-23 2020-09-22 Mutation event detection for integrity monitoring

Publications (1)

Publication Number Publication Date
DE112020004487T5 true DE112020004487T5 (de) 2022-06-23

Family

ID=74880929

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112020004487.4T Pending DE112020004487T5 (de) 2019-09-23 2020-09-22 Erkennen von mutationsereignissen zum überwachen der integrität

Country Status (6)

Country Link
US (1) US11144418B2 (de)
JP (1) JP7455197B2 (de)
CN (1) CN114430824B (de)
DE (1) DE112020004487T5 (de)
GB (1) GB2602436B (de)
WO (1) WO2021059116A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210406368A1 (en) * 2020-06-30 2021-12-30 Microsoft Technology Licensing, Llc Deep learning-based analysis of signals for threat detection

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6986076B1 (en) 2002-05-28 2006-01-10 Unisys Corporation Proactive method for ensuring availability in a clustered system
US8589447B1 (en) * 2009-07-07 2013-11-19 Netapp, Inc. Efficient file system scan for shared data blocks
US9336061B2 (en) * 2012-01-14 2016-05-10 International Business Machines Corporation Integrated metering of service usage for hybrid clouds
US9817804B2 (en) * 2013-09-12 2017-11-14 Wix.Com Ltd. System for comparison and merging of versions in edited websites and interactive applications
US9852232B2 (en) * 2013-11-08 2017-12-26 International Business Machines Corporation Automating event trees using analytics
EP3561672B1 (de) 2015-04-07 2022-06-01 Huawei Technologies Co., Ltd. Verfahren und vorrichtung für auf einer mobilen vorrichtung basierenden clusterdatenverarbeitungsinfrastruktur
JP5933797B1 (ja) 2015-10-07 2016-06-15 株式会社ソリトンシステムズ ログ情報生成装置及びプログラム並びにログ情報抽出装置及びプログラム
US10140170B2 (en) * 2015-10-26 2018-11-27 International Business Machines Corporation Reporting errors to a data storage device
JP6680028B2 (ja) 2016-03-24 2020-04-15 日本電気株式会社 監視システム、監視方法および監視プログラム
US10503895B2 (en) 2017-04-11 2019-12-10 Red Hat, Inc. Runtime non-intrusive container security introspection and remediation
US10922205B2 (en) 2017-05-16 2021-02-16 Vmware, Inc. Monitoring applications running on containers
WO2019030763A1 (en) 2017-08-10 2019-02-14 Argus Cyber Security Ltd. SYSTEM AND METHOD FOR DETECTING THE OPERATION OF A COMPONENT CONNECTED TO AN ONBOARD NETWORK
US10546120B2 (en) 2017-09-25 2020-01-28 AO Kaspersky Lab System and method of forming a log in a virtual machine for conducting an antivirus scan of a file
US10445163B2 (en) 2017-09-28 2019-10-15 Paypal, Inc. Advanced computer system drift detection
US10810044B2 (en) 2018-01-04 2020-10-20 Hewlett Packard Enterprise Development Lp Enhanced cache memory allocation based on virtual node resources
CN108737215A (zh) 2018-05-29 2018-11-02 郑州云海信息技术有限公司 一种云数据中心Kubernetes集群容器健康检查的方法和装置
CN108848157A (zh) * 2018-06-12 2018-11-20 郑州云海信息技术有限公司 一种Kubernetes集群容器监控的方法和装置
CN108878157A (zh) 2018-06-22 2018-11-23 湖南耐普恩科技有限公司 一种超级电容器高温防爆装置
CN110262941B (zh) 2019-05-28 2023-06-16 深圳市汇川技术股份有限公司 应用程序容器集群报警实现方法、系统、设备及存储介质

Also Published As

Publication number Publication date
US20210089420A1 (en) 2021-03-25
CN114430824B (zh) 2023-06-16
JP2022549590A (ja) 2022-11-28
GB202204965D0 (en) 2022-05-18
GB2602436A (en) 2022-06-29
CN114430824A (zh) 2022-05-03
JP7455197B2 (ja) 2024-03-25
WO2021059116A1 (en) 2021-04-01
GB2602436B (en) 2022-12-14
US11144418B2 (en) 2021-10-12

Similar Documents

Publication Publication Date Title
DE112018004349T5 (de) Dynamische auswahl von bereitstellungskonfigurationen von softwareanwendungen
DE112018002984T5 (de) Konformitätsbewusste Laufzeiterzeugung auf Grundlage von Anwendungsmustern und Risikobeurteilung
DE112012002941T5 (de) Anwendungsressourcenverwalter über eine Cloud
DE112018005898T5 (de) Dynamische bereitstellung von software-funktionen
DE102016103713A1 (de) Erkennung virtueller Maschineneinheiten auf der Grundlage eines Katalogs
DE112020003825T5 (de) Entsprechung zwischen externen Operationen und Containern sowie Mutationsereignissen
DE102021130396A1 (de) Datenzugriffsüberwachung und -steuerung
DE112020005306T5 (de) Implementierung von arbeitslasten in einer multi-cloud-umgebung
DE112021005364T5 (de) Abwehr von gezielten datenbankangriffen durch dynamische generierung von honeypot-datenbankantworten
DE112021003402T5 (de) Blockchain-verwaltung von bereitstellungsfehlern
DE112020005526T5 (de) Reservieren eines oder mehrerer sicherheitsmodule für einen sicheren gast
DE112019002052T5 (de) Datenschutzsensibilisierung bei der bereitstellung von arbeitslasten
DE102014116744A1 (de) Management von Informationstechnologieressourcen
DE102021130942A1 (de) Mehrstufiger schutz für datenzentrierte objekte
DE112021001974T5 (de) Proaktives durchführen von aufgaben auf der grundlage eines schätzens vonhardwarerekonfigurationszeiten
DE102021122508A1 (de) Ausgleichen von grossrechner- und verteilten arbeitslasten auf der grundlage von leistung und kosten
DE112018004636T5 (de) Gleichzeitige änderung einer gemeinsam genutzten cachezeile durch mehrere prozessoren
DE112020004487T5 (de) Erkennen von mutationsereignissen zum überwachen der integrität
DE112020005326T5 (de) Erzeugen eines skalierungsplans für externe systeme während eines cloud-tenant-onboardings/offboardings
DE112019001493T5 (de) Ermitteln der abfrageerkennungsresilienz in virtuellen agentensystemen
DE112018002178T5 (de) Dateiübertragung in gemeinsam genutztem arbeitsspeicher
DE112018005283T5 (de) Deduplizierung für dateien in einem cloud-computing-speicher und in datenübertragungswerkzeugen
DE112022003126T5 (de) Zugreifen auf topologisches zuordnen von kernen
DE112021006167T5 (de) Automatische anpassung von datenzugriffsrichtlinien in der datenanalytik
DE112021005848T5 (de) Koordinieren von in einer skalierbaren anwendung umgesetzten anfragen

Legal Events

Date Code Title Description
R012 Request for examination validly filed