DE112019006367T5 - Verfahren und System zur Sicherung von Cloud-Speichern und -Datenbanken vor Insider-Bedrohungen und zur Optimierung der Leistung - Google Patents

Verfahren und System zur Sicherung von Cloud-Speichern und -Datenbanken vor Insider-Bedrohungen und zur Optimierung der Leistung Download PDF

Info

Publication number
DE112019006367T5
DE112019006367T5 DE112019006367.7T DE112019006367T DE112019006367T5 DE 112019006367 T5 DE112019006367 T5 DE 112019006367T5 DE 112019006367 T DE112019006367 T DE 112019006367T DE 112019006367 T5 DE112019006367 T5 DE 112019006367T5
Authority
DE
Germany
Prior art keywords
database
request
access
client application
storage
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
DE112019006367.7T
Other languages
English (en)
Inventor
Vijay Madisetti
Arshdeep Bahga
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Publication of DE112019006367T5 publication Critical patent/DE112019006367T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • 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/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Data Mining & Analysis (AREA)
  • Medical Informatics (AREA)
  • Virology (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Verfahren zum Organisieren von Clientanwendungsdaten, einschließlich Empfangen einer Datenzugriffsanfrage von einer Clientanwendung (216), Ableiten eines Tags für die Zugriffsanfrage, Empfangen von Ablaufverfolgungsinformationen in Bezug auf die Zugriffsanfrage, Speichern der empfangenen Ablaufverfolgungsinformationen in einer Tracing-Speicherdatenbank (242), Analysieren der Trace-Speicherdatenbank zum Entwickeln aktualisierter Regeln, Aktualisieren eines Storage Intelligence-Dienstes (238) mit den aktualisierten Regeln, Zuordnen der Zugriffsanfrage zu einem entsprechenden Zugriffsanfragendatensatz, Speichern der Zuordnung (1164), Empfangen einer Lesezugriffsanfrage, Empfangen von Ablaufverfolgungsinformationen für die Lesezugriffsanfrage und Weiterleiten der Lesezugriffsanfrage an die Clientdatenbank von der Clientanwendung, basierend auf den im Storage Intelligence-Dienst (238) und der Zuordnungsdatenbank (1164) gespeicherten Regeln an einen entsprechenden Datensatz auf einem cloudbasierten Server (216), Empfangen von Daten, die auf die Lesezugriffsanfrage reagieren, Definieren abgerufener Daten und Übertragen der abgerufenen Daten an die Clientanwendung.

Description

  • Verwandte Anwendungen
  • Diese Anwendung hat Anspruch auf Leistungen gemäß 35 USC § 119 (e) der am 20. Dezember 2018 eingereichten vorläufigen US-Patentanmeldung mit dem Aktenzeichen 62/782,428, auf deren gesamten Inhalt hiermit ausdrücklich Bezug genommen wird.
  • Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft Cloud-Datenbanken und Cloud-Speicherdienste, in denen vertrauliche und sensible Informationen gespeichert sind, insbesondere Systeme und Verfahren zum Schutz von Cloud-Speichern und - Datenbanken vor Insider-Bedrohungen und zur Optimierung der Leistung.
  • Hintergrund
  • Der Schutz vertraulicher und sensibler Informationen und digitaler Objekte (z. B. digital gespeicherte und manipulierte Informationen wie Datenbankeinträge, digitale Dokumente, Dateien, Bilder und andere Mechanismen, die Informationen in digitaler Form enthalten können), die in Cloud-Speichern und Cloud-Datenbanken gespeichert sind, ist für Unternehmen, die solche digitalen Objekte besitzen, zunehmend herausfordernd geworden, und zwar aufgrund interner und externer Bedrohungen. Um den beabsichtigten Wert zu liefern, müssen diese digitalen Objekte verfügbar bleiben. Nur so können sie abgefragt, abgerufen, aktualisiert, geteilt, angezeigt, archiviert und repliziert werden. Gleichzeitig muss die Integrität dieser digitalen Objekte gewahrt und ihre Offenlegung und/oder ihr Verlust verhindert werden.
  • Bekannte Sicherheitslösungen für Cloud-Speicher und -Datenbanken bieten grundlegende Funktionen wie Zugriffsbeschränkungen, Authentifizierung, Autorisierung und Verschlüsselung, allerdings keine wirksamen Sicherheitsmechanismen, um den Diebstahl und/oder das Kopieren digitaler Aufzeichnungen und Objekte durch Insider (d. h. Personen und/oder Systeme, die zum Zugriff auf die gespeicherten Objekte berechtigt sind) oder Außenstehende (d. h. Personen und/oder Systeme, die ohne Berechtigung auf diese digitalen Objekte zugreifen) zu verhindern.
  • Insider oder Anwendungen oder IdD-Geräte, die uneingeschränkten Zugriff auf den Cloud-Speicher oder die -Datenbank haben, in der vertrauliche Informationen (z. B. Kundeninformationen, Verkaufsinformationen, Kreditkartenlisten und Gesundheitsangaben) gespeichert sind, können diese Informationen stehlen und an Außenstehende weitergeben. Das böswillige Auslaufen digitaler Objekte kann, ganz gleich, ob von einem Insider oder einem Außenstehenden durchgeführt, in den folgenden Formen auftreten:
    1. a) Kopieren von im Cloud-Speicher gespeicherten digitalen Objekten auf einen lokalen Computer und anschließend auf ein USB-Laufwerk.
    2. b) Kopieren digitaler Objekte, die im Cloud-Speicher gespeichert sind, auf einen lokalen Computer und E-Mail-Versand an Dritte.
    3. c) Kopieren digitaler Objekte, die im Cloud-Speicher gespeichert sind, und Hochladen digitaler Objekte in einen Cloud-Speicher oder auf einen FTP-Server, dem die Organisation, zu der die digitalen Objekte gehören, nicht vertraut.
    4. d) Kopieren des Inhalts eines im Cloud-Speicher gespeicherten digitalen Objekts und Einfügen dieses Inhalts in ein neues digitales Objekt (z. B. eine E-Mail).
    5. e) Kopieren digitaler Objekte, die im Cloud-Speicher gespeichert sind, und anschließendes Drucken des Inhalts der digitalen Objekte.
    6. f) Abfragen digitaler Datensätze, die in großen Mengen in Cloud-Datenbanken gespeichert sind, und Erstellen lokaler Kopien der Datensätze.
    7. g) Erstellen einer lokalen Kopie der gesamten Cloud-Datenbank einschließlich aller Datenbanktabellen und -datensätze und anschließendes Leaken dieser Kopie, indem sie auf ein USB-Laufwerk kopiert, per E-Mail versendet oder in einen anderen Cloud-Speicher oder auf einen FTP-Server, dem die Organisation, zu der die digitalen Objekte gehören, nicht vertraut, hochgeladen wird.
  • Die Vertraulichkeit von Informationen zu wahren, wird noch schwieriger, wenn digitale Aufzeichnungen und Objekte von mehreren Benutzern, die berechtigt sind, gemeinsam an den digitalen Aufzeichnungen und Objekten zu arbeiten, gemeinsam genutzt werden. Bestehende Ansätze für die Zugriffskontrolle und die gemeinsame Nutzung digitaler Objekte bieten allerdings nicht die Flexibilität, digitale Objekte wie Dokumente nur für eine begrenzte Zeit gemeinsam zu nutzen. Bei den bekannten Lösungen haben die Empfänger, sobald die gemeinsame Nutzung erlaubt wurde, unbegrenzten Zugriff auf die digitalen Objekte. Das Widerrufen des Zugriffs auf gemeinsam genutzte digitale Objekte ist beispielsweise in Lösungen möglich, die ein zentrales oder cloudbasiertes Zugriffskontroll- und -verwaltungssystem verwenden und in denen die digitalen Objekte von diesem System aus gemeinsam genutzt werden. Dieser Ansatz hindert den Empfänger jedoch nicht daran, eine Kopie des digitalen Objekts lokal zu speichern, den Inhalt auf ein neues digitales Objekt auf dem lokalen Gerät zu kopieren und/oder den Inhalt per E-Mail an Dritte zu senden.
  • Anwendungen, Insider oder IdD-Geräte, die uneingeschränkten Zugriff auf den Cloud-Speicher und die -Datenbanken haben, können vertrauliche Informationen, einschließlich digitaler Aufzeichnungen und Objekte, abrufen. Bekannte Ansätze zur Zugriffskontrolle, die auf Zugriffskontrolllisten (Access Control Lists, kurz ACLs) und rollenbasierten Zugriffskontrollsystemen (Role-based Access Control, kurz RBAC) basieren, bieten keine wirksame Verteidigung gegen das Leaken digitaler Aufzeichnungen und Objekte durch einen böswilligen Insider, der über die erforderlichen Berechtigungen für den Zugriff auf die digitalen Objekte verfügt, oder von einem Außenstehenden, der sich illegal Zugang zu den digitalen Objekten verschafft.
  • Bestehende Ansätze für die Datenbanksicherheit wie DAM (kurz für Database Activity Monitoring, Deutsch: Überwachung der Datenbankaktivität) überwachen alle Datenbankaktivitäten in Echtzeit und stellen Warnungen und Berichte zu den Aktivitäten bereit. DAM-Lösungen werden hauptsächlich zu Compliance- und Überwachungszwecken verwendet und können Warnungen zu bereits geschehenen Aktivitäten sowie Berichte über Verstöße gegen vorhandene Zugriffsrichtlinien bereitstellen. DAM-Lösungen sind jedoch nicht in der Lage, neue Zugriffsrichtlinien in Echtzeit durchzusetzen oder Entscheidungen zur Speicherzuweisung zu treffen.
  • Bestehende Ansätze wie Distributed Tracing, die zum Überwachen von Anfragen in einem dezentralen System verwendet werden, fügen den Anfragen Header oder Trace-IDs und Span-IDs zu. Mit Distributed Tracing kann man Anfragen verfolgen, während sie mehrere Dienste durchlaufen, wobei sie Timing- und andere Metadaten hinterlassen. Diese Informationen können dann wieder zusammengesetzt werden, um ein vollständiges Bild des Verhaltens der Anwendung während der Ausführungszeit zu erhalten. Für Distributed Tracing muss die Anwendung mit Tracing-SDKs oder -Agenten ausgestattet werden. Distributed Tracing wurde nur für Überwachungszwecke entwickelt.
  • Bestehende Ansätze wie softwaredefinierte Speicher (Software Defined Storage, z. B. Veritas InfoScale) ermöglichen die Verwaltung verschiedener Speichertypen, einschließlich Festplatten, Solid-State-Drives (SSDs), SAN (Storage-Area-Network), DAS (Direct Attached Storage) und JBOD-Systeme. Softwaredefinierte Speicher dienen zur Verbesserung der Anwendungsleistung, indem der Backend-Speicher virtualisiert und in einen Kapazitätspool, den Server nutzen können, umgewandelt wird. Andere Veritas-Softwaretools, einschließlich Veritas Cognitive Object Storage, überprüfen die Konformität der Speicherung bestimmter Datentypen gemäß den Unternehmensrichtlinien, die zum Beispiel besagen, dass Finanzinformationen in sicheren Bereichen gespeichert werden müssen, wählen die Speicherung von Finanzinformationen jedoch nicht aktiv aus oder weisen diese aktiv dem richtigen Speicherort zu, wie das in bestimmten Ausführungsformen der vorliegenden Erfindung vorgesehen ist.
  • Bestehende Ansätze zur Überwachung von Cloud-Anwendungen und Microservices verwenden eine der folgenden Techniken zum Injizieren von Trace-IDs oder zum Abfangen von Überwachungsanfragen:
    1. 1. APM: Für APM-Techniken (Application Performance Management) müssen in alle Prozesse Agenten, die den Codeausführungspfad verfolgen, eingebettet werden.
    2. 2. Tracing von SDKs und Proxys: Mit diesen Techniken können Entwickler die Verfolgung von SDKs in den Anwendungscode einbetten und sie zum Nachverfolgen von Einstiegspunkten und zum Beenden von Aufrufen verwenden. Diese SDKs befassen sich nicht mit der Codeausführung, sondern injizieren zur Korrelation lediglich Header in Anfragen.
    3. 3. Betriebssystem-Tracing: Betriebssysteme bieten verschiedene Tracer, mit denen nicht nur die Systemaufrufe oder Pakete, sondern auch jeder Kernel oder jede Anwendungssoftware verfolgt werden können.
  • Ansätze 1 und 2 erfordern eine Instrumentierung der Anwendung, während bei Ansatz 3 keine Instrumentierung erfordert.
  • Diese Hintergrundinformationen werden bereitgestellt, um Informationen mitzuteilen, von denen der Anmelder glaubt, dass sie für die vorliegende Erfindung relevant sind. Eine Zulassung wird nicht notwendigerweise angestrebt, weder sollte ausgelegt werden, dass eine der oben genannten Informationen einen Stand der Technik gegen die vorliegende Erfindung darstellt.
  • Zusammenfassung der Erfindung
  • Vor diesem Hintergrund beziehen sich Ausführungsformen der vorliegenden Erfindung auf ein Verfahren und ein System zum Schutz vertraulicher und sensibler Informationen und digitaler Objekte (zum Beispiel digital gespeicherter und manipulierter Informationen wie Datenbankeinträge, digitale Dokumente, Dateien, Bilder und andere Mechanismen, die Informationen in digitaler Form enthalten können), die in Cloud-Speichern und Cloud-Datenbanken gespeichert sind. In bestimmten Ausführungsformen kann die vorliegende Erfindung die folgenden Vorteile bieten:
    1. 1) Verhinderung des Verlusts und/oder des Diebstahls von digitalen Aufzeichnungen und Objekten durch Insider oder Außenstehende, und zwar ohne erkennbaren Funktionsverlust in Bezug auf die digitalen Aufzeichnungen und Objekte. Diese Sicherheit umfasst die Fähigkeit, auf organisatorischer Ebene bestimmte Bedrohungen an einem bestimmten Ort und/oder zu einem bestimmten Zeitpunkt oder Fenster oder beides zu identifizieren. Bei dieser Sicherheit werden Zugriffs- und/oder Verwendungsmuster auch als Pfadbibliothek verwendet, um die Verfolgung von Bedrohungen und die Reaktion/Aktion auf der Grundlage des Kontexts und der Bedrohungsstufen zu unterstützen.
    2. 2) Einsatz von Tracking- und Analysefunktionen in einer Cloud, um Verhaltensweisen basierend auf Aktivitäten auf systemgenerierten Traces zu identifizieren und um Anforderungen aktiv und invasiv zu analysieren.
    3. 3) Verbesserung der Leistung von Cloud-Anwendungen, indem Speicheranforderungen intelligent an schnellere Speicheroptionen, sicherere Speicheroptionen oder fehlertolerantere Speicheroptionen weitergeleitet werden.
    4. 4) Automatische Auswahl der Speicherzuordnung und des Zugriffs, basierend auf den Pragma-Anweisungen oder der Konfiguration einer Anwendung.
    5. 5) Ermöglichen von proaktiven Maßnahmen in Bezug auf Bedrohungen für digitale Aufzeichnungen und Objekte, einschließlich der Verfolgung von Diebstahl durch Insider und/oder Außenstehende, sowie Kontrolle der Zerstörung digitaler Aufzeichnungen und Objekte vor Diebstahl, Verlust oder Offenlegung. Durch den Einsatz von Analysefunktionen in der Cloud können sowohl offensive als auch defensive Ansätze umgesetzt werden.
  • Die oben beschriebenen Vorteile werden durch ein sicheres softwareoptimiertes Speichersystem (SOTER) und zugehörige Verfahren erzielt. Dies umfasst die folgenden Komponenten:
    1. 1) Soter Tracer: Der Soter Tracer ist in der Anwendung instrumentiert. Er erstellt Spans, wenn Datenbankzugriffsanfragen von einer Clientanwendung empfangen werden, und hängt Header, Tags, Metadaten und Kontextinformationen in expliziter Version an die Spans an oder kann mithilfe von Domain Intelligence in der impliziten Version von Soter „Tags“ ableiten. Diese können dann die Header und Metainformationen einfügen, was der Anwendung oder dem Endbenutzer offengelegt wird oder nicht. Die Header können verwendet werden, um Anfragen zu verfolgen, während sie mehrere Dienste durchlaufen und dabei Timing- und andere Metadaten, die sogenannten Ablaufverfolgungsdaten (tracing data), hinterlassen. Diese Informationen können dann wieder zusammengesetzt werden, um ein vollständiges Bild des Verhaltens der Anwendung auf Datenbankzugriffsabfrageebene während der Ausführungszeit bereitzustellen.
    2. 2) Soter Agent: Der Soter Agent kann auf jedem Host oder Server bereitgestellt werden. Der Soter Agent überwacht die Ablaufverfolgungsdaten (einschließlich der Spans), die in die instrumentierte Anwendung eingefügt werden, und leitet die Ablaufverfolgungen über den Soter Storage Intelligence-Dienst an den Collector weiter. Der Agent sendet die Ablaufverfolgungsdaten asynchron und außerhalb des kritischen Pfads über UDP an den Collector. Der Agent kann diese Ablaufverfolgungsdaten bei Bedarf in den impliziten Ansatz einfügen. Wenn ein Proxy zum Einfügen von Traces anstelle einer instrumentierten Anwendung verwendet wird, hört der Soter Agent die Ablaufverfolgungsdaten (einschließlich der Spans) ab. Diese werden dann in die vom Soter-Proxy abgefangenen Anforderungen/Aufrufe injiziert und die Traces werden an den Collector weitergeleitet.
    3. 3) Soter Storage Firewall: Die Soter Storage Firewall ist eine dynamische Speicher-Firewall, die Anfragen in Echtzeit zulässt oder blockiert, und zwar basierend auf der Art der aktuellen Anfrage und der früherer Anfragen. Die Regeln in der Firewall werden basierend auf einer Echtzeitanalyse von Speicher- und Abrufanfragen aktualisiert, sodass unangemessene, nicht genehmigte oder böswillige Transaktionen aus einer einzigen Quelle oder mehreren verwandten Quellen, die eine Maximalanzahl von Anfragen innerhalb eines Maximalzeitraums überschreiten, blockiert oder für eine verstärkte Überwachung markiert werden können. Wenn beispielsweise ein Insider oder ein IdD-Gerät wiederholt versucht, die Kundendatenbank abzufragen und vertrauliche Daten abzurufen, können in einigen Ausführungsformen Daten einer einzelnen Kategorie oder eines einzelnen Typs (Sozialversicherungsnummern, Telefonnummern usw.) bei nachfolgenden Anfragen blockiert werden. Es wird in Betracht gezogen und in den Umfang der Erfindung eingeschlossen, dass die Soter Storage Firewall ein separates Teil Computerhardware oder eine virtuelle Firewall sein kann, das/die auf einem Computergerät ausgeführt wird, das auch andere Software ausführt.
    4. 4) Soter Storage Router: Der Storage Router identifiziert oder fügt Tags/Header ein, die mit Speicheranfragen verknüpft sind, und ermöglicht die Auswahl zwischen Speicheroptionen wie (1) sicheren Bereichen für die Speicherung bestimmter Arten von markierten Daten oder (2) schnelleren Speicherorten für den Zugriff oder (3) fehlertoleranteren Funktionen. Es wird in Betracht gezogen und in den Umfang der Erfindung eingeschlossen, dass der Soter Storage Router ein separates Teil Computerhardware oder ein virtueller Router sein kann, das/der auf einem Computergerät ausgeführt wird, das auch andere Software ausführt.
    5. 5) Soter Storage Intelligence: Ablaufverfolgungsdaten werden in der Collector-Komponente des Soter Storage Intelligence-Dienstes erfasst. Die Analyse von markierten Anfragen oder Ablaufverfolgungsdaten erfolgt in der Analytics-Komponente des Storage Intelligence-Dienstes, die die Ablaufverfolgungen sammelt und analysiert und anschließend die Routing- und Firewall-Regeln basierend auf der Analyse der Anfragen und des Verhaltens der Anwendung zur Ausführungszeit aktualisiert. Es wird in Betracht gezogen und in den Umfang der Erfindung eingeschlossen, dass der Soter Storage Intelligence-Dienst ein separates Teil Computerhardware oder ein virtueller Router sein kann, das/der auf einem Computergerät ausgeführt wird, das auch andere Software ausführt.
    6. 6) Soter Monitoring Dashboard: Das Überwachungs-Dashboard zeigt Echtzeit-Überwachungsinformationen zu Anfragen, erkannten anomalen Anfragen sowie zu identifizierten und blockierten Bedrohungen an.
    7. 7) Soter Proxy: Der Soter Proxy verhält sich wie ein vertrauenswürdiger Mittelsmann, der die Speicheranfragen oder Datenbankaufrufe abfängt. Der Soter Proxy erstellt Ablaufverfolgungen für die abgefangenen Aufrufe und sendet diese an den Soter Agent. Durch die Verwendung eines Proxys muss die Anwendung nicht mit Tracern instrumentiert werden. Der Proxy kann die Client-Server-Kommunikation abfangen (z. B. Datenbankabfragen (etwa in SQL) oder Aufrufe und Anfragen zum Speichern von Datenelementen/Objekten in einer Cloud-Datenbank oder einem Cloud-Speicher) und Ablaufverfolgungen injizieren.
  • Während bestehende Ansätze wie Distributed Tracing nur zu Überwachungszwecken gedacht sind, kann der SOTER-Ansatz nicht nur zum Beobachten oder Überwachen verwendet werden, sondern kann auch eine aktive Rolle spielen, indem Header verwendet werden, die entlang des Anfragepfads gelesen und aktualisiert werden. Der SOTER-Ansatz unterstützt auch Tags, die von Domain-Experten eingefügt wurden, die wissen, dass bestimmte Elemente mehr Geschwindigkeit, mehr Sicherheit, mehr Schutz oder mehr Fehlertoleranz benötigen. Beispielsweise müssen Kreditkartendaten in geschützten Bereichen gespeichert werden, und ihre Transaktionen sollten schnell ausgeführt werden. Der Soter Storage Router kann beispielsweise innerhalb einer Cloud-Computing-Umgebung zwischen Speicheroptionen wie Cloud Object Storage (wie AWS S3) oder NoSQL-Datenbanken (wie DynamoDB oder MongoDB) oder SQL-Datenbanken (wie MySQL auf RDS) wählen, indem diese Tags (expliziter Mechanismus) verwendet werden. Alternativ kann der Soter Storage Router beim impliziten Ansatz die „Tags“ implizit unter Verwendung von „Domaininformationen“ ableiten. Beispielsweise wird mithilfe von Wissen oder Künstlicher Intelligenz (Kl) festgelegt, dass „Finanzinformationen“ oder „persönliche Informationen“ in sicheren Containern oder vertrauenswürdigen Bereichen gespeichert werden müssen, im Gegensatz zu allgemeinen Programmstatusinformationen, die nicht in geschützten Bereichen gespeichert werden müssen.
  • Eine Datenbank oder ein Cloud-Speicher, der mit Soter-Komponenten ausgestattet ist, behandelt die QoS-Probleme transparent, basierend auf den Headern. Header werden zur Speicherung (ruhende Daten) verwendet, wobei die Header die Informationen an sicherere Bereiche oder Bereiche mit schnellerem Zugriff oder zuverlässigere Bereiche oder an Bereiche, in denen sie überwacht werden können, weiterleiten. Soter führt invasive Analysen und Optimierungen durch und verfolgt nicht nur passiv Anfragen.
  • Bestehende Ansätze wie softwaredefinierte Speicher dienen können die Anwendungsleistung verbessern, indem der Backend-Speicher virtualisiert und in einen Kapazitätspool, den Server nutzen können, umgewandelt wird. Allerdings ermöglicht der SOTER-Ansatz eine genauere Steuerung der Speicherorte für einzelne Datensätze/Objekte, und zwar durch die Verwendung von Headern, die entlang des Anfragepfads gelesen und aktualisiert werden.
  • Zusätzlich sind Ausführungsformen der Erfindung auf ein Verfahren zum Organisieren von Clientanwendungsdaten gerichtet. Dieses umfasst das Empfangen einer Zugriffsanfrage an eine Clientanwendungsdatenbank zum Erstellen oder Ändern von Clientanwendungsdaten von einer Clientanwendung, die auf einem computergestützten Gerät auf einem cloudbasierten Server ausgeführt wird, wobei ein zur Zugriffsanfrage an die Clientanwendungsdatenbank gehöriges Tag an einen Speicherrouter abgeleitet wird. Das Tag gibt die Speicheranforderungen für mindestens einen der Bereiche Sicherheits-, Zugriffsgeschwindigkeits- oder Fehlertoleranz an und empfängt Ablaufverfolgungsinformationen in Bezug auf die Zugriffsanfrage an die Clientanwendungsdatenbank an einem Speicherintelligenzdienst. Außerdem definiert es Ablaufverfolgungsinformationen in Bezug auf die Tag- und Clientanwendungsattribute, die mindestens einen der Bereiche Benutzer, Rollen, Berechtigungen, Datenbankzugriffspfade und Verwendungsmerkmale umfassen, speichert die empfangenen Ablaufverfolgungsinformationen in einer cloudbasierten Ablaufverfolgungsspeicherdatenbank, analysiert die Ablaufverfolgungsspeicherdatenbank, um aktualisierte Regeln für Zugriffsanfragen an die Clientanwendungsdatenbank und aktualisiert den Storage Intelligence-Dienst mit den aktualisierten Regeln. Das Verfahren kann ferner das Zuordnen von Zugriffsanfragen an die Clientanwendungsdatenbank am Speicherrouter zu einem entsprechenden Serverdatenbankzugriffsanfragendatensatz umfassen. Dieser wird als Reaktion auf das aus der Zugriffsanfrage an die Clientanwendungsdatenbank erstellte Tag und einer vom Speicherrouter abgeleiteten Regel, erstellt oder geändert. Außerdem kann das Verfahren das Speichern der Zuordnung in einer cloudbasierten Mapping-Datenbank umfassen. Das Verfahren kann ferner das Empfangen einer Clientdatenbank-Lesezugriffsanfrage von einer Clientanwendung, das Empfangen von Ablaufverfolgungsinformationen, die der Clientdatenbank-Lesezugriffsanfrage von der Clientanwendung beim Storage Intelligence-Dienst zugeordnet werden, sowie das Weiterleiten der Clientdatenbank-Lesezugriffsanfrage von der Clientanwendung umfassen. Dies geschieht basierend auf den im Storage Intelligence-Dienst und in der Mapping-Datenbank gespeicherten Regeln zu einem entsprechenden cloudbasierten Server-Datenbankdatensatz. Das Verfahren kann zusätzlich das Empfangen von Daten aus dem entsprechenden cloudbasierten Server-Datenbankdatensatz als Reaktion auf die Clientdatenbank-Lesezugriffsanfrage, das Definieren der abgerufenen Daten sowie das Übertragen der abgerufenen Daten an die Clientanwendung umfassen.
  • In einigen Ausführungsformen kann der Schritt des Ableitens eines Tags, das der Zugriffsanfrage an die Clientanwendungsdatenbank am Speicherrouter zugeordnet ist, auch umfassen, dass bestimmt wird, dass der Zugriffsanfrage an die Clientanwendungsdatenbank kein Tag zugewiesen wurde. Daraufhin werden die Daten, die in der Zugriffsanfrage an die Clientanwendungsdatenbank enthalten sind, analysiert und ein Tag in die Zugriffsanfrage für die Clientanwendungsdatenbank eingefügt, und zwar als Reaktion auf die Analyse der Daten, die in der Zugriffsanforderung für die Clientanwendungsdatenbank enthalten sind. Der Schritt des Ableitens eines Tags, das der Zugriffsanfrage an die Clientanwendungsdatenbank am Speicherrouter zugeordnet ist, kann das Identifizieren eines Tags umfassen, das Bestandteil der Zugriffsanfrage an die Clientanwendungsdatenbank ist.
  • In einigen Ausführungsformen kann die Zuordnungsdatenbank als verteilte Hashtabelle organisiert sein. Die Zuordnungsdatenbank kann aus Gründen der Fehlertoleranz und der Verfügbarkeit repliziert werden.
  • In einigen Ausführungsformen kann das Verfahren ferner das Bestimmen einer wahrscheinlichen zukünftigen Lesezugriffsanfrage an die Clientdatenbank als Reaktion auf das Tag und die Ablaufverfolgungsinformationen, die der Zugriffsanfrage an die Clientanwendungsdatenbank beim Storage Intelligence-Dienst zugeordnet sind, umfassen.
  • In einigen Ausführungsformen kann das Verfahren ferner das Empfangen einer Vielzahl von Clientdatenbank-Lesezugriffsanfrage von einer einzelnen Quelle auf dem cloudbasierten Server, das Empfangen von Ablaufverfolgungsinformationen für jede dieser Clientdatenbank-Lesezugriffsanfragen beim Storage Intelligence-Dienst und das Analysieren der Ablaufverfolgungsinformationen, die mit der Vielzahl von Lesezugriffsanfragen an die Clientdatenbank beim Storage Intelligence-Dienst verbunden sind, umfassen. So soll bestimmt werden, ob eine Maximalanzahl von Anfragen innerhalb eines Maximalzeitraums überschritten wird. Wurde die Maximalanzahl von Anforderungen innerhalb des Maximalzeitraums tatsächlich überschritten, werden nachfolgende Lesezugriffsanfragen an die Clientdatenbank von der Quelle markiert, damit diese besser überwacht werden können.
  • In einigen Ausführungsformen kann das Verfahren ferner das Empfangen einer Vielzahl von Clientdatenbank-Lesezugriffsanfragen von einer einzelnen Quelle auf dem cloudbasierten Server, das Empfangen von Ablaufverfolgungsinformationen für jede dieser Clientdatenbank-Lesezugriffsanfragen beim Storage Intelligence-Dienst und das Analysieren der Ablaufverfolgungsinformationen, die mit der Vielzahl von Clientdatenbank-Lesezugriffsanfragen beim Storage Intelligence-Dienst verbunden sind, umfassen. So soll bestimmt werden, ob eine Maximalanzahl von Anfragen für den Lesezugriff auf Daten einer einzelnen Kategorie überschritten wird. Wird die Maximalanzahl von Anfragen für den Lesezugriff von Daten einer einzelnen Kategorie tatsächlich überschritten, werden nachfolgende Lesezugriffsanfragen an die Clientdatenbank von dieser Quelle markiert, sodass sie besser überwacht werden können.
  • In einigen Ausführungsformen können die Daten, die eine Zugriffsanfrage an die Clientanwendungsdatenbank oder eine Clientdatenbank-Lesezugriffsanfrage umfassen, für einen ersten Datenbanktyp formatiert werden. Das Verfahren kann ferner umfassen, dass bestimmt wird, ob der erste Datenbanktyp mit einem zugeordneten Datenbanktyp übereinstimmt, der mit einem Datenbanktyp des entsprechenden Serverdatenbankzugriffsanfragendatensatzes zusammenhängt. Wird bestimmt, dass der erste Datenbanktyp nicht mit dem Datenbanktyp des entsprechenden Serverdatenbankzugriffsanfragendatensatzes übereinstimmt, wird der erste Datenbanktyp in einen zweiten Datenbanktyp, der dem Datenbanktyp des entsprechenden Serverdatenbankzugriffsanfragendatensatzes entspricht, konvertiert. Der erste Datenbank- und der zweite Datenbanktyp können SQL- oder NoSQL-Datenbanken sein.
  • In einigen Ausführungsformen können die abgerufenen Daten keine Informationen zu einem geografischen Standort oder einem Internetprotokollstandort des Servers, der den cloudbasierten Serverdatenbankdatensatz umfasst, enthalten oder diese ausschließen.
  • In einigen Ausführungsformen kann das Empfangen der Zugriffsanfrage an die Clientanwendungsdatenbank das Empfangen der Zugriffsanfrage an die Clientanwendungsdatenbank an einem Lastverteiler umfassen, wobei Ablaufverfolgungsinformationen zu der Zugriffsanfrage an die Clientanwendungsdatenbank, die auf das Empfangen der Zugriffsanfrage an die Clientanwendungsdatenbank an dem definierten Lastverteiler reagiert, hinzugefügt werden. Diese sogenannten Lastverteiler-Ablaufverfolgungsinformationen werden an den Storage Intelligence-Dienst gesendet, die Zugriffsanfrage an die Clientanwendungsdatenbank wird an einen Anwendungsserver mehrerer Anwendungsserver gesendet, die Zugriffsanfrage an die Clientanwendungsdatenbank wird auf dem Anwendungsserver mehrerer Anwendungsserver empfangen, die Ablaufverfolgungsinformationen werden der Zugriffsanfrage an die Clientanwendungsdatenbank als Reaktion auf den Empfang der Zugriffsanfrage an die Clientanwendungsdatenbank auf dem Anwendungsserver hinzugefügt. Diese sogenannten Ablaufverfolgungsinformationen des Anwendungsservers werden dann an den Storage Intelligence-Dienst gesendet.
  • Weitere Ausführungsformen der Erfindung betreffen ein Verfahren zum Optimieren der Leistung und Sicherung von Cloud-Speichern und -Datenbanken. Dieses umfasst das Analysieren von Daten, die aus einer Datenanfrage bestehen, die von einer Clientanwendung von einer Agentenanwendung auf einem Computergerät erzeugt wurde, sowie das Einfügen eines Tags in die Datenanfrage, die auf die Analyse der Daten, die in der Datenanfrage enthalten sind, reagiert, wobei das Tag Speicheranforderungen für mindestens einen der Bereiche Sicherheit, Zugriffsgeschwindigkeit oder Fehlertoleranz angibt. Ferner umfasst es das Identifizieren von Ablaufverfolgungsinformationen, die zu einer von der Clientanwendung übertragenen Datenanfrage hinzugefügt wurden, sowie die Übertragung der Ablaufverfolgungsinformationen an einen Storage Intelligence-Dienst.
  • In einigen Ausführungsformen kann die Ablaufverfolgungsinformation auch auf einem Pfad an den Storage Intelligence-Dienst übertragen werden, der nicht dem Pfad entspricht, über den die Datenanfrage übertragen wurde. Die Ablaufverfolgungsinformationen können eine oder mehrere Bereiche eines Spans oder eines Traces umfassen. Die Agentenanwendung kann von einem Client-Computergerät, einem Lastverteiler, einem Proxy-Server oder einem Anwendungsserver ausgeführt werden. Das Verfahren kann ferner das Hinzufügen von Ablaufverfolgungsinformationen zur Datenanfrage umfassen.
  • Figurenliste
    • ist eine Darstellung eines bestehenden Ansatzes zur Datenspeicherung mit direktem Zugriff auf gespeicherte Daten, gemäß einer Ausführungsform der Erfindung.
    • ist eine Darstellung eines bestehenden Ansatzes zum Speichern oder Zugreifen auf gespeicherte Daten über eine Webanwendung unter Verwendung von REST oder SoA/SOAP, gemäß einer Ausführungsform der Erfindung.
    • ist eine Darstellung der expliziten Version des Soter Software Optimized Storage-Ansatzes, gemäß einer Ausführungsform der Erfindung.
    • ist eine Darstellung des Soter Software Optimized Storage-Ansatzes, gemäß einer Ausführungsform der Erfindung.
    • ist eine Darstellung von Ablaufverfolgungsanfragen im Soter Software Optimized Storage-System, gemäß einer Ausführungsform der Erfindung.
    • ist eine Darstellung eines Traces und eines Spans, gemäß einer Ausführungsform der Erfindung.
    • ist eine Darstellung eines Beispiels zum Instrumentieren einer Anwendung und zum Sammeln von Traces, gemäß einer Ausführungsform der Erfindung.
    • ist eine Darstellung der Weiterleitungsdaten zu verschiedenen Speicherorten innerhalb des Soter-Systems, gemäß einer Ausführungsform der Erfindung.
    • ist eine Darstellung des Soter Storage Protocol Stack, gemäß einer Ausführungsform der Erfindung.
    • ist eine Darstellung der Überwachung der Datenbankaktivität (alter Ansatz) und der sicheren softwareoptimierten Speicherung (neuer Ansatz), gemäß einer Ausführungsform der Erfindung.
    • zeigt beispielhaft, wie eine Anwendung für Soter instrumentiert werden kann, um Pragma-Direktiven zur Optimierung der Speicherzuweisung, des Zugriffs und der Schutzparameter basierend auf angeforderten Tags zu nutzen, gemäß einer Ausführungsform der Erfindung.
    • ist eine Darstellung einer Referenzimplementierung eines Soter Storage Routers, gemäß einer Ausführungsform der Erfindung.
    • ist eine Darstellung eines Beispiels der Verwendung eines Soter Storage Routers, gemäß einer Ausführungsform der Erfindung.
    • ist eine Darstellung des Prozesses zum Aktualisieren der Regeln in der Soter Storage Firewall und dem Soter Storage Router, gemäß einer Ausführungsform der Erfindung.
    • ist eine Darstellung einer Routing-Tabelle innerhalb des Soter Storage Routers, gemäß einer Ausführungsform der Erfindung.
    • ist eine Darstellung einer Verwendung von Soter Proxy als vertrauenswürdiger Mittelsmann für die Kommunikation zwischen Client und Server, gemäß einer Ausführungsform der Erfindung.
  • Detaillierte Beschreibung der Erfindung
  • Die vorliegende Erfindung wird nun im Folgenden unter Bezugnahme auf die begleitenden Abbildungen, die bevorzugte Ausführungsformen der Erfindung zeigen, ausführlicher beschrieben. Diese Erfindung kann in vielen verschiedenen Formen ausgeführt und sollte deshalb nicht auf die hierin dargelegten Ausführungsformen beschränkt werden. Diese Ausführungsformen werden vielmehr präsentiert, damit diese Offenlegung gründlich und vollständig ist und Fachleuten der Umfang der Erfindung vollauf vermittelt wird. Der Durchschnittsfachmann wird erkennen, dass die folgenden Beschreibungen der Ausführungsformen der vorliegenden Erfindung veranschaulichend sind und in keiner Weise einschränkend sein sollen. Durch diese Offenlegung werden sich andere Ausführungsformen der vorliegenden Erfindung leicht anbieten. Gleiche Zahlen beziehen sich durchweg auf gleiche Elemente.
  • Obwohl die folgende detaillierte Beschreibung viele Besonderheiten zum Zwecke der Veranschaulichung enthält, wird jeder Durchschnittsfachmann erkennen, dass viele Variationen und Änderungen der folgenden Details im Umfang der Erfindung liegen. Dementsprechend werden die folgenden Ausführungsformen der Erfindung ohne Verlust der Allgemeinheit für die beanspruchte Erfindung und ohne Einschränkung der beanspruchten Erfindung dargelegt.
  • In dieser detaillierten Beschreibung der vorliegenden Erfindung sollten Fachleute beachten, dass Richtungsbegriffe wie „oben“, „unten“, „weiter oben“, „weiter unten“ und ähnliche Begriffe in Bezug auf die Zeichnungen verwendet werden, um es dem Leser leichter zu machen. Ein Fachmann sollte auch bemerken, dass diese Beschreibung eine andere Terminologie enthalten kann, um Position, Orientierung und Richtung zu vermitteln, ohne von den Prinzipien der vorliegenden Erfindung abzuweichen.
  • Darüber hinaus sollte ein Fachmann bei dieser detaillierten Beschreibung beachten, dass quantitative qualifizierende Begriffe wie „allgemein“, „im Wesentlichen“, „größtenteils“ und andere Begriffe im Allgemeinen verwendet werden, um klarzumachen, dass das betreffende Objekt, Merkmal oder die Qualität einen Großteil des Referenzgegenstandes ausmacht. Die Bedeutung dieser Begriffe hängt von dem Kontext ab, in dem sie verwendet werden, und die Bedeutung kann ausdrücklich abgeändert werden.
  • Während bestimmte Computerarchitekturen möglicherweise nicht speziell für verschiedene computergestützte Geräte geeignet sind, wird davon ausgegangen, dass solche Geräte mindestens einen Prozessor umfassen können, der zum Ausführen von Befehlen und zum Betreiben von Software, einschließlich Betriebssystemen, einzelnen Programmen, Diensten und dergleichen, geeignet ist. Darüber hinaus können solche computerisierten Geräte einen Speicher umfassen, der in Kommunikation mit dem Prozessor positioniert ist, um eine nicht vorübergehende Speicherung von Software, die von dem computerisierten Gerät umfasst wird, bereitzustellen. Darüber hinaus können solche computerisierten Geräte ferner ein Netzwerkkommunikationsgerät umfassen, das zum Senden und Empfangen von Daten an ein entferntes computerisiertes Gerät, was in einigen Fällen über ein Netzwerk stattfindet, betrieben werden kann. Solche Netzwerke können Personal Area Networks (PANs), Local Area Networks (LANs), Wide Area Networks (WANs) wie das Internet und Mobilfunknetze, einschließlich 4G- und 5G-Netzwerke, umfassen. Solche Netzwerkkommunikationsgeräte umfassen, ohne darauf beschränkt zu sein, drahtlose Kommunikationsgeräte, einschließlich solcher, die den IEEE 802.xx-Standards entsprechen, wie Bluetooth, WLAN, WIMAX und dergleichen, Ethernet-Geräte, serielle Kommunikationsgeräte, parallele Kommunikationsgeräte, Mobilfunknetzwerkkommunikationsgeräte, Glasfaserkommunikationsgeräte und dergleichen.
  • Mit Bezug auf bis wird nun ein sicheres softwareoptimiertes Speichersystem (SOTER) zum Sichern von Cloud-Speichern und -Datenbanken vor Insider-Bedrohungen und zur Optimierung der Leistung gemäß einer Ausführungsform der vorliegenden Erfindung ausführlich beschrieben. In dieser Offenlegung kann die vorliegende Erfindung als sicheres, für Software optimiertes Speichersystem, digitales Objektsicherungssystem, Managementsystem, Sicherungssystem, Zugangskontrollsystem, Gerät, System, Produkt oder Verfahren bezeichnet werden. Fachleute werden erkennen, dass diese Terminologie lediglich veranschaulichend ist und den Umfang der Erfindung nicht beeinflusst.
  • Eine Ausführungsform der Erfindung, wie sie durch die verschiedenen Abbildungen und den Begleittext gezeigt und beschrieben wird, stellt ein System und zugehörige Verfahren zum Sichern von Cloud-Speichern und -Datenbanken vor Insider-Bedrohungen und zum Optimieren der Leistung sowie zum Erreichen einer sicheren Manipulation und Verwaltung von digitalen Aufzeichnungen und Objekten, die in Cloud-Speicher und Cloud-Datenbanken gespeichert sind, bereit. Fachleute werden erkennen, dass die vorliegende Erfindung die Verwendung von Computeranweisungen und/oder Systemkonfigurationen in Betracht zieht, die einige oder sämtliche Operationen, die mit sicheren digitalen Aufzeichnungen und sicherer Objektverwaltung verbunden sind, ausführen können. Die Beschreibung von Computeranweisungen, die gemeinsam durch die hier beschriebenen genannten Subsysteme identifiziert werden, soll in keiner Weise einschränkend sein. Fachleute werden leicht erkennen, dass gespeicherte Computeranweisungen und/oder Systemkonfigurationen auf jegliche Art und Weise konfiguriert werden können, ohne die vielen Ziele, Merkmale und Vorteile gemäß der vorliegenden Erfindung einzubüßen.
  • Unter Bezugnahme auf wird nun ein bestehender Ansatz zur Datenspeicherung und mit direktem Zugriff auf gespeicherte Daten ausführlicher beschrieben. Der Benutzer 100 kann direkt unter Verwendung eines autorisierten Clients 104, der auf dem lokalen Computer 102 des Benutzers installiert ist, auf den Cloud-Speicher 114 und die Datenbanken 116, 118, die zusammen als Cloud 112 bezeichnet werden, zugreifen. Der Benutzer 100, der uneingeschränkten Zugriff auf 106, 108, 110 auf den Cloud-Speicher 114 und die Datenbank 116 sowie auf 118, in der vertrauliche Informationen (wie Kundeninformationen, Verkaufsinformationen, Kreditkartenlisten usw.) gespeichert sind, hat, kann die Informationen stehlen und an Außenstehende weitergeben.
  • Unter Bezugnahme auf wird nun eine Darstellung eines bestehenden Ansatzes zum Speichern oder Zugreifen auf gespeicherte Daten über eine Webanwendung unter Verwendung von REST oder SoA/SOAP ausführlicher beschrieben. Der Benutzer 150 kann über eine auf Anwendungsservern 164 bereitgestellte Webanwendung, und in einigen Fällen über einen optionalen Lastverteiler 160 oder den Proxy-Server 158, auf die in Cloud-Speicher 172 gespeicherten Daten 156, 166, 168, 170 und die Daten in den Datenbanken 174, 176, welche zusammen die Cloud 178 ergeben, zugreifen; auf die Cloud 178 über einen Browser 154, der auf dem lokalen Computer 152 des Benutzers installiert ist. Ein Benutzer (Insider, Anwendung oder Gerät), der über Anwendungen uneingeschränkten Zugriff auf die webbasierten REST/SOAP-Speicherdatenbanken hat, kann die Unternehmens- oder Finanzinformationen stehlen und an Außenstehende weitergeben.
  • Unter Bezugnahme auf wird nun eine Illustration der expliziten Version des Soter Software Optimized Storage-Ansatzes ausführlicher beschrieben. Eine Anwendung, ein Insider oder ein IdD-Gerät 200 greift auf eine Clientanwendung 206 zu, die auf dem lokalen Computer 204 ausgeführt wird. Die Clientanwendung 206 sendet eine Anforderung 212 an die Cloud 216, um neue Datensätze/Objekte zu speichern oder vorhandene Datensätze/Objekte abzurufen. Die Soter Storage Firewall 218 erlaubt oder blockiert Anfragen oder regelt den Zugriff auf Anwendungsdaten in Echtzeit auf andere Weise, immer basierend auf der Art der aktuellen Anfrage und der früheren Anfragen. In einigen Ausführungsformen können Anfragen für eine verbesserte, zusätzliche oder verstärkte Überwachung auf möglichen Missbrauch gekennzeichnet werden. Die erlaubten Fragen werden 220 an den Soter Storage Router 222 gesendet. Dieser identifiziert oder fügt Tags/Header ein, die mit Speicheranfragen verknüpft sind, und ermöglicht die Auswahl zwischen Speicheroptionen wie (1) sicheren Bereichen für die Speicherung bestimmter Arten von markierten Daten oder (2) schnelleren Speicherorten für den Zugriff oder (3) fehlertoleranteren Funktionen. Der Soter Storage Router 222 kann die Anfrage 224, 226, 228 an einen Datenspeicherort weiterleiten, beispielsweise an Cloud Storage 230, eine SQL-Datenbank 232 oder eine NoSQL-Datenbank 234. Der Soter Agent 210 wird zusammen mit der Clientanwendung 206 auf dem lokalen Computer 204 bereitgestellt. Der Agent 210 überwacht die 208 Ablaufverfolgungsdaten (einschließlich der Spans), die in die instrumentierte Clientanwendung 206 eingefügt werden, und leitet die 214 Ablaufverfolgungen über den Soter Storage Intelligence-Dienst 238 an den Collector 240 weiter. Die Ablaufverfolgungsdaten können mindestens Angaben zu einem der Bereiche Benutzer, Rollen, Berechtigungen, Datenbankzugriffsmuster und Verwendungsmerkmale umfassen. Der Agent sendet die Ablaufverfolgungsdaten asynchron und/oder außerhalb des kritischen Pfads (z. B. unter Verwendung verschiedener Übertragungsressourcen über das Internet) über UDP an den Collector. Der Agent kann diese Ablaufverfolgungsdaten bei Bedarf in den impliziten Ansatz einfügen. Der Kollektor 240 speichert die Ablaufverfolgungsinformationen im Ablaufverfolgungsspeicher 242. Die Analysekomponente 244 analysiert die Ablaufverfolgungsinformationen der Anfragen in Echtzeit. Die Analysekomponente 244 kann verschiedene Modelle für Maschinelles Lernen, Deep Learning und Künstliche Intelligenz (Kl) verwenden, um Regeln zum Abgleichen von Anfragen und zum impliziten Hinzufügen neuer Tags basierend auf den Daten innerhalb einer Anfrage zu generieren. Beispielsweise kann die Analysekomponente 244 KI verwenden, um Anwendungsdaten, wie beispielsweise Kreditkartennummern, auf die verwiesen wird, aus den angeforderten Datenabfragen zu identifizieren und sie implizit als „sicher“ zu kennzeichnen. Für die Analysekomponente 244 können Modelle für Maschinelles Lernen oder Deep Learning trainiert werden, um böswillige Vorgänge zu identifizieren (z. B. Massenabfrage von vertraulichen Datenbankeinträgen). Diese Modelle können dann verwendet werden, um neue Regeln zu generieren, die innerhalb der Soter Storage Firewall 218 oder des Soter Storage Routers 222 aktualisiert 236 werden. Die Controller-Komponente 252 aktualisiert die Routing-Regeln im Soter Storage Router 222 und die Firewall-Regeln in der Soter Storage Firewall 218 basierend auf der Analyse der Anfragen und des Verhaltens der Anwendung zur Ausführungszeit, sodass unangemessene, nicht genehmigte oder böswillige Transaktionen blockiert werden können. Wenn beispielsweise eine Anwendung, ein Insider oder ein IdD-Gerät wiederholt versucht, die Kundendatenbank abzufragen und vertrauliche Daten abzurufen, können nachfolgende Anfragen blockiert werden. Der Soter Storage Intelligence-Dienst 238 kann verschiedene APIs 246 zur Integration mit anderen Cloud-Diensten bereitstellen. Das Soter Monitoring Dashboard 250 kann auf den Soter Storage Intelligence-Dienst 238 zugreifen 248 und präsentiert Echtzeit-Überwachungsinformationen zu Anfragen, erkannten anomalen Anfragen sowie zu identifizierten und blockierten Bedrohungen.
  • In einigen Ausführungsformen kann zumindest der Soter Storage Router 222 oder der Soter Storage Intelligence-Dienst 238 in der Lage sein, eine wahrscheinliche zukünftige Lesezugriffsanfrage an die Clientdatenbank zu bestimmen, die auf das Tag und die mit der Zugriffsanfrage an die Clientanwendungsdatenbank verbundenen Ablaufverfolgungsinformationen beim Storage Intelligence-Dienst reagiert. Eine solche Bestimmung kann zu Änderungen bei der Weiterleitung zukünftiger Anfragen und einer entsprechenden Aktualisierung der Regeln führen.
  • Unter Bezugnahme auf wird nun eine Illustration des Soter Software Optimized Storage-Ansatzes ausführlicher beschrieben. Eine Anwendung, ein Insider oder ein IdD-Gerät 300 greift unter Verwendung eines auf einem lokalen Computer 304 installierten Browsers 306 auf einen Webclient zu, der auf den Anwendungsservern 313, 314 in der Cloud-Computing-Umgebung 310 ausgeführt wird. Die Anforderungen werden 308 vom Browser 306 an den Lastverteiler oder Proxy-Server 312 gesendet, der die Anfragen 316, 318 an die Anwendungsserver 313, 314 weiterleitet. Die Anwendungsserver 313, 314 können 310 die Anfragen an die Soter Storage Firewall 326 weiterleiten, die Anfragen in Echtzeit basierend auf der Art der aktuellen Anfrage und der früherer Anfragen zulässt oder blockiert. Die Soter Storage Firewall 326 kann selektiv in die Soter-Architektur aufgenommen oder ausgeschlossen werden. Die erlaubten Anfragen werden 364 an den Soter Storage Router 330 gesendet. Dieser identifiziert oder fügt Tags/Header ein, die mit Speicheranfragen verknüpft sind, und ermöglicht die Auswahl zwischen Speicheroptionen wie (1) sicheren Bereichen für die Speicherung bestimmter Arten von markierten Daten oder (2) schnelleren Speicherorten für den Zugriff oder (3) fehlertoleranteren Funktionen. Der Soter Storage Router 330 kann die Anfrage 366, 368, 370 an einen Datenspeicherort weiterleiten, wie beispielsweise Cloud Storage 334, eine SQL-Datenbank 336 oder eine NoSQL-Datenbank 338. In einigen Ausführungsformen können Daten, wenn sie vom Datenspeicherort an den lokalen Computer 304 zurückgeschickt werden, keine Standortinformationen über den Datenspeicherort einschließen/ausschließen, wie beispielsweise eine Internetprotokoll (IP)-Adresse, einen geografischen Standort oder andere identifizierende Informationen über den Datenspeicherort. Der Soter Agent 360 wird auf jedem Host oder Server bereitgestellt, einschließlich dem Lastverteiler oder dem lokalen Proxy und den Anwendungsservern. Der Agent 360 überwacht die Ablaufverfolgungsdaten (einschließlich der Spans), die in die instrumentierte Clientanwendung eingefügt werden, und leitet 320, 322, 324 die Ablaufverfolgungen über den Soter Storage Intelligence-Dienst 340 an den Collector 342 weiter. Der Agent 360 sendet die Ablaufverfolgungsdaten asynchron und außerhalb des kritischen Pfads über UDP an den Collector 342. Der Agent 360 kann diese Ablaufverfolgungsdaten bei Bedarf in den impliziten Ansatz einfügen. Der Collector 342 speichert die Ablaufverfolgungsinformationen im Trace-Speicher 344, einer cloudbasierten Datenbank. Die Analysekomponente 346 analysiert die Ablaufverfolgungsinformationen der Anfragen in Echtzeit. Die Analysekomponente 346 kann verschiedene Modelle für Maschinelles Lernen, Deep Learning und Künstliche Intelligenz (Kl) verwenden, um Regeln zum Abgleichen von Anfragen und zum impliziten Hinzufügen neuer Tags basierend auf den Daten innerhalb einer Anfrage zu generieren. Beispielsweise kann die Analysekomponente 346 KI verwenden, um Kreditkartennummern aus den angeforderten Anwendungsdatenzugriffen zu identifizieren und sie implizit als „sicher“ zu kennzeichnen. Für die Analysekomponente 346 können Modelle für Maschinelles Lernen oder Deep Learning trainiert werden, um böswillige Vorgänge zu identifizieren (z. B. Massenabfragen von vertraulichen Datenbankeinträgen). Diese Modelle können dann verwendet werden, um neue Regeln zu generieren, die innerhalb der Soter Storage Firewall 326 oder des Soter Storage Routers 330 aktualisiert 328, 332 werden. Die Controller-Komponente 362 aktualisiert die Routing-Regeln im Soter Storage Router 330 und die Firewall-Regeln in der Soter Storage Firewall 326, basierend auf der Analyse der Anfragen und des Verhaltens der Anwendung zur Ausführungszeit, sodass unangemessene, nicht genehmigte oder böswillige Transaktionen blockiert werden können. Wenn beispielsweise eine Anwendung, ein Insider oder ein IdD-Gerät wiederholt versucht, die Kundendatenbank abzufragen und vertrauliche Daten abzurufen, können nachfolgende Anfragen blockiert werden. Der Soter Storage Intelligence-Dienst 340 kann verschiedene APIs 348 zur Integration mit anderen Cloud-Diensten bereitstellen. Das Soter Monitoring Dashboard 350 kann auf den Soter Storage Intelligence-Dienst 340 zugreifen 372 und präsentiert Echtzeit-Überwachungsinformationen zu Anfragen, erkannten anomalen Anfragen sowie zu identifizierten und blockierten Bedrohungen.
  • Unter Bezugnahme auf wird nun eine Darstellung von Tracing-Anfragen im Soter Software Optimized Storage-System ausführlicher beschrieben. Ein Client 400 sendet eine HTTP-GET-Anforderung 402, um Datensätze aus einer Datenbank abzurufen. Wenn die Anforderung den Lastverteiler 406 erreicht, fügt der Soter-Agent auf dem Lastverteiler Ablaufverfolgungsinformationen in die Anfrage ein. Die Ablaufverfolgungsinformationen können Folgendes umfassen:
    1. a) Span: Ein Span ist eine logische Operation wie ein Methodenaufruf oder ein HTTP-RESTful-Aufruf. Ein Span hat eine Start- und eine Endzeit. Spans können die Beziehung zu anderen Spans (Eltern/Kind) definieren. Das Span wird durch eine Span-ID identifiziert.
    2. b) Trace: Eine Trace ist eine Reihe von Bereichen, die derselben Anfrage zugeordnet sind. Eine Trace wird durch eine Trace-ID identifiziert. Die Trace-ID bleibt dieselbe wie die der Anfrage, die über verschiedene Dienste weitergegeben wird.
    3. c) Kontext-/Metadaten: Zusätzlich zu den Trace- und Span-IDs können zusätzliche Metadaten oder Kontextinformationen im Zusammenhang mit der Anfrage über mehrere Spans verteilt werden. Metadaten beziehen sich auf Geschwindigkeit, Fehlertoleranz, Sicherheit, Rückverfolgbarkeit, ausgewählte Speicherzuordnung und Zugriff basierend auf den Anfragen der Anwendung.
  • Der optionale Lastverteiler 406 leitet die GET-Anforderung 402 an den Anwendungsserver-1 410 weiter. Der Anwendungsserver-1 410 sendet dann 412 die Anfrage an die Datenbank 414. Der gleiche Vorgang wird für die vom Client 400 gesendete 404 PUT-Anfrage-2 404 ausgeführt, um ein Objekt in einen Cloud-Speicher zu stellen. Wenn die Anfrage den Lastverteiler 406 erreicht, fügt der Soter Agent auf dem Lastverteiler Ablaufverfolgungsinformationen in die Anfrage ein. Der Lastverteiler 406 leitet 416 die PUT-Anfrage 404 an den Anwendungsserver-3 418 weiter. Der Anwendungsserver-3 418 sendet dann 420 die Anfrage an den Cloud-Speicher 422. Bei jedem Schritt werden die Ablaufverfolgungsinformationen aktualisiert, wenn sich eine Anfrage über mehrere Dienste ausbreitet, wobei sie durchgehend Timing- und andere Metadaten hinterlässt.
  • ist die Darstellung eines Traces und eines Spans, gemäß einer Ausführungsform der Erfindung. Ein Span ist eine logische Operation und hat eine Start- und eine Endzeit. Die Trace 502 ist eine Sammlung von Spans 506, 508, 510 und 512.
  • Unter Bezugnahme auf wird nun die Darstellung eines Beispiels zum Instrumentieren einer Anwendung und zum Sammeln von Traces ausführlicher beschrieben. Erreicht eine eingehende Anfrage 550 einen Host oder Server 552, fügt die auf dem Host oder Server 552 ausgeführte Instrumentenanwendung 554 Verfolgungsinformationen 556 in die Anfrage ein. Die eingehende Anfrage enthält möglicherweise bereits Ablaufverfolgungsinformationen wie Trace-ID, Kontext und Header, die an die ausgehende Anfrage 560 weitergegeben werden. Der auf dem Host oder Server 552 installierte Soter Agent 558 sendet 562 die Ablaufverfolgungsinformationen über UDP im Soter Storage Intelligence-Dienst 564 an den Collector 566. Der Collector 566 speichert die Ablaufverfolgungsinformationen im Ablaufverfolgungsspeicher 568. Der Span-Kontext (einschließlich Span-ID, Trace-ID, Tags) wird von der eingehenden Anfrage an die ausgehende Anfrage weitergegeben. Alle anderen Ablaufverfolgungsinformationen (wie der Name des Span-Vorgangs und die Span-Protokolle) werden nicht weitergegeben. Stattdessen werden die abgefragten Ablaufverfolgungsinformationen im Hintergrund asynchron außerhalb des Prozesses an Soter Agents übertragen.
  • Unter Bezugnahme auf wird nun eine Darstellung der Routing-Daten zu verschiedenen Speicherorten innerhalb des Soter-Systems ausführlicher beschrieben. Eine Anwendung 601, die auf einem Clientcomputer 600 ausgeführt wird, sendet 602 digitale Aufzeichnungen oder Objekte, um sie in der Cloud zu speichern. Die Anfragen zum Speichern der Datensätze oder Objekte werden vom Soter Storage Router 604 interpretiert, der 606, 608, 610, 612 an die Anfrage an den entsprechenden Speicherort weiterleitet, z. B. einen Cloud-Dateispeicher 614, einen Cloud-Objektspeicher 616, eine SQL-Datenbank 618 oder eine NoSQL-Datenbank 620.
  • Unter Bezugnahme auf wird nun eine Darstellung des Soter Storage Protocol Stacks ausführlicher beschrieben. Das Soter Secure Software Optimized Storage-System kann einen Speicherprotokollstack oder ein Speicherprotokollmodell verwenden, wie in gezeigt, analog zu einem TCP/IP-Modell (714-724), das wiederum einem OSl-Modell (700-712) entspricht. Der SP-Stack (Storage Protocol) kann die folgenden Schichten enthalten:
    1. a) Anwendungsschicht 726: Auf der Anwendungsschicht 726 werden die zu speichernden Daten codiert und über einen HTTP (REST)-Aufruf an eine SP-Adresse gesendet.
    2. b) SCP-Schicht 728 (Storage Control Protocol): Die SCP-Schicht 728 teilt die Daten in verwaltbare Blöcke auf und fügt Informationen zur Portnummer hinzu. Die SCP-Schicht 728 gibt die Anwendung zum Cloud-Speicher/-Datenbanktransport an.
    3. c) SP-Schicht 730 (Storage Protocol): Diese Schicht fügt SP-Adressen hinzu, aus denen hervorgeht, woher die Daten stammen und wohin sie gehen. Die Schicht definiert Strukturen zur Identifizierung des Datentyps (Hot/Cold, Fast/Slow usw.) und der Quality of Service (QoS).
    4. d) Netzwerkschicht 732: Die Netzwerkschicht 732 definiert die Adressierungs- und Routingstrukturen, die im Storage Control Protocol (SCP) 728 verwendet werden und zum Weiterleiten von Daten von Programmvariablen über die Cloud an eine bestimmte Datenbank oder einen bestimmten Speicher verwendet werden.
    5. e) Physikalische Schicht 734: Die physikalische Schicht 734 fügt die tatsächliche Speicheradressstruktur (Parität, Verschlüsselung, Replikation, Sicherheitsfunktionen) hinzu und gibt an, von welchem Gerät die Daten stammen und an welches Gerät die Nachricht gesendet wird.
  • Soter-Erweiterungen - Kann einen Stapelspeicher verwenden, der dem TCP/IP-Stack nachempfunden ist, aber stattdessen zum Weiterleiten von Daten/Informationen an den Speicherendpunkt verwendet wird. Dieser Stapelspeicher kann über TCP/UDP/MPLS/IP-Stapel und sichere Netzwerkprotokolle vom Typ TLS gekapselt und/oder getunnelt werden.
  • Unter Bezugnahme auf wird nun genauer auf einen Vergleich der Überwachung der Datenbankaktivität (alter Ansatz) und des für sicheren, softwareoptimierten Speichers (neuer Ansatz) eingegangen. Bestehende Ansätze wie DAM (kurz für Database Activity Monitoring, Deutsch: Überwachung der Datenbankaktivität) überwachen alle Datenbankaktivitäten in Echtzeit und stellen Warnungen und Berichte zu den Aktivitäten bereit. DAM-Lösungen implementieren die Überwachung mithilfe der folgenden Ansätze: (a) auf Netzwerkebene durch Erkennen der verwendeten SQL-Befehle, (b) Verwenden von in der Datenbank installierten Agenten, die Datenbankzugriffsinformationen aufzeichnen und melden, (c) Verwenden eines Proxys, der alle eingehenden und ausgehenden Befehle an eine Datenbank abfängt. Bei einem DAM-Ansatz stellen die Clientcomputer 800, 802, 804 Anfrage 806, 808, 810 an einen Anwendungsserver 812. Der Anwendungsserver 812 sendet 818 Befehle, um auf die Datenbank 820 zuzugreifen, um die von den Clients angeforderten Informationen abzurufen, die Informationen zu aktualisieren oder neue Datensätze zu erstellen. Ein Datenbankaktivitätsmonitor 814 überwacht 816 die Anfragen an die Datenbank unter Verwendung eines der oben genannten Ansätze (Netzwerkebene, Agent oder Proxy). DAM-Lösungen können zwar Berichte über Verstöße gegen vorhandene Zugriffsrichtlinien bereitstellen, aber keine neuen Zugriffsrichtlinien in Echtzeit durchsetzen.
  • Beim SOTER-Ansatz (Secure Software Optimized Storage System) stellen die Client-Computer 850, 852, 854 Anfragen 856, 858, 860 an einen Anwendungsserver 861. Ein auf dem Anwendungsserver 861 installierter Soter Agent 863 liest die Ablaufverfolgungsdaten, die in die auf dem Anwendungsserver 861 ausgeführte Anwendung eingespeist werden, ab und leitet die Traces 866 an den Collector 868 im Soter Storage Intelligence-Dienst 878 weiter. Der Agent sendet die Ablaufverfolgungsdaten asynchron und außerhalb des kritischen Pfads über UDP an den Collector 868. Der Agent kann diese Ablaufverfolgungsdaten bei Bedarf in den impliziten Ansatz einfügen. Der Anwendungsserver 861 leitet die eingehenden Anfragen zum Zugreifen auf Informationen, Aktualisieren von Informationen oder Erstellen neuer Datensätze/Objekte an den Soter Storage Router 874 weiter. Eine optionale Soter Storage Firewall 864 steht zwischen dem Anwendungsserver 861 und dem Soter Storage Router 874. Die Soter Storage Firewall 864 erlaubt oder blockiert Anfragen in Echtzeit, basierend auf der Art der aktuellen Anfrage und der früherer Anfragen. Die Regeln in der Soter Storage Firewall 864 und im Soter Storage Router 874 werden vom Soter Storage Intelligence-Dienst 878 basierend auf einer Echtzeitanalyse von Speicher- und Abrufanfragen aktualisiert, sodass unangemessene, nicht genehmigte oder böswillige Transaktionen blockiert werden können. Die Controller-Komponente 902 aktualisiert die Routing-Regeln im Soter Storage Router 874 und die Firewall-Regeln in der Soter Storage Firewall 864, basierend auf der Analyse der Anfragen und des Verhaltens der Anwendung zur Ausführungszeit, sodass unangemessene, nicht genehmigte oder böswillige Transaktionen blockiert werden können. Der Soter Storage Router 874 identifiziert oder fügt Tags/Header ein, die mit Speicheranfragen verknüpft sind, und ermöglicht die Auswahl zwischen Speicheroptionen wie (1) sicheren Bereichen für die Speicherung bestimmter Arten von markierten Daten oder (2) schnelleren Speicherorten für den Zugriff oder (3) fehlertoleranteren Funktionen. Der Soter Storage Router 874 leitet die Datenspeicherungs- oder Abrufanfragen an den Cloud-Speicher 886, die SQL-Datenbank 888 oder die NoSQL-Datenbank 890 weiter. Die Funktionalität der Soter Storage Firewall 864 kann in bestimmten Ausführungsformen in die des Soter Storage Routers 874 integriert sein. Der Soter Storage Intelligence-Dienst 878 kann verschiedene APIs 882 zur Integration mit anderen Cloud-Diensten bereitstellen. Das Soter Monitoring Dashboard 884 kann auf den Soter Storage Intelligence-Dienst 878 zugreifen 900 und präsentiert Echtzeit-Überwachungsinformationen zu Anfragen, erkannten anomalen Anfragen sowie zu identifizierten und blockierten Bedrohungen.
  • Unter Bezugnahme auf erfolgt nun die ausführlichere Beschreibung eines Beispiels zum Instrumentieren einer Anwendung für Soter zur Verwendung von Pragma-Direktiven zum Optimieren von Speicherzuweisungs-, Zugriffs- und Schutzparametern basierend auf angeforderten Tags. In Schritt 652 wird die Soter Python-Bibliothek importiert. In Schritt 654 wird der Soter Tracer initialisiert. Als Nächstes wird in Schritt 656 ein Span erstellt. In Schritt 658 wird ein Speicher-Tag (z. B. „heiß“, „kalt“, „schnell“ oder „sicher“) im Span festgelegt (expliziter Ansatz). In Schritt 660 werden Tags abgeleitet und implizit gesetzt (impliziter Ansatz). In Schritt 662 wird der Span-Kontext (einschließlich Span-ID, Trace-ID und Tags) in HTTP-Anfragenheader eingefügt. Die expliziten und impliziten Tags werden vom Soter Router interpretiert, um die Speicheranfrage weiterzuleiten. In Schritt 664 wird eine Anfrage zum Speichern eines Datenelements gesendet.
  • Unter Bezugnahme auf wird nun eine Referenzimplementierung eines Soter-Speicherrouters ausführlicher beschrieben. Das Programm 1000 ist eine Python-Implementierung einer SoterRouter-Klasse. Die Funktion zum Initialisieren des Soter-Routers wird in Schritt 1002 implementiert. Bei 1004 ist die Funktion zum Binden und Mitlesen eingehender Anfragen innerhalb des Soter-Routers implementiert. In Schritt 1006 wird die Funktion zum Akzeptieren einer eingehenden Anfrage implementiert. Die Funktion zum Senden von Daten an ein Speicherziel wird in Schritt 1008 implementiert.
  • Unter Bezugnahme auf erfolgt nun die ausführlichere Beschreibung eines Beispiels für die Verwendung eines Soter Storage Routers. In Schritt 952 wird die Soter Router-Klasse importiert. In Schritt 954 werden die Speicherziele für den Soter Router initialisiert. In diesem Beispiel werden zwei Speicherziele in Schritt 956 (Amazon S3-Cloud-Speicherziel) und Schritt 958 (Amazon DynamoDB NoSQL-Datenbankziel) initialisiert. In Schritt 960 wird der Soter Router initialisiert. In Schritt 962 wird der Soter Router so eingestellt, dass er auf eingehende Anfragen wartet. Eingehende Anfragen werden in Schritt 964 akzeptiert. In Schritt 966 wird die Sendefunktion der Soter Router-Klasse aufgerufen, um Daten an ein Speicherziel zu senden. Das Speicherziel wird vom Soter Router basierend auf der Analyse impliziter oder expliziter Tags in der Anfrage ausgewählt.
  • Unter Bezugnahme auf wird nun eine Darstellung des Prozesses zum Aktualisieren der Regeln in der Soter Storage Firewall und im Soter Storage Router ausführlicher beschrieben. Die Collector-Komponente 1116 innerhalb des Soter Storage Intelligence-Dienstes 1106 sammelt die von verschiedenen Soter-Agenten gesendeten Trace-Daten und speichert die Daten in der Speicher-Komponente 1114. Die Analyse der Trace-Daten erfolgt in der Analysekomponente 1110. Die Analysekomponente 1110 kann verschiedene Modelle für Maschinelles Lernen, Deep Learning und Künstliche Intelligenz (Kl) verwenden, um Regeln zum Abgleichen von Anfragen und zum impliziten Hinzufügen neuer Tags basierend auf den Daten innerhalb einer Anfrage zu generieren. Beispielsweise kann die Analysekomponente 1110 KI verwenden, um Kreditkartennummern aus den Anfragedaten zu identifizieren und sie implizit als „sicher“ zu kennzeichnen. Für die Analysekomponente 1110 können Modelle für Maschinelles Lernen oder Deep Learning trainiert werden, um böswillige Vorgänge zu identifizieren (z. B. Massenabfragen von vertraulichen Datenbankeinträgen). Diese Modelle können dann verwendet werden, um neue Regeln zu generieren, die innerhalb der Soter Storage Firewall 1100 oder des Soter Storage Routers 1102 aktualisiert werden. Die Controller-Komponente 1108 aktualisiert 1122, 1120 die Routing-Regeln im Soter Storage Router 1102 und die Firewall-Regeln in der Soter Storage Firewall 1122 basierend auf der Analyse der Anfragen und des Verhaltens der Anwendung zur Ausführungszeit. Diese Regeln können die Aktualisierungen und Zugriffe 1104 auf vertrauliche Daten regeln, die in den vom Soter-System verwalteten Speicherzielen gespeichert sind (z. B. Cloud-Objektspeicher, Cloud-Dateispeicher, Cloud-SQL-Datenbank und Cloud-NoSQL-Datenbank).
  • Unter Bezugnahme auf erfolgt nun die ausführlichere Beschreibung einer Darstellung einer Routing-Tabelle innerhalb des Soter Storage Routers. Eine Routing-Tabelle 1152 innerhalb eines Soter Storage Routers 1150 umfasst Regeln 1154, Aktionen 1156 und Statistiken 1158. Die Regeln 1154 werden zum Abgleichen eingehender Anfragen basierend auf den Tags und Headern in den Anfragen verwendet. Die Aktionen 1156 definieren den Befehlssatz, der für übereinstimmende Anfragen angewendet werden soll. Zum Beispiel, dass eine als „Fast“ gekennzeichnete Datenspeicheranfrage an eine Cloud-NoSQL-Datenbank und eine als „Cold“ gekennzeichnete Datenspeicherungsanfrage an einen Cloud-Objektspeicher gesendet wird. Eine Routing-Tabelle 1152 kann verschiedene Statistiken und Zähler 1158 verwalten, wie beispielsweise die Anzahl der übereinstimmenden Anfragen, die Anzahl der Anfragen mit einem bestimmten Tag und so weiter. Der Soter Router 1150 verwaltet eine Zuordnungstabelle 1164, die die Zuordnungen von Datensätzen zu den von einem Soter-System verwalteten Speicherzielen/Speicherorten 1168 enthält. Diese Zuordnungstabelle kann, wie der Durchschnittsfachmann weiß, auf viele Arten implementiert werden, einschließlich, aber nicht beschränkt auf eine verteilte Hashtabelle oder eine Liste oder eine Nachschlagetabelle, die auch auf Ursprungsservern oder Edgeservern innerhalb eines Content Delivery Network (CDN), wie sie von Akamai angeboten werden (https://www.akamai.com/us/en/cdn/), repliziert werden können. Schickt eine Anwendung Anfragen zum Speichern, Erstellen oder Ändern eines Datensatzes/Objekts, kann der Soter Storage Router 1150 den Datensatz/das Objekt 1160 einem Speicherziel zuweisen (z. B. Cloud-Objektspeicher, Cloud-Dateispeicher, Cloud-SQL-Datenbank oder Cloud-NoSQL-Datenbank), basierend auf den Tags 1166 und den Headern, die an die Anwendungsdatenanfrage angehängt sind, und dem Typ 1162 der Anwendungsdaten. Der Soter Storage Router 1150 verwaltet Zuordnungen von Datensätzen 1160 zu Speicherorten 1168 in einer cloudbasierten Zuordnungsdatenbank. Diese Zuordnungen werden verwendet, wenn die Anwendung Anfragen zum Abfragen bestimmter Datensätze/Objekte unter Verwendung typischer Strukturen, z. B. einer verteilten Hashtabelle, wie sie Fachleuten auf dem verwandten Gebiet bekannt sind, sendet. Der Soter Storage Router 1150 kann die Zuordnungen verschlüsseln und in verschlüsselter Form speichern, um sie vor Snooping zu schützen. Der Soter Storage Router 1150 kann Standardzuordnungen für bestimmte Arten von Anforderungen verwalten. Beispielsweise können alle SQL-Anforderungen zum Speichern oder Aktualisieren von Datensätzen der SQL-Datenbank, die vom Soter-System verwaltet wird, zugeordnet werden. Der Soter Storage Router 1150 enthält auch Übersetzungen und Cross-Mappings 1170 zum Übersetzen von Anforderungen von einem Format in ein anderes (z. B. SQL in NoSQL). Ein Beispiel hierfür ist die Übersetzung einer SQL-Anfrage zum Einfügen eines Datensatzes in einer SQL-Datenbank in eine datenbankspezifische NoSQL -Anfrage.
  • Unter Bezugnahme auf erfolgt nun die ausführlichere Darstellung der Verwendung von Soter Proxy als vertrauenswürdiger Mittelsmann für die Kommunikation zwischen Client und Server. Bei einem Client-Server-Kommunikationsansatz ohne Proxy kommuniziert 1208 der Client 1206, der auf einem lokalen Computer 1204 einer Anwendung, eines Insiders oder eines IdD-Geräts 1200 ausgeführt wird, mit dem in einer Cloud 1210 bereitgestellten Server. Bei einem Client-Server-Kommunikationsansatz mit einem Proxy wird der Soter Proxy 1230 verwendet, um die Client-Server-Kommunikation 1228 (wie Datenbankaufrufe und Anfragen zum Speichern von Datenelementen/Objekten in einer Cloud-Datenbank oder einem Cloud-Speicher), die von einem Client 1226, der auf einem Client-Computer 1224 einer Anwendung, eines Insiders oder eines IdD-Geräts 1220 ausgeführt wird, empfangen wurde, abzufangen. Der Soter Proxy 1230 verhält sich wie ein vertrauenswürdiger Mittelsmann, der die Speicheranfragen (Erstellen oder Ändern) oder Datenbankaufrufe an den zugewiesenen Speicher abfängt und später auch Lesezugriffsanfragen für Anwendungsdaten verwaltet. Der Soter Proxy erstellt Traces für die abgefangenen Anrufe und sendet 1238 die Traces an den Soter Agent 1236, der ebenfalls auf dem Host-Computer 1224 installiert ist. Der Soter Agent 1236 liest die Traces (einschließlich der Spans) aus, die in die abgefangenen Anfragen/Anrufe vom Soter Proxy eingefügt werden, und leitet die Traces 1240 an den in der Cloud 1234 bereitgestellten Soter Collector weiter. Der Agent sendet die Ablaufverfolgungsdaten asynchron und außerhalb des kritischen Pfads 1232 über UDP an den Collector. Der Agent kann diese Ablaufverfolgungsdaten bei Bedarf in den impliziten Ansatz einfügen.

Claims (20)

  1. Ein Verfahren zum Organisieren von Clientanwendungsdaten, das Folgendes umfasst: empfangen einer Zugriffsanfrage an eine Clientanwendungsdatenbank zum Erstellen oder Ändern von Clientanwendungsdaten von einer Clientanwendung, die auf einem Computergerät auf einem cloudbasierten Server ausgeführt wird (216); ableiten eines Tags, das der Zugriffsanfrage an die Clientanwendungsdatenbank an einem Speicherrouter (222) zugeordnet ist, wobei das Tag Speicheranfragen für mindestens einen der Bereiche Sicherheit, Zugriffsgeschwindigkeit oder Fehlertoleranz angibt; empfangen von Ablaufverfolgungsinformationen in Bezug auf die Zugriffsanfrage an die Clientanwendungsdatenbank bei einem Storage Intelligence-Dienst (238), definieren empfangener Ablaufverfolgungsinformationen in Bezug auf die Tag- und Clientanwendungsattribute, die mindestens eine der folgenden Eigenschaften umfassen: Benutzer, Rollen, Berechtigungen, Datenbankzugriffsmuster und Verwendung; speichern der empfangenen Ablaufverfolgungsinformationen in einer cloudbasierten Tracing-Speicherdatenbank (242); analysieren der Tracing-Speicherdatenbank (242), um aktualisierte Regeln für Zugriffsanfragen an Clientanwendungsdatenbanken zu entwickeln; aktualisieren des Storage Intelligence-Dienstes (238) mit den aktualisierten Regeln; zuordnen der Zugriffsanfrage an die Clientanwendungsdatenbank am Speicherrouter (222) zu einem entsprechenden Serverdatenbankzugriffsanfragendatensatz, der als Reaktion auf das von der Zugriffsanfrage an die Clientanwendungsdatenbank und einer vom Speicherrouter (222) umfassten Regel abgeleitete Tag erstellt oder geändert wurde; speichern der Zuordnung in einer cloudbasierten Zuordnungsdatenbank (1164); empfangen einer Clientdatenbank-Lesezugriffsanfrage von einer Clientanwendung; empfangen von Ablaufverfolgungsinformationen, die mit der Clientdatenbank-Lesezugriffsanfrage von der Clientanwendung beim Storage Intelligence-Dienst (238) verbunden sind; und weiterleiten der Clientdatenbank-Lesezugriffsanfrage von der Clientanwendung, an einen entsprechenden cloudbasierten Serverdatenbankdatensatz (216), basierend auf den im Storage Intelligence-Dienst (238) und der Zuordnungsdatenbank (1164) gespeicherten Regeln; empfangen von Daten von dem entsprechenden cloudbasierten Server (216)-Datenbankdatensatz, der auf die Clientdatenbank-Lesezugriffsanfrage reagiert und abgerufene Daten definiert; und übertragen der abgerufenen Daten an die Clientanwendung.
  2. Das Verfahren nach Anspruch 1, wobei der Schritt des Ableitens eines Tags, das der Zugriffsanfrage an die Clientanwendungsdatenbank am Speicherrouter (222) zugeordnet ist, Folgendes umfasst: bestimmen, dass der Zugriffsanfrage an die Clientanwendungsdatenbank kein Tag zugewiesen wurde; analysieren der Daten, die in der Zugriffsanfrage an die Clientanwendungsdatenbank enthalten sind; und einfügen eines Tags in die Zugriffsanfrage an die Clientanwendungsdatenbank als Reaktion auf die Analyse der Daten, die in der Zugriffsanfrage an die Clientanwendungsdatenbank enthalten sind.
  3. Verfahren nach Anspruch 1, wobei der Schritt des Ableitens eines Tags, das der Zugriffsanfrage an die Clientanwendungsdatenbank am Speicherrouter (222) zugeordnet ist, das Identifizieren eines Tags, das die Zugriffsanfrage an die Clientanwendungsdatenbank enthält, umfasst.
  4. Verfahren nach Anspruch 1, wobei die Zuordnungsdatenbank (1164) als verteilte Hashtabelle organisiert ist.
  5. Verfahren nach Anspruch 1, wobei die Zuordnungsdatenbank (1164) hinsichtlich Fehlertoleranz und Verfügbarkeit repliziert wird.
  6. Verfahren nach Anspruch 1 umfassen ferner das Bestimmen einer wahrscheinlichen zukünftigen Lesezugriffsanfrage an die Clientdatenbank als Reaktion auf das Tag und der Ablaufverfolgungsinformationen, die der Zugriffsanfrage an die Clientanwendungsdatenbank beim Storage Intelligence-Dienst (238) zugeordnet sind.
  7. Verfahren nach Anspruch 1 umfassen zudem: empfangen mehrerer Lesezugriffsanfragen an die Clientdatenbank von einer einzigen Quelle auf dem cloudbasierten Server (216); empfangen von Ablaufverfolgungsinformationen für jede der mehreren Lesezugriffsanfragen an die Clientdatenbank beim Storage Intelligence-Dienst (238); analysieren der Ablaufverfolgungsinformationen, die mit der Vielzahl von Lesezugriffsanfragen an die Clientdatenbank beim Storage Intelligence-Dienst (238) verbunden sind, um zu bestimmen, ob eine Maximalanzahl von Anforderungen innerhalb eines Maximalzeitraums überschritten wird, und wenn bestimmt wird, dass die Maximalanzahl von Anfragen innerhalb des Maximalzeitraums überschreitet, werden nachfolgende Lesezugriffsanfragen an die Clientdatenbank von der jeweiligen Quelle markiert, damit man diese stärker überwachen kann.
  8. Verfahren nach Anspruch 1 umfassen zudem: empfangen mehrerer Lesezugriffsanfragen an die Clientdatenbank von einer einzigen Quelle auf dem cloudbasierten Server (216); empfangen von Ablaufverfolgungsinformationen für jede der mehreren Lesezugriffsanfragen an die Clientdatenbank beim Storage Intelligence-Dienst (238); analysieren der Ablaufverfolgungsinformationen, die mit der Vielzahl von Lesezugriffsanfragen an die Clientdatenbank beim Storage Intelligence-Dienst (238) verbunden sind, um zu bestimmen, ob eine Maximalanzahl von Anfragen für den Lesezugriff auf Daten einer einzelnen Kategorie überschritten wird; und wenn bestimmt wird, dass die Maximalanzahl von Anfragen für den Lesezugriff auf Daten einer einzelnen Kategorie überschreitet, werden nachfolgende Lesezugriffsanfragen an die Clientdatenbank von der jeweiligen Quelle markiert, damit man diese stärker überwachen kann.
  9. Verfahren nach Anspruch 1, wobei die Daten, die entweder aus der Zugriffsanfrage an die Clientanwendungsdatenbank oder der Clientdatenbank-Lesezugriffsanfrage bestehen, für einen ersten Datenbanktyp formatiert sind, umfassen ferner: bestimmen, ob der erste Datenbanktyp mit einem Datenbanktyp übereinstimmt, der einem Datenbanktyp des entsprechenden Serverdatenbank-Zugriffsanfragendatensatzes zugeordnet ist; und wenn ermittelt wird, dass der erste Datenbanktyp nicht mit dem Datenbanktyp des entsprechenden Serverdatenbank-Zugriffsanfragendatensatzes übereinstimmt, wird der erste Datenbanktyp in einen zweiten Datenbanktyp konvertiert, der dem Datenbanktyp des entsprechenden Serverdatenbank-Zugriffsanfragendatensatzes entspricht.
  10. Verfahren nach Anspruch 9, wobei der erste Datenbank- und der zweite Datenbanktyp eine SQL- oder eine NoSQL-Datenbank sein können.
  11. Verfahren nach Anspruch 1, wobei die abgerufenen Daten keine Informationen umfassen, die einen geografischen Ort oder den Standort des Internetprotokolls des Server, der den cloudbasierten Server (216)-Datenbankdatensatz umfasst, angeben.
  12. Verfahren nach Anspruch 1, wobei das Empfangen der Zugriffsanfrage an die Clientanwendungsdatenbank umfasst: empfangen der Zugriffsanfrage an die Clientanwendungsdatenbank bei einem Lastverteiler; hinzufügen von Ablaufverfolgungsinformationen zur Zugriffsanfrage an die Clientanwendungsdatenbank als Reaktion auf den Empfang der Zugriffsanfrage an die Clientanwendungsdatenbank beim Lastverteiler, definiert als Lastverteiler-Ablaufverfolgungsinformationen; senden der Lastverteiler-Ablaufverfolgungsinformationen an den Storage Intelligence-Dienst (238); senden der Zugriffsanfrage an die Clientanwendungsdatenbank an einen Anwendungsserver mehrerer Anwendungsserver; empfangen der Zugriffsanfrage an die Clientanwendungsdatenbank auf dem Anwendungsserver der mehreren Anwendungsserver; hinzufügen von Ablaufverfolgungsinformationen zur Zugriffsanfrage an die Clientanwendungsdatenbank als Reaktion auf den Empfang der Zugriffsanfrage an die Clientanwendungsdatenbank auf dem Anwendungsserver, definiert als Anwendungsserver-Ablaufverfolgungsinformationen; und senden der Anwendungsserver-Ablaufverfolgungsinformationen an den Storage Intelligence-Dienst (238).
  13. Ein Verfahren zur Optimierung der Leistung und Sicherung von Cloud-Speichern und -Datenbanken, das Folgendes umfasst: analysieren von Daten, die aus einer Datenanfrage bestehen, die von einer Clientanwendung von einer Agentenanwendung auf einem Computergerät erzeugt wurde; einfügen eines Tags in die Datenanfrage als Reaktion auf die Analyse der Daten, die in der Datenanfrage enthalten sind, wobei das Tag Speichervoraussetzungen für mindestens einen der Bereiche Sicherheit, Zugriffsgeschwindigkeit oder Fehlertoleranz angibt; identifizieren von Ablaufverfolgungsinformationen, die zu einer von der Clientanwendung übertragenen Datenanfrage hinzugefügt wurden; und übertragen der Ablaufverfolgungsinformationen an einen Storage Intelligence-Dienst (238).
  14. Verfahren nach Anspruch 13, wobei die Ablaufverfolgungsinformationen über einen anderen Pfad als denjenigen, über den die Datenanfrage übertragen wurde, an den Storage Intelligence-Dienst (238) übertragen werden.
  15. Verfahren nach Anspruch 13, wobei die Ablaufverfolgungsinformationen mindestens eine Span (504) und eine Trace (502) umfasst.
  16. Verfahren nach Anspruch 13, wobei die Agentenanwendung von einem computergestützten Clientgerät, einem Lastverteiler, einem Proxy-Server oder einem Anwendungsserver ausgeführt wird.
  17. Verfahren nach Anspruch 13, umfassen ferner das Hinzufügen von Ablaufverfolgungsinformationen zu der Datenanfrage.
  18. Ein Verfahren zum Organisieren von Clientanwendungsdaten, das Folgendes umfasst: empfangen einer Zugriffsanfrage an eine Clientanwendungsdatenbank zum Erstellen oder Ändern von Clientanwendungsdaten von einer Clientanwendung, die auf einem Computergerät auf einem cloudbasierten Server ausgeführt wird (216); ableiten eines Tags, das der Zugriffsanfrage an die Clientanwendungsdatenbank an einem Speicherrouter (222) zugeordnet ist, wobei das Tag Speichervoraussetzungen für mindestens einen der Bereiche Sicherheit, Zugriffsgeschwindigkeit oder Fehlertoleranz angibt, was Folgendes umfasst: bestimmen, ob der Zugriffsanfrage an die Clientanwendungsdatenbank ein Tag oder kein Tag zugewiesen wurde; wenn bestimmt wurde, dass der Zugriffsanfrage an die Clientanwendungsdatenbank kein Tag zugewiesen wurde: analysieren der Daten, die in der Zugriffsanfrage an die Clientanwendungsdatenbank enthalten sind; und einfügen eines Tags in die Zugriffsanfrage an die Clientanwendungsdatenbank als Reaktion auf die Analyse der Daten, die in der Zugriffsanfrage an die Clientanwendungsdatenbank enthalten sind; und wenn bestimmt wurde, dass der Zugriffsanfrage an die Clientanwendungsdatenbank worden ist, wird das Tag, das in der Zugriffsanfrage an die Clientanwendungsdatenbank enthalten ist, identifiziert; empfangen von Ablaufverfolgungsinformationen in Bezug auf die Zugriffsanfrage an die Clientanwendungsdatenbank bei einem Storage Intelligence-Dienst (238), Definieren empfangener Ablaufverfolgungsinformationen in Bezug auf die Tag- und Clientanwendungsattribute, die mindestens eine der folgenden Eigenschaften umfassen: Benutzer, Rollen, Berechtigungen, Datenbankzugriffsmuster und Verwendung; speichern der empfangenen Ablaufverfolgungsinformationen in einer cloudbasierten Tracing-Speicherdatenbank (242); analysieren der Tracing-Speicherdatenbank (242), um aktualisierte Regeln für Zugriffsanfragen an Clientanwendungsdatenbanken zu entwickeln; aktualisieren des Storage Intelligence-Dienstes (238) mit den aktualisierten Regeln; zuordnen der Zugriffsanfrage an die Clientanwendungsdatenbank am Speicherrouter (222) zu einem entsprechenden Serverdatenbankzugriffsanfragendatensatz, der als Reaktion auf das von der Zugriffsanfrage an die Clientanwendungsdatenbank und einer vom Speicherrouter (222) umfassten Regel abgeleitete Tag erstellt oder geändert wurde; speichern der Zuordnung in einer cloudbasierten Zuordnungsdatenbank (1164); empfangen einer Clientdatenbank-Lesezugriffsanfrage von einer Clientanwendung; empfangen von Ablaufverfolgungsinformationen, die mit der Clientdatenbank-Lesezugriffsanfrage von der Clientanwendung beim Storage Intelligence-Dienst (238) verbunden sind; und weiterleiten der Clientdatenbank-Lesezugriffsanfrage von der Clientanwendung, an einen entsprechenden cloudbasierten Serverdatenbankdatensatz (216), basierend auf den im Storage Intelligence-Dienst (238) und der Zuordnungsdatenbank (1164) gespeicherten Regeln; empfangen von Daten von dem entsprechenden cloudbasierten Server (216)-Datenbankdatensatz, der auf die Clientdatenbank-Lesezugriffsanfrage reagiert und abgerufene Daten definiert; und übertragen der abgerufenen Daten an die Clientanwendung.
  19. Verfahren nach Anspruch 18, wobei die Daten, die entweder aus der Zugriffsanfrage an die Clientanwendungsdatenbank oder der Clientdatenbank-Lesezugriffsanfrage bestehen, für einen ersten Datenbanktyp formatiert sind, umfassen ferner: bestimmen, ob der erste Datenbanktyp mit einem Datenbanktyp übereinstimmt, der einem Datenbanktyp des entsprechenden Serverdatenbank-Zugriffsanfragendatensatzes zugeordnet ist; und wenn ermittelt wird, dass der erste Datenbanktyp nicht mit dem Datenbanktyp des entsprechenden Serverdatenbank-Zugriffsanfragendatensatzes übereinstimmt, wird der erste Datenbanktyp in einen zweiten Datenbanktyp konvertiert, der dem Datenbanktyp des entsprechenden Serverdatenbank-Zugriffsanfragendatensatzes entspricht.
  20. Verfahren nach Anspruch 18, wobei das Empfangen der Zugriffsanfrage an die Clientanwendungsdatenbank umfasst: empfangen der Zugriffsanfrage an die Clientanwendungsdatenbank bei einem Lastverteiler; hinzufügen von Ablaufverfolgungsinformationen zur Zugriffsanfrage an die Clientanwendungsdatenbank als Reaktion auf den Empfang der Zugriffsanfrage an die Clientanwendungsdatenbank beim Lastverteiler, definiert als Lastverteiler-Ablaufverfolgungsinformationen; senden der Lastverteiler-Ablaufverfolgungsinformationen an den Storage Intelligence-Dienst (238); senden der Zugriffsanfrage an die Clientanwendungsdatenbank an einen Anwendungsserver mehrerer Anwendungsserver; empfangen der Zugriffsanfrage an die Clientanwendungsdatenbank auf dem Anwendungsserver der mehreren Anwendungsserver; hinzufügen von Ablaufverfolgungsinformationen zur Zugriffsanfrage an die Clientanwendungsdatenbank als Reaktion auf den Empfang der Zugriffsanfrage an die Clientanwendungsdatenbank auf dem Anwendungsserver, definiert als Anwendungsserver-Ablaufverfolgungsinformationen; und senden der Anwendungsserver-Ablaufverfolgungsinformationen an den Storage Intelligence-Dienst (238).
DE112019006367.7T 2018-12-20 2019-12-16 Verfahren und System zur Sicherung von Cloud-Speichern und -Datenbanken vor Insider-Bedrohungen und zur Optimierung der Leistung Pending DE112019006367T5 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201862782428P 2018-12-20 2018-12-20
US62/782,428 2018-12-20
US16/269,948 2019-02-07
US16/269,948 US10402589B1 (en) 2018-12-20 2019-02-07 Method and system for securing cloud storage and databases from insider threats and optimizing performance
PCT/US2019/066456 WO2020131664A1 (en) 2018-12-20 2019-12-16 Method and system for securing cloud storage and databases from insider threats and optimizing performance

Publications (1)

Publication Number Publication Date
DE112019006367T5 true DE112019006367T5 (de) 2021-09-02

Family

ID=67770246

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112019006367.7T Pending DE112019006367T5 (de) 2018-12-20 2019-12-16 Verfahren und System zur Sicherung von Cloud-Speichern und -Datenbanken vor Insider-Bedrohungen und zur Optimierung der Leistung

Country Status (3)

Country Link
US (5) US10402589B1 (de)
DE (1) DE112019006367T5 (de)
WO (1) WO2020131664A1 (de)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10872326B2 (en) * 2019-02-25 2020-12-22 Walmart Apollo, Llc Systems and methods of product recognition through multi-model image processing
US11516182B2 (en) * 2019-04-10 2022-11-29 Google Llc Firewall rules intelligence
US11216461B2 (en) * 2019-05-08 2022-01-04 Datameer, Inc Query transformations in a hybrid multi-cloud database environment per target query performance
US10992968B2 (en) * 2019-07-15 2021-04-27 At&T Intellectual Property I, L.P. Method and apparatus for an enhanced data pipeline
CN115668206A (zh) 2020-03-10 2023-01-31 梅特凯股份有限公司 推动多语言、多轮次、多领域虚拟助理的并行假设推理
WO2021188719A1 (en) 2020-03-17 2021-09-23 MeetKai, Inc. An intelligent layer to power cross platform, edge-cloud hybrid artificail intelligence services
US11995561B2 (en) 2020-03-17 2024-05-28 MeetKai, Inc. Universal client API for AI services
CN115698949A (zh) * 2020-03-30 2023-02-03 梅特凯股份有限公司 用于ai服务的通用客户端api
US11921712B2 (en) 2020-10-05 2024-03-05 MeetKai, Inc. System and method for automatically generating question and query pairs
WO2022087269A1 (en) * 2020-10-21 2022-04-28 Verint Americas Inc. System and method of automated determination of use of sensitive information and corrective action for improper use
US11544222B2 (en) * 2020-12-11 2023-01-03 Fidelity Information Services, Llc Systems and methods for data tracing
US11522697B2 (en) 2021-04-16 2022-12-06 Bank Of America Corporation Insight generation using personal identifiable information (PII) footprint modeling
US12013963B2 (en) * 2021-04-16 2024-06-18 Bank Of America Corporation Insight generation using personal identifiable information (PII) footprint modeling
US20220385635A1 (en) * 2021-05-27 2022-12-01 Palo Alto Networks, Inc. Combined machine learning and formal techniques for network traffic analysis
CN113452780B (zh) * 2021-06-26 2023-05-02 未鲲(上海)科技服务有限公司 针对客户端的访问请求处理方法、装置、设备及介质

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10235439B2 (en) 2010-07-09 2019-03-19 State Street Corporation Systems and methods for data warehousing in private cloud environment
US9032017B1 (en) * 2010-08-10 2015-05-12 Scalarc Inc Method and system for transparent read-write query routing when load balancing databases
US9710282B2 (en) * 2011-12-21 2017-07-18 Dell Products, Lp System to automate development of system integration application programs and method therefor
US8910297B2 (en) 2012-01-05 2014-12-09 Vmware, Inc. Securing user data in cloud computing environments
US8863298B2 (en) * 2012-01-06 2014-10-14 Mobile Iron, Inc. Secure virtual file management system
US9213867B2 (en) * 2012-12-07 2015-12-15 Microsoft Technology Licensing, Llc Secure cloud database platform with encrypted database queries
US9509804B2 (en) * 2012-12-21 2016-11-29 Akami Technologies, Inc. Scalable content delivery network request handling mechanism to support a request processing layer
US20150188949A1 (en) * 2013-12-31 2015-07-02 Lookout, Inc. Cloud-based network security
US9537886B1 (en) * 2014-10-23 2017-01-03 A10 Networks, Inc. Flagging security threats in web service requests
US9893972B1 (en) * 2014-12-15 2018-02-13 Amazon Technologies, Inc. Managing I/O requests
US10055381B2 (en) * 2015-03-13 2018-08-21 International Business Machines Corporation Controller and method for migrating RDMA memory mappings of a virtual machine
US20160283996A1 (en) * 2015-03-27 2016-09-29 Apple Inc. System for management of online content affiliate program for offline retail business
US9813500B2 (en) * 2015-06-12 2017-11-07 Cisco Technology, Inc. Allocating cloud storage based on storage attributes
US10033702B2 (en) * 2015-08-05 2018-07-24 Intralinks, Inc. Systems and methods of secure data exchange
US9942197B2 (en) * 2015-08-28 2018-04-10 Signal Sciences Corporation Web application security architecture
US9934395B2 (en) 2015-09-11 2018-04-03 International Business Machines Corporation Enabling secure big data analytics in the cloud
US20170123677A1 (en) * 2015-11-04 2017-05-04 HGST Netherlands B.V. Integration of Reference Sets with Segment Flash Management
US20170180372A1 (en) * 2015-12-16 2017-06-22 Fluke Corporation Project documentation sharing and collaboration in a cloud-based environment
US10484270B2 (en) * 2016-05-13 2019-11-19 Level 3 Communications, Llc User-based differentiated routing system and method
US10318390B2 (en) * 2016-07-08 2019-06-11 International Business Machines Corporation Automated storage target selection for data backup
KR102495924B1 (ko) 2016-07-29 2023-02-06 삼성전자주식회사 어플리케이션의 보안 처리 방법 및 이를 지원하는 전자 장치
CN106790292A (zh) * 2017-03-13 2017-05-31 摩贝(上海)生物科技有限公司 基于行为特征匹配和分析的web应用层攻击检测与防御方法
US11005892B2 (en) * 2017-09-17 2021-05-11 Allot Ltd. System, method, and apparatus of securing and managing internet-connected devices and networks
US10819750B1 (en) * 2018-04-27 2020-10-27 Amazon Technologies, Inc. Multi-tenant authentication and permissions framework
US10977380B2 (en) * 2018-05-25 2021-04-13 Uptake Technologies, Inc. Hybrid role and attribute based access control system
WO2020087082A1 (en) * 2018-10-26 2020-04-30 Splunk Inc. Trace and span sampling and analysis for instrumented software

Also Published As

Publication number Publication date
WO2020131664A1 (en) 2020-06-25
US11379612B2 (en) 2022-07-05
US20200202039A1 (en) 2020-06-25
US10503927B1 (en) 2019-12-10
US20230315903A1 (en) 2023-10-05
US11709964B2 (en) 2023-07-25
US10402589B1 (en) 2019-09-03
US20220292217A1 (en) 2022-09-15

Similar Documents

Publication Publication Date Title
DE112019006367T5 (de) Verfahren und System zur Sicherung von Cloud-Speichern und -Datenbanken vor Insider-Bedrohungen und zur Optimierung der Leistung
DE112010003454B4 (de) Bedrohungserkennung in einem Datenverarbeitungssystem
DE60218615T2 (de) Verfahren und Architektur zur durchdringenden Absicherung von digitalen Gütern
DE102009049674B4 (de) Segregieren von anonymem Zugriff auf dynamischen Inhalt auf einem Webserver mit gecachedten Anmeldungen
DE602004011689T2 (de) Verfahren und System zur Handhabung der Übermittlung von Inhalten in Kommunikationsnetzen
DE102011077218B4 (de) Zugriff auf in einer Cloud gespeicherte Daten
DE112019004913T5 (de) Erfassen von unangemessener aktivität in anwesenheit von nicht authentifizierten api-anforderungen unter verwendung von künstlicher intelligenz
DE112018005628T5 (de) Datenbereinigungssystem für eine öffentliche Host-Plattform
DE102012213807A1 (de) Steuerung des Lightweight-Dokumentenzugriffs mithilfe von Zugriffskontrolllisten im Cloud-Speicher oder auf dem lokalen Dateisystem
DE60114763T2 (de) Verfahren und Vorrichtung für filtern von Zugriff, und Computerprodukt
DE112017007393T5 (de) System und verfahren für netzwerkvorrichtungssicherheits- und vertrauenswertbestimmung
DE202012013482U1 (de) Verteilung von Zugriffsinformationen auf Overlay-Netzwerken
US11258826B2 (en) Policy separation
DE10146361B4 (de) Verteiltes System
DE112021005656T5 (de) Analyse der rollenerreichbarkeit mit transitiven tags
DE112021005862T5 (de) Selbstprüfende blockchain
DE202023103214U1 (de) Web-Anwendung als Datenbankobjekt erster Klasse
DE202023103216U1 (de) Datenplattform mit vereinheitlichten Privilegien
Luo et al. A flexible framework for architecting xml access control enforcement mechanisms
DE102016207469A1 (de) System und verfahren zum speichern von verhaltensdaten und zum kontrollieren des zugriffs darauf
DE102021108961A1 (de) Verschlüsselungsschlüssel von speichersystemen
CH715740A2 (de) Verfahren zur Feststellung von unauthorisiertem Zugriff auf Daten.
LU500837B1 (de) Verfahren und zugehörige Computersysteme zur Sicherung der Integrität von Daten
DE10152121B4 (de) Regelbasierte Verarbeitungskontrolle mobiler Information
DE202023100943U1 (de) Auf maschinellem Lernen basierendes System für einen dynamischen Verschlüsselungsdienst, der die Sicherheit von Gesundheitsdaten im Krankenhausdatenmanagement aufrechterhalten kann