DE102021130396A1 - Datenzugriffsüberwachung und -steuerung - Google Patents

Datenzugriffsüberwachung und -steuerung Download PDF

Info

Publication number
DE102021130396A1
DE102021130396A1 DE102021130396.6A DE102021130396A DE102021130396A1 DE 102021130396 A1 DE102021130396 A1 DE 102021130396A1 DE 102021130396 A DE102021130396 A DE 102021130396A DE 102021130396 A1 DE102021130396 A1 DE 102021130396A1
Authority
DE
Germany
Prior art keywords
sensitive data
access
security system
sensitive
response
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
DE102021130396.6A
Other languages
English (en)
Inventor
Tania Butovsky
Leonid Rodniansky
Mikhail Shpak
Richard Ory Jerrell
Peter Maniatis
Shidong Shan
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 DE102021130396A1 publication Critical patent/DE102021130396A1/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/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • 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
    • 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/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • 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/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system

Abstract

Es wird ein Mechanismus zum Überwachen und Steuern von Datenzugriff bereitgestellt. in Reaktion auf Abfangen einer Antwort von einem Server auf eine Informationsanfrage von einer Client-Einheit wendet ein Sicherheitssystemagent einen Musterabgleich unter Verwendung eines vordefinierten Satzes von Regeln für sensible Datenmuster an, um mindestens einen in der Antwort enthaltenen Zugriff auf sensible Daten zu identifizieren. In Reaktion auf Identifizieren, dass der mindestens eine Zugriff auf sensible Daten mit einer oder mehreren des vordefinierten Satzes von Regeln für sensible Datenmuster übereinstimmt, modifiziert das Sicherheitssystem die Anfrage vom Client durch Markieren des mindestens einen Zugriffs auf sensible Daten als sensibel, wodurch eine modifizierte Anfrage gebildet wird. Der Sicherheitssystemagent sendet die modifizierte Anfrage an das Sicherheitssystem und veranlasst dadurch das Sicherheitssystem, die modifizierte Anfrage zu verarbeiten, ohne auf die sensiblen Daten zuzugreifen, die mit dem mindestens einen markierten Zugriff auf sensible Daten verbunden sind.

Description

  • HINTERGRUND
  • Die vorliegende Anmeldung betrifft allgemein eine verbesserte Datenverarbeitungsvorrichtung und ein Verfahren und insbesondere Mechanismen zum Überwachen und Steuern von Datenzugriff.
  • Bei Sicherheitsanalytik handelt es sich um den Prozess des Verwendens von Datensammlungs-, -aggregations- und -analyse-Tools für Sicherheitsüberwachung und Erkennung von Bedrohungen. Je nach Art der installierten Tools können Sicherheitsanalyselösungen große und unterschiedliche Datensätze in ihre Erkennungsalgorithmen einbeziehen. Sicherheitsanalysedaten können auf verschiedene Weise gesammelt werden, darunter von:
    • • Netzwerkverkehr
    • • Endpunkt- und Nutzerverhaltensdaten
    • • Cloud-Ressourcen
    • • Geschäftsanwendungen
    • • Nicht-IT-Kontext-Daten
    • • Identitäts- und Zugriffsverwaltungsdaten
    • • Externe Bedrohungsinformationsquellen
  • Zu den jüngsten technologischen Fortschritten in der Sicherheitsanalytik gehören adaptive Lernsysteme, die Erkennungsmodelle auf Grundlage von Erfahrungen und Erkenntnissen feinabstimmen, sowie Anomalieerkennungslogik. Diese Technologien akkumulieren und analysieren Echtzeitdaten, darunter:
    • • Asset-Metadaten
    • • Geografischer Standort
    • • Bedrohungsinformationen
    • • IP-Kontext
  • Diese Datenformen können dann sowohl für unmittelbare Reaktion auf Bedrohungen als auch für Ermittlungen verwendet werden.
  • KURZDARSTELLUNG
  • Diese Kurzdarstellung wird bereitgestellt, um in vereinfachter Form eine Auswahl von Konzepten vorzustellen, die nachstehend in der ausführlichen Beschreibung eingehender beschrieben werden. Diese Kurzdarstellung ist nicht dafür vorgesehen, Schlüsselfaktoren oder Wesensmerkmale des beanspruchten Gegenstands zu identifizieren, und ist auch nicht dafür vorgesehen, den Umfang des beanspruchten Gegenstands einzuschränken.
  • In einer veranschaulichenden Ausführungsform wird ein Verfahren in einem Datenverarbeitungssystem zum Überwachen und Steuern von Datenzugriff bereitgestellt. Die veranschaulichende Ausführungsform wendet durch einen Sicherheitssystemagenten, der in einem von einem Sicherheitssystem getrennten Server installiert ist, unter Verwendung eines vordefinierten Satzes von Regeln für sensible Datenmuster einen Musterabgleich an, um in Reaktion auf Abfangen einer Antwort von einem Server auf eine Informationsanfrage von einer Client-Einheit mindestens einen in der Antwort enthaltenen Zugriff auf sensible Daten zu identifizieren. In der veranschaulichenden Ausführungsform ermittelt der Sicherheitssystemagent, ob der mindestens eine Zugriff auf sensible Daten einer oder mehreren des vordefinierten Satzes von Regeln für sensible Datenmuster entspricht. In der veranschaulichenden Ausführungsform modifiziert der Sicherheitssystemagent die Anfrage des Clients, indem er den mindestens einen Zugriff auf sensible Daten als sensibel markiert, wodurch in Reaktion darauf, dass der mindestens eine Zugriff auf sensible Daten mit einer oder mehreren des vordefinierten Satzes von Regeln für sensible Datenmuster übereinstimmt, eine modifizierte Anfrage gebildet wird. In der veranschaulichenden Ausführungsform sendet der Sicherheitssystemagent die modifizierte Anfrage mit dem mindestens einen markierten Zugriff auf sensible Daten an das Sicherheitssystem, wodurch das Sicherheitssystem veranlasst wird, aufgrund des mindestens einen markierten Zugriffs auf sensible Daten in der modifizierten Anfrage die modifizierte Anfrage ohne Zugriff auf die dem mindestens einen markierten Zugriff auf sensible Daten zugehörigen sensiblen Daten zu verarbeiten.
  • In weiteren veranschaulichenden Ausführungsformen wird ein Computerprogrammprodukt bereitgestellt, das ein durch einen Computer verwendbares oder lesbares Medium mit einem computerlesbaren Programm aufweist. Das computerlesbare Programm veranlasst bei Ausführung auf einer Datenverarbeitungseinheit die Datenverarbeitungseinheit, verschiedene Arbeitsschritte sowie Kombinationen der vorstehend in Bezug auf die veranschaulichende Ausführungsform des Verfahrens umrissenen Arbeitsschritte durchzuführen.
  • In einer weiteren Ausführungsform wird ein System bzw. eine Vorrichtung bereitgestellt. Das System bzw. die Vorrichtung kann einen oder mehrere Prozessoren und einen mit den einen oder den mehreren Prozessoren verbundenen Arbeitsspeicher umfassen. Der Arbeitsspeicher kann Anweisungen aufweisen, die bei Ausführung durch den einen oder die mehreren Prozessoren den einen oder die mehreren Prozessoren veranlassen, verschiedene Arbeitsschritte sowie Kombinationen der vorstehend in Bezug auf die veranschaulichende Ausführungsform des Verfahrens umrissenen Arbeitsschritte durchzuführen.
  • Diese und weitere Merkmale und Vorteile der vorliegenden Erfindung werden in der nachfolgenden ausführlichen Beschreibung der beispielhaften Ausführungsformen der vorliegenden Erfindung beschrieben bzw. für den Fachmann vor deren Hintergrund ersichtlich.
  • Figurenliste
  • Die Erfindung sowie eine bevorzugte Verwendungsform und weitere Zielsetzungen und Vorteile werden am besten aus einer Bezugnahme auf die nachfolgende ausführliche Beschreibung veranschaulichender Ausführungsformen zusammen mit den begleitenden Zeichnungen ersichtlich, wobei:
    • 1 zeigt einen Cloud-Computing-Knoten gemäß einer Ausführungsform der vorliegenden Erfindung;
    • 2 zeigt eine Cloud-Computing-Umgebung gemäß einer Ausführungsform der vorliegenden Erfindung;
    • 3 zeigt Abstraktionsmodellschichten gemäß einer Ausführungsform der vorliegenden Erfindung;
    • 4 zeigt ein Beispiel für ein Funktionsblockschaubild eines Datenzugriffs-, Überwachungs- und Steuermechanismus gemäß einer veranschaulichenden Ausführungsform;
    • 5 zeigt ein Beispiel für die Interaktion zwischen einem Sicherheitssystem und einem Sicherheitssystemagenten gemäß einer veranschaulichenden Ausführungsform;
    • 6 zeigt einen Ablaufplan, der ein Beispiel für einen Vorgang veranschaulicht, der von einem Sicherheitssystemagenten beim Überwachen und Steuern von Datenzugriff gemäß einer veranschaulichenden Ausführungsform durchgeführt wird; und
    • 7 zeigt einen Ablaufplan, der ein Beispiel für einen Vorgang veranschaulicht, der durch ein Sicherheitssystem beim Überwachen und Steuern von Datenzugriff gemäß einer veranschaulichenden Ausführungsform durchgeführt wird.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Bei Sicherheitsanalytik handelt es sich um den Prozess des Verwendens von Datensammlungs-, -aggregations- und -analyse-Tools für Sicherheitsüberwachung und Erkennung von Bedrohungen. Sicherheitssysteme, die Datenanalyse auf Transportebene durchführen, können die Netzwerkpakete abfangen, die zwischen zwei Instanzen übertragen werden. Diese Interaktion erfolgt zwischen Instanzen, z.B. zwischen einem Client und einem Server. Verschlüsselungsalgorithmen machen die zwischen diesen beiden Instanzen übertragenen Informationen unlesbar, es sei denn, die Verschlüsselungsschlüssel werden kompromittiert oder der Verschlüsselungstyp ist veraltet oder fehlerhaft. Wenn jedoch vertrauliche Informationen über ein Netzwerk gesendet werden, um von einem Überwachungssystem verarbeitet und gespeichert zu werden, können solche vertraulichen Informationen im Sicherheitssystem gefährdet sein. Somit sehen die veranschaulichenden Ausführungsformen Mechanismen vor, die eine Identifizierung sensibler Daten durch einen Sicherheitssystemagenten implementieren, bevor Daten zur Verarbeitung an das Sicherheitssystem (Gerät) gesendet werden. Der Sicherheitssystemagent ist auf einem vom Sicherheitssystem überwachten Server installiert, beispielsweise einem Datenbankserver, einer Dienstplattform oder dergleichen.
  • Wenn ein Client derzeit eine Anfrage/Abfrage zur Verarbeitung an den Server sendet, kann die Anfrage auf sensible Daten wie Sozialversicherungsnummern, Kreditkarten, Patientendaten, Geokoordinaten oder dergleichen zugreifen, die vom Server abgerufen werden. Aktuelle Sicherheitssystemagenten fangen die Antwort an den Client ab, die die ursprüngliche Anfrage und die abgerufenen Daten enthält, und senden die ursprüngliche Anfrage und die abgerufenen Daten über ein Netzwerk zur Verarbeitung an das Sicherheitssystem. Bestehende Verfahren zum Verarbeiten von Sicherheitsrichtlinien in Bezug auf die abgerufenen Daten sind im Sicherheitssystem implementiert. Solche sensiblen Daten sind jedoch für Verarbeitung durch das Sicherheitssystem nicht relevant, und daher erzeugen die Mechanismen der veranschaulichenden Ausführungsformen eine zusätzliche Sicherheitsschicht, die gewährleistet, dass ein Risiko, dass die sensiblen Daten kompromittiert oder von jemandem ohne entsprechende Berechtigungen eingesehen werden, verringert wird. Das heißt, die veranschaulichenden Ausführungsformen sehen Mechanismen vor, die Zugriff auf sensible Daten auf dem Server identifizieren, bevor diese an das Sicherheitssystem gesendet werden. In einer Ausführungsform wird der Zugriff auf die sensiblen Daten durch den Sicherheitssystemagenten in der ursprünglichen Anfrage identifiziert und es werden keine sensiblen Daten an das Sicherheitssystem übertragen. Zusätzlich nutzt das Sicherheitssystem die Identifizierung von Zugriff auf die sensiblen Daten, die in der Antwort identifiziert werden, um Datenzugriffsverletzungen zu erkennen. In einer Ausführungsform kann ein Modell für maschinelles Lernen verwendet werden, um Objekte in der modifizierten Anfrage, die an das Sicherheitssystem gesendet wird, als „sicherheitsrelevant“ zu identifizieren und sie somit in eine Liste sensibler Objekte aufzunehmen.
  • Bevor die verschiedenen Aspekte der veranschaulichenden Ausführungsformen und die von den veranschaulichenden Ausführungsformen durchgeführten verbesserten Computeroperationen ausführlicher behandelt werden, ist zunächst zu beachten, dass in der gesamten Beschreibung die Bezeichnung „Mechanismus“ verwendet wird, um Elemente der vorliegenden Erfindung zu bezeichnen, die verschiedene Vorgänge/Arbeitsschritte, Funktionen und dergleichen ausführen. Bei einem „Mechanismus“ kann es sich gemäß der Verwendung der Bezeichnung vorliegend um eine Implementierung der Funktionen oder Aspekte der veranschaulichenden Ausführungsformen in Form einer Vorrichtung, einer Prozedur oder eines Computerprogrammprodukts handeln. Im Falle einer Prozedur wird die Prozedur durch eine oder mehrere Einheiten, Vorrichtungen, Computer, Datenverarbeitungssysteme oder dergleichen implementiert. Im Falle eines Computerprogrammprodukts wird die Logik, welche durch Computercode oder in oder auf dem Computerprogrammprodukt enthaltene Anweisungen dargestellt wird, durch eine oder mehrere Hardware-Einheiten ausgeführt, um die Funktionalität zu implementieren oder die Arbeitsschritte durchzuführen, die zu dem bestimmten „Mechanismus“ gehören. Somit können die vorliegend beschriebenen Mechanismen als spezialisierte Hardware, als Software, die auf Hardware ausgeführt wird, um die Hardware so zu konfigurieren, dass sie die spezialisierte Funktionalität der vorliegenden Erfindung implementiert, die die Hardware sonst nicht ausführen könnte, als Softwareanweisungen, die so auf einem Medium gespeichert sind, dass die Anweisungen leicht durch Hardware ausführbar sind, um die Hardware insbesondere so zu konfigurieren, dass sie die vorliegend beschriebene Funktionalität und die konkreten Computeroperationen durchführt, als Prozedur oder Verfahren zum Ausführen der Funktionen, oder als Kombination beliebiger der vorstehend Genannten implementiert werden.
  • Die vorliegende Beschreibung und die Ansprüche können in Bezug auf bestimmte Merkmale und Elemente der veranschaulichenden Ausführungsformen die Ausdrücke „ein/e“, „mindestens eine/r/s von“ und „ein/e oder mehrere“ verwenden. Es ist zu beachten, dass diese Ausdrücke und Formulierungen anzeigen sollen, dass von dem bestimmten Merkmal oder Element mindestens eines in der jeweiligen veranschaulichenden Ausführungsform vorhanden ist, dass jedoch auch mehr als eines vorhanden sein kann. Das heißt, diese Ausdrücke/Formulierungen sollen die Beschreibung oder die Ansprüche nicht dahingehend einschränken, dass nur ein einziges Merkmal/Element vorhanden ist oder dass zwingend mehrere solche Merkmale/Elemente vorhanden sind. Im Gegenteil erfordern diese Ausdrücke/Formulierungen lediglich mindestens ein einziges Merkmal/Element, wobei im Umfang der Beschreibung und der Ansprüche auch die Möglichkeit mehrerer solcher Merkmale/Elemente umfasst ist.
  • Darüber hinaus ist zu beachten, dass die Verwendung der Bezeichnung „Engine“, soweit sie vorliegend zur Beschreibung von Ausführungsformen und Merkmalen der Erfindung verwendet wird, keine Einschränkung auf eine bestimmte Implementierung zum Erreichen und/oder Durchführen der Aktionen, Schritte, Prozesse usw. darstellen soll, die der Engine zuschreibbar sind und/oder von dieser durchgeführt werden. Bei einer Engine kann es sich, ohne jedoch hierauf eingeschränkt zu sein, um Software, Hardware und/oder Firmware oder eine beliebige Kombination aus diesen handeln, welche die angegebenen Funktionen ausführt, darunter, ohne jedoch hierauf eingeschränkt zu sein, jegliche Verwendung eines Universal- und/oder Spezialprozessors in Kombination mit geeigneter Software, die in einem maschinenlesbaren Speicher geladen oder gespeichert und von dem Prozessor ausgeführt wird. Ferner dient ein einer bestimmten Engine zugehöriger Name, soweit nicht anders angegeben, lediglich einer vereinfachten Bezugnahme und soll keine Einschränkung auf eine bestimmte Implementierung darstellen. Zudem kann jedwede einer Engine zugeschriebene Funktionalität ebenso von mehreren Engines ausgeführt werden, in die Funktionalität einer anderen Engine der gleichen oder einer anderen Art eingebunden oder mit dieser kombiniert werden oder auf eine oder mehrere Engines unterschiedlicher Konfiguration verteilt werden.
  • Zudem ist zu beachten, dass die nachfolgende Beschreibung eine Vielzahl verschiedener Beispiele für verschiedene Elemente der veranschaulichenden Ausführungsformen verwendet, um beispielhafte Implementierungen der veranschaulichenden Ausführungsformen näher zu veranschaulichen und das Verständnis der Mechanismen der veranschaulichenden Ausführungsformen zu erleichtern. Diese Beispiele sind als nicht einschränkend zu verstehen und sind hinsichtlich der verschiedenen Möglichkeiten zum Implementieren der Mechanismen der veranschaulichenden Ausführungsformen nicht abschließend. Ein Fachmann versteht vor dem Hintergrund der vorliegenden Beschreibung, dass viele weitere alternative Implementierungen für diese verschiedenen Elemente existieren, die zusätzlich zu den oder anstelle der vorliegend angegebenen Beispiele verwendet werden können, ohne vom Grundgedanken und Umfang der vorliegenden Erfindung abzuweichen.
  • Die veranschaulichenden Ausführungsformen können somit in vielen verschiedenen Arten von Datenverarbeitungsumgebungen verwendet werden. Um einen Kontext für die Beschreibung der konkreten Elemente und Funktionalität der veranschaulichenden Ausführungsformen bereitzustellen, werden die 1 bis 3 nachfolgend als beispielhafte Umgebungen angegeben, in denen Aspekte der veranschaulichenden Ausführungsformen implementiert werden können. Es ist zu beachten, dass die 1 bis 3 lediglich Beispiele sind und keinerlei Einschränkung hinsichtlich der Umgebungen festlegen oder mit sich bringen, in denen Aspekte oder Ausführungsformen der vorliegenden Erfindung implementiert werden können. An den gezeigten Umgebungen können viele Modifikationen vorgenommen werden, ohne vom Grundgedanken und Umfang der vorliegenden Erfindung abzuweichen.
  • Es wird vorab angemerkt, dass, auch wenn diese Offenbarung eine ausführliche Beschreibung über Cloud-Computing enthält, Umsetzungen der hierin dargelegten Lehre nicht auf eine Cloud-Computing-Umgebung begrenzt sind. Stattdessen können Ausführungsformen der vorliegenden Erfindung gemeinsam mit jeder beliebigen Art von jetzt bekannter oder später erfundener Datenverarbeitungsumgebung implementiert werden.
  • Cloud-Computing ist ein Dienstbereitstellungsmodell zum Ermöglichen eines problemlosen bedarfsgesteuerten Netzwerkzugriffs auf einen gemeinsam genutzten Pool von konfigurierbaren Datenverarbeitungsressourcen (z.B. Netzwerke, Netzwerkbandbreite, Server, Verarbeitung, Hauptspeicher, Speicher, Anwendungen, virtuelle Maschinen und Dienste), 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 enthalten, mindestens drei Dienstmodelle und mindestens vier Implementierungsmodelle.
  • Bei den Eigenschaften handelt es sich um die Folgenden:
    • On-Demand Self-Service: Ein Cloud-Nutzer kann einseitig automatisch nach Bedarf für Datenverarbeitungsfunktionen wie Serverzeit und Netzwerkspeicher sorgen, ohne dass eine menschliche Interaktion mit dem Anbieter des Dienstes erforderlich ist.
    • Broad Network Access: Es sind Funktionen über ein Netzwerk verfügbar, auf die durch Standardmechanismen zugegriffen wird, welche die Verwendung durch heterogene Thin- oder Thick-Client-Plattformen (z.B. Mobiltelefone, Laptops und PDAs) unterstützen.
    • Resource-Pooling: Die Datenverarbeitungsressourcen des Anbieters werden zusammengeschlossen, um mehreren Nutzern unter Verwendung eines Multi-Tenant-Modells 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: 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: 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 geschaffen wird.
  • Bei den Dienstmodellen handelt es sich um die Folgenden:
    • Software as a Service (SaaS): Die dem Nutzer bereitgestellte Funktion besteht darin, die in einer Cloud-Infrastruktur laufenden Anwendungen des Anbieters zu verwenden. Die Anwendungen sind über eine Thin-Client-Schnittstelle wie einen Web-Browser (z.B. auf dem Web beruhende E-Mail) von verschiedenen Client-Einheiten her 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 Anwendungskonfigurationseinstellungen.
    • Platform as a Service (PaaS): 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 Tools 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 des Application Hosting Environment.
    • Infrastructure as a Service (laaS): Die dem Nutzer bereitgestellte Funktion besteht darin, das 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).
  • Bei den Einsatzmodellen handelt es sich um die Folgenden:
    • 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: Die Cloud-Infrastruktur wird von mehreren Organisationen gemeinsam genutzt und unterstützt eine spezielle Benutzergemeinschaft, die gemeinsame Angelegenheiten hat (z.B. Mission, Sicherheitsanforderungen, Richtlinien sowie Überlegungen bezüglich der Einhaltung von Vorschriften). Sie kann durch die Organisationen oder einen Dritten verwaltet werden und kann in den eigenen Räumen oder fremden Räumen stehen.
    • Public Cloud: Die Cloud-Infrastruktur wird der allgemeinen Öffentlichkeit oder einer großen Industriegruppe zur Verfügung gestellt und sie gehört einer Cloud-Dienste verkaufenden Organisation.
    • Hybrid Cloud: Die Cloud-Infrastruktur ist eine Zusammensetzung aus zwei oder mehreren Clouds (privat, Benutzergemeinschaft oder öffentlich), die zwar einzelne Einheiten bleiben, aber durch eine standardisierte oder proprietäre Technologie miteinander verbunden sind, die Daten- und Anwendungsportierbarkeit ermöglicht (z.B. Cloud-Zielgruppenverteilung für den Lastenausgleich zwischen Clouds).
  • Eine Cloud-Computing-Umgebung ist dienstorientiert mit Fokus auf Statusunabhängigkeit, geringer Kopplung, Modularität und semantischer Interoperabilität. Im Zentrum des Cloud-Computing steht eine Infrastruktur, die ein Netzwerk aus untereinander verbundenen Knoten aufweist.
  • In 1 ist ein Blockschaltbild eines Beispiels eines Cloud-Computing-Knotens gezeigt. Bei dem Cloud-Computing-Knoten 100 handelt es sich lediglich um ein Beispiel eines geeigneten Cloud-Computing-Knotens, und dieses soll in keiner Weise eine Eingrenzung bezüglich des Verwendungs- oder Funktionalitätsumfangs von Ausführungsformen der hier beschriebenen Erfindung andeuten. Unabhängig davon kann der Cloud-Computing-Knoten 10 für jedwede vorstehend angegebene Funktionalität realisiert werden und/oder diese ausführen.
  • Im Cloud-Computing-Knoten 100 ist ein Computersystem/Server 102 vorhanden, welches/r zusammen mit zahlreichen weiteren Universal- oder Spezial-Datenverarbeitungssystem-Umgebungen oder-Konfigurationen betriebsfähig ist. Zu Beispielen bekannter Datenverarbeitungssysteme, -umgebungen und/oder -konfigurationen, die sich für die Verwendung mit dem Computersystem/Server 102 eignen können, zählen, ohne hierauf beschränkt zu sein, Personal-Computer-Systeme, Servercomputersysteme, Thin Clients, Thick Clients, tragbare oder Laptop-Einheiten, Multiprozessorsysteme, Systeme aus Mikroprozessoren, Set-Top-Boxen, programmierbare Consumer-Elektronik, Netzwerk-PCs, Minicomputer-Systeme, Großrechnersysteme und verteilte Cloud-Computing-Umgebungen, die jedwede der vorstehend genannten Systeme oder Einheiten umfassen, und dergleichen.
  • Computersystem/Server 102 kann im allgemeinen Kontext durch ein Computersystem ausführbarer Anweisungen beschrieben werden, beispielsweise Programmmodule, die durch ein Computersystem ausgeführt werden. Allgemein enthalten Programmmodule Routinen, Programme, Objekte, Komponenten, Logik, Datenstrukturen und so weiter, die bestimmte Aufgaben erfüllen oder bestimmte abstrakte Datentypen implementieren. Computersystem/Server 102 können in verteilten Cloud-Computing-Umgebungen betrieben werden, in denen Aufgaben durch entfernt angeordnete Verarbeitungseinheiten ausgeführt werden, die durch ein Kommunikationsnetzwerk verbunden sind. In einer verteilten Cloud-Computing-Umgebung können sich Programmmodule sowohl in lokalen als auch in entfernt angeordneten Speichermedien des Computersystems einschließlich Kurzzeit-Speichereinheiten befinden.
  • Wie in 1 gezeigt, wird Computersystem/Server 102 in dem Cloud-Computing-Knoten 100 in Form einer Universal-Datenverarbeitungseinheit gezeigt. Zu den Komponenten des Computersystems/Servers 102 können, ohne jedoch hierauf eingeschränkt zu sein, ein oder mehrere Prozessoren oder Verarbeitungseinheiten 104, ein Systemspeicher 106 und ein Bus 108 zählen, der verschiedene Systemkomponenten einschließlich des Systemspeichers 106 mit einem Prozessor 104 verbindet.
  • Der Bus 108 stellt eine oder mehrere von verschiedenen Arten von Bus-Strukturen dar, darunter ein Speicherbus oder eine Speichersteuereinheit, ein Peripherie-Bus, ein AGP-Bus und ein Prozessor- oder lokaler Bus, der jedwede einer Vielfalt von Busarchitekturen verwendet. Als nicht einschränkende Beispiele gehören zu solchen Architekturen der ISA- (Industry-Standard-Architecture-) Bus, der Mikrokanal- (Micro-Channel-Architecture, MCA-) Bus, der EISA- (Enhanced-ISA-) Bus, VESA- (Video-Electronics-Standards-Association-) Localbus und der PCI- (Peripheral-Component-Interconnect-) Bus.
  • Computersystem/Server 102 umfasst üblicherweise eine Vielfalt durch ein Computersystem lesbarer Medien. Bei solchen Medien kann es sich um jedwedes verfügbare Medium handeln, auf das von dem Computersystem/Server 102 zugegriffen werden kann, und dazu zählen sowohl flüchtige als auch nichtflüchtige Medien, entfernbare sowie nicht entfernbare Medien.
  • Der Systemspeicher 106 kann durch ein Computersystem lesbare Medien in Form eines flüchtigen Speichers wie beispielsweise Arbeitsspeicher (RAM) 110 und/oder Cache 112 umfassen. Computersystem/Server 102 kann ferner weitere auswechselbare/nicht auswechselbare, flüchtige/nichtflüchtige Speichermedien des Computersystems umfassen. Lediglich beispielhaft kann das Speichersystem 114 zum Lesen von einem sowie Schreiben auf ein nicht entfernbares nichtflüchtiges magnetisches Medium (nicht gezeigt und üblicherweise als „Festplattenspeicher“ bezeichnet) bereitgestellt sein. Auch wenn dies nicht gezeigt ist, können ein Magnetplattenlaufwerk zum Lesen von einer und Schreiben auf eine auswechselbare, nichtflüchtige Magnetplatte (z.B. eine „Floppy Disk“) und ein optisches Plattenlaufwerk zum Lesen von einer oder Schreiben auf eine auswechselbare, nichtflüchtige optische Platte wie beispielsweise einen CD-ROM, DVD-ROM oder andere optische Medien bereitgestellt sein. In solchen Fällen kann jedes der Genannten über eine oder mehrere Daten-Medien-Schnittstellen mit dem Bus 108 verbunden sein. Wie nachstehend weiter dargestellt und beschrieben wird, kann der Speicher 106 mindestens ein Programmprodukt mit einer Gruppe (z.B. mindestens einem) von Programmmodulen umfassen, die so konfiguriert sind, dass sie die Funktionen von Ausführungsformen der Erfindung ausführen.
  • Als nicht einschränkendes Beispiel können in dem Speicher 106 ein Programm/Dienstprogramm 116 mit einer Gruppe (mindestens einem) von Programmmodulen 118 sowie ein Betriebssystem, ein oder mehrere Anwendungsprogramme, weitere Programmmodule und Programmdaten gespeichert sein. Das Betriebssystem, ein oder mehrere Anwendungsprogramme, andere Programmmodule und Programmdaten oder eine Kombination aus diesen können jeweils eine Implementierung einer Netzwerkumgebung enthalten. Allgemein führen die Programmmodule 42 die Funktionen und/oder Methodiken aus Ausführungsformen der Erfindung wie vorliegend beschrieben aus.
  • Computersystem/Server 102 kann zudem mit einer oder mehreren externen Einheiten 120 wie beispielsweise einer Tastatur, einer Zeigeeinheit, einer Anzeige 122 usw., einer oder mehreren Einheiten, die einem Nutzer eine Interaktion mit dem Computersystem/Server 102 ermöglichen, und/oder jedweden Einheiten (z.B. Netzwerkkarte, Modem usw.) in Datenaustausch stehen, die dem Computersystem/Server 102 einen Datenaustausch mit einer oder mehreren anderen Datenverarbeitungseinheiten ermöglichen. Ein solcher Datenaustausch kann über Ein/Ausgabe- (E/A-) Schnittstellen 124 erfolgen. Dennoch kann Computersystem/Server 102 über einen Netzwerkadapter 126 in Datenaustausch mit einem oder mehreren Netzwerken wie beispielsweise einem lokalen Netz (LAN), einem allgemeinen Weitverkehrsnetz (WAN) und/oder einem öffentlichen Netz (z.B. dem Internet) stehen. Wie dargestellt, tauscht der Netzwerkadapter 126 über den Bus 108 Daten mit den anderen Komponenten des Computersystems/Servers 102 aus. Es sei angemerkt, dass, auch wenn dies nicht gezeigt ist, andere Hardware- und/oder Software-Komponenten zusammen mit dem Computersystem/Server 102 verwendet werden könnten. Zu Beispielen zählen, ohne auf diese beschränkt zu sein: Mikrocode, Gerätetreiber, redundante Verarbeitungseinheiten, externe Plattenlaufwerk-Arrays, RAID-Systeme, Bandlaufwerke und Speichersysteme zur Datenarchivierung usw.
  • In 2 ist eine veranschaulichende Cloud-Computing-Umgebung 200 abgebildet. Wie gezeigt, weist die Cloud-Computing-Umgebung 200 einen oder mehrere Cloud-Computing-Knoten 202 auf, mit denen von Cloud-Kunden genutzte lokale Datenverarbeitungseinheiten wie beispielsweise ein persönlicher digitaler Assistent (PDA) oder Mobiltelefon 204, Desktop-Computer 206, Laptop-Computer 208 und/oder Kraftfahrzeug-Computersystem 210 Daten austauschen können. Die Cloud-Computing-Knoten 202 können miteinander Daten austauschen. Sie können physisch oder virtuell in ein oder mehrere Netzwerke wie private, Benutzergemeinschafts-, öffentliche oder hybride Clouds gruppiert werden (nicht gezeigt), wie vorstehend beschrieben wurde, oder in eine Kombination daraus. Dies ermöglicht es der Cloud-Computing-Umgebung 200, Infrastruktur, Plattformen und/oder Software als Dienste anzubieten, für die ein Cloud-Nutzer keine Ressourcen auf einer lokalen Datenverarbeitungseinheit vorhalten muss. Es sei darauf hingewiesen, dass die Arten von in 2 gezeigten Datenverarbeitungseinheiten 204-210 lediglich veranschaulichend sein sollen und dass die Datenverarbeitungsknoten 202 und die Cloud-Computing-Umgebung 200 über eine beliebige Art Netzwerk und/oder über eine beliebige Art von über ein Netzwerk aufrufbarer Verbindung (z.B. unter Verwendung eines Web-Browsers) mit einer beliebigen Art von computergestützter Einheit Daten austauschen können.
  • 3 zeigt eine Gruppe von durch eine Cloud-Computing-Umgebung wie die Cloud-Computing-Umgebung 200 aus 2 bereitgestellten funktionellen Abstraktionsschichten. Es sei vorab angemerkt, dass die in 3 gezeigten Komponenten, Schichten und Funktionen als lediglich veranschaulichend zu verstehen sind und Ausführungsformen der Erfindung hierauf nicht beschränkt sind. Wie abgebildet ist, werden die folgenden Schichten und entsprechenden Funktionen bereitgestellt:
  • Eine Hardware- und Software-Schicht 302 enthält Hardware- und Software-Komponenten. Zu Beispielen für Hardware-Komponenten zählen Großrechner, in einem Beispiel zSeries®-Systeme von IBM®, Server mit RISC- (Reduced Instruction Set Computer, Computer mit reduziertem Befehlssatz) Architektur, in einem Beispiel pSeries®-Systeme von IBM, xSeries®-Systeme von IBM, BladeCenter®-Systeme von IBM, Speichereinheiten, Netzwerke und Vernetzungskomponenten. Zu Beispielen für Software-Komponenten zählen Netzwerk-Anwendungsserversoftware, in einem Beispiel die Anwendungsserversoftware WebSphere® von IBM, und Datenbank-Software, in einem Beispiel die Datenbank-Software DB2® von IBM. (IBM, zSeries, pSeries, xSeries, BladeCenter, WebSphere und DB2 sind in vielen Rechtssystemen weltweit eingetragene Marken der International Business Machines Corporation.)
  • Die Virtualisierungsschicht 304 stellt eine Abstraktionsschicht bereit, von der aus folgende Beispiele virtueller Einheiten bereitgestellt werden können: virtuelle Server, virtueller Speicher, virtuelle Netzwerke, einschließlich virtueller privater Netzwerke, virtuelle Anwendungen und Betriebssysteme und virtuelle Clients.
  • In einem Beispiel kann die Verwaltungsschicht 306 die nachstehend beschriebenen Funktionen bereitstellen. Ressourcenbereitstellung stellt dynamische Beschaffung von Datenverarbeitungsressourcen und anderen Ressourcen bereit, die verwendet werden, um innerhalb der Cloud-Computing-Umgebung Aufgaben auszuführen. Messung und Preisermittlung stellen Kostenüberwachung für innerhalb der Cloud-Computing-Umgebung genutzte Ressourcen sowie Abrechnung und Rechnungsstellung für die Inanspruchnahme dieser Ressourcen bereit. In einem Beispiel können diese Ressourcen Anwendungs-Software-Lizenzen aufweisen. Die Sicherheit stellt die Identitätsüberprüfung für Cloud-Kunden und Aufgaben sowie Schutz für Daten und andere Ressourcen bereit. Ein Nutzerportal stellt Zugang zur Cloud-Computing-Umgebung für Kunden und Systemadministratoren bereit. Dienstgüte-Verwaltung stellt eine Zuteilung und Verwaltung von Cloud-Computing-Ressourcen derart bereit, dass erforderliche Dienstgüten erfüllt werden. Planung und Umsetzung von Dienstgüte-Agreements (SLA) stellen eine Vorbereitung und Beschaffung von Cloud-Computing-Ressourcen, für die mit einem künftigen Bedarf gerechnet wird, gemäß einem SLA bereit.
  • Eine Workload-Schicht 308 stellt Beispiele für die Funktionalität bereit, für welche die Cloud-Computing-Umgebung verwendet werden kann. Zu Beispielen für Workloads und Funktionen, die von dieser Schicht bereitgestellt werden können, gehören: Abbildung und Navigation; Software-Entwicklung und Lebenszyklusverwaltung; Bereitstellung von Ausbildung in virtuellen Klassenzimmern; Datenanalytikverarbeitung; Transaktionsverarbeitung; und Sicherheitssystemagent. Gemäß den veranschaulichenden Ausführungsformen überwacht der Sicherheitssystemagent, der in der veranschaulichenden Cloud-Computing-Umgebung oder in einer beliebigen anderen Art derzeit bekannter oder künftig entwickelter Datenverarbeitungsumgebungen implementiert werden kann, Zugriffe auf hochsensible Informationen. Das heißt, ein Client stellt einem Sicherheitssystem einen vordefinierten Satz von Regeln für sensible Datenmuster bereit. Beim Start ermittelt das Sicherheitssystem, ob auf einem Datenbankserver, einer Dienstplattform oder dergleichen (im Folgenden schlicht als Server bezeichnet), auf die der Client zugreift, ein Sicherheitssystemagent vorhanden ist. Ist dies der Fall, sendet das Sicherheitssystem den vordefinierten Satz von Regeln für sensible Datenmuster an den Sicherheitssystemagenten auf dem Server.
  • Wenn der Client anschließend eine Informationsanfrage sendet, die mehrere verschiedene Zugriffe aufweisen kann und vom Server empfangen wird, ruft der Server die mit jedem Zugriff verbundenen Daten ab und erzeugt eine Antwort, die jeden Zugriff und die mit jedem Zugriff verbundenen abgerufenen Daten enthält, wobei die mit einem jeweiligen Zugriff verbundenen abgerufenen Daten entweder sensibler oder nichtsensibler Natur sein können. Bevor die Antwort an den Client zurückgesendet wird, fängt ein auf dem Server arbeitender Sicherheitssystemagent die Antwort ab und wendet unter Verwendung des vordefinierten Satzes von Regeln für sensible Datenmuster einen Musterabgleich an, um alle in der Antwort enthaltenen sensiblen Daten zu identifizieren, die mit dem vordefinierten Satz von Regeln für sensible Datenmuster übereinstimmen, wie beispielsweise Kreditkartennummern, Sozialversicherungsnummern, Passwörter, Patientendaten, Koordinaten geografischer Standorte oder dergleichen. Gemäß den veranschaulichenden Ausführungsformen ist der Sicherheitssystemagent im Kernel des Server-Betriebssystems installiert. Beim Anwenden des Musterabgleichs modifiziert der Sicherheitssystemagent die ursprüngliche Anfrage des Client, bevor die ursprüngliche Anfrage an das Sicherheitssystem weitergeleitet wird, wobei, wenn der Sicherheitssystemagent sensible Daten identifiziert, die mit einer oder mehreren der vordefinierten Regeln für sensible Datenmuster übereinstimmen, der Sicherheitssystemagent den Zugriff, der auf die sensiblen Daten in der ursprünglichen Anfrage zugegriffen hat, als sensibel markiert. Der Sicherheitssystemagent lässt dann zu, dass die ursprüngliche, vom Server erzeugte Antwort, die jeden Zugriff und zu jedem Zugriff gehörige abgerufene Daten enthält, an den Client zurückgesendet wird, und leitet die modifizierte Anfrage mit markierten Zugriffen, die mit Zugriffen auf sensible Daten verbunden sind, und nicht markierten Zugriffen, die mit Zugriffen auf nichtsensible Daten verbunden sind, an das Sicherheitssystem weiter. Somit identifiziert der Sicherheitssystemagent gemäß den veranschaulichenden Ausführungsformen Zugriffe auf sensible Daten und markiert den Zugriff in der modifizierten Anfrage als Zugriff auf sensible Informationen.
  • Wenn das Sicherheitssystem die vom Sicherheitssystemagenten gesendete modifizierte Anfrage empfängt, erkennt das Sicherheitssystem die modifizierte Anfrage aufgrund der Identifizierung markierter Zugriffe als sicherheitsrelevant an. Das Sicherheitssystem verarbeitet dann die modifizierte Anfrage ohne Zugriff auf sensible Daten. Das heißt, das Sicherheitssystem parst die Objekte in jedem Zugriff unter Verwendung eines Filters, der Markierungen des Sicherheitssystemagenten identifiziert, und verarbeitet jeden Zugriff. Ferner parst das Sicherheitssystem im Hinblick auf markierte Objekte jedes Objekt, das mit einem Zugriff verbunden ist, der vom Sicherheitssystemagenten als Zugriff auf sensible Daten markiert wurde. Das Sicherheitssystem extrahiert das Objekt und fügt es einer Liste sensibler Objekte als ein Objekt hinzu, das sensible Daten aufweist.
  • Auch wenn in diesem Beispiel die Hinzufügung des Objekts zur Liste sensibler Objekte direkt erfolgt, werden nicht alle als sensibel identifizierten Objekte sofort zur Liste sensibler Objekte hinzugefügt. Das heißt, um das vorherige Beispiel fortzusetzen, werden zwei zusätzliche Anfragen empfangen, wobei die erste Anfrage über einen kombinierten Satz von Objekten verfügt, der ein erstes Objekt enthält, das bereits als sensibel markiert wurde, und ein zweites Objekt, das als sensibel markiert ist, weil es mit dem ersten Objekt kombiniert ist, und wobei die zweite Anfrage ein Objekt enthält, das mit dem zweiten Objekt der ersten Anfrage übereinstimmt und vom Sicherheitssystemagenten nicht als sensibel markiert ist. In der ersten der beiden zusätzlichen Anfragen wird das zweite Objekt jedoch nur deshalb als sensibel identifiziert, weil das zweite Objekt mit dem ersten Objekt, das als sensibel bekannt war, verbunden ist, was zu einem falsch positiven Ergebnis bei einem nichtsensiblen Objekt führt. Beispielsweise durch Methoden des maschinellen Lernens, Regelroutinenanwendungen oder dergleichen identifiziert das Sicherheitssystem Anfrageobjekte, die falsch positiv sind, wie das zweite Objekt in der zweiten der beiden zusätzlichen Anfragen, da das zweite Objekt vom Sicherheitssystemagenten nicht als sensibel markiert wurde. Somit würde das Sicherheitssystem solche Objekte herausfiltern, die fälschlicherweise als sensibel identifiziert werden, nur weil sie mit einem anderen als sensibel identifizierten Objekt verbunden sind. Nachdem das Sicherheitssystem alle „falsch Positiven“ herausgefiltert hat, werden alle verbleibenden sicherheitsrelevanten Objekte, die sich noch nicht in der Liste der sensiblen Objekte befinden, in die Liste sensibler Objekte aufgenommen, die anschließend vom Sicherheitssystem als Kriterien zum Implementieren einer oder mehrerer Sicherheitsrichtlinien verwendet werden.
  • Ein Fachmann versteht, dass die Hardware in den 1-3 abhängig von der Implementierung variieren kann. Zusätzlich zu oder anstelle der in den 1 und 3 gezeigten Hardware können weitere interne Hardware- oder Peripherieeinheiten wie beispielsweise ein Flashspeicher, gleichwertiger nichtflüchtiger Speicher oder optische Plattenlaufwerke und dergleichen verwendet werden. Zudem können die Prozesse der veranschaulichenden Ausführungsformen auf ein anderes Multiprozessor-Datenverarbeitungssystem als das vorstehend genannte SMP-System angewendet werden, ohne vom Grundgedanken und Umfang der vorliegenden Erfindung abzuweichen.
  • 4 zeigt ein Beispiel für ein Funktionsblockschaubild eines Datenzugriffs-, Überwachungs- und Steuermechanismus gemäß einer veranschaulichenden Ausführungsform. Das Datenverarbeitungssystem 400 weist einen Server 402 auf, der auf das Sicherheitssystem 404 zugreift, um Informationen in Form von Analysen, Berichten, Warnungen oder dergleichen zu beziehen. Wie bereits erwähnt, können der Server 402 und das Sicherheitssystem 404 in einer Cloud-Computing-Umgebung wie beispielsweise der Cloud-Computing-Umgebung 200 aus 2 oder in einer beliebigen anderen derzeit bekannten oder künftig entwickelten Art von Datenverarbeitungsumgebung implementiert werden. Zu Beginn richtet der Kunde 406 ein Konto beim Sicherheitssystem 404 ein, wobei der Kunde 406 einen vordefinierten Satz von Regeln 408 für sensible Datenmuster an ein Sicherheitssystem 404 bereitstellt. Dann ermittelt der Sicherheitsmechanismus 404 beim Systemstart, ob der Sicherheitssystemagent 410 auf dem Server 402 vorhanden ist. Ist dies der Fall, sendet das Sicherheitssystem 404 den vordefinierten Satz von Regeln 408 für sensible Datenmuster an den Sicherheitssystemagenten 410 auf dem Server 402.
  • Wenn der Client 406 anschließend eine Informationsanfrage an den Server 402 sendet, die mehrere verschiedene Zugriffe aufweisen kann, ruft der Server 402die mit jedem Zugriff verbundenen Daten ab und erzeugt eine Antwort, die jeden Zugriff und mit jedem Zugriff verbundene abgerufene Daten enthält, wobei die mit einem jeweiligen Zugriff verbundenen abgerufenen Daten entweder sensibler oder nicht sensibler Natur sein können. Bevor die vom Server 402 erzeugte Antwort an den Client 406 zurückgesendet wird, wendet der Sicherheitssystemagent 410 unter Verwendung des vordefinierten Satzes von Regeln 408 für sensible Datenmuster einen Musterabgleich an, um alle in der Antwort enthaltenen sensiblen Daten zu identifizieren, die mit dem vordefinierten Satz von Regeln 408 für sensible Datenmuster übereinstimmen, wie beispielsweise Kreditkartennummern, Sozialversicherungsnummern, Passwörter, Patientendaten, Koordinaten geografischer Standorte oder dergleichen. Beim Anwenden des Musterabgleichs modifiziert der Sicherheitssystemagent 410 die ursprüngliche Anfrage des Client 406, bevor die ursprüngliche Anfrage an das Sicherheitssystem 404 gesendet wird, wobei, wenn der Sicherheitssystemagent 410 einen Zugriff auf sensible Daten identifiziert, die mit einer oder mehreren der vordefinierten Regeln 408 für sensible Datenmuster übereinstimmen, der Sicherheitssystemagent 410 den Zugriff, der auf die sensiblen Daten in der ursprünglichen Anfrage zugegriffen hat, als sensibel 410 markiert. Der Sicherheitssystemagent 410 lässt dann zu, dass die ursprüngliche, vom Server 402 erzeugte Antwort, die jeden Zugriff und zu jedem Zugriff gehörige abgerufene Daten enthält, an den Client 406 zurückgesendet wird, und leitet die modifizierte Anfrage mit den markierten Zugriffen, die mit Zugriffen auf sensible Daten verbunden sind, und nicht markierten Zugriffen, die mit Zugriffen auf nicht sensible Daten verbunden sind, an das Sicherheitssystem 404 weiter. Das heißt, nachdem mindestens ein Zugriff auf sensible Daten in der Antwort identifiziert wurde, markiert der Sicherheitssystemagent 410 in der ursprünglichen Anfrage an das Sicherheitssystem 410 den Zugriff in der ursprünglichen Anfrage als Zugriff auf sensible Informationen, wodurch eine modifizierte Anfrage gebildet wird.
  • Wenn das Sicherheitssystem 404 die vom Sicherheitssystemagenten 410 gesendete modifizierte Anfrage empfängt, erkennt das Sicherheitssystem 404 die modifizierte Anfrage aufgrund der Identifizierung markierter Zugriffe als sicherheitsrelevant an. Das Sicherheitssystem 404 verarbeitet dann die modifizierte Anfrage ohne Zugriff auf sensible Daten. Das heißt, das Sicherheitssystem 404 parst die Objekte in jedem Zugriff unter Verwendung eines Filters, der Markierungen des Sicherheitssystemagenten 410 identifiziert, und verarbeitet jeden Zugriff. Ferner parst das Sicherheitssystem 404 im Hinblick auf markierte Objekte jedes Objekt, das mit einem Zugriff verbunden ist, der vom Sicherheitssystemagenten 410 als Zugriff auf sensible Daten markiert wurde. Das Sicherheitssystem 404 extrahiert das Objekt und fügt es einer Liste sensibler Objekte 420 als ein Objekt hinzu, das sensible Daten aufweist. Darüber hinaus verwendet das Sicherheitssystem 404 die Liste sensibler Objekte 420 als Kriterien zum Implementieren von Sicherheitsrichtlinien und/oder anderen Operationen wie Analysen 412, Berichten 414, Warnungen 416 oder anderen Informationen 418, die sich auf die abgerufenen sensiblen Daten und Objekte beziehen, die der Liste sensibler Objekte 420 hinzugefügt wurden. Beispielsweise nutzt das Sicherheitssystem 404 die Identifizierung von Zugriff auf die sensiblen Daten, die in der Antwort identifiziert werden, um Datenzugriffsverletzungen zu erkennen.
  • Auch wenn in diesem Beispiel die Hinzufügung des Objekts zur Liste sensibler Objekte 420 direkt erfolgt, werden nicht alle als sensibel identifizierten Objekte sofort zur Liste sensibler Objekte 420 hinzugefügt. Das heißt, um das vorherige Beispiel fortzusetzen, werden zwei zusätzliche Anfragen empfangen, wobei die erste Anfrage über einen kombinierten Satz von Objekten verfügt, der ein erstes Objekt enthält, das bereits als sensibel markiert wurde, und ein zweites Objekt, das als sensibel markiert ist, weil es mit dem ersten Objekt verbunden ist, und wobei die zweite Anfrage ein Objekt enthält, das mit dem zweiten Objekt der ersten Anfrage übereinstimmt und vom Sicherheitssystemagenten 410 nicht als sensibel markiert ist. In der ersten der beiden zusätzlichen Anfragen wird das zweite Objekt jedoch nur deshalb als sensibel identifiziert, weil das zweite Objekt mit dem ersten Objekt, das als sensibel bekannt war, verbunden ist, was zu einem falsch positiven Ergebnis bei einem nichtsensiblen Objekt führt. Beispielsweise durch Methoden des maschinellen Lernens, Regelroutinenanwendungen oder dergleichen identifiziert das Sicherheitssystem 404 Anfrageobjekte, die falsch positiv sind, wie das zweite Objekt, da in der zweiten der beiden zusätzlichen Anfragen das zweite Objekt vom Sicherheitssystemagenten nicht als sensibel markiert wurde. Somit würde das Sicherheitssystem solche Objekte herausfiltern, die fälschlicherweise als sensibel identifiziert werden, nur weil sie mit einem anderen als sensibel identifizierten Objekt verbunden sind. Nachdem das Sicherheitssystem 404 alle „falsch Positiven“ herausgefiltert hat, fügt das Sicherheitssystem 404 jegliche verbleibenden sicherheitsrelevanten Objekte, die sich noch nicht in der Liste sensibler Objekte 420 befinden, der Liste sensibler Objekte 420 hinzu.
  • 5 zeigt ein Beispiel für die Interaktion zwischen einem Sicherheitssystem und einem Sicherheitssystemagenten gemäß einer veranschaulichenden Ausführungsform. Wie veranschaulicht, empfängt das Sicherheitssystem 502 einen vordefinierten Satz von Regeln für sensible Datenmuster. Das Sicherheitssystem 502 sendet den vordefinierten Satz sensibler Datenmuster an den Sicherheitssystemagenten 504, der sich auf einem Server befindet. Der Sicherheitssystemagent 504 überwacht Client/Server-Antworten und wendet den vordefinierten Satz von Regeln für sensible Datenmuster an und markiert sensible Zugriffe in der ursprünglichen Anfrage des Client. Der Sicherheitssystemagent 504 sendet dann die modifizierte Anfrage an das Sicherheitssystem 502, wobei die modifizierte Anfrage markierte sensible Datenzugriffe enthält (falls vorhanden). Das Sicherheitssystem 502 parst dann die modifizierte Anfrage und extrahiert alle Objekte. Das Sicherheitssystem 502 filtert nichtsensible Objekte heraus und fügt neue sensible Objekte in der Liste sensibler Objekte hinzu.
  • Somit sehen die veranschaulichenden Ausführungsformen Mechanismen vor, die über einen Sicherheitssystemagenten eine Mustermaskierung von Daten implementieren, die von einem Benutzer als sensibel identifiziert wurden, bevor diese Daten zur Verarbeitung an das Sicherheitssystem (Gerät) gesendet werden. Der Sicherheitssystemagent ist auf einem vom Sicherheitssystem überwachten Server installiert, beispielsweise einem Datenbankserver, einer Dienstplattform oder dergleichen.
  • Bei der vorliegenden Erfindung kann es sich um ein System, ein Verfahren und/oder ein Computerprogrammprodukt 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. ein Lichtwellenleiterkabel durchlaufende 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, zustandssetzende Daten oder entweder Quellcode oder Objektcode handeln, die in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben werden, darunter objektorientierte Programmiersprachen wie Java, 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 entfernt angeordnete Computer mit dem Computer des Benutzers durch eine beliebige Art Netzwerk verbunden sein, darunter ein 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, 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.
  • 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 sowie Kombinationen von Blöcken in den Ablaufplänen und/oder den Blockschaltbildern mittels durch einen Computer lesbarer Programmanweisungen ausgeführt werden können.
  • Diese durch einen Computer lesbaren Programmanweisungen können einem Prozessor eines Computers 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 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 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, 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.
  • 6 zeigt einen Ablaufplan, der ein Beispiel für den Vorgang veranschaulicht, der von einem Sicherheitssystemagenten beim Überwachen und Steuern von Datenzugriff gemäß einer veranschaulichenden Ausführungsform durchgeführt wird. Zu Beginn des Vorgangs empfängt der Sicherheitssystemagent einen vordefinierten Satz von Regeln für sensible Datenmuster von einem Sicherheitssystem (Schritt 602). In Reaktion auf Abfangen einer Antwort, die jeden Zugriff einer Anfrage und mit jedem Zugriff verbundene abgerufene Daten von einem Server enthält, auf dem der Sicherheitssystemagent installiert ist, wendet der Sicherheitssystemagent einen Musterabgleich unter Verwendung des vordefinierten Satzes von Regeln für sensible Datenmuster an, um sensible Daten zu identifizieren, die in der Antwort an den Client enthalten sind (Schritt 604), wie beispielsweise Kreditkartennummern, Sozialversicherungsnummern, Passwörter, Patientendaten, Koordinaten geografischer Standorte oder dergleichen. Der Sicherheitssystemagent ermittelt, ob sensible Daten, die mit einer oder mehreren der vordefinierten Regeln für sensible Datenmuster übereinstimmen, vorhanden sind (Schritt 606). Stellt der Sicherheitssystemagent in Schritt 606 fest, dass keine sensiblen Daten vorhanden sind, die den vordefinierten Regeln für sensible Datenmuster entsprechen, leitet der Sicherheitssystemagent die Antwort unverändert an das Sicherheitssystem weiter (Schritt 608), woraufhin der Prozess endet.
  • Wenn der Sicherheitssystemagent in Schritt 606 sensible Daten identifiziert, die mit einer oder mehreren der vordefinierten Regeln für sensible Datenmuster übereinstimmen, markiert der Sicherheitssystemagent die identifizierten Zugriffe in der ursprünglichen Anfrage als sensibel und bildet so eine modifizierte Anfrage (Schritt 610). Der Sicherheitssystemagent leitet dann die modifizierte Anfrage mit den markierten Zugriffen, die mit Zugriffen auf sensible Daten verbunden sind, und nicht markierten Zugriffen, die mit Zugriffen auf nichtsensible Daten verbunden sind, an das Sicherheitssystem weiter (Schritt 612). Danach endet der Prozess.
  • 7 zeigt einen Ablaufplan, der ein Beispiel für einen Vorgang veranschaulicht, der durch ein Sicherheitssystem beim Überwachen und Steuern von Datenzugriff gemäß einer veranschaulichenden Ausführungsform durchgeführt wird. Zu Beginn des Vorgangs empfängt das Sicherheitssystem eine modifizierte Anfrage von einem Sicherheitssystemagenten (Schritt 702). Das Sicherheitssystem erkennt die modifizierte Anfrage aufgrund der Identifizierung markierter Zugriffe als sicherheitsrelevant an (Schritt 704). Das Sicherheitssystem verarbeitet die modifizierte Anfrage ohne Zugriff auf sensible Daten, indem es die Objekte in jedem Zugriff der Antwort unter Verwendung eines Filters parst, der Markierungen des Sicherheitssystemagenten identifiziert (Schritt 706). Das Sicherheitssystem verarbeitet dann die modifizierte Anfrage (Schritt 708).
  • Zudem extrahiert das Sicherheitssystem Objekte, die mit markierten Zugriffen verbunden sind, aus der modifizierten Anfrage (Schritt 710). Für jedes extrahierte Objekt ermittelt das Sicherheitssystem, ob das Objekt tatsächlich auf sensible Daten zugegriffen hat oder ob es mit einem Objekt verbunden ist, das auf sensible Daten zugegriffen hat (Schritt 712). Handelt es sich in Schritt 712 bei dem Objekt um ein Objekt, das mit einem Objekt verbunden ist, das einen Zugriff auf sensible Daten darstellt, filtert das Sicherheitssystem das Objekt als falsch positiv heraus (Schritt 714). Handelt es sich in Schritt 712 bei dem Objekt um einen Zugriff auf sensible Daten, fügt das Sicherheitssystem das Objekt der Liste sensibler Objekte hinzu (Schritt 716). Ab den Schritten 714 und 716 verwendet das Sicherheitssystem die Liste sensibler Objekte als Kriterien zum Implementieren einer oder mehrerer Sicherheitsrichtlinien (Schritt 718), woraufhin der Vorgang endet.
  • 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 und/oder der Ablaufpläne sowie Kombinationen aus Blöcken in den Blockschaltbildern 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.
  • Wie vorstehend erwähnt, ist zu beachten, dass die veranschaulichenden Ausführungsformen in Form einer reinen Hardware-Ausführungsform, einer reinen Software-Ausführungsform oder einer sowohl Hardware- als auch Software-Elemente enthaltenden Ausführungsform vorliegen können. In einer beispielhaften Ausführungsform werden die Mechanismen der veranschaulichenden Ausführungsformen in Software oder Programmcode implementiert, darunter, ohne jedoch hierauf eingeschränkt zu sein, Firmware, systemeigene Software, Mikrocode usw.
  • Ein zum Speichern und/oder Ausführen von Programmcode geeignetes Datenverarbeitungssystem enthält mindestens einen Prozessor, der durch einen Datenübertragungsbus wie beispielsweise einen Systembus direkt oder indirekt mit Arbeitsspeicherelementen verbunden ist. Zu den Arbeitsspeicherelementen können während der eigentlichen Ausführung des Programmcodes eingesetzter lokaler Arbeitsspeicher, Großraumspeicher und Cachespeicher zählen, die eine kurzzeitige Speicherung von zumindest einigem Programmcode gewährleisten, um die Zahl von Abrufen von Code aus dem Großraumspeicher während der Ausführung zu verringern. Bei dem Arbeitsspeicher kann es sich um verschiedene Arten handeln, darunter, ohne jedoch hierauf eingeschränkt zu sein, ROM, PROM, EPROM, EEPROM, DRAM, SRAM, Flashspeicher, Halbleiterspeicher und dergleichen.
  • Eingabe/Ausgabe- bzw. E/A-Einheiten (darunter, ohne jedoch hierauf eingeschränkt zu sein, Tastaturen, Anzeigen, Zeigeeinheiten usw.) können entweder direkt oder durch dazwischenliegende drahtgebundene oder drahtlose E/A-Schnittstellen und/oder Steuerungen oder dergleichen mit dem System verbunden sein. E/A-Einheiten können neben herkömmlichen Tastaturen, Anzeigen, Zeigeeinheiten und dergleichen in vielen verschiedenen Formen vorliegen, beispielsweise Datenübertragungseinheiten, die durch drahtgebundene oder drahtlose Verbindungen verbunden sind, darunter, ohne jedoch hierauf eingeschränkt zu sein, Smartphones, Tablet-Computer, Einheiten mit berührungsempfindlichen Bildschirmen, Spracherkennungseinheiten und dergleichen. Jede bekannte oder künftig entwickelte E/A-Einheit soll vom Umfang der veranschaulichenden Ausführungsformen umfasst sein.
  • Mit dem System können auch Netzwerkadapter verbunden sein, um eine Verbindung des Datenverarbeitungssystems mit anderen Datenverarbeitungssystemen oder entfernt angeordneten Druckern oder Speichereinheiten durch dazwischenliegende private oder öffentliche Netzwerke zu ermöglichen. Modems, Kabelmodems und Ethernetkarten sind nur einige der aktuell erhältlichen Arten von Netzwerkadaptern für drahtgebundene Nachrichtenübermittlung. Es können auch auf drahtloser Datenübertragung beruhende Netzwerkadapter genutzt werden, darunter, ohne jedoch hierauf eingeschränkt zu sein, Adapter für drahtlose Kommunikation gemäß 802.11 a/b/g/n, drahtlose Bluetooth-Adapter und dergleichen. Alle bekannten oder künftig entwickelten Netzwerkadapter sollen vom Grundgedanken und Umfang der vorliegenden Erfindung umfasst sein.
  • Die Beschreibung der vorliegenden Erfindung wurde zu Zwecken der Veranschaulichung und Beschreibung dargelegt, soll jedoch nicht abschließend oder auf die Erfindung in den offenbarten Formen eingeschränkt sein. Für den Fachmann sind viele Abwandlungen und Variationen ersichtlich, ohne vom Umfang und Grundgedanken der beschriebenen Ausführungsformen abzuweichen. Die Ausführungsform wurde gewählt und beschrieben, um die Grundgedanken der Erfindung und die praktische Anwendung bestmöglich zu erläutern und dem Fachmann das Verständnis der Erfindung für verschiedene Ausführungsformen mit verschiedenen für die jeweils beabsichtigte Nutzung geeigneten Abwandlungen zu ermöglichen. Die hierin verwendete Terminologie wurde gewählt, um bestmöglich die Grundgedanken der Ausführungsformen, der praktischen Anwendung oder technischen Verbesserung gegenüber den auf dem Markt erhältlichen Technologien zu erklären oder um dem Fachmann das Verständnis der hierin offenbarten Ausführungsformen zu ermöglichen.

Claims (9)

  1. Verfahren zum Überwachen und Steuern von Datenzugriff in einem Datenverarbeitungssystem, umfassend: in Reaktion auf Abfangen einer Antwort von einem Server auf eine Informationsanfrage von einer Client-Einheit erfolgendes Anwenden von Musterabgleich durch einen Sicherheitssystemagenten, der in einem von einem Sicherheitssystem getrennten Server installiert ist, unter Verwendung eines vordefinierten Satzes von Regeln für sensible Datenmuster, um mindestens einen in der Antwort enthaltenen Zugriff auf sensible Daten zu identifizieren; durch den Sicherheitssystemagenten erfolgendes Ermitteln, ob der mindestens eine Zugriff auf sensible Daten mit einer oder mehreren des vordefinierten Satzes von Regeln für sensible Datenmuster übereinstimmt; in Reaktion darauf, dass der mindestens eine Zugriff auf sensible Daten mit einer oder mehreren des vordefinierten Satzes von Regeln für sensible Datenmuster übereinstimmt, durch den Sicherheitssystemagenten erfolgendes Modifizieren der Anfrage vom Client durch Markieren des mindestens einen Zugriffs auf sensible Daten als sensibel, wodurch eine modifizierte Anfrage gebildet wird; und durch den Sicherheitssystemagenten erfolgendes Senden der modifizierten Anfrage mit dem mindestens einen markierten Zugriff auf sensible Daten an das Sicherheitssystem, wodurch das Sicherheitssystem veranlasst wird, aufgrund des mindestens einen markierten Zugriffs auf sensible Daten in der modifizierten Anfrage die modifizierte Anfrage ohne Zugriff auf die dem mindestens einen markierten Zugriff auf sensible Daten zugehörigen sensiblen Daten zu verarbeiten.
  2. Verfahren nach Anspruch 1, wobei der vordefinierte Satz von Regeln für sensible Datenmuster vom Sicherheitssystem empfangen wird und wobei der vordefinierte Satz von Regeln für sensible Datenmuster anfänglich von einem Benutzer der Client-Einheit identifiziert wird.
  3. Verfahren nach Anspruch 1, wobei in Reaktion darauf, dass das Sicherheitssystem die modifizierte Anfrage mit dem mindestens einen markierten Zugriff auf sensible Daten von dem Sicherheitssystemagenten empfängt, das Verfahren ferner umfasst: durch das Sicherheitssystem erfolgendes Extrahieren aller mit jedem Zugriff verbundenen Objekte aus der modifizierten Anfrage; durch das Sicherheitssystem erfolgendes Herausfiltern mindestens eines als falsch positiv identifizierten Objekts; und durch das Sicherheitssystem erfolgendes Hinzufügen verbleibender Objekte zu einer Liste sensibler Objekte.
  4. Verfahren nach Anspruch 3, wobei das Herausfiltern des mindestens einen als falsch positiv identifizierten Objekts umfasst: durch das Sicherheitssystem erfolgendes Ermitteln, ob das mindestens eine Objekt als ein sensibles Objekt identifiziert wird, weil das mindestens eine Objekt mit einem anderen Objekt verbunden ist, das auf sensible Daten zugreift; und in Reaktion darauf, dass das mindestens eine Objekt als sensibles Objekt identifiziert wird, weil das mindestens eine Objekt mit einem anderen Objekt verbunden ist, das auf sensible Daten zugreift, durch das Sicherheitssystem erfolgendes Herausfiltern des mindestens einen Objekts als falsch positiv.
  5. Verfahren nach Anspruch 3, ferner umfassend: durch das Sicherheitssystem erfolgendes Verwenden der Liste sensibler Objekte als Kriterien zum Implementieren einer oder mehrerer Sicherheitsrichtlinien.
  6. Verfahren nach Anspruch 1, wobei es sich bei dem mindestens einen Zugriff auf sensible Daten um einen Zugriff auf Kreditkartennummern und/oder Sozialversicherungsnummern und/oder Passwörter und/oder Patientendaten und/oder Koordinaten geografischer Standorte handelt.
  7. Verfahren nach Anspruch 1, ferner umfassend: in Reaktion auf Senden der modifizierten Anfrage mit dem mindestens einen markierten Zugriff auf sensible Daten an das Sicherheitssystem durch den Sicherheitssystemagenten erfolgendes Zulassen, dass die Antwort einschließlich mit jedem Zugriff verbundener abgerufener Daten an den Client zurückgesendet wird.
  8. Computerprogrammprodukt, das ein durch einen Computer lesbares Speichermedium mit einem darauf gespeicherten, durch einen Computer lesbaren Programm zum Überwachen und Steuern von Datenzugriff aufweist, wobei das durch einen Computer lesbare Programm bei Ausführung auf einem Sicherheitssystemagenten einer Einheit, der in einem von einem Sicherheitssystem getrennten Server installiert ist, die Datenverarbeitungseinheit zu Folgendem veranlasst: in Reaktion auf Abfangen einer Antwort von einem Server auf eine Informationsanfrage von einer Client-Einheit erfolgendes Anwenden von Musterabgleich unter Verwendung eines vordefinierten Satzes von Regeln für sensible Datenmuster, um mindestens einen in der Antwort enthaltenen Zugriff auf sensible Daten zu identifizieren; Ermitteln, ob der mindestens eine Zugriff auf sensible Daten mit einer oder mehreren des vordefinierten Satzes von Regeln für sensible Datenmuster übereinstimmt; in Reaktion darauf, dass der mindestens eine Zugriff auf sensible Daten mit einer oder mehreren des vordefinierten Satzes von Regeln für sensible Datenmuster übereinstimmt, Modifizieren der Anfrage vom Client durch Markieren des mindestens einen Zugriffs auf sensible Daten als sensibel, wodurch eine modifizierte Anfrage gebildet wird; und Senden der modifizierten Anfrage mit dem mindestens einen markierten Zugriff auf sensible Daten an das Sicherheitssystem, wodurch das Sicherheitssystem veranlasst wird, aufgrund des mindestens einen markierten Zugriffs auf sensible Daten in der modifizierten Anfrage die modifizierte Anfrage ohne Zugriff auf die dem mindestens einen markierten Zugriff auf sensible Daten zugehörigen sensiblen Daten zu verarbeiten.
  9. Sicherheitssystemagenten-Vorrichtung, die in einem von einem Sicherheitssystem getrennten Server zum Überwachen und Steuern von Datenzugriff installiert ist und Folgendes aufweist: einen Prozessor und einen mit dem Prozessor verbundenen Arbeitsspeicher, wobei der Arbeitsspeicher Anweisungen aufweist, die bei Ausführung durch den Prozessor den Prozessor veranlassen: in Reaktion auf Abfangen einer Antwort von einem Server auf eine Informationsanfrage von einer Client-Einheit einen Musterabgleich unter Verwendung eines vordefinierten Satzes von Regeln für sensible Datenmuster anzuwenden, um mindestens einen in der Antwort enthaltenen Zugriff auf sensible Daten zu identifizieren; zu ermitteln, ob der mindestens eine Zugriff auf sensible Daten mit einer oder mehreren des vordefinierten Satzes von Regeln für sensible Datenmuster übereinstimmt; in Reaktion darauf, dass der mindestens eine Zugriff auf sensible Daten mit einer oder mehreren des vordefinierten Satzes von Regeln für sensible Datenmuster übereinstimmt, die Anfrage vom Client durch Markieren des mindestens einen Zugriffs auf sensible Daten als sensibel zu modifizieren, wodurch eine modifizierte Anfrage gebildet wird; und die modifizierte Anfrage mit dem mindestens einen markierten Zugriff auf sensible Daten an das Sicherheitssystem zu senden, wodurch das Sicherheitssystem veranlasst wird, aufgrund des mindestens einen markierten Zugriffs auf sensible Daten in der modifizierten Anfrage die modifizierte Anfrage ohne Zugriff auf die dem mindestens einen markierten Zugriff auf sensible Daten zugehörigen sensiblen Daten zu verarbeiten.
DE102021130396.6A 2020-12-15 2021-11-22 Datenzugriffsüberwachung und -steuerung Pending DE102021130396A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/121,975 US11481508B2 (en) 2020-12-15 2020-12-15 Data access monitoring and control
US17/121,975 2020-12-15

Publications (1)

Publication Number Publication Date
DE102021130396A1 true DE102021130396A1 (de) 2022-06-15

Family

ID=79270395

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021130396.6A Pending DE102021130396A1 (de) 2020-12-15 2021-11-22 Datenzugriffsüberwachung und -steuerung

Country Status (5)

Country Link
US (1) US11481508B2 (de)
JP (1) JP2022094938A (de)
CN (1) CN114640713B (de)
DE (1) DE102021130396A1 (de)
GB (1) GB2606424B (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116070280B (zh) * 2023-04-06 2023-06-27 中诚华隆计算机技术有限公司 一种安全访问统计装置、方法和芯片
CN116595573B (zh) * 2023-04-14 2024-01-19 敦源信息科技(广州)有限公司 交管信息***的数据安全加固方法及装置
CN116709336B (zh) * 2023-08-03 2023-09-29 深圳市瑞迅通信息技术有限公司 一种无线通信安全监测方法及***

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8590034B2 (en) 2006-06-21 2013-11-19 Basit Hussain Method, system and apparatus for providing stateful information redaction
US8285748B2 (en) * 2008-05-28 2012-10-09 Oracle International Corporation Proactive information security management
US8983985B2 (en) * 2011-01-28 2015-03-17 International Business Machines Corporation Masking sensitive data of table columns retrieved from a database
EP2689353B1 (de) 2011-03-22 2019-11-06 Informatica LLC System und verfahren zur datenmaskierung
US8930381B2 (en) 2011-04-07 2015-01-06 Infosys Limited Methods and systems for runtime data anonymization
US20140012833A1 (en) 2011-09-13 2014-01-09 Hans-Christian Humprecht Protection of data privacy in an enterprise system
US8762406B2 (en) 2011-12-01 2014-06-24 Oracle International Corporation Real-time data redaction in a database management system
US8930382B2 (en) 2012-10-10 2015-01-06 International Business Machines Corporation High performance secure data access in a parallel processing system
JP6255091B2 (ja) * 2013-11-25 2017-12-27 マカフィー, エルエルシー プライベートデータを保護するセキュアプロキシ
US9413891B2 (en) 2014-01-08 2016-08-09 Callminer, Inc. Real-time conversational analytics facility
US10097582B2 (en) 2014-11-25 2018-10-09 International Business Machines Corporation Secure data redaction and masking in intercepted data interactions
US10362060B2 (en) * 2015-12-30 2019-07-23 International Business Machines Corporation Curtailing search engines from obtaining and controlling information
US10257197B2 (en) 2016-07-14 2019-04-09 Sap Se Private data access controls in mobile applications
US10496847B2 (en) * 2017-02-16 2019-12-03 Visa International Service Association Systems and methods for anonymized behavior analysis
US10044691B1 (en) 2018-02-12 2018-08-07 Symantec Corporation Decrypting network traffic on a middlebox device using a trusted execution environment
US10803197B1 (en) * 2018-04-13 2020-10-13 Amazon Technologies, Inc. Masking sensitive information in records of filtered accesses to unstructured data
CN109492423A (zh) * 2018-09-26 2019-03-19 中国平安人寿保险股份有限公司 敏感信息过滤的方法、装置、计算机设备及存储介质
US11200338B2 (en) * 2019-03-15 2021-12-14 ZenPayroll, Inc. Tagging and auditing sensitive information in a database environment
US10521605B1 (en) 2019-03-15 2019-12-31 ZenPayroll, Inc. Tagging and auditing sensitive information in a database environment
US20210382949A1 (en) * 2020-06-07 2021-12-09 InfoTrust, LLC Systems and methods for web content inspection

Also Published As

Publication number Publication date
US20220188437A1 (en) 2022-06-16
GB202117264D0 (en) 2022-01-12
GB2606424B (en) 2024-01-17
JP2022094938A (ja) 2022-06-27
US11481508B2 (en) 2022-10-25
CN114640713B (zh) 2024-04-30
GB2606424A (en) 2022-11-09
CN114640713A (zh) 2022-06-17

Similar Documents

Publication Publication Date Title
DE112019001481T5 (de) Selektives bereitstellen gegenseitiger transportschichtsicherheit mittels alternativer servernamen
DE102016222034A1 (de) Dynamische Kennworterzeugung
DE102021130396A1 (de) Datenzugriffsüberwachung und -steuerung
DE112020003820T5 (de) Erkennung von Anomalien und Abweichungen unter Verwendung eines domänenindizierten Einschränkungs-Repository
DE112018004411T5 (de) Zugriffssteuerung in mikrodienst-architekturen
DE112012003977T5 (de) Eingriffsfreies Verfahren und Vorrichtung zum automatischen Zuteilen von Sicherheitsregelnin einer Cloud-Umgebung
DE112021002245T5 (de) Verhindern einer unberechtigten bereitstellung von paketen in clustern
DE112019001433T5 (de) Datenanonymisierung
DE112018005898T5 (de) Dynamische bereitstellung von software-funktionen
DE102016105062A1 (de) Nähengestützte Berechtigungsprüfung für einheitenübergreifend verteilte Daten
DE112021001163T5 (de) Dynamisches erstellen von facetten unter verwendung von graphpartitionierung
DE112020005373T5 (de) Mechanismus zur authentifizierung durch nutzung von positionsbestätigung
DE112019003130T5 (de) Hsm-selbstzerstörung in einer hybriden cloud-kms-lösung
DE112021006372T5 (de) Sichere bereitstellung einer datenverarbeitungsressource unter verwendung einer homomorphen verschlüsselung
DE112021003402T5 (de) Blockchain-verwaltung von bereitstellungsfehlern
DE112020000535T5 (de) Fehlerbehebung innerhalb und außerhalb der eigenen Räumlichkeiten
DE112021005636T5 (de) Migrieren von komplexen legacy-anwendungen
DE112021005364T5 (de) Abwehr von gezielten datenbankangriffen durch dynamische generierung von honeypot-datenbankantworten
DE112021004770T5 (de) Ultraschallübertragung von aufgeteilten schlüsseln für verbesserte sicherheit
DE112021004945T5 (de) Techniken der kompositionellen verifikation für rollenerreichbarkeitsanalysen in identitätssystemen
DE112019002052T5 (de) Datenschutzsensibilisierung bei der bereitstellung von arbeitslasten
DE102014116744A1 (de) Management von Informationstechnologieressourcen
DE112021004695T5 (de) Umgang mit zurückstellbaren netzwerkanforderungen
DE102021123058A1 (de) Maskieren von sensiblen informationen in einem dokument
DE102021125019A1 (de) Orchestrierung von einheiten für das internet der dinge

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R084 Declaration of willingness to licence