DE112021005364T5 - Abwehr von gezielten datenbankangriffen durch dynamische generierung von honeypot-datenbankantworten - Google Patents

Abwehr von gezielten datenbankangriffen durch dynamische generierung von honeypot-datenbankantworten Download PDF

Info

Publication number
DE112021005364T5
DE112021005364T5 DE112021005364.7T DE112021005364T DE112021005364T5 DE 112021005364 T5 DE112021005364 T5 DE 112021005364T5 DE 112021005364 T DE112021005364 T DE 112021005364T DE 112021005364 T5 DE112021005364 T5 DE 112021005364T5
Authority
DE
Germany
Prior art keywords
computer
response
unauthorized user
query
responses
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
DE112021005364.7T
Other languages
English (en)
Inventor
Marco Simioni
Stefano Braghin
Killian Levacher
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 DE112021005364T5 publication Critical patent/DE112021005364T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1491Countermeasures against malicious traffic using deception as countermeasure, e.g. honeypots, honeynets, decoys or entrapment
    • 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/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • 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/6227Protecting 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 where protection concerns the structure of data, e.g. records, types, queries
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • 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
    • G06F21/6254Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2127Bluffing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Es werden Techniken bereitgestellt, die ein Empfangen einer Abfrage, die für eine Datenbank, auf die abgezielt wird, vorgesehen ist (702), und ein Feststellen, dass die Abfrage von einem unbefugten Benutzer stammt (704), umfassen. Es wird eine von einem Modell generierte Antwort an den unbefugten Benutzer zurückgemeldet, wobei die Antwort dynamisch generiert wird, um die Abfrage zu erfüllen. Das Modell ist so konfiguriert, dass es Antworten generiert, die mit allen früheren Antworten übereinstimmen, die an den unbefugten Benutzer zurückgemeldet wurden (706).

Description

  • HINTERGRUND
  • Die vorliegende Erfindung betrifft im Allgemeinen Computersysteme und im Besonderen auf einem Computer ausgeführte Verfahren, Computersysteme und Computerprogrammprodukte, die zum Abwehren von gezielten Datenbankangriffen durch Generierung von dynamischen Honeypot-Datenbankantworten konfiguriert und eingerichtet sind.
  • Bei Datenbanksicherheit geht es um die Verwendung eines breiten Spektrums von Steuerungen für die Informationssicherheit zum Schützen von Datenbanken vor Beeinträchtigungen von deren Vertraulichkeit, Unversehrtheit und Verfügbarkeit. Datenbanksicherheit umfasst verschiedene Arten oder Kategorien von Steuerungen, wie zum Beispiel technische, verfahrenstechnische, verwaltungstechnische und physische. Das Schützen von Datenbanken umfasst ein mögliches Schützen der Daten, der Datenbankanwendungen, gespeicherter Funktionen, der Datenbanksysteme, der Datenbankserver und der zugehörigen Netzwerkverbindungen. Zu Sicherheitsrisiken für Datenbanksysteme gehören zum Beispiel unbefugte oder unbeabsichtigte Aktivitäten oder Missbrauch durch berechtigte Datenbankbenutzer oder durch unbefugte Benutzer. Sicherheitsrisiken können zum Beispiel zu einem unangemessenen Zugriff auf sensible Daten, Metadaten oder Funktionen innerhalb von Datenbanken oder zu unangemessenen Änderungen an den Datenbankprogrammen, -strukturen oder -sicherheitskonfigurationen führen.
  • KURZDARSTELLUNG
  • Ausführungsformen der vorliegenden Erfindung sind auf auf einem Computer ausgeführte Verfahren zum Abwehren von gezielten Datenbankangriffen durch Generierung von dynamischen Honeypot-Datenbankantworten gerichtet. Ein nicht einschränkendes Beispiel eines auf einem Computer ausgeführten Verfahrens umfasst ein Empfangen einer Abfrage, die für eine Datenbank bestimmt ist, auf die abgezielt wird, und ein Feststellen, dass die Abfrage von einem unbefugten Benutzer stammt. Das auf einem Computer ausgeführte Verfahren umfasst ein Zurückmelden einer von einem Modell generierten Antwort an den unbefugten Benutzer, wobei die Antwort dynamisch generiert wird, um die Abfrage zu erfüllen, und das Modell so konfiguriert ist, dass es Antworten generiert, die mit allen früheren Antworten übereinstimmen, die an den unbefugten Benutzer zurückgemeldet wurden.
  • Andere Ausführungsformen der vorliegenden Erfindung setzen Merkmale des vorstehend beschriebenen Verfahrens in Computersystemen und Computerprogrammprodukten um.
  • Zusätzliche technische Eigenschaften und Vorteile werden durch die Techniken der vorliegenden Erfindung verwirklicht. Ausführungsformen und Aspekte der Erfindung werden hierin ausführlich beschrieben und sind als Teil des beanspruchten Gegenstands anzusehen. Zum besseren Verständnis wird auf die ausführliche Beschreibung und die Zeichnungen verwiesen.
  • Figurenliste
  • Die Einzelheiten der hierin beschriebenen ausschließlichen Rechte werden insbesondere in den Ansprüchen zum Schluss der Beschreibung dargelegt und eindeutig beansprucht. Die vorstehenden und weitere Eigenschaften und Vorteile der Ausführungsformen der Erfindung werden aus der folgenden ausführlichen Beschreibung in Verbindung mit den beigefügten Zeichnungen ersichtlich, in denen:
    • 1 ein Blockschaubild eines beispielhaften Computersystems zur Verwendung in Verbindung mit einer oder mehreren Ausführungsformen der vorliegenden Erfindung darstellt;
    • 2 ein Blockschaubild eines Systems zur Abwehr von gezielten Datenbankangriffen durch dynamische Generierung von Honeypot-Datenbankantworten gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung darstellt;
    • 3 einen Ablaufplan eines auf einem Computer ausgeführten Prozesses zur Abwehr von gezielten Datenbankangriffen durch dynamische Generierung von Honeypot-Datenbankantworten gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung darstellt;
    • 4 ein Blockschaubild eines Architekturbeispiels darstellt, bei dem gutartige Benutzer zum Trainieren eines generativen Modells gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung verwendet werden;
    • 5 einen Ablaufplan eines auf einem Computer ausgeführten Prozesses zur Abwehr von gezielten Datenbankangriffen durch dynamische Generierung von Honeypot-Datenbankantworten gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung darstellt;
    • 6 ein Blockschaubild eines Architekturbeispiels gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung darstellt, in dem ein bösartiger Benutzer versucht, sich Zugang zu einer Datenbank zu verschaffen, auf die abgezielt wird, sowie einer Verwendung einer dynamischen Generierung von Honeypot-Datenbankantworten, um den Angriff zu vereiteln;
    • 7 einen Ablaufplan eines auf einem Computer ausgeführten Verfahrens zum Abwehren von gezielten Datenbankangriffen durch dynamische Generierung von Honeypot-Datenbankantworten gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung darstellt;
    • 8 eine Cloud-Computing-Umgebung gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung darstellt; und
    • 9 Abstraktionsmodellschichten gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung darstellt.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Eine oder mehrere Ausführungsformen der vorliegenden Erfindung stellen auf einem Computer ausgeführte Verfahren, Computersysteme und Computerprogrammprodukte zum Schützen einer Datenbank bereit, auf die von Angreifern abgezielt wird, die versuchen, die in der Datenbank enthaltenen sensiblen Informationen zu erhalten, wobei das auf einem Computer ausgeführte Verfahren ein Ersetzen von Antworten einer Datenbank, auf die abgezielt wird, durch Antworten einer synthetischen Datenbank (Honeypot) umfasst. Die Antworten der Honeypot-Datenbank gaukeln Angreifern vor, dass sie wertvolle Informationen aus der Datenbank, auf die abgezielt wird, abrufen. In Wirklichkeit bleiben die eigentlich wertvollen Informationen sicher, während die Aufmerksamkeit des Angreifers von dem eigentlichen Ziel abgelenkt wird. Dies stellt dem Fehlerbehebungsteam die Möglichkeit bereit, das Verhalten des Angreifers zu überwachen.
  • Wenn ein Unternehmensnetzwerk oder eine Website angegriffen wird, sind Datenbanken in der Regel ein vorrangiges Ziel für einen Angreifer, der sensible Daten wie zum Beispiel Kreditkarteninformationen, persönliche Informationen, Benutzernamen und Kennwörter usw. erfassen möchte. Wenn ein System angegriffen wird, versucht das Fehlerbehebungsteam, den Schaden zu minimieren, den Täter zu überwachen und zu verfolgen und dessen Absicht zu verstehen. Einen Angreifer in einem Netzwerk zu beschäftigen, ist ein wichtiger Bestandteil einer Vorgehensweise zur Fehlerbehebung. Dies ermöglicht es dem Ermittler, die Technik, die Motivation und letztlich die Quelle des Angriffs und vielleicht auch den Angreifer zu verstehen. Honeypots, oder „gefälschte“ Systeme, werden in der Regel in einem Netzwerk eingesetzt, um einen Angreifer zu beschäftigen. Zudem wird die Aufmerksamkeit des Angreifers auf das gefälschte System gelenkt, während seine Aufmerksamkeit von „echten“ Systemen, welche die sensiblen Daten enthalten, ferngehalten wird. Dadurch hat das Fehlerbehebungsteam letztlich mehr Zeit und Gelegenheit, die Aktivitäten des Angreifers zu überwachen. Für einen geschickten Angreifer können herkömmliche Honeypots leicht zu erkennen sein, und sobald der Angreifer merkt, dass er mit einem derartigen Honeypot-System interagiert, stellt er den Angriff ein und konzentriert sich auf andere Systeme. Dies verhindert nicht nur, dass das Fehlerbehebungsteam die Möglichkeit hat, den Angreifer zu überwachen und zu verfolgen, sondern es hält auch die Aufmerksamkeit des Angreifers nicht von anderen wertvollen Systemen ab.
  • Gemäß einer oder mehreren Ausführungsformen der Erfindung ist eine ideale Honeypot-Datenbank von dem Datenbanksystem, auf das abgezielt wird, ununterscheidbar. Das bedeutet, dass an den Angreifer zurückgemeldete Antworten der Honeypot-Datenbank mit früheren Antworten übereinstimmen sollten, die von der echten Datenbank, auf die abgezielt wird, für diesen Angreifer generiert wurden, bevor dieser Benutzer als bösartig erkannt wurde. Anders ausgedrückt, Antworten des Honeypots sind gemäß einer oder mehreren Ausführungsformen angreiferspezifisch und beruhen auf der Vorgeschichte des jeweiligen Angreifers. Zudem stimmen die Antworten der Honeypot-Datenbank nicht nur mit den zuvor generierten Antworten überein, sondern auch mit den Daten der echten Datenbank (d.h. die in diesen Honeypot-Datenbankantworten enthaltenen Daten ähneln den in der echten Datenbank enthaltenen Daten). Eine oder mehrere Ausführungsformen der Erfindung stellen angreiferspezifische Antworten bereit, wie eine Honeypot-Verteidigungslösung, die skalierbar ist und sich gegen mehrere, gleichzeitige Angreifer verteidigt. Anders ausgedrückt, eine oder mehrere Ausführungsformen der Erfindung müssen keine Honeypot-Datenbank durch Duplizieren der gesamten Ziel-Datenbank pro Angreifer erstellen, was unrealistisch wäre. Vielmehr sind eine oder mehrere Ausführungsformen der Erfindung so konfiguriert, dass die Antwortzeit der Datenbankabfrage für Antworten aus der Honeypot-Datenbank der Antwortzeit für tatsächlich empfangene Antworten aus der Ziel-Datenbank entspricht, um jeglichen Verdacht des Angreifers zu vermeiden. Dies kommt nicht nur den Antwortzeiten zugute, sondern auch der Art und Weise, wie das System (einschließlich der Antworten der Honeypot-Datenbank) gemäß einer oder mehreren Ausführungsformen skaliert werden kann. Darüber hinaus erfordert die Generierung von Antworten aus der Honeypot-Datenbank nicht, dass eine Datenbank, die möglicherweise aus Terabytes von Daten besteht, mehrfach dupliziert wird.
  • Gemäß einer oder mehreren Ausführungsformen der Erfindung wird ein bedingtes generatives Modell bereitgestellt, das auf Anfrage Antworten von Honeypot-Datenbanken generiert, die auf den früheren Abfragen des Angreifers beruhen und mit diesen übereinstimmen, wobei die Antworten von Honeypot-Datenbanken keine sensiblen Informationen enthalten, aber dennoch den in der echten Datenbank enthaltenen Daten ähneln. Das bedingte generative Modell verwendet einen Datensatz für bösartige Abfragen, in dem sämtliche bösartigen Abfragen des Angreifers zusammen mit Antworten der Honeypot-Datenbank für den Angreifer aufgezeichnet und geprüft werden. Ein Detektor für bösartige Abfragen wird verwendet, um bösartige Abfragen an eine Honeypot-Datenbank umzuleiten, bei der es sich um das bedingte generative Modell handelt. Es wird ein Werkzeug zur Datenanonymisierung verwendet, um jegliche sensible Informationen zu anonymisieren. Im Folgenden wird ein Glossar bereitgestellt.
  • Fehlerbehebung: Bei der Fehlerbehebung handelt es sich um einen organisierten Ansatz zum Angehen und Bewältigen der Folgen einer Sicherheitsverletzung oder eines Cyberangriffs, auch bekannt als informationstechnischer (IT-) Vorfall, Computer-Vorfall oder Sicherheitsvorfall.
  • Honeypot: Bei einem Honeypot handelt es sich um einen Computersicherheitsmechanismus, der so eingestellt ist, dass er Versuche einer unbefugten Verwendung von Informationssystemen erkennt, abwehrt oder auf irgendeine Weise bekämpft.
  • Bedingtes generatives Modell (GAN, Conditional Generative Model): Ein Modell wie zum Beispiel ein bedingtes GAN, das lernt, Daten zu reproduzieren, die einer ursprünglichen Datenquelle, auf die abgezielt wird, ähnlich sind. Der konditionale Aspekt des generativen Modells ermöglicht es diesem Modell zusätzlich, sobald es trainiert ist, die Ausgabe dieses Modells auf der Grundlage von spezifischen Eingabebedingungen, die dem Modell während der Vorhersagezeit bereitgestellt werden, gemäß einer oder mehreren Ausführungsformen der Erfindung zu variieren.
  • Sensible Informationen: Sensible Informationen beziehen sich auf sämtliche Informationen, die der Eigentümer einer Datenbank einem Angreifer nicht preisgeben möchte. Dazu gehören natürlich personenbezogene Informationen (wie zum Beispiel Namen, Adressen usw.), aber es könnten auch nicht-personenbezogene Informationen wie zum Beispiel Vertragssummen, Verkaufszahlen usw. dazugehören.
  • Unter Bezugnahme auf 1 ist allgemein ein Computersystem 100 gemäß einer oder mehreren Ausführungsformen der Erfindung gezeigt. Bei dem Computersystem 100 kann es sich um ein elektronisches Computer-Framework handeln, das eine beliebige Anzahl und Kombination von Datenverarbeitungseinheiten und Netzwerken aufweist und/oder einsetzt, die verschiedene Datenübertragungstechnologien nutzen, wie hierin beschrieben ist. Das Computersystem 100 kann leicht skalierbar, erweiterbar und modular aufgebaut sein, mit der Möglichkeit, zu verschiedenen Diensten zu wechseln oder einige Funktionen unabhängig von anderen neu zu konfigurieren. Bei dem Computersystem 100 kann es sich zum Beispiel um einen Server, einen Desktop-Computer, einen Laptop-Computer, einen Tablet-Computer oder ein Smartphone handeln. In einigen Beispielen kann es sich bei dem Computersystem 100 um einen Cloud-Computing-Knoten handeln. Das Computersystem 100 kann in dem allgemeinen Kontext von durch Computersysteme ausführbaren Anweisungen wie zum Beispiel Programmmodulen beschrieben werden, die von einem Computersystem ausgeführt werden. Allgemein können zu Programmmodulen Routinen, Programme, Objekte, Komponenten, Logik, Datenstrukturen und so weiter gehören, die bestimmte Aufgaben durchführen bzw. bestimmte abstrakte Datentypen umsetzen. Das Computersystem 100 kann in verteilten Cloud-Computing-Umgebungen ausgeführt werden, in denen Aufgaben durch entfernt angeordnete Verarbeitungseinheiten durchgeführt werden, die über ein Datenübertragungsnetzwerk verbunden sind. In einer verteilten Cloud-Computing-Umgebung können sich Programmmodule sowohl in lokalen als auch in entfernt angeordneten Computersystem-Speichermedien befinden, darunter Hauptspeichereinheiten.
  • Wie in 1 gezeigt ist, verfügt das Computersystem 100 über eine oder mehrere Zentraleinheiten(CPU(s)) 101a, 101b, 101c usw. (zusammen oder allgemein als Prozessor(en) 101 bezeichnet). Bei den Prozessoren 101 kann es sich um einen Einzelkernprozessor, einen Mehrkernprozessor, einen Datenverarbeitungscluster oder eine beliebige Anzahl von anderen Konfigurationen handeln. Die Prozessoren 101, die auch als Verarbeitungsschaltungen bezeichnet werden, sind über einen Systembus 102 mit einem Systemspeicher 103 und verschiedenen anderen Komponenten verbunden. Der Systemspeicher 103 kann einen Nur-Lese-Speicher (ROM) 104 und einen Direktzugriffsspeicher (RAM) 105 umfassen. Das ROM 104 ist mit dem Systembus 102 verbunden und kann ein Basic Input/Output System (BIOS) oder dessen Nachfolger wie Unified Extensible Firmware Interface (UEFI) umfassen, das bestimmte Grundfunktionen des Computersystems 100 steuert. Bei dem RAM handelt es sich um einen mit dem Systembus 102 verbundenen Schreib-Lese-Speicher zur Verwendung durch die Prozessoren 101. Der Systemspeicher 103 stellt temporären Speicherplatz für Arbeitsschritte der Anweisungen während des Betriebs bereit. Der Systemspeicher 103 kann einen Direktzugriffsspeicher (RAM), Nur-Lese-Speicher, Flash-Speicher oder jedes beliebige andere geeignete Speichersystem umfassen.
  • Das Computersystem 100 weist einen Eingabe/Ausgabe- (E/A-) Adapter 106 und einen mit dem Systembus 102 verbundenen Datenübertragungsadapter 107 auf. Bei dem E/A-Adapter 106 kann es sich um einen SCSI- (Small Computer System Interface-) Adapter handeln, der mit einer Festplatte 108 und/oder einer beliebigen anderen ähnlichen Komponente Daten austauscht. Der E/A-Adapter 106 und die Festplatte 108 werden hierin gemeinsam als Massenspeicher 110 bezeichnet.
  • Auf dem Massenspeicher 110 kann eine Software 111 zur Ausführung auf dem Computersystem 100 gespeichert sein. Der Massenspeicher 110 ist ein Beispiel für ein physisches Speichermedium, das von den Prozessoren 101 gelesen werden kann und auf dem die Software 111 in Form von Anweisungen zur Ausführung durch die Prozessoren 101 gespeichert ist, um den Betrieb des Computersystems 100 zu veranlassen, wie dies hierin zum Beispiel nachstehend mit Bezug auf die verschiedenen Figuren beschrieben ist. Beispiele für Computerprogrammprodukte und die Ausführung derartiger Anweisungen werden hierin ausführlicher erörtert. Der Datenübertragungsadapter 107 verbindet den Systembus 102 mit einem Netzwerk 112, bei dem es sich um ein externes Netzwerk handeln kann, das es dem Computersystem 100 ermöglicht, mit anderen derartigen Systemen Daten auszutauschen. In einer Ausführungsform ist in einem Teil des Systemspeichers 103 und des Massenspeichers 110 gemeinsam ein Betriebssystem gespeichert, bei dem es sich um ein beliebiges geeignetes Betriebssystem handeln kann, um die Funktionen der verschiedenen in 1 gezeigten Komponenten zu koordinieren.
  • Zusätzliche Eingabe/Ausgabe-Einheiten sind als über einen Anzeigeadapter 115 und einen Schnittstellenadapter 116 mit dem Systembus 102 verbunden gezeigt. In einer Ausführungsform können die Adapter 106, 107, 115 und 116 an einen oder mehrere E/A-Busse angeschlossen sein, die über eine Zwischenbusbrücke (nicht gezeigt) mit dem Systembus 102 verbunden sind. Eine Anzeige 119 (z.B. ein Bildschirm oder ein Anzeigemonitor) ist über den Anzeigeadapter 115, der eine Grafiksteuereinheit zum Verbessern der Leistung von grafikintensiven Anwendungen und eine Videosteuereinheit umfassen kann, mit dem Systembus 102 verbunden. Eine Tastatur 121, eine Maus 122, ein Lautsprecher 123 usw. können mit dem Systembus 102 über den Schnittstellenadapter 116 verbunden sein, der zum Beispiel einen Super-E/A-Chip umfassen kann, der mehrere Einheitenadapter in einer einzelnen integrierten Schaltung integriert. Geeignete E/A-Busse zum Anschließen von Peripherie-Einheiten wie Festplatten-Steuereinheiten, Netzwerkadaptern und Grafikadaptern umfassen üblicherweise gängige Protokolle wie zum Beispiel Peripheral Component Interconnect (PCI) und Peripheral Component Interconnect Express (PCIe). So umfasst das Computersystem 100, wie es in 1 konfiguriert ist, eine Verarbeitungsfähigkeit in Form der Prozessoren 101 und eine Speicherfähigkeit, wozu der Systemspeicher 103 und der Massenspeicher 110 gehören, Eingabemittel wie zum Beispiel die Tastatur 121 und die Maus 122 und eine Ausgabefähigkeit, wozu der Lautsprecher 123 und die Anzeige 119 gehören.
  • In einigen Ausführungsformen kann der Datenübertragungsadapter 107 Daten unter Verwendung einer beliebigen geeigneten Schnittstelle oder eines beliebigen geeigneten Protokolls übermitteln, wie unter anderem zum Beispiel über die Internet Small Computer System-Schnittstelle. Bei dem Netzwerk 112 kann es sich unter anderem um ein Mobilfunknetz, ein Funknetz, ein Weitverkehrsnetz (WAN wide area network), ein lokales Netzwerk (LAN, local area network) oder das Internet handeln. Eine externe Datenverarbeitungseinheit kann über das Netzwerk 112 mit dem Computersystem 100 verbunden sein. In einigen Beispielen kann es sich bei einer externen Datenverarbeitungseinheit um einen externen Web-Server oder einen Cloud-Computing-Knoten handeln.
  • Es sollte klar sein, dass das Blockschaubild aus 1 nicht bedeuten soll, dass das Computersystem 100 alle in 1 gezeigten Komponenten umfassen muss. Vielmehr kann das Computersystem 100 auch weniger oder zusätzliche geeignete, in 1 nicht veranschaulichte Komponenten umfassen (z.B. zusätzliche Speicherkomponenten, eingebettete Steuereinheiten, Module, zusätzliche Netzwerkschnittstellen usw.). Darüber hinaus können die hierin in Bezug auf das Computersystem 100 beschriebenen Ausführungsformen mit jeder beliebigen geeigneten Logik umgesetzt werden, wobei die Logik, auf die hierin Bezug genommen wird, in verschiedenen Ausführungsformen jede beliebige geeignete Hardware (z.B. unter anderem einen Prozessor, eine eingebettete Steuereinheit oder eine anwendungsspezifische integrierte Schaltung), Software (z.B. unter anderem eine Anwendung), Firmware oder jede beliebige geeignete Kombination von Hardware, Software und Firmware umfassen kann.
  • 2 ist ein Blockschaubild eines Systems 200 zur Abwehr von gezielten Datenbankangriffen durch dynamische Generierung von Honeypot-Datenbankantworten gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung. 2 stellt ein oder mehrere Computersysteme 202 dar, die mit einem Computersystem 220 und einem Computersystem 224 verbunden sind. Die Computersysteme 202 können stellvertretend für eine Vielzahl von Computern in einem Rechenzentrum stehen, das verschiedene Benutzer bedient. Das Computersystem 220 kann stellvertretend für eine Vielzahl von Benutzer-Computern/Geräten stehen, die einen Zugriff auf Ressourcen auf den Computersystemen 202 anfordern. Elemente des Computersystems 100 können in dem Computersystem 202, dem Computersystem 220 und dem Computersystem 224 verwendet werden und/oder in diese integriert sein.
  • 3 ist ein Ablaufplan eines auf einem Computer ausgeführten Prozesses 300 zur Abwehr von gezielten Datenbankangriffen durch dynamische Generierung von Honeypot-Datenbankantworten gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung. Insbesondere enthält 3 einen Prozess zum Trainieren eines generativen Modells 244, wie hierin erörtert. 4 stellt ein Blockschaubild eines Architekturbeispiels dar, bei dem gutartige Benutzer zum Trainieren des generativen Modells 244 gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung verwendet werden. Der auf einem Computer ausgeführte Prozess 300 in 3 kann mit dem in 2 gezeigten System 200 und/oder der in 4 gezeigten Computerarchitektur umgesetzt sein. Dementsprechend wird der auf einem Computer ausgeführte Prozess 300 nun unter Bezugnahme auf das in 2 gezeigte System 200 und die in 4 gezeigte Computerarchitektur beschrieben.
  • Bei Block 302 sind die Softwareanwendungen 204 auf dem Computersystem 202 so konfiguriert, dass sie eine Abfrage 230 für eine Datenbank 208, auf die abgezielt wird, von dem Computersystem 220 empfangen. Bei der Abfrage 230 handelt es sich um eine Datenbankabfrage, die für die Datenbank 208, auf die abgezielt wird, bestimmt ist. Der Benutzer kann die Abfrage 230 von dem Computersystem 220 aus senden. Obwohl die Datenbank 208, auf die abgezielt wird, als Beispiel genutzt wird, könnte sich die Abfrage 230 auf einen beliebigen Teil des Speichers 206 beziehen, der die Datenbank 208, auf die abgezielt wird, und/oder andere Speicherbereiche in dem Speicher 206 umfasst. Bei dem Computersystem 220 handelt es sich um das System für den Benutzer. In einigen Beispielszenarien kann es sich bei dem Benutzer um einen gutartigen Benutzer handeln. In diesem Zusammenhang ist ein gutartiger Benutzer jemand, der mit dem Computersystem 202 auf normale oder genehmigte Weise für genehmigte Aktivitäten interagiert, zum Beispiel gemäß Richtlinien und Vorgehensweisen für das Computersystem 202. Das Computersystem 220 kann mit den Computersystemen 202 über ein drahtgebundenes und/oder drahtloses Netzwerk Daten austauschen. Unter Verwendung des Computersystems 220 kann sich der Benutzer direkt mit den Softwareanwendungen 204 des Computersystems 202 verbinden, und/oder er kann eine Client-Anwendung 222 verwenden, um sich mit den Softwareanwendungen 204 zu verbinden. Die Software-Anwendungen 204 können als Software 111 umgesetzt sein, die auf einem oder mehreren Prozessoren 101 ausgeführt wird, wie in 1 erörtert. In ähnlicher Weise kann die Client-Anwendung 222 unter Verwendung der Software 111 umgesetzt sein, die zur Ausführung auf einem oder mehreren Prozessoren 101 konfiguriert ist. Die Client-Anwendung 222 kann Cookies, Plug-Ins, Thin-Clients usw. umfassen, und die Client-Anwendung 222 kann als Teil einer Computersoftware dienen, die auf das Computersystem 202 zugreift. Die Abfrage 230 kann Berechtigungsnachweise umfassen, und/oder es können bereits vorher Berechtigungsnachweise für die Abfrage 230 übermittelt worden sein. Zu Berechtigungsnachweisen gehören zum Beispiel Benutzername und Kennwort, Kontonummern, Token, physische Merkmale einer Person usw. Die Datenbank 208, auf die abgezielt wird, kann stellvertretend für zahlreiche Datenbanken stehen. Die Datenbank 208, auf die abgezielt wird, kann Hunderte, Tausende und/oder Millionen von Dokumenten enthalten, die auch als „Big Data“ bezeichnet werden. Gemäß einer oder mehreren Ausführungsformen erfordert die enorme Größe der Datenbank 208, auf die abgezielt wird, eine Verwaltung, Verarbeitung und Suche durch eine Maschine (wie zum Beispiel das Computersystem 202), zum Beispiel unter Verwendung von durch einen Computer ausführbaren Anweisungen, und die Datenbank 208, auf die abgezielt wird, könnte nicht praktisch innerhalb des menschlichen Verstands wie hierin erörtert verwaltet, gespeichert, analysiert und/oder verarbeitet werden.
  • Unter Bezugnahme auf 3 sind die Softwareanwendungen 204 bei Block 304 so konfiguriert, dass sie erkennen, ob die Abfrage 230 bösartig oder gutartig ist. In 3 wird die Abfrage 230 als gutartig eingestuft und der Benutzer dementsprechend als gutartiger Benutzer bezeichnet. Die Softwareanwendungen 204 können jede beliebige geeignete Technik verwenden, um festzustellen, ob eine Abfrage gutartig oder bösartig ist. Zum Beispiel können die Softwareanwendungen 204 einen oder mehrere Detektoren 240 für bösartige Abfragen umfassen, in diese integriert sein und/oder diese einsetzen. 4 zeigt einen Ablauf 401 von dem Benutzer zu dem Detektor für bösartige Abfragen, und ein Ablauf 402 zeigt, wie die gutartige Abfrage an die Datenbank, auf die abgezielt wird, und an das generative Modell 244 zum Trainieren gesendet wird. Die gestrichelten Kästchen werden in 6 nicht verwendet. Die Detektoren 240 für bösartige Abfragen können Software umfassen, die auf einem oder mehreren Prozessoren 101 ausgeführt wird, und/oder sie können anwendungsspezifische integrierte Schaltungen (ASIC) umfassen. Die Detektoren für bösartige Abfragen können verschiedene Eindringungsalgorithmen umfassen. Die Detektoren 240 für bösartige Abfragen können Clustering-Algorithmen, Ausreißer-Algorithmen und andere verwenden, um bösartige Abfragen zu erkennen und von gutartigen Abfragen zu unterscheiden. Die Detektoren 240 für bösartige Abfragen können so konfiguriert sein, dass sie Versuche erkennen, Befehle in Datenbanksysteme einzuschleusen oder zu versuchen, Transaktionen auf andere Weise auszulösen, um unberechtigten Zugriff auf Datensätze in Datenbanksystemen zu erhalten. Die Detektoren 240 für bösartige Abfragen können verwendet werden, um den Netzwerkverkehr (d.h. die Abfragen) mit einer Liste bekannter Angriffsmuster abzugleichen, was die Verwendung einer regelbasierten Steuerungsroutine zum Einsetzen von musterbasierten Regeln umfasst. Die Detektoren 240 für bösartige Abfragen können auf Anomalien basierende Verfahren zum Erkennen von webbasierten Angriffen einsetzen, wozu auch ein Analysieren von Protokolldateien oder Informationen auf Protokollebene gehört, um Anomalien auf der Grundlage von Heuristiken oder Data-Mining-Techniken zu erkennen. Die Detektoren 240 für bösartige Abfragen können auch andere Analysetechniken umfassen, darunter das auf Baumkernen (treekernel) beruhende Lernen als Teil der Verarbeitung natürlicher Sprache (NLP). In einer oder mehreren Ausführungsformen kann ein Modell des maschinellen Lernens genutzt werden, um bösartige Abfragen zu erkennen. In einer oder mehreren Ausführungsformen wird möglicherweise kein maschinelles Lernen für Detektoren für bösartige Abfragen genutzt. In einer oder mehreren Ausführungsformen könnte ein beliebiges Warnsystem gegen Angriffe von außen verwendet werden, das in der Lage ist, das Vorhandensein eines Angreifers oder eines Angriffs auf eine Datenbank, auf die abgezielt wird, oder das Vorhandensein eines Angreifers oder eines Angriffs auf das Netzwerk/die Umgebung, in dem/der sich die Datenbank befindet, zu erkennen. Anders ausgedrückt, der Angreifer hat möglicherweise noch nicht mit der Datenbank interagiert, aber er wurde auf der Grundlage der auf anderen Systemen durchgeführten Aktionen als bösartig erkannt, und daher weiß das System bereits, dass er bösartig ist, wenn er beginnt, mit dem System zu interagieren.
  • Unter Bezugnahme auf 3 sind bei Block 306 die Softwareanwendungen 204 auf den Computersystemen 202 so konfiguriert, dass sie eine Antwort 232 aus der Datenbank 208, auf die abgezielt wird, generieren und die Antwort 232 an das Computersystem 220 zurückmelden. Die Antwort 232 kann auch als Datenbankantwort bezeichnet werden. 4 stellt eine Veranschaulichung der Antwort der gutartigen Datenbank dar, die an den gutartigen Benutzer zurückgemeldet wird, sowie des generativen Modells 244 für das Trainieren an den Abläufen 403 und 404. Unter Verwendung der Softwareanwendungen 204 kann die Datenbank 208, auf die abgezielt wird, die Antwort 232 generieren. In einer oder mehreren Ausführungsformen kann die Abfrage als eine SQL-Anweisung (strukturierte Abfragesprache, Structured Query Language) interpretiert oder verwendet werden, die ein Ergebnis (d.h. eine Antwort) von der Datenbank, auf die abgezielt wird, anfordert. Bei SQL handelt es sich um eine Standardsprache zum Speichern, Bearbeiten und Abrufen von Daten in Datenbanken.
  • Als Teil des Trainierens des generativen Modells 244 sind die Softwareanwendungen 204 bei Block 308 so konfiguriert, dass sie die Antwort 232 auf die Abfrage 230 für den gutartigen Benutzer anonymisieren. Die Softwareanwendungen 204 können ein oder mehrere Datenanonymisierungsmodule 242 umfassen, in diese integriert sein und/oder diese einsetzen. Die Datenanonymisierungsmodule 242 können eine Software-Anwendung, die auf einem oder mehreren Prozessoren 101 ausgeführt wird, und/oder anwendungsspezifische integrierte Schaltungen (ASIC) umfassen. Bei der Datenanonymisierung handelt es sich um eine Art von Informationsbereinigung, deren Ziel der Datenschutz ist, wie allgemein in Ablauf 404 in 4 dargestellt. Dabei handelt es sich um einen Prozess, bei dem persönlich identifizierbare Informationen aus Datensätzen entfernt werden, so dass die Personen, die durch die Daten beschrieben werden, anonym bleiben und die Daten selbst nicht authentisch oder echt sind. Die Datenanonymisierungsmodule 242 können verschiedene Maskierungstechniken verwenden, um Daten in der Antwort 232 durch andere Werte zu ersetzen, wobei das Format und die Struktur der authentischen Daten (d.h. der ursprünglichen Daten) aus der Datenbank 208, auf die abgezielt wird, erhalten bleiben. Als Teil des Trainierens des generativen Modells 244 sind die Softwareanwendungen 204 bei Block 310 so konfiguriert, dass sie die Abfrage 230 und deren entsprechende anonymisierte Antwort an das generative Modell 244 zum Trainieren übertragen, wie allgemein in den Abläufen 402 und 404 in 4 dargestellt. Bei Block 312 sind die Softwareanwendungen 204 so konfiguriert, dass sie diesen Prozess 300 für jede gutartige Abfrage wiederholen, um einen Datensatz von Abfragen und deren zugehörige anonymisierte Antworten für das generative Modell 244 zu erstellen, wie allgemein in Ablauf 405 in 4 dargestellt. Bei dem generativen Modell 244 kann es sich um ein generatives adversarisches Netzwerk (GAN) handeln, wobei es sich um eine Klasse von Rahmenwerken des maschinellen Lernens handelt. Ausgehend von einem Trainingssatz lernt das generative Modell, neue Daten mit denselben Statistiken wie der Trainingssatz zu generieren. Der Trainingssatz umfasst gutartige Abfragen und deren entsprechende anonymisierte Antworten aus den Datenbanken 208, auf die abgezielt wird. Zu Beispielen für Algorithmen, die für das generative Modell verwendet werden können, gehören Gaußsche Mischungsmodelle (und andere Arten von Mischungsmodellen), Hidden-Markov-Modelle, probabilistische kontextfreie Grammatiken, bayessche Netze (z.B. Naive Bayes, autoregressive Modelle usw.), gemittelte Einzel-Abhängigkeitsschätzer, latente Dirichlet-Zuordnung, Variations-Autocodierer, generative adversarische Netze, flussbasierte generative Modelle usw., sie sind aber nicht darauf beschränkt. In Bezug auf ein bedingtes GAN kann das GAN unüberwachtes Lernen, halbüberwachtes Lernen, vollständig überwachtes Lernen und Verstärkungslernen verwenden. In einer oder mehreren Ausführungsformen kann das GAN ein „indirektes“ Trainieren durch einen Diskriminator umfassen, der selbst dynamisch aktualisiert werden könnte. Der Generator kann darauf trainiert werden, den Diskriminator zu überlisten. Dadurch kann das GAN-Modell auf unüberwachte Weise lernen. Das generative Netz generiert in Frage kommende Daten, während das diskriminative Netz diese auswertet. Der Wettbewerb funktioniert in Bezug auf Datenverteilungen. Das generative Netz lernt, von einem latenten Raum aus auf eine Datenverteilung von Interesse abzubilden, während das diskriminative Netz die durch den Generator erzeugten, in Frage kommenden Daten von der wahren Datenverteilung unterscheidet. Das Trainingsziel des generativen Netzes besteht darin, die Fehlerquote des diskriminierenden Netzes zu erhöhen (d.h. das diskriminierende Netz zu „täuschen“, indem neue in Frage kommende Daten generiert werden, von denen das diskriminierende Netz glaubt, dass sie nicht synthetisch sind (Teil der wahren Datenverteilung sind)). Ein bekannter Datensatz dient als anfängliche Trainingsdaten für den Diskriminator. Das Trainieren des GAN geht damit einher, dass ihm Proben aus dem Trainingsdatensatz vorgelegt werden (z.B. gutartige Abfragen und deren entsprechende anonymisierte Antworten aus den Datenbanken 208, auf die abgezielt wird), bis das GAN eine annehmbare Genauigkeit erreicht. Der Generator wird auf der Grundlage dessen trainiert, ob es ihm gelingt, den Diskriminator zu täuschen. Danach werden durch den Generator synthetisierte, in Frage kommende Daten durch den Diskriminator bewertet. Bei dem Generator handelt es sich üblicherweise um ein neuronales Entfaltungsnetz, und bei dem Diskriminator handelt es sich im Allgemeinen um ein neuronales Faltungsnetz. Obwohl eine oder mehrere Ausführungsformen die Generierung von Honeypot-Datenbankantworten durch die Verwendung eines bedingten GAN-Modells erörtern, sollte man sich darüber im Klaren sein, dass eine oder mehrere Ausführungsformen möglicherweise kein bedingtes GAN verwenden und jeden beliebigen Mechanismus einsetzen könnten, der in der Lage ist, eine Honeypot-Datenbankantwort zu erzeugen, die realistische synthetische Daten enthält.
  • 5 ist ein Ablaufplan eines auf einem Computer ausgeführten Prozesses 500 zur Abwehr von gezielten Datenbankangriffen durch dynamische Generierung von Honeypot-Datenbankantworten gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung. Der auf einem Computer ausgeführte Prozess 500 in 5 kann mit dem in 2 gezeigten System 200 umgesetzt werden. Insbesondere wurde das generative Modell 244 so trainiert, dass es eine Abfrage (einschließlich bösartiger Abfragen) empfängt und eine synthetische Antwort bereitstellt, bei der es sich um eine gefälschte Antwort handelt, die auf der Vorgeschichte des Angreifers beruht. Bösartiger Benutzer, Angreifer, unbefugter Benutzer, usw. können austauschbar verwendet werden. 6 stellt ein Blockschaubild eines Architekturbeispiels gemäß einer oder mehreren Ausführungsformen der Erfindung dar, in dem ein bösartiger Benutzer versucht, sich Zugang zu einer Datenbank zu verschaffen, auf die abgezielt wird, sowie einer Verwendung einer dynamischen Generierung von Honeypot-Datenbankantworten, um den Angriff zu vereiteln. Die gestrichelten Kästchen stellen Funktionen dar, die in 6 nicht verwendet werden. Der Prozess 500 in 5 wird unter Bezugnahme auf 2 und 6 beschrieben. Bei Block 502 sind die Softwareanwendungen 204 auf dem Computersystem 202 so konfiguriert, dass sie eine Abfrage 230, die für eine Datenbank 208, auf die abgezielt wird, vorgesehen ist, von dem Computersystem 220 empfangen. Wiederum kann der Benutzer die Abfrage 230 von dem Computersystem 220 aus senden.
  • Unter Bezugnahme auf 5 sind die Softwareanwendungen 204 bei Block 504 so konfiguriert, dass sie erkennen, dass die Abfrage 230 bösartig ist. 6 zeigt einen Ablauf 601 von dem Benutzer zu dem Detektor für bösartige Abfragen, während ein Ablauf 602 die Erkennung der bösartigen Abfrage veranschaulicht. In 5 wird die Abfrage 230 als bösartig und/oder unbefugt eingestuft, und dementsprechend werden der Benutzer und die Abfrage durch die Softwareanwendungen 204 als bösartiger Benutzer eingestuft und entsprechend verarbeitet. Wenn erkannt wird, dass die Abfrage 230 bösartig ist, sind die Softwareanwendungen 204 so konfiguriert, dass sie diese bösartige Abfrage in einem angreiferspezifischen Abfrage- und Antwort-Verlaufsdatensatz 246 für diesen Benutzer, der als Angreifer eingestuft wurde, speichern. Bei dem angreiferspezifischen Abfrage- und Antwort-Verlaufsdatensatz 246 handelt es sich um ein System (z.B. ein Datenbanksystem), das ein Protokoll der Datenbankabfragen und der entsprechenden Antworten für einen bestimmten Angreifer (d.h. einen Benutzer) speichert. Derartige Datenbankantworten können sowohl Antworten von Datenbanken, auf die abgezielt wird, als auch synthetische Antworten (d.h. gefälschte Honeypot-Antworten) umfassen. Zudem umfasst der angreiferspezifische Abfrage- und Antwort-Verlaufsdatensatz 246 Abfragen aus der Zeit vor der Erkennung des Angreifers, die ursprünglich als gutartig angesehen wurden, zusammen mit deren entsprechender Antwort aus der echten Datenbank, auf die abgezielt wird (z.B. wie in 3 und 4). Ebenso umfasst der angreiferspezifische Abfrage- und Antwort-Verlaufsdatensatz 246 Abfragen aus der Zeit nach der Erkennung des Angreifers zusammen mit deren entsprechenden synthetischen Datenbankantworten (d.h. Honeypot-Antworten). In einer oder mehreren Ausführungsformen kann der Detektor 240 für bösartige Abfragen einen Schwellenwert aufweisen, der erreicht werden muss, bevor ein Benutzer als bösartig eingestuft wird. Anfänglich kann ein Benutzer auf unbefugte Weise mit dem Computersystem 202 interagieren und allmählich zu unbefugten Aktivitäten (z.B. Abfragen) übergehen, was alles von den Softwareanwendungen 204 überwacht wird. Bei einem bösartigen Benutzer handelt es sich um einen Benutzer, der mit dem Computersystem 202 in einer anormalen oder unbefugten Weise interagiert, die zum Beispiel Richtlinien und Vorgehensweisen für das Computersystem 202 nicht entspricht. Sobald ein Benutzer von den Softwareanwendungen 204 als bösartig oder unbefugt eingestuft wurde (z.B. weil der Schwellenwert des Detektors 240 für bösartige Abfragen erreicht wurde), wird der gesamte frühere und aktuelle Verlauf dieses Benutzers zu Referenzzwecken, wie hierin erörtert, in dem angreiferspezifischen Abfrage- und Antwort-Verlaufsdatensatz 246 gespeichert. Wie bereits erwähnt, kann die Abfrage 230 Berechtigungsnachweise umfassen, und/oder es können bereits vorher Berechtigungsnachweise für die Abfrage 230 übermittelt worden sein, wobei die Berechtigungsnachweise den Benutzer identifizieren. Diese Berechtigungsnachweise können genutzt werden, um die vergangenen und aktuellen Interaktionen des Benutzers mit dem Computersystem 202 zu verfolgen. Zusätzlich zu Benutzerberechtigungsnachweisen zum Identifizieren und Verfolgen des Benutzers kann der Benutzer anhand seiner zugehörigen Token, Internetprotokoll- (IP-) Adresse usw. identifiziert und verfolgt werden, die alle für den Benutzer in dem angreiferspezifischen Abfrage- und Antwort-Verlaufsdatensatz 246 gespeichert sind. Bei einer Zuordnung 248 kann es sich um eine Tabelle handeln, die alle Benutzerinformationen, darunter auch einem Benutzer zugehörige Berechtigungsnachweise, zusammen mit Aliasnamen umfasst, so dass alle Benutzerinformationen für einen Benutzer wieder diesem Benutzer zugeordnet werden können. Die Softwareanwendungen 204 können die Zuordnung 248 beim Erstellen, Aktualisieren und Zugreifen auf den angreiferspezifischen Abfrage- und Antwort-Verlaufsdatensatz 246 für den Benutzer heranziehen.
  • Unter Bezugnahme auf 5 sind die Softwareanwendungen 204 auf den Computersystemen 202 bei Block 506 unter Verwendung des zuvor trainierten generativen Modells 244 so konfiguriert, dass sie eine Antwort 232 (ohne auf die Datenbank 208, auf die abgezielt wird, zuzugreifen) auf die bösartige Abfrage generieren, und zwar abhängig von dem angreiferspezifischen Abfrage- und Antwort-Verlaufsdatensatz 246 für diesen spezifischen bösartigen Benutzer (d.h., diesem entsprechend). In diesem Fall handelt es sich bei der Antwort 232 um eine synthetische Antwort, die auch als Honeypot-Antwort bezeichnet wird, und bei der synthetischen Antwort handelt es sich um eine gefälschte Antwort, welche die in der Datenbank 208, auf die abgezielt wird, enthaltenen sensiblen Daten nicht enthält. 6 zeigt einen Ablauf 603, wie dem generativen Modell angreiferspezifische Abfrage- und Antwort-Verlaufsdaten bereitgestellt werden.
  • Beim Generieren der synthetischen Antwort werden die synthetischen Antworten (d.h. die Antworten der Honeypot-Datenbank) so erstellt, dass der bösartige Benutzer Antworten empfängt, die mit allen zuvor von diesem Benutzer gestellten Abfragen übereinstimmen. Zum Beispiel hat ein bösartiger Benutzer (der zum Zeitpunkt der Übermittlung ein gutartiger Benutzer gewesen sein könnte) die folgende Abfrage gestellt: „zähle * aus Tabelle A“. Die zuvor empfangene Antwort auf diese Abfrage lautete „4“. Bei jeder zukünftigen Abfrage dieses bösartigen Benutzers wird eine Antwort empfangen, bei der die Gesamtzahl von in „Tabelle A“ vorhandenen Zeilen gemäß dem angreiferspezifischen Abfrage- und Antwort-Verlaufsdatensatz 246 für diesen Benutzer nur gleich oder kleiner als 4 sein kann. Indem die Antworten mit allen früheren Abfragen und Antworten für diesen Benutzer in Übereinstimmung gehalten werden, gewährleisten die Softwareanwendungen 204, dass der bösartige Benutzer nicht weiß, dass ihm synthetische Daten (d.h. Honeypot-Daten) im Gegensatz zu den echten Daten, auf die abgezielt wird, der Datenbank 208, auf die abgezielt wird, bereitgestellt wurden. Als ein anderes Beispiel wird, wenn der bösartige Benutzer zuvor eine Abfrage gestellt hat, alle Daten in den Zeilen 1-10 zu löschen, bei jeder zukünftigen Abfrage, die von diesem bösartigen Benutzer in Bezug auf die Zeilen 1-10 gestellt wird, eine Antwort empfangen, die angibt, dass die Zeilen 1-10 leer sind, und zwar gemäß dem angreiferspezifischen Abfrage- und Antwort-Verlaufsdatensatz 246 für diesen Benutzer. Die Softwareanwendungen 204 sind so konfiguriert, dass sie gleichzeitig (z.B. in Echtzeit und/oder nahezu in Echtzeit) eine (eindeutige) synthetische Antwort generieren und diese jeweils verschiedenen bösartigen Benutzern bereitstellen, wobei die Antwort sich konkret auf die zuvor von den Benutzern gestellten Abfragen bezieht, wodurch sie in der Lage sind, gleichzeitige Angreifer abzuwehren.
  • Unter Bezugnahme auf 5 sind die Softwareanwendungen 204 auf den Computersystemen 202 bei Block 508 so konfiguriert, dass sie die Antwort 232 (d.h. die synthetische Antwort) an die bösartige Abfrage zurückmelden und bei Block 510 die synthetische Antwort mit ihrer entsprechenden bösartigen Abfrage in dem angreiferspezifischen Abfrage- und Antwort-Verlaufsdatensatz 246 für diesen bösartigen Benutzer speichern. In einer oder mehreren Ausführungsformen könnte das Anonymisierungsmodul 242 genutzt werden, um Daten in der synthetischen Antwort als weitere Vorsichtsmaßnahme zu anonymisieren, bevor sie an den bösartigen Benutzer zurückgemeldet wird. 6 zeigt den Ablauf 604 der synthetischen Antwort zurück zu dem bösartigen Benutzer und zu dem angreiferspezifischen Abfrage- und Antwort-Verlaufsdatensatz, der für den bösartigen Benutzer spezifisch ist, als Vorbereitung für zukünftige Abfragen. Das Fehlerbehebungsteam auf dem Computersystem 224 kann Daten sammeln, die den Angriff betreffen.
  • Gemäß [einer] oder mehreren Ausführungsformen der Erfindung umfassen die technischen Vorteile und der Nutzen ein System und ein Verfahren, die Datenbanken, die personenbezogene Informationen enthalten, vor Angreifern schützen können. Das System erfordert nicht die Erstellung einer eigenen Honeypot-Datenbank, sondern nur einen minimalen Konfigurationsaufwand. Das System kann außerdem hinauszögern, dass der Angreifer merkt, dass er erkannt wurde, und stellt somit dem angegriffenen System einen Vorteil bereit, das Verhalten des Angreifers sicher zu überwachen, während der Angreifer mit gefälschten Datenbankantworten beschäftigt ist. Die Nutzung eines generativen Modells stellt eine unbegrenzte Anzahl von angreiferspezifischen Honeypot-Datenbankantworten (d.h. synthetischen Antworten) bereit. Sollte ein Angreifer den synthetischen Datensatz der Öffentlichkeit zugänglich machen, ermöglicht die Technik Ermittlern, den veröffentlichten synthetischen Datensatz mit dem spezifischen Honeypot-Datenbanksystem zu verknüpfen, das ihn generiert hat, und somit mit einem bestimmten Angreifer. Die Nutzung des generativen Modells ermöglicht es dem System auch, für jeden Angreifer (eindeutig) eine endlose Menge an Daten zu generieren, um ihn zu beschäftigen. Das System kann dem Fehlerbehebungsteam forensische Aufzeichnungen darüber bereitstellen, wie der Angriff durchgeführt wurde und auf welche Informationen innerhalb der Datenbank konkret abgezielt wurde.
  • 7 stellt einen Ablaufplan eines auf einem Computer ausgeführten Verfahrens 700 zum Abwehren von gezielten Datenbankangriffen durch dynamische Generierung von Honeypot-Datenbankantworten gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung dar. Das auf einem Computer ausgeführte Verfahren 700 in 7 kann unter Verwendung des in 2 gezeigten Systems 200 umgesetzt werden. Bei Block 702 sind die Softwareanwendungen 204 des Computersystems 202 so konfiguriert, dass sie eine Abfrage 230 (z.B. eine bösartige Abfrage) empfangen, die für eine Datenbank 208, auf die abgezielt wird, vorgesehen ist. Bei Block 704 sind die Softwareanwendungen 204 des Computersystems 202 so konfiguriert, dass sie feststellen, dass die Abfrage 230 von einem unbefugten Benutzer stammt (z.B. eine bösartige Abfrage von einem bösartigen Benutzer). Bei Block 706 sind die Softwareanwendungen 204 des Computersystems 202 so konfiguriert, dass sie dem unbefugten Benutzer eine Antwort 232 (z.B. eine synthetische Antwort, bei der es sich um eine Honeypot-Antwort handelt) zurückmelden, die von einem Modell (z.B. dem generativen Modell 244) generiert wird, wobei die Antwort 232 spezifisch und dynamisch (in Echtzeit und/oder nahezu in Echtzeit) generiert wird, um die Abfrage 230 zu erfüllen, wobei das Modell (z.B., das generative Modell 244) so konfiguriert ist, dass es Antworten generiert, die mit allen früheren, an den unbefugten Benutzer zurückgemeldeten Antworten übereinstimmen (z.B. synthetische Antworten (über das generative Modell 244) generiert, die mit früheren Antworten und Abfragen in dem angreiferspezifischen Abfrage- und Antwort-Verlaufsdatensatz 246 übereinstimmen).
  • Das Modell (z.B. das generative Modell 244) ist so konfiguriert, dass es die Daten in der synthetischen Antwort in einer Struktur und einem Format synthetisiert, die mit den Daten in einer echten Antwort aus der Datenbank 208, auf die abgezielt wird, übereinstimmen. Wenn zum Beispiel die Abfrage Kontoinformationen anfordert und die Datenbank 208, auf die abgezielt wird, normalerweise Kontoinformationen in Form einer neunstelligen Zahl bereitstellen würde, ist das generative Modell 244 so konfiguriert, dass es ebenfalls eine synthetische Antwort mit einer neunstelligen Zahl bereitstellt. Bei einer authentischen Antwort handelt es sich um eine Antwort, die Daten enthält, die aus der Datenbank 208, auf die abgezielt wird, stammen und dort gespeichert sind. Im Gegensatz dazu enthält die durch das generative Modell 244 generierte synthetische Antwort keine Daten, die aus der Datenbank 208, auf die abgezielt wird, stammen und darin gespeichert sind. Das Modell ist so konfiguriert, dass es auf einen Verlaufsdatensatz zugreift (z.B. auf den angreiferspezifischen Abfrage- und Antwort-Verlaufsdatensatz 246), wobei der Verlaufsdatensatz alle früheren, dem unbefugten Benutzer zugehörigen Abfragen und alle früheren, an den unbefugten Benutzer zurückgemeldeten Antworten aufweist. Das Generieren der Antworten, die mit allen an den unbefugten Benutzer zurückgemeldeten früheren Antworten übereinstimmen, weist auf, dass sichergestellt wird, dass die in der synthetischen Antwort generierten Daten nicht in Konflikt mit früheren Daten der früheren Antworten für diesen gleichen Benutzer stehen. Die Antwort an den unbefugten Benutzer wird durch das Modell auf der Grundlage aller zuvor von dem unbefugten Benutzer empfangenen Abfragen generiert. Die Abfrage und die zurückgemeldete Antwort werden in einem dem unbefugten Benutzer zugehörigen Verlaufsdatensatz (z.B. dem angreiferspezifischen Abfrage- und Antwort-Verlaufsdatensatz 246) gespeichert. Die Datenbank 208, auf die abgezielt wird, enthält sensible Informationen, wobei das Modell so konfiguriert ist, dass es Daten generiert, welche die sensiblen Informationen ausschließen. In einer oder mehreren Ausführungsformen können die Softwareanwendungen 204 das Anonymisierungsmodul 242 [verwenden], um die synthetische Antwort zu anonymisieren und jede Möglichkeit oder jeden Zufall auszuschließen, dass das generative Modell 244 eine synthetische Antwort (d.h. eine Honeypot-Antwort) mit sensiblen Informationen in der Datenbank 208, auf die abgezielt wird, generiert.
  • Es sei klargestellt, dass das Umsetzen der hierin angeführten Lehren nicht auf eine Cloud-Computing-Umgebung beschränkt ist, obwohl diese Offenbarung eine ausführliche Beschreibung von Cloud-Computing aufweist. Vielmehr können Ausführungsformen der vorliegenden Erfindung gemeinsam mit jeder beliebigen weiteren Art von jetzt bekannter oder später erfundener Datenverarbeitungsumgebung umgesetzt werden.
  • Cloud-Computing ist ein Servicebereitstellungsmodell 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 Service schnell bereitgestellt und freigegeben werden können. Dieses Cloud-Modell kann mindestens fünf Eigenschaften aufweisen, 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 der Dienste 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 Nutzung 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 Herzen von Cloud-Computing liegt eine Infrastruktur, die ein Netzwerk aus zusammengeschalteten Knoten aufweist.
  • Unter Bezugnahme auf 8 ist eine veranschaulichende Cloud-Computing-Umgebung 50 abgebildet. Wie gezeigt ist, umfasst die Cloud-Computing-Umgebung 50 einen oder mehrere Cloud-Computing-Knoten 10, mit denen von Cloud-Nutzern verwendete lokale Datenverarbeitungseinheiten wie ein elektronischer Assistent (PDA, personal digital assistant) oder ein Mobiltelefon 54A, ein Desktop-Computer 54B, ein Laptop-Computer 54C und/oder ein Automobil-Computer-System 54N Daten austauschen können. Die Knoten 10 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 50, Infrastruktur, Plattformen und/oder Software als Dienst anzubieten, für die ein Cloud-Nutzer keine Ressourcen auf einer lokalen Datenverarbeitungseinheit vorhalten muss. Es sei darauf hingewiesen, dass die Arten von in 8 gezeigten Datenverarbeitungseinheiten 54A bis N lediglich veranschaulichend sein sollen und dass die Datenverarbeitungsknoten 10 und die Cloud-Computing-Umgebung 50 ü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.
  • Unter Bezugnahme auf 9 wird ein Satz von funktionalen Abstraktionsschichten gezeigt, die durch die Cloud-Computing-Umgebung 50 (8) bereitgestellt werden. Es sollte von vornherein klar sein, dass die in 9 gezeigten Komponenten, Schichten und Funktionen lediglich veranschaulichend sein sollen und Ausführungsformen der Erfindung nicht darauf beschränkt sind. Wie abgebildet ist, werden die folgenden Schichten und entsprechenden Funktionen bereitgestellt:
  • Eine Hardware- und Software-Schicht 60 weist Hardware- und Software-Komponenten auf. Zu Beispielen für Hardware-Komponenten gehören: Mainframe-Computer 61; auf der RISC- (Reduced Instruction Set Computer) Architektur beruhende Server 62; Server 63; Blade-Server 64; Speichereinheiten 65; und Netzwerke sowie Netzwerkkomponenten 66. In einigen Ausführungsformen weisen Software-Komponenten eine Netzwerk-Anwendungsserver-Software 67 und eine Datenbank-Software 68 auf.
  • Eine Virtualisierungsschicht 70 stellt eine Abstraktionsschicht bereit, aus der die folgenden Beispiele für virtuelle Einheiten bereitgestellt werden können: virtuelle Server 71, virtueller Speicher 72, virtuelle Netzwerke 73, darunter virtuelle private Netzwerke, virtuelle Anwendungen und Betriebssysteme 74; und virtuelle Clients 75.
  • In einem Beispiel kann eine Verwaltungsschicht 80 die nachfolgend beschriebenen Funktionen bereitstellen. Eine Ressourcen-Bereitstellung 81 stellt die dynamische Beschaffung von Datenverarbeitungsressourcen sowie anderen Ressourcen bereit, die zum Durchführen von Aufgaben innerhalb der Cloud-Computing-Umgebung verwendet werden. Ein Messen und eine Preisfindung 82 stellen die Kostenverfolgung beim Verwenden von Ressourcen innerhalb der Cloud-Computing-Umgebung sowie die Abrechnung oder Rechnungsstellung für den Verbrauch dieser Ressourcen bereit. In einem Beispiel können diese Ressourcen Anwendungs-Software-Lizenzen aufweisen. Eine Sicherheit stellt die Identitätsüberprüfung für Cloud-Nutzer und Aufgaben sowie Schutz für Daten und andere Ressourcen bereit. Ein Benutzerportal 83 stellt Nutzern und Systemadministratoren den Zugang zu der Cloud-Computing-Umgebung bereit. Eine Verwaltung des Dienstumfangs 84 stellt die Zuordnung und Verwaltung von Cloud-Computing-Ressourcen bereit, so dass die benötigten Dienstziele erreicht werden. Ein Planen und Erfüllen von Vereinbarungen zum Dienstumfang (SLA, Service Level Agreement) 85 stellt die Anordnung vorab und die Beschaffung von Cloud-Computing-Ressourcen, für die eine zukünftige Anforderung vorausgesehen wird, gemäß einem SLA bereit.
  • Eine Arbeitslastschicht 90 stellt Beispiele für die Funktionalität bereit, für welche 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 91; Software-Entwicklung und Lebenszyklusverwaltung 92; Bereitstellung von Ausbildung in virtuellen Klassenzimmern 93; Datenanalytikverarbeitung 94; Transaktionsverarbeitung 95; und Softwareanwendungen (z. B. die Softwareanwendungen 204, der Detektor 240 für bösartige Abfragen, das Anonymisierungsmodul 242, das generative Modell 244 usw.), die in Arbeitslasten und Funktionen 96 umgesetzt sind. Außerdem können Softwareanwendungen mit der Ressourcenbereitstellung 81 funktionieren und/oder in diese integriert werden.
  • Verschiedene Ausführungsformen der Erfindung werden hierin unter Bezugnahme auf die zugehörigen Zeichnungen beschrieben. Alternative Ausführungsformen der Erfindung können ausgeklügelt werden, ohne von dem Umfang dieser Erfindung abzuweichen. In der folgenden Beschreibung und in den Zeichnungen werden verschiedene Verbindungen und Positionsbeziehungen (z.B. über, unter, neben usw.) zwischen Elementen dargestellt. Diese Verbindungen und/oder Positionsbeziehungen können, sofern nicht anders angegeben, direkt oder indirekt sein, und die vorliegende Erfindung soll diesbezüglich nicht einschränkend sein. Dementsprechend kann sich ein Verbinden von Entitäten miteinander entweder auf eine direkte oder eine indirekte Verbindung beziehen, und eine Positionsbeziehung zwischen Entitäten kann eine direkte oder indirekte Positionsbeziehung sein. Außerdem können die verschiedenen hierin beschriebenen Aufgaben und Prozessschritte in eine umfassendere Vorgangsweise oder einen umfassenderen Prozess mit zusätzlichen, hierin nicht im Detail beschriebenen Schritten oder Funktionen aufgenommen werden.
  • Ein oder mehrere der hierin beschriebenen Verfahren kann/können mit einer beliebigen der oder einer Kombination aus den folgenden Technologien umgesetzt werden, die nach dem Stand der Technik bestens bekannt sind: (eine) diskrete Logikschaltung(en) mit Logikgattern zum Umsetzen von Logikfunktionen bei Datensignalen, eine anwendungsspezifische integrierte Schaltung (ASIC) mit entsprechenden Kombinationslogikgattern, (eine) programmierbare Gatteranordnung(en) (PGA), eine vor Ort programmierbare logische Anordnung (FPGA) usw.
  • Der Kürze halber können herkömmliche Techniken, die sich auf ein Herstellen und Verwenden von Aspekten der Erfindung beziehen, hier im Detail beschrieben sein oder auch nicht. Insbesondere sind verschiedene Aspekte von Datenverarbeitungssystemen und spezifischen Computerprogrammen zum Umsetzen der verschiedenen hierin beschriebenen technischen Merkmale allgemein bekannt. Dementsprechend werden der Kürze halber viele herkömmliche Umsetzungsdetails hierin lediglich kurz erwähnt oder ganz weggelassen, ohne die allgemein bekannten System- und/oder Prozessdetails bereitzustellen.
  • In einigen Ausführungsformen können verschiedene Funktionen oder Vorgänge an einem bestimmten Ort und/oder im Zusammenhang mit dem Arbeitsschritt einer/eines oder mehrerer Vorrichtungen oder Systeme stattfinden. In einigen Ausführungsformen kann ein Teil einer bestimmten Funktion oder eines bestimmten Vorgangs an einer ersten Einheit oder einem ersten Ort durchgeführt werden, und die restliche Funktion oder der restliche Vorgang kann an einer oder mehreren zusätzlichen Einheiten oder Orten durchgeführt werden.
  • Die hierin verwendete Terminologie dient lediglich dem Zweck des Beschreibens bestimmter Ausführungsformen und soll keine Einschränkung darstellen. Die Verwendung der Singularform „ein“, „eine“ bzw. „der“, „die“, „das“ hierin soll ebenfalls die Pluralformen einschließen, es sei denn, etwas anderes ergibt sich deutlich aus dem Zusammenhang. Es wird darüber hinaus darauf hingewiesen, dass die Begriffe „weist auf“ und/oder „aufweisend“, wenn sie in dieser Beschreibung verwendet werden, das Vorhandensein von aufgeführten Merkmalen, ganzen Zahlen, Schritten, Operationen, Elementen und/oder Komponenten angeben, jedoch nicht das Vorhandensein oder das Hinzufügen einer oder mehrerer anderer Merkmale, ganzer Zahlen, Schritte, Operationen, Elementkomponenten und/oder Gruppen hiervon ausschließen.
  • Die in den nachfolgenden Ansprüchen etwa vorhandenen, entsprechenden Strukturen, Materialien, Schritte und Entsprechungen aller Mittel oder Step-plus-function-Elemente verstehen sich dahingehend, dass sie jede beliebige Struktur, jedes beliebige Material bzw. jeden beliebigen Schritt zur Durchführung der Funktion in Kombination mit anderen beanspruchten Elementen nach Maßgabe der konkreten Beanspruchung aufweisen. Die vorliegende Offenbarung wurde zum Zwecke der Veranschaulichung und Beschreibung aufgeführt, soll aber nicht gesamthaft stehen für bzw. eine Beschränkung auf die dargelegte Form darstellen. Für den Fachmann werden viele Abänderungen und Abwandlungen ersichtlich sein, ohne von dem Umfang der Offenbarung abzuweichen. Die Ausführungsformen wurden gewählt und beschrieben, um die Grundgedanken der Offenbarung und die praktische Anwendung bestmöglich zu erläutern und um es anderen Fachleuten zu ermöglichen, die Offenbarung für verschiedene Ausführungsformen mit verschiedenen Abänderungen, die für eine bestimmte in Betracht gezogene Verwendung geeignet sind, zu verstehen.
  • Die hierin abgebildeten Ablaufpläne/Schaubilder sind veranschaulichend. Es kann viele Abwandlungen der Ablaufpläne/Schaubilder bzw. der darin beschriebenen Schritte (oder Arbeitsschritte) geben, ohne von dem Umfang der Offenbarung abzuweichen. Zum Beispiel können die Aktionen in einer anderen Reihenfolge durchgeführt werden, oder es können Aktionen hinzugefügt, gelöscht oder abgeändert werden. Auch der Begriff „verbunden mit“ beschreibt das Vorhandensein eines Signalpfads zwischen zwei Elementen und verlangt nicht unbedingt eine direkte Verbindung zwischen den Elementen ohne dazwischenliegende Elemente/Verbindungen zwischen ihnen. Alle dieser Abwandlungen werden als Teil der vorliegenden Offenbarung angesehen.
  • Die folgenden Definitionen und Abkürzungen sind für die Auslegung der Ansprüche und der Beschreibung zu verwenden. Die hierin verwendeten Begriffe „weist auf“, „aufweisend“ „beinhaltet“, „beinhaltend“, „verfügt über“, „verfügend über“, „enthält“ oder „enthaltend“ oder jede andere Abwandlung davon sollen eine nicht ausschließliche Einbeziehung abdecken. Zum Beispiel ist eine Zusammensetzung, eine Mischung, ein Prozess, ein Verfahren, ein Gegenstand oder eine Vorrichtung mit jeweils einer Liste von Elementen nicht notwendigerweise auf nur diese Elemente beschränkt, sondern kann auch andere Elemente enthalten, die nicht ausdrücklich aufgeführt sind oder in einer/einem derartigen Zusammensetzung, Mischung, Prozess, Verfahren, Gegenstand oder Vorrichtung von Natur aus enthalten sind.
  • Zusätzlich wird der Begriff „beispielhaft“ hierin in der Bedeutung so verwendet, dass es hier „um ein Beispiel, einen Einzelfall oder eine Veranschaulichung“ geht. Jede Ausführungsform bzw. Ausgestaltung, die hierin als „beispielhaft“ beschrieben wird, ist nicht unbedingt als bevorzugt oder vorteilhaft gegenüber anderen Ausführungsformen bzw. Ausgestaltungen auszulegen. Die Begriffe „mindestens ein(e)“ und „ein(e) oder mehrere“ werden so verstanden, dass sie jede beliebige ganzzahlige Zahl größer oder gleich eins einschließen, d.h. eins, zwei, drei, vier usw. Der Begriff „eine Mehrzahl“ wird so verstanden, dass er jede beliebige ganzzahlige Zahl größer oder gleich zwei einschließt, d.h. zwei, drei, vier, fünf usw. Der Begriff „Verbindung“ kann sowohl eine indirekte „Verbindung“ als auch eine direkte „Verbindung“ beinhalten.
  • Die Begriffe „ungefähr“, „im Wesentlichen“, „annähernd“ und Abwandlungen davon sollen den Grad des Fehlers einschließen, der einer Messung der bestimmten messbaren Größe auf der Grundlage der zum Zeitpunkt der Einreichung der Anmeldung verfügbaren Ausrüstung zugehörig ist. Zum Beispiel kann „ungefähr“ einen Bereich von ± 8 % oder 5 % oder 2 % eines bestimmten Wertes umfassen.
  • Bei der vorliegenden Erfindung kann es sich um ein System, ein Verfahren und/oder ein Computerprogrammprodukt auf jeder möglichen technischen Detailstufe der Integration handeln. Das Computerprogrammprodukt kann ein durch einen Computer lesbares Speichermedium (oder -medien) mit durch einen Computer lesbaren Programmanweisungen darauf aufweisen, 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 ein System 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 auswechselbare 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 auswechselbarer Kompaktspeicherplatte-Nur-Lese-Speicher (CD-ROM), eine DVD (digital versatile disc), ein Speicher-Stick, eine Diskette, eine mechanisch kodierte Einheit wie zum Beispiel Lochkarten oder erhabene Strukturen in einer Rille, auf denen Anweisungen gespeichert sind, und jede geeignete Kombination daraus. Ein durch einen Computer lesbares Speichermedium soll in der Verwendung hierin nicht als flüchtige Signale an sich aufgefasst werden, wie zum Beispiel Funkwellen oder andere sich frei ausbreitende elektromagnetische Wellen, elektromagnetische Wellen, die sich durch einen Wellenleiter oder ein anderes Übertragungsmedium ausbreiten (z.B. 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 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, 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, Konfigurationsdaten für integrierte Schaltungen oder entweder Quellcode oder Objektcode handeln, die in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben werden, darunter objektorientierte Programmiersprachen wie zum Beispiel Smalltalk, C++ o.ä. sowie prozedurale Programmiersprachen wie zum Beispiel 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 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 Programmanweisung ausführen, indem sie Zustandsinformationen der durch einen Computer lesbaren Programmanweisungen nutzen, um die elektronischen Schaltungen zu personalisieren, um Aspekte der vorliegenden Erfindung durchzuführen.
  • Aspekte der vorliegenden Erfindung sind hierin unter Bezugnahme auf Ablaufpläne und/oder Blockschaltbilder bzw. Schaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es wird darauf hingewiesen, dass jeder Block der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder sowie Kombinationen von Blöcken in den Ablaufplänen und/oder den Blockschaltbildern bzw. Schaubildern mittels durch einen Computer lesbarer Programmanweisungen ausgeführt werden können.
  • Diese durch einen Computer lesbaren Programmanweisungen können einem Prozessor eines Universalcomputers, eines Spezialcomputers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu erzeugen, so dass die über den Prozessor des Computers bzw. der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführten Anweisungen ein Mittel zur Umsetzung der in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder festgelegten Funktionen/Schritte erzeugen. Diese durch einen Computer lesbaren Programmanweisungen können auch auf einem durch einen Computer lesbaren Speichermedium gespeichert sein, das einen Computer, eine programmierbare Datenverarbeitungsvorrichtung und/oder andere Einheiten so steuern kann, dass sie auf eine bestimmte Art funktionieren, so dass das durch einen Computer lesbare Speichermedium, auf dem Anweisungen gespeichert sind, ein Herstellungsprodukt aufweist, darunter Anweisungen, welche Aspekte der/des in dem Block bzw. den Blöcken des Ablaufplans und/oder der Blockschaltbilder bzw. Schaubilder festgelegten 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.
  • 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 festgelegten 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 darüber hinaus anzumerken, dass jeder Block der Blockschaltbilder bzw. Schaubilder und/oder der Ablaufpläne sowie Kombinationen aus Blöcken in den Blockschaltbildern bzw. Schaubildern und/oder den Ablaufplänen durch spezielle auf Hardware beruhende Systeme umgesetzt werden können, welche die festgelegten Funktionen oder Schritte durchführen, oder Kombinationen aus Spezial-Hardware und Computeranweisungen ausführen.
  • Die Beschreibungen der verschiedenen Ausführungsformen der vorliegenden Erfindung wurden zum Zwecke der Veranschaulichung aufgeführt, sollen jedoch nicht gesamthaft stehen für bzw. begrenzt sein auf die offenbarten Ausführungsformen. Für Fachleute werden viele Abänderungen und Abwandlungen ersichtlich sein, ohne von dem Umfang der beschriebenen Ausführungsformen abzuweichen. Die hierin verwendete Terminologie wurde gewählt, um die Grundgedanken der Ausführungsformen, die praktische Anwendung oder technische Verbesserung gegenüber auf dem Markt vorgefundenen Technologien bestmöglich zu erläutern oder um es anderen Fachleuten zu ermöglichen, die hierin beschriebenen Ausführungsformen zu verstehen.

Claims (20)

  1. Auf einem Computer ausgeführtes Verfahren, aufweisend: Empfangen einer Abfrage, die für eine Datenbank vorgesehen ist, auf die abgezielt wird, durch ein Computersystem; Feststellen, durch das Computersystem, dass die Abfrage von einem unbefugten Benutzer stammt; und Zurückmelden einer von einem Modell generierten Antwort an den unbefugten Benutzer durch das Computersystem, wobei die Antwort dynamisch generiert wird, um die Abfrage zu erfüllen, und das Modell so konfiguriert ist, dass es Antworten generiert, die mit allen früheren Antworten übereinstimmen, die an den unbefugten Benutzer zurückgemeldet wurden.
  2. Auf dem Computer ausgeführtes Verfahren nach Anspruch 1, wobei das Modell so konfiguriert ist, dass es Daten in der Antwort in einem Format synthetisiert, das mit Daten in einer authentischen Antwort aus der Datenbank, auf die abgezielt wird, übereinstimmt.
  3. Auf einem Computer ausgeführtes Verfahren nach Anspruch 1, wobei das Modell so konfiguriert ist, dass es auf einen Verlaufsdatensatz zugreift, wobei der Verlaufsdatensatz alle früheren, dem unbefugten Benutzer zugehörigen Abfragen und alle früheren, an den unbefugten Benutzer zurückgemeldeten Antworten aufweist.
  4. Auf einem Computer ausgeführtes Verfahren nach Anspruch 1, wobei das Generieren der Antworten, die mit allen an den unbefugten Benutzer zurückgemeldeten früheren Antworten übereinstimmen, aufweist, dass sichergestellt wird, dass die in der Antwort generierten Daten nicht in Konflikt mit früheren Daten aller früheren Antworten stehen.
  5. Auf einem Computer ausgeführtes Verfahren nach Anspruch 1, wobei die Antwort an den unbefugten Benutzer durch das Modell auf der Grundlage aller zuvor von dem unbefugten Benutzer empfangenen Abfragen generiert wird.
  6. Auf einem Computer ausgeführtes Verfahren nach Anspruch 1, wobei die Abfrage und die zurückgemeldete Antwort in einem dem unbefugten Benutzer zugehörigen Verlaufsdatensatz gespeichert werden.
  7. Auf einem Computer ausgeführtes Verfahren nach Anspruch 1, wobei die Datenbank, auf die abgezielt wird, sensible Informationen enthält, wobei das Modell so konfiguriert ist, dass es Daten generiert, welche die sensiblen Informationen ausschließen.
  8. System, aufweisend: einen Speicher mit durch einen Computer lesbaren Computeranweisungen; und einen oder mehrere Prozessoren zum Ausführen der durch einen Computer lesbaren Anweisungen, wobei die durch einen Computer lesbaren Anweisungen den einen oder die mehreren Prozessoren so steuern, dass sie Arbeitsschritte durchführen, die Folgendes aufweisen: Empfangen einer Abfrage, die für eine Datenbank vorgesehen ist, auf die abgezielt wird; Feststellen, dass die Abfrage von einem unbefugten Benutzer stammt; und Zurückmelden einer von einem Modell generierten Antwort an den unbefugten Benutzer, wobei die Antwort dynamisch generiert wird, um die Abfrage zu erfüllen, und das Modell so konfiguriert ist, dass es Antworten generiert, die mit allen früheren Antworten übereinstimmen, die an den unbefugten Benutzer zurückgemeldet wurden.
  9. System nach Anspruch 8, wobei das Modell so konfiguriert ist, dass es Daten in der Antwort in einem Format synthetisiert, das mit Daten in einer authentischen Antwort aus der Datenbank, auf die abgezielt wird, übereinstimmt.
  10. System nach Anspruch 8, wobei das Modell so konfiguriert ist, dass es auf einen Verlaufsdatensatz zugreift, wobei der Verlaufsdatensatz alle früheren, dem unbefugten Benutzer zugehörigen Abfragen und alle früheren, an den unbefugten Benutzer zurückgemeldeten Antworten aufweist.
  11. System nach Anspruch 8, wobei das Generieren der Antworten, die mit allen an den unbefugten Benutzer zurückgemeldeten früheren Antworten übereinstimmen, aufweist, dass sichergestellt wird, dass die in der Antwort generierten Daten nicht in Konflikt mit früheren Daten aller früheren Antworten stehen.
  12. System nach Anspruch 8, wobei die Antwort an den unbefugten Benutzer durch das Modell auf der Grundlage aller zuvor von dem unbefugten Benutzer empfangenen Abfragen generiert wird.
  13. System nach Anspruch 8, wobei die Abfrage und die zurückgemeldete Antwort in einem dem unbefugten Benutzer zugehörigen Verlaufsdatensatz gespeichert werden.
  14. System nach Anspruch 8, wobei die Datenbank, auf die abgezielt wird, sensible Informationen enthält, wobei das Modell so konfiguriert ist, dass es Daten generiert, welche die sensiblen Informationen ausschließen.
  15. Computerprogrammprodukt, das ein durch einen Computer lesbares Speichermedium mit darauf enthaltenen Programmanweisungen aufweist, wobei die Programmanweisungen durch einen Prozessor ausführbar sind, um den Prozessor zu veranlassen, Arbeitsschritte durchzuführen, die Folgendes aufweisen: Empfangen einer Abfrage, die für eine Datenbank vorgesehen ist, auf die abgezielt wird; Feststellen, dass die Abfrage von einem unbefugten Benutzer stammt; und Zurückmelden einer von einem Modell generierten Antwort an den unbefugten Benutzer, wobei die Antwort dynamisch generiert wird, um die Abfrage zu erfüllen, und das Modell so konfiguriert ist, dass es Antworten generiert, die mit allen früheren Antworten übereinstimmen, die an den unbefugten Benutzer zurückgemeldet wurden.
  16. Computerprogrammprodukt nach Anspruch 15, wobei das Modell so konfiguriert ist, dass es Daten in der Antwort in einem Format synthetisiert, das mit Daten in einer authentischen Antwort aus der Datenbank, auf die abgezielt wird, übereinstimmt.
  17. Computerprogrammprodukt nach Anspruch 15, wobei das Modell so konfiguriert ist, dass es auf einen Verlaufsdatensatz zugreift, wobei der Verlaufsdatensatz alle früheren, dem unbefugten Benutzer zugehörigen Abfragen und alle früheren, an den unbefugten Benutzer zurückgemeldeten Antworten aufweist.
  18. Computerprogrammprodukt nach Anspruch 15, wobei das Generieren der Antworten, die mit allen an den unbefugten Benutzer zurückgemeldeten früheren Antworten übereinstimmen, aufweist, dass sichergestellt wird, dass die in der Antwort generierten Daten nicht in Konflikt mit früheren Daten aller früheren Antworten stehen.
  19. Computerprogrammprodukt nach Anspruch 15, wobei die Antwort an den unbefugten Benutzer durch das Modell auf der Grundlage aller zuvor von dem unbefugten Benutzer empfangenen Abfragen generiert wird.
  20. Computerprogrammprodukt nach Anspruch 15, wobei die Abfrage und die zurückgemeldete Antwort in einem dem unbefugten Benutzer zugehörigen Verlaufsdatensatz gespeichert werden.
DE112021005364.7T 2020-11-25 2021-11-08 Abwehr von gezielten datenbankangriffen durch dynamische generierung von honeypot-datenbankantworten Pending DE112021005364T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/104,013 US11824894B2 (en) 2020-11-25 2020-11-25 Defense of targeted database attacks through dynamic honeypot database response generation
US17/104,013 2020-11-25
PCT/CN2021/129354 WO2022111268A1 (en) 2020-11-25 2021-11-08 Defense of targeted database attacks through dynamic honeypot database response generation

Publications (1)

Publication Number Publication Date
DE112021005364T5 true DE112021005364T5 (de) 2023-08-10

Family

ID=81657595

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112021005364.7T Pending DE112021005364T5 (de) 2020-11-25 2021-11-08 Abwehr von gezielten datenbankangriffen durch dynamische generierung von honeypot-datenbankantworten

Country Status (6)

Country Link
US (1) US11824894B2 (de)
JP (1) JP2023549723A (de)
CN (1) CN116601630A (de)
DE (1) DE112021005364T5 (de)
GB (1) GB2616389A (de)
WO (1) WO2022111268A1 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220309179A1 (en) * 2021-03-24 2022-09-29 International Business Machines Corporation Defending against adversarial queries in a data governance system
US20230171266A1 (en) * 2021-11-26 2023-06-01 At&T Intellectual Property Ii, L.P. Method and system for predicting cyber threats using deep artificial intelligence (ai)-driven analytics
US20230205882A1 (en) * 2021-12-29 2023-06-29 Microsoft Technology Licensing, Llc Detecting malicious queries using syntax metrics

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7640006B2 (en) * 2001-10-03 2009-12-29 Accenture Global Services Gmbh Directory assistance with multi-modal messaging
US7412723B2 (en) 2002-12-31 2008-08-12 International Business Machines Corporation Method and system for morphing honeypot with computer security incident correlation
CN101071253A (zh) * 2006-05-10 2007-11-14 北京锐科天智科技有限责任公司 媒体投影装置
US8949988B2 (en) 2010-02-26 2015-02-03 Juniper Networks, Inc. Methods for proactively securing a web application and apparatuses thereof
US8650215B2 (en) 2010-05-04 2014-02-11 Red Hat, Inc. Decoy application servers
US10069852B2 (en) 2010-11-29 2018-09-04 Biocatch Ltd. Detection of computerized bots and automated cyber-attack modules
CN103051615B (zh) 2012-12-14 2015-07-29 陈晶 一种蜜场系统中抗大流量攻击的动态防御系统
US9565202B1 (en) 2013-03-13 2017-02-07 Fireeye, Inc. System and method for detecting exfiltration content
US9716727B1 (en) 2014-09-30 2017-07-25 Palo Alto Networks, Inc. Generating a honey network configuration to emulate a target network environment
US9882929B1 (en) 2014-09-30 2018-01-30 Palo Alto Networks, Inc. Dynamic selection and generation of a virtual clone for detonation of suspicious content within a honey network
US9602536B1 (en) 2014-12-04 2017-03-21 Amazon Technologies, Inc. Virtualized network honeypots
US10346623B1 (en) * 2015-03-31 2019-07-09 Amazon Technologies, Inc. Service defense techniques
US20170134405A1 (en) 2015-11-09 2017-05-11 Qualcomm Incorporated Dynamic Honeypot System
WO2017087964A1 (en) 2015-11-20 2017-05-26 Acalvio Technologies, Inc. Modification of a server to mimic a deception mechanism
JP2019506797A (ja) 2016-02-10 2019-03-07 レベル スリー コミュニケーションズ,エルエルシー 自動ハニーポットプロビジョニングシステム
GB201603118D0 (en) 2016-02-23 2016-04-06 Eitc Holdings Ltd Reactive and pre-emptive security system based on choice theory
US10462181B2 (en) 2016-05-10 2019-10-29 Quadrant Information Security Method, system, and apparatus to identify and study advanced threat tactics, techniques and procedures
US20170364794A1 (en) 2016-06-20 2017-12-21 Telefonaktiebolaget Lm Ericsson (Publ) Method for classifying the payload of encrypted traffic flows
CN106534195B (zh) 2016-12-19 2019-10-08 杭州信雅达数码科技有限公司 一种基于攻击图的网络攻击者行为分析方法
US20200389469A1 (en) 2017-12-24 2020-12-10 Arilou Information Security Technologies Ltd. System and method for tunnel-based malware detection
CN108199871A (zh) 2017-12-28 2018-06-22 广州锦行网络科技有限公司 基于虚拟化技术的动态蜜网环境部署实现系统及方法
CN108429762B (zh) 2018-04-13 2020-09-01 中国石油大学(华东) 一种基于服务角色变换的动态蜜罐防御方法
US10965708B2 (en) * 2018-06-06 2021-03-30 Whitehat Security, Inc. Systems and methods for machine learning based application security testing
CN109246108B (zh) 2018-09-18 2021-04-20 中国人民解放军战略支援部队信息工程大学 拟态化蜜罐指纹混淆系统及其sdn网络架构
CN109361670B (zh) 2018-10-21 2021-05-28 北京经纬信安科技有限公司 利用蜜罐有针对性的动态部署捕获恶意样本的装置及方法
US10958685B2 (en) 2018-12-06 2021-03-23 Sap Se Generation of honeypot data
US11281735B2 (en) * 2018-12-12 2022-03-22 Apple Inc. Determining importance of investment identifier to content of content item
US11138285B2 (en) * 2019-03-07 2021-10-05 Microsoft Technology Licensing, Llc Intent encoder trained using search logs
EP3739513A1 (de) * 2019-05-13 2020-11-18 Fujitsu Limited Verfahren und vorrichtung zur identifizierung von oberflächendefekten
CN110719253A (zh) 2019-08-29 2020-01-21 四川大学 一种基于智能问答的Web蜜罐系统
CN110995640B (zh) 2019-09-19 2022-04-05 中国银联股份有限公司 识别网络攻击的方法及蜜罐防护系统
US11599814B2 (en) * 2019-10-21 2023-03-07 Microsoft Technology Licensing, Llc Automated exception featurization and search
US11265346B2 (en) 2019-12-19 2022-03-01 Palo Alto Networks, Inc. Large scale high-interactive honeypot farm
US11461488B2 (en) * 2020-04-02 2022-10-04 Allstate Insurance Company Universal access layer for accessing heterogeneous data stores

Also Published As

Publication number Publication date
CN116601630A (zh) 2023-08-15
GB2616389A (en) 2023-09-06
JP2023549723A (ja) 2023-11-29
US20220166795A1 (en) 2022-05-26
WO2022111268A1 (en) 2022-06-02
US11824894B2 (en) 2023-11-21

Similar Documents

Publication Publication Date Title
DE112017005040T5 (de) Betriebssystem und Verfahren auf Container-Grundlage
DE112021005364T5 (de) Abwehr von gezielten datenbankangriffen durch dynamische generierung von honeypot-datenbankantworten
DE112018002984T5 (de) Konformitätsbewusste Laufzeiterzeugung auf Grundlage von Anwendungsmustern und Risikobeurteilung
DE112019003042T5 (de) Erkennung von verdächtigen aktivitäten in computernetzwerken
DE112021002245T5 (de) Verhindern einer unberechtigten bereitstellung von paketen in clustern
DE102016105062A1 (de) Nähengestützte Berechtigungsprüfung für einheitenübergreifend verteilte Daten
DE112019001433T5 (de) Datenanonymisierung
DE112020002552T5 (de) System und verfahren für eine siem-regel-sortierung und bedingte ausführung
DE112021001766T5 (de) Inhaltskontrolle durch datenaggregationsdienste dritter
DE102016204698A1 (de) Verbessern des Erkennens von Steganographie am Perimeter
DE112020005373T5 (de) Mechanismus zur authentifizierung durch nutzung von positionsbestätigung
DE102016204322A1 (de) Sichern einer Einheit unter Verwendung von grafischer Analyse
DE112021003401T5 (de) Schattenexperimente für serverlose multi-tenant-cloud-dienste
DE112021001163T5 (de) Dynamisches erstellen von facetten unter verwendung von graphpartitionierung
DE102021130396A1 (de) Datenzugriffsüberwachung und -steuerung
DE112020005306T5 (de) Implementierung von arbeitslasten in einer multi-cloud-umgebung
DE102021123058A1 (de) Maskieren von sensiblen informationen in einem dokument
DE112020000891T5 (de) Erzeugung von nativem code für cloud-services
DE112020003825T5 (de) Entsprechung zwischen externen Operationen und Containern sowie Mutationsereignissen
DE112021000689T5 (de) Attestierung von neuronalen abläufen
DE102021130942A1 (de) Mehrstufiger schutz für datenzentrierte objekte
DE112021005862T5 (de) Selbstprüfende blockchain
DE112020004806T5 (de) Cluster-sicherheit auf der grundlage von inhalten virtueller maschinen
DE112021001639T5 (de) Schutz von computeranlagen vor bösartigen angriffen
DE112020004992T5 (de) Aufrechterhalten der sicherheit eines systems

Legal Events

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