DE102008016197A1 - Identifizieren eines Anwendungsbenutzers als Quelle einer Datenbank-Aktivität - Google Patents

Identifizieren eines Anwendungsbenutzers als Quelle einer Datenbank-Aktivität Download PDF

Info

Publication number
DE102008016197A1
DE102008016197A1 DE102008016197A DE102008016197A DE102008016197A1 DE 102008016197 A1 DE102008016197 A1 DE 102008016197A1 DE 102008016197 A DE102008016197 A DE 102008016197A DE 102008016197 A DE102008016197 A DE 102008016197A DE 102008016197 A1 DE102008016197 A1 DE 102008016197A1
Authority
DE
Germany
Prior art keywords
database
application user
query
communication
designed
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.)
Withdrawn
Application number
DE102008016197A
Other languages
English (en)
Inventor
Amrish K. Sunnyvale Lal
Ravil A. Danville Desai
Vivek M. Redwood City Chandran
Ron-Chung Palo Alto Hu
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.)
NortonLifeLock Inc
Original Assignee
Symantec Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Symantec Corp filed Critical Symantec Corp
Publication of DE102008016197A1 publication Critical patent/DE102008016197A1/de
Withdrawn legal-status Critical Current

Links

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/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • G06F16/83Querying
    • G06F16/835Query processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2149Restricted operating environment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Bioethics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Es wird die Bestimmung eines Anwendungsbenutzers als Quelle von Datenbank-Aktivität offenbart. Es wird eine Kommunikation empfangen. Ein Ablauf, der so gestaltet ist, dass er die Kommunikation abwickelt, wird einem Anwendungsbenutzer zugeordnet, dem die Kommunikation zugeordnet ist. Dem Anwendungsbenutzer ist eine Datenbankabfrage zugeordnet, die von dem Ablauf erzeugt wird.

Description

  • Hintergrund der Erfindung
  • Eine breite Vielfalt von Objekten benutzt eine Kombination von Datenbanken und Anwendungen, die die Datenbanken abfragen, um Benutzern die Möglichkeit zu verschaffen, Informationen zu betrachten und zu manipulieren. Zum Beispiel kann ein Kaufmann in einem elektronischen Handelszusammenhang eine Datenbank besitzen, die Produktinformationen wie Fotografien des Bestands, Produktbeschreibungen und Preis/Verfügbarkeits-Informationen speichert. Potentielle Kunden können diese Informationen durch Aufsuchen der Website des Kaufmanns und Wechselwirkung mit sortierten Web-Seiten, die vom Web-Server des Kaufmanns erzeugt werden, betrachten. Im Zusammenhang mit einem Unternehmen könnten Angestellte eine Customer-Relationship-Managemant-(CRM)-Anwendung benutzen, um Zugriff zu in CRM-Datenbanken gespeicherten Kunden-Informationen zu erhalten und/oder diese zu aktualisieren.
  • Eine Erlaubnis zu wechselseitigen Handlungen für Endbenutzer mit Datenbanken kann ein bequemer und wirksamer Weg sein, um zu gewährleisten, dass diesen Benutzern die aktualisierten Informationen präsentiert werden. Leider kann ohne angemessenen Schutz an Ort und Stelle ein boshafter Mensch in der Lage sein, Verfahren zu verwenden, wie einen SQL-Einspeiseangriff, um heimtückische Abfragen an eine Datenbank zu richten, z. B. solche, die zu der Preisgabe von Kreditkarten- oder anderen vertraulichen Informationen oder zur Modifikation von Preisfestsetzungs-Informationen führen.
  • Ein traditionelles Sicherheitsprodukt wie ein Log-Analyse-Instrument könnte zwar offenbaren, dass ein Datenbankangriff stattgefunden hat, jedoch ist es üblicherweise nicht in der Lage, die Identität der für den Angriff verantwortlichen Person zu liefern. Ein Grund hierfür ist, dass Anwendungen sich üblicherweise selbst gegenüber Datenbanken unter Verwendung derselben Gruppe von Beglaubigungen unabhängig davon authentisieren, welcher Endbenutzer mit der Anwendung in Wechselwirkung steht. Außerdem können die von einer potentiell sehr großen Zahl von gleichzeitigen Anwendungsbenutzern erzeugten Abfragen über eine relativ kleine Zahl von Datenbankverbindungen gemultiplext werden, was forensische Versuche schwierig macht, verschiedene Logs zu korrelieren.
  • Ein Lösungsweg zur Bestimmung, wer für spezifische Datenbank-Aktivität verantwortlich ist, ist die Modifizierung der Anwendung, um jene Informationen aufzuzeichnen. Leider ist ein solcher Lösungsweg aufdringlich und untauglich, benötigt Programmierer, um ein potentiell lästiges Merkmal in jeder Datenbankanwendung zu modifizieren, zu testen und aufrecht zu erhalten. Und falls die Anwendung von einem Dritten geliefert wird (z. B. als serienmäßiges Produkt) könnte ein Modifizieren der Anwendung unmöglich sein.
  • Ein weiterer Lösungsweg ist die Aufzeichnung der wechselseitigen Handlungen zwischen Benutzern und der Anwendung (z. B. Benutzen eines Proxy) und der spätere Versuch, Literale, die bei den wechselseitigen Handlungen auftreten, mit Literalen, die in SQL-Anweisungen erscheinen, zu korrelieren. Leider könnte es unmöglich sein, die Quelle von arglistigen Abfragen zu identifizieren, wenn mehrere SQL-Anweisungen dieselben Literale enthalten (z. B. wenn mehrere Benutzer eine ähnliche Aktivität auf die Anwendung gleichzeitig ausführen), oder wenn es keine Literale in der SQL-Anweisung gibt.
  • Daher wäre es erwünscht, einen besseren Weg zur Bestimmung des Ursprungs von Datenbank-Aktivität zu haben.
  • Zusammenfassung der Erfindung
  • Es wird die Bestimmung eines Anwendungsbenutzers als Quelle von Datenbank-Aktivität offenbart. Es wird eine Kommunikation empfangen. Ein Ablauf (Thread), der so gestaltet ist, dass er die Kommunikation abwickelt, wird einem Anwendungsbenutzer zugeordnet, dem die Kommunikation zugeordnet ist. Der Anwendungsgenutzer wird einer Datenbank-Abfrage zugeordnet, die von dem Ablauf erzeugt wird. Bei einigen Ausführungsformen wird an einen stromabwärtigen Leser ein Hinweis geliefert, dass die Abfrage dem Anwendungsbenutzer zugeordnet ist. Bei einigen Ausführungsformen schließt das Liefern des Hinweises die Erzeugung einer Scheinabfrage ein. Bei einigen Ausführungsformen schließt die Scheinabfrage einen Hinweis ein, dass anschließende Abfragen dem Anwendungsbenutzer zugeordnet werden.
  • Kurze Beschreibung der Zeichnungen
  • Verschiedene Ausführungsformen der Erfindung werden in der nachfolgenden Beschreibung und den beigefügten Zeichnungen offenbart. In den Zeichnungen stellen dar:
  • 1 ein Blockdiagramm, das ein Umfeld mit Datenbank-Sicherheit veranschaulicht;
  • 2 ein Ablaufdiagramm, das eine Ausführungsform eines Prozesses zur Bestimmung des Ursprungs von Datenbank-Aktivität veranschaulicht;
  • 3 ein Blockdiagramm, das eine Ausführungsform eines Systems zur Bestimmung des Ursprungs von Datenbank-Aktivität veranschaulicht;
  • 4 ein Ablaufdiagramm, das eine Ausführungsform eines Prozesses zur Bestimmung einer Zuordnung zwischen einem Anwendungsbenutzer und einem Prozess oder Ablauf veranschaulicht; und
  • 5 ein Ablaufdiagramm, das eine Ausführungsform eines Prozesses zur Lieferung eines Hinweises auf den Ursprung von Datenbank-Aktivität veranschaulicht.
  • Ausführliche Beschreibung
  • Die Erfindung kann auf zahlreiche Weise ausgeführt werden, als Prozess, als Vorrichtung, als System, als Zusammenstellung von Dingen, als Computerlesbares Medium oder als Computernetz, in dem Programmanweisungen über optische oder Kommunikations-Links gesendet werden. In dieser Beschreibung können diese Ausführungsformen oder jede andere Form, die die Erfindung annehmen kann, als Verfahren bezeichnet werden. Eine Komponente, wie ein Prozessor oder ein Speicher, der als so gestaltet beschrieben ist, dass er eine Aufgabe ausführt, enthält sowohl eine allgemeine Komponente, die zeitweilig so gestaltet ist, dass sie die Aufgabe zu einer gegebenen Zeit ausführt, oder eine spezifische Komponente, die hergestellt wird, um die Aufgabe auszuführen. Im allgemeinen kann die Reihenfolge der Schritte von offenbarten Prozessen im Rahmen des Schutzumfangs der Erfindung geändert werden.
  • Es folgt eine ausführliche Beschreibung einer oder mehrerer Ausführungsformen der Erfindung anhand der beigefügten Zeichnungen, die die Pronzipien der Erfindung veranschaulichen. Die Erfindung wird in Verbindung mit solchen Ausführungsformen beschrieben, jedoch ist die Erfindung auf keine der Ausführungsformen beschränkt. Der Schutzumfang der Erfindung ist nur durch die Ansprüche begrenzt, und die Erfindung umfasst zahlreiche Alternativen, Modifikationen und Äquivalente. Zahlreiche spezifische Einzelheiten werden in der nachfolgenden Beschreibung dargelegt, um ein gründliches Verständnis der Erfindung zu vermitteln. Diese Einzelheiten haben Beispielscharakter, und die Erfindung kann gemäß den Ansprüchen ohne einige oder alle dieser spezifischen Einzelheiten ausgeführt werden. Aus Gründen der Klarheit werden technische Einzelheiten, die in den mit der Erfindung verbundenen technischen Gebieten bekannt sind, nicht ausführlich beschrieben, um das Verständnis der Erfindung nicht unnötig zu erschweren.
  • Wenn ein Anwendungs-Web-Server eine neue Benutzer-anforderung empfängt (z. B. von einem Benutzer „u1"), erzeugt er üblicherweise einen Ablauf („t1") zur Verarbeitung von Aufgaben wie Ausführung von Anwendungsmodulen, Geschäfts-Logik und Datenbank-Anweisungen, die sich auf die Benutzeranforderung beziehen. Anwendungs-Web-Server haben üblicherweise Schnittstellen, die zur Entwicklung eines kundenspezifischen Moduls zum Abfangen aller Anforderungen und Antworten auf Web-Anwendungen und Zugriffserlangung zu Web-Anwendungs-Sessions-Objekten verwendet werden können, ohne vorhandene Web-Anwendungen zu stören. Bei einigen Ausführungsformen wird ein kundenspezifischer Modul so gestaltet, dass man den Benutzernamen von u1 (und/oder eine andere Identität oder andere damit zusammenhängende Informationen) erhält und ihn dem Ablauf t1 zuordnet. Immer wenn eine Anweisung von dem Ablauf t1 ausgeführt wird, können Benutzer und Anweisung einander zugeordnet werden, ohne den Anwendungs-Code zu modifizieren.
  • Web-Anwendungen kommunizieren üblicherweise mit Datenbanken über ein Datenbank-Anschlussteil (connector), das mit einem kundenspezifischen Datenbank-Anschlussteil umhüllt (wrapped) werden kann. Wenn der Ablauf t1 eine Funktion in dem kundenspezifischen Datenbank-Anschlussteil aufruft, kann das kundenspezifische Datenbank-Anschlussteil so gestaltet werden, dass die Identität des Ablaufs t1 und die Anweisung s1, die der Ablauf über den Funktionsaufruf ausführt, aufgezeichnet wird. Der Benutzername des Endbenutzers (IP-Adresse usw.) für eine bestimmte Anweisung kann zu einem Datenbank-Sicherheits-Monitor gesendet werden, und der Datenbank-Sicherheits-Monitor kann die Informationen in seine Überwachungsprozesse, so weit möglich, einbeziehen.
  • 1 ist ein Blockdiagramm, das ein Umfeld mit Datenbank-Sicherheit hat. Bei dem dargestellten Beispiel kommunizieren verschiedene Web-Anwendungsbenutzer 102106 mit einem Web-Anwendungs-Server 110 über ein Netz 108. Der hier verwendete Begriff „Anwendungsbenutzer" bezieht sich auf einen menschlichen oder sonstigen Benutzer einer Anwendung, die in Wechselwirkung mit einer Datenbank über eine oder mehr Verbindungen steht, von denen die Datenbank annimmt, dass sie der Anwendung zugeordnet sind, aber nicht notwendigerweise einem spezifischen oder individuellen Benutzer der Anwendung zugeordnet sind. In verschiedenen Ausführungsbeispielen ist das Netz 108 das Internet, ein lokales Netz, ein landesweites Netz oder eine Kombination solcher Netze. Anwendungsbenutzer können auf den Web-Anwendungs-Server 108 unter Verwendung vieler Plattformen zugreifen, wie Personal-Computer (z. B. 102), Laptops (104), Mobiltelefone/Personal-Digital-Assistenten (106) sowie andere Arten von Informationsanwendungen (nicht dargestellt) wie Set-Top-Boxen, Spiel-Konsolen, Breitband-Router und digitale Video-Recorder, so weit möglich.
  • Bei dem dargestellten Beispiel sind Datenbanken 112 und 114 vernetzt (über Schalter 118) und speichern eine Sammlung von Informationen, von denen einige vertraulich sind (z. B. Kreditkarten-Nummern und/oder Gehaltsinformationen). Bei verschiedenen Ausführungsbeispielen sind die Datenbanken 112 und 114 verwandte Datenbanken (z. B. Produkte wie Oracle Database, IBM DB2 und Microsoft SQL Server), Flat-File-Datenbanken oder andere Arten von Datenbanken, und die hier beschriebenen Verfahren werden entsprechend angepasst. Das in 1 gezeigte Umfeld kann auch eine einzige Datenbank statt mehrere enthalten. Ein Datenbankverwalter kann auf die Datenbank 112 und 114 unter Verwendung des Clienten 122 zugreifen, der in diesem Fall eine verwaltende Konsole ist.
  • Der Web-Anwendungs-Server 110 führt eine oder mehr Anwendungen aus, die Abfragen an Datenbänke wie zum Beispiel die Datenbänke 112 und 114 auf der Basis von Informationen erzeugen, die von Anwendungsbenutzern, z. B. den Anwendungsbenutzern 102106 geliefert werden. Der Web-Anwendungs-Server 110 authentifiziert sich selbst für die Datenbank 112 unter Verwendung eines Login/Passwort-Paars. Bei verschiedenen Ausführungsformen werden andere Authentifizierungsverfahren, wie die Verwendung von digitalen Zertifikaten an Stelle von oder zusätzlich zur Passwort-Authentifizierung benutzt.
  • Bei dem gezeigten Beispiel kommuniziert der Web-Anwendungs-Server 110 mit den Anwendungsbenutzern 102106 unter Verwendung von HTTP, und Abfragen werden in SQL formuliert. Andere Sprachen oder Verfahren zur Übertragung von Informationen (z. B. XML, SOAP, LDAP, SMTP und Meldungswarteschlange (message queue)) und zur Darstellung von Abfragen können ebenfalls verwendet und die hier beschriebenen Verfahren so weit möglich angepasst werden. Wie nachfolgend in größeren Einzelheiten beschrieben wird, empfängt/empfangen die Anwendung/Anwendungen Abfrageergebnisse als Antwort, und der Web-Anwendungs-Server 110 liefert sie an den geeigneten Anwendungsbenutzer.
  • Der Datenbank-Sicherheits-Monitor 116 beobachtet den zwischen Datenbank 112 und Web-Anwendungs-Server 110 gesendeten Verkehr z. B. durch Verwendung eines Anzapfungsanschlusses am Schalter 118. Bei anderen Ausführungsformen werden andere Verkehrsüberwachungsverfahren verwendet, z. B. durch den zwischengeschalteten Datenbank-Sicherheits-Monitor 116, Verwendung eines ferngeschalteten Anschlussanalysator-(RSPAN)-Merkmals oder Verwendung eines geschalteten Anschlussanalysator-(SPAN)-Merkmals. Bei einigen Ausführungsformen ist der Datenbank-Sicherheits-Monitor 116 so gestaltet, dass er legitimierte Abfragen auf Grund von Erfahrung erkennt. Wenn eine anormale Abfrage beobachtet wird, wird die Abfrage geloggt, und es können andere Aktionen ausgeführt werden, wie Senden eines Warnsignals an einen Verwalter, Blockieren der Ausführung der Abfrage usw. Wie nachfolgend in Einzelheiten beschrieben wird, kann der Web-Anwendungs-Server 110 so gestaltet werden, dass er den Datenbank-Sicherheits-Monitor 116 mit Informationen versorgt (z. B. Benutzername, IP-Adresse, Maschinenname, MAC-Adresse usw.), die den Ursprung der Datenbank-Aktivität identifizieren.
  • Andere Komponenten können in das Umfeld einbezogen werden, wie z. B. der Datensicherungs-Server 120 und Firewalls, Netz-Eindring-Erkennungssysteme usw. (nicht dargestellt).
  • 2 ist ein Ablaufdiagramm, das ein Ausführungsbeispiel eines Prozesses zur Bestimmung des Ursprungs einer Datenbankaktivität veranschaulicht. Bei einigen Ausführungsformen wird der in 2 gezeigte Prozess von dem Web-Anwendungs-Server 110 ausgeführt. Der Prozess beginnt bei 202, wenn eine Kombination empfangen wird. Es sei angenommen, dass der Web-Anwendungs-Server 110 so gestaltet ist, dass er an einen Web-Browser, der mit dem Rechner des Anwendungsbenutzers 102 zusammenarbeitet, ein auf HTML- und/oder JavaScript beruhendes Formular liefert. Der Web-Browser zeigt dieses Formular auf dem Rechner des Anwendungsbenutzers an, und der Benutzer (der z. B. nach einem Produkt sucht) liefert einen Eintrag in das Feld/die Felder in dem Formular. Wenn der Anwendungsbenutzer eine Übergabetaste drückt, liefert der Web-Browser den Eintrag an den Web-Anwendungs-Server 110. Bei 202 empfängt der Web-Anwendungs-Server 110 den Eintrag (Kommunikation).
  • Bei 204 wird ein Ablauf, der so gestaltet ist, dass er die Kommunikation abwickelt, dem Anwendungsbenutzer zugeordnet, dem die Kommunikation zugeordnet ist. Wenn z. B. ein Anwendungsbenutzer zuerst mit dem Web-Anwendungs-Server 110 Kontakt aufnimmt (z. B. einloggt), kann der Web-Anwendungs-Server 110 so gestaltet werden, dass er den Benutzernamen (und/oder andere Informationen wie IP-Adresse, MAC-Adresse, Web-Browser-Typ, Host, Abfrage-Kette, Cookies usw., nachfolgend als „herausgezonene Informationen" bezeichnet) des Web-Anwendungs-Benutzers herauszieht und dann den Benutzernamen (und herausgezogene Informationen) dem Sessionsobjekt zuordnet, das von dem Web-Anwendungs-Server erstellt wird. Immer wenn eine Anforderung für eine vorher vorhandene Session empfangen wird, kann ein Aufsuchen des Benutzernamens, der dem Sessions-ID der Anforderung zugeordnet ist, ausgeführt werden. Der Web-Anwendungs-Server 110 kann seinen Ablauf-ID lesen und den Ablauf-ID dem Benutzernamen zuordnen. Bei einigen Ausführungsformen wird der Benutzername einem Prozess (z. B. dem Prozess ID) zugeorndet an Statt oder zusätzlich zu einem Ablauf, und die hier beschriebenen Verfahren werden so weit möglich angepasst. Der Begriff „Ablauf" (thread) kann hier somit austauschbar mit „Prozess" verwendet werden.
  • Bei 206 wird eine von dem Ablauf erzeugte Datenbankabfrage dem Anwendungsbenutzer zugeordnet, dem der Verarbeitungsablauf zugeordnet ist. Eine Web-Anwendung, die sich in dem Web-Anwendungs-Server 110 befindet, kommuniziert mit einer Datenbank, wie der Datenbank 112, über ein Datenbank-Anschlussteil. Ein Anforderungs-Verarbeitungsablauf ruft Datenbank-Anschlussteil-Funktionen auf, um Abfragen zu einer Datenbank zu senden und von dieser zu empfangen. Wenn ein Anforderungs-Verarbeitungsablauf eine Funktion innerhalb des Datenbank-Anschlussteils aufruft, zeichnet das Datenbank-Anschlussteil den Aufrufer-Ablauf-ID und die SQL-Anweidung auf, die der Ablauf über den Funktionsaufruf ausführt. Da die Gruppe von SQL-Anweidungen, die ein gegebener Ablauf ausführt, bekannt ist, und da der dem Ablauf zugeordnete Web-Anwendungsbenutzer bekannt ist, können der Web-Anwendungsbenutzer und SQL-Anweisungen, die von seinen/ihren Aktionen erzeugt werden, verknüpft werden.
  • Wie nachfolgend in Einzelheiten beschrieben wird, können Informationen, die die Verknüpfung zwischen einem bestimmten Web-Anwendungsbenutzer und seinen/ihren SQL-Anweisungen an einen Datenbank-Sicherheits-Monitor 116 (und alle anderen so gestalteten Komponenten, dass sie von den Informationen Gebrauch machen) auf verschiedene Weise geliefert werden. Bei einigen Ausführungsformen ist der Datenbank-Sicherheits-Monitor 116 mit auf der Datenbank 112, dem Web-Anwendungs-Server 110 (z. B. als ein Prozess) oder einer anderen Komponente des in 1 gezeigten Umfeldes angeordnet. In gleicher Weise können Benutzername/SQL-Anweisungsinformationen außer an den Datenbank-Sicherheits-Monitor 116 zusätzlich an mehrere Komponenten geliefert werden. Bei verschiedenen Ausführungsformen können Teile des dargestellten Umfeldes so weit möglich kombiniert oder weggelassen werden. Zum Beispiel können der Client 122 und der Sicherungs-Server 120 entfallen.
  • 3 ist ein Blockdiagramm, das eine Ausführungsform eines Systems zur Bestimmung des Ursprungs von Datenbank-Aktivität veranschaulicht. Der Web-Anwendungs-Server 110 enthält eine Schnittstelle, die verwendet werden kann, um einen kundenspezifischen Modul zum Abfangen aller Anforderungen und Antworten an Web-Anwendungen und zum Erhalt eines Zugriffs zu Web-Anwendungs-Sessions-Objekten zu entwickeln, ohne vorhandene Web-Anwendungen zu stören. Bei dem gezeigten Beispiel betreibt der Web-Anwendungs-Server 110 JBoss-Anwendungs-Server und schließt ein kundenspezifisches Filter 302 ein, das HTTP-Anforderungen abfängt. In anderen Architekturen (z. B. Microsoft IIS) können andere Komponenten verwendet werden, um HTTP (oder XML, SOAP, usw.) Anforderungen so weit anwendbar abzufangen, wie Microsoft-ISAPI-Erweiterungen.
  • Der kundenspezifische Modul ist so gestaltet, dass er bei Einloggen eines Anwendungsbenutzers die Anforderung, den Benutzernamen herauszuziehen und diesen dann dem Sessions-Objekt zuzuordnen, das durch den Web-Anwendungs-Server 110 erstellt wird, abfängt und analysiert. Der kundenspezifische Modul wird dann den herausgezogenen Benutzernamen zusammen mit dem ID des erstellten Sessions-Objektes in einem stationären Speicherbereich speichern. Immer wenn eine Anforderung für eine vorher existierende Session empfangen wird, sucht der kundenspezifische Modul in seinem statischen Speicher, um den Benutzernamen aufzufinden, der dem Sessions-ID der Anforderung zugeordnet ist. Der kundenspezifische Modul wird auch seinen eigenen Ablauf-ID lesen und den Ablauf-ID dem Benutzernamen zuordnen, nachdem in dem statischen Speicherbereich gesucht wurde. Der Benutzername (z. B. „u1") des Anwendungsbenutzers, in dessen Interesse ein gegebener Anforderungs-Verarbeitungsablauf Aufgaben verarbeitet, kann somit bestimmt werden.
  • Eine Web-Anwendung 304 (z. B. eine elektronische Handelsanwendung) kommuniziert mit einer Datenbank wie der Datenbank 112 über ein Datenbank-Anschlussteil, wie dem Datenbank-Anschlussteil 308. Anforderungs-Verarbeitungsabläufe rufen Datenbank-Anschlussteil-Funktionen auf, um Abfragen an die Datenbank 112 zu senden, und von dieser Ergebnisse zu empfangen. Bei dem dargestellten Beispiel beruht das Datenbank-Anschlussteil 308 auf JDBC. Bei dem gezeigten Beispiel sitzt eine kundenspezifische Anschlussteil-Hülle (connector wrapper) 306 zwischen der Web-Anwendung 304 und dem Datenbank-Anschlussteil 308. Die Web-Anwendung 304 ist so gestaltet, dass sie die Anschlussteil-Hülle 306 verwendet, die ihrerseits so gestaltet ist, dass sie alle SQL-Anweisungen und Daten durch das Datenbank-Anschlussteil 308 durchlässt. Bei verschiedenen Ausführungsformen wird die Web-Anwendung 304 von einem Dritten vorgesehen und/oder ihr Code wird nicht modifiziert. Die Anschlussteil-Hülle 306 funktioniert als Hülle über dem Datenbank-Anschlussteil 308 und erfordert bei einigen Ausführungsformen keine Modifikation der Anwendung.
  • Wenn ein Anforderungs-Verarbeitungsablauf (z. B. t1) eine Funktion in der Anschlussteil-Hülle 306 aufruft, zeichnet diese den Aufrufer-Ablauf-ID t1 und die SQL-Anweisung (z. B. s1) auf, die der Ablauf über den Funktionsaufruf ausführt.
  • In manchen Fällen ist die Web-Anwendung 304 interaktiv und transaktionsorientiert, so dass Web-Anwendungsbenutzer sofortige Antworten auf ihre Anforderungen erwarten. In einigen Fällen ist die Web-Anwendung 304 so gestaltet, dass Abläufe (z. B. Tx, Ty, Tz) von dem Haupt-Anwendungsablauf (z. B. T1) abgeleitet (spawn off) werden. Die Anschlussteil-Hülle 306 kann so ausgestaltet werden, dass – wenn der Ablauf Tx eine SQL-Anweisung (z. B. „Sa") ausführt – der Ablauf keinem Benutzernamen zugeordnet wird. In einem solchen Fall schreitet die Anschlussteil-Hülle 306 durch die Tx-Ablauf-Hierarchie, bis sie den Anforderungs-Abwicklerablauf T1 erreicht, dem ein Benutzername zugeordnet ist.
  • Bei verschiedenen Ausführungsformen befinden sich andere Komponenten zwischen dem Web-Anwendungs-Server 110 und der Datenbank 112, und die hier beschriebenen Verfahren können so angepasst werden, dass sie Informationen über diese zusätzlichen Komponenten verbreiten. Somit können zusätzlich zu der hier beschriebenen drei-etagigen Architektur zusätzlich gestaffelte Architekturen (z. B. vier-etagig) verwendet und die hierin beschriebenen Verfahren entsprechend angepasst werden. Z. B. kann ein SOAP-Server in ähnlicher Weise wie der Web-Server 110 mit seinen eigenen Filterhaken (filter hooks) und Hüllen gestaltet werden.
  • 4 ist ein Ablaufdiagramm, das eine Ausführungsform eines Prozesses zur Bestimmung einer Zuordnung zwischen einem Anwendungsbenutzer und einem Prozess oder Ablauf veranschaulicht. Der Prozess beginnt bei 402, wenn eine Kommunikation empfangen wird. Wie oben in Verbindung mit Teil 2 von 2 beschrieben wurde, enthält ein Beispiel einer empfangenen Kommunikation den Web-Anwendungs-Server 110, der HTTP-Kommunikationen empfängt, die POST/GET-Verfahren einschließen.
  • Bei 404 wird eine eindeutige Zuordnung zwischen einem Anwendungsbenutzer, der der Kommunikation zugeordnet ist, und einem Ablauf, um die Anforderung abzuwickeln, bestimmt. Wie oben in Verbindung mit dem Teil 204 in 2 beschrieben wurde, kann der Web-Anwendungs-Server 110 so gestaltet werden, dass aus Kommunikationen ein Benutzername herausgezogen wird.
  • Bei 406 wird dem Ablauf ein Bezug (Datum) zugeordnet, der die bestimmte Zuordnung zu einem stromabwärtigen Leser der Daten anzeigt. Z. B. können bei 406 örtliche Ablauf-Variable verwendet werden, um einen Benutzernamen und einen Ablauf zuzuordnen. Bei verschiedenen Ausführungsformen (z. B. auf der Architektur beruhend) kann die Zuordnung auf andere Weise erfolgen, z. B. durch derartige Gestaltung des Web-Anwendungs-Servers 110, dass er Informationen speichert, die einen Benutzernamen und einen Ablauf in einer von dem stromabwärtigen Leser lesbaren Log-Datei zuordnen.
  • 5 ist ein Ablaufdiagramm, das eine Ausführungsform eines Prozesses zur Lieferung einer Anzeige des Ursprungs von Datenbank-Aktivität veranschaulicht. Bei einigen Ausführungsformen wird der in 5 gezeigte Prozess durch eine Anschlusshülle ausgeführt, z. B. die Anschlusshülle 306.
  • Der Prozess beginnt bei 502, wenn eine Datenbankabfrage empfangen wird. Z. B. empfängt bei 502 die Anschlusshülle 506 eine Datenbankabfrage von der Web-Anwendung 304. Bei 504 wird der Ablauf bestimmt, dem die Abfrage zugeordnet wird. Bei 506 werden Daten gelesen, die den Anwendungsbenutzer angeben, dem der Ablauf zugeordnet ist. Z. B. macht bei 506 der Hüllen-Anschlussteil 306 Gebrauch von dem Benutzernamen, der in einer örtlichen Ablauf-Variablen bei 406 in 4 gespeichert ist.
  • Bei 508 erfolgt eine Angabe, dass die Abfrage einem Anwendungsbenutzer zugeordnet ist. Zum Beispiel könnte bei 508 die Anschlussteil-Hülle 306 die Abfrage modifizieren, um einen Kommentar einzuschließen, dass die Abfrage einem bestimmten Web-Anwendungsbenutzer zuschreibbar ist (und/oder andere Informationen wie die IP-Adresse, die MAC-Adresse usw. des Web-Anwendungsbenutzers als Namen-Wert-Paare vorzusehen, die auch herausgezogen werden können, wenn zwischen einem Web-Anwendungsbenutzer und dem Anwendungs-Server 110 eine Session errichtet wird). In einem solchen Fall würde die Datenbank 112 den kommentierten Teil der Abfrage ignorieren, während ein Modul wie der Datenbank-Sicherheits-Monitor 116 so gestaltet werden könnte, dass er die in solchen Kommentaren enthaltenen Informationen erkennt und verarbeitet. Bei einigen Ausführungsformen werden Anzeigen außer Band vorgesehen. Wenn zum Beispiel die Anschlussteil-Hülle 306 die Abfrage an das Datenbank-Anschlussteil 308 weiterleitet, könnte die Anschlussteil-Hülle 306 auch so gestaltet werden, dass sie eine E-mail sendet, die die Abfrage und den zugeordneten Benutzernamen enthält, an eine entfernte Log-Datei schreibt, usw.
  • Bei einigen Ausführungsformen ist aus Gründen der Leistungsfähigkeit und Niedrighaltung der notwendigen System-Betriebsmittel die Zahl von gleichzeitigen Verbindungen, die zwischen dem Web-Anwendungs-Server 110 und einer Datenbank wie der Datenbank 112 geöffnet werden können, beträchtlich kleiner als die Zahl von Anwendungsbenutzern, die Sessionen mit dem Web-Anwendungs-Server 110 öffnen können. Während zum Beispiel der gleichzeitige Zugriff von Hunderten oder Tausenden Benutzern zum Web-Anwendungs-Server 110 zugelassen werden kann, könnte für den Web-Anwendungs-Server 110 die Öffnung von nur zehn gleichzeitigen Verbindungen mit der Datenbank 112 zugelassen werden. In einem solchen Fall könnte die bei 508 vorgesehene Anzeige die Übertragung einer „Blind"-Abfrage durch die Anschlussteil-Hülle 306 einschließen, die anzeigt, dass alle folgenden Abfragen, die von dem Datenbank-Anschlussteil 308 über eine bestimmte Verbindung (z. B. eine der zehn Verbindungen) gesendet werden, einem bestimmten Benutzer zugeordnet werden (bis eine weitere solche Blind-Nachricht gesendet wird). Die Blind-Abfragen könnten vollständig kommentiert werden, so dass die Datenbank 112 sie ignoriert. Der Datenbank-Sicherheits-Modul 116 könnte entsprechend gestaltet werden, um den Datenbankverkehr für solche Blind-Abfragen zu überwachen.
  • Nach Lieferung an den Datenbank-Sicherheits-Modul 116 können die Informationen für zahlreiche Zwecke verwendet werden, wie ihre Einbeziehung in das Profil des Datenbank-Sicherheits-Moduls für normale Datenbank-Aktivität, ihre Verwendung zur Verbesserung der Einbruchserkennung und Überwachungsfunktionalität und/oder um eine vollständigere Merkmalsgruppe vorzusehen. Zum Beispiel kann durch Verwendung einer Schnittstelle zum Datenbank-Sicherheits-Modul 116 ein Verwalter in der Lage sein, nach Anomalien für das Auftreten von Aktivitäten eines bestimmten Benutzers zu suchen; Lernen, welche Benutzer bestimmte Abfragen ausgeführt haben, Bestimmen von Bereichen von IP-Adressen, die zu Anomalien gehören, usw. Wenn verdächtige Anomalien beurteilt werden und das Profil aktualisiert wird, kann ein Verwalter in der Lage sein, das Profil mit einer besseren Granularität zu verfeinern, wie Vermerken, dass bestimmte Benutzer Abfragen ausführen können oder nicht, oder dass – wenn von einer Schwellwertzahl von Benutzern dieselbe anormale Abfrage vorgenommen wird – diese automatisch je nach dem auf die weiße oder schwarze Liste gesetzt werden sollte.
  • Die vorangehenden Ausführungsformen wurden zwar zwecks Klarheit und Verständnis in Einzelheiten beschrieben, jedoch ist die Erfindung nicht auf diese Einzelheiten beschränkt. Es gibt viele alternative Wege zur Ausführung der Erfindung. Die offenbarten Ausführungsformen sind veranschaulichend und nicht einschränkend.

Claims (20)

  1. Verfahren zur Bestimmung eines Anwendungsbenutzers als Quelle von Datenbank-Aktivität, umfassend: Empfangen einer Kommunikation; Zuordnen eines Ablaufs (thread), der so gestaltet ist, dass er die Kommunikation mit einem Anwendungsbenutzer abwickelt, dem die Kommunikation zugeordnet ist; und Zuordnen einer Datenbank-Abfrage, die von dem Ablauf erzeugt wird, zu dem Anwendungsbenutzer.
  2. Verfahren nach Anspruch 1, das die Lieferung einer Anzeige an einen stromabwärtigen Leser einschließt, dass die Abfrage dem Anwendungsbenutzer zugeordnet ist.
  3. Verfahren nach Anspruch 2, bei dem der stromabwärtige Leser ein Datenbank-Sicherheits-Monitor ist.
  4. Verfahren nach Anspruch 2, bei dem die Lieferung einer Anzeige das Einfügen eines Kommentars in die Abfrage einschließt.
  5. Verfahren nach Anspruch 2, bei dem die Lieferung einer Anzeige das Senden einer E-mail an den stromabwärtigen Leser einschließt.
  6. Verfahren nach Anspruch 2, bei dem die Lieferung einer Anzeige die Erzeugung einer Scheinabfrage einschließt.
  7. Verfahren nach Anspruch 6, bei dem die Scheinabfrage einen Hinweis enthält, dass nachfolgende Abfragen dem Anwendungsbenutzer zugeordnet sind.
  8. Verfahren nach Anspruch 2, bei dem die Lieferung einer Anzeige das Schreiben an eine Log-Datei einschließt.
  9. Verfahren nach Anspruch 1, bei dem die Kommunikation eine Anforderung ist, die eine Wechselwirkung mit einer Datenbank erfordert.
  10. Verfahren nach Anspruch 1, bei dem die Kommunikation eine Anforderung ist, die eine Wechselwirkung mit einer Datenbank erfordert.
  11. Verfahren nach Anspruch 1, bei dem die Zuordnung eines so gestalteten Ablaufs, dass er die Kommunikation mit einem Anwendungsbenutzer abwickelt, die Verwendung eines örtlich variablen Ablaufs einschließt.
  12. Verfahren nach Anspruch 1, bei dem die Kommunikation eine von mehreren Kommunikationen ist, denen eine Transaktion zugeordnet ist.
  13. Verfahren nach Anspruch 1, bei dem die Zuordnung eines so gestalteten Ablaufs, dass er die Kommunikation mit einem Anwendungsbenutzer abwickelt, die Zuordnung des Verlaufs zu wenigstens einem Stück herausgezogener Informationen einschließt.
  14. System zur Bestimmung eines Anwendungsbenutzers als Quelle von Datenbank-Aktivität, umfassend: einen Prozessor; und einen mit dem Prozessor verbundenen Speicher, wobei der Speicher so gestaltet ist, dass er den Prozessor mit Anweisungen versieht, die bei Ausführung den Prozessor veranlassen: eine Kommunikation zu empfangen; einen Ablauf zuzuordnen, der so gestaltet ist, dass er die Kommunikation mit einem Anwendungsbenutzer abwickelt, dem die Kommunikation zugeordnet ist; und Zuordnen einer Datenbankabfrage, die von dem Ablauf erzeugt wird, zu dem Anwendungsbenutzer.
  15. System nach Anspruch 14, bei dem der Speicher ferner so gestaltet ist, dass er den Prozessor mit Anweisungen versieht, die bei Ausführung den Prozessor veranlassen, eine Anzeige an einen stromabwärtigen Leser zu liefern, dass die Abfrage dem Anwendungsbenutzer zugeordnet ist.
  16. System nach Anspruch 15, bei dem der stromabwärtige Leser ein Datenbank-Sicherheits-Monitor ist.
  17. System nach Anspruch 15, bei dem die Lieferung einer Anzeige die Erzeugung einer Scheinabfrage einschließt.
  18. Computerprogramm-Produkt zur Bestimmung eines Anwendungsbenutzers als Quelle einer Datenbank-Aktivität, wobei das Computerprogramm-Produkt in ein Computer-lesbares Medium eingebettet ist und Computer-Anweisungen umfasst zum: Empfangen einer Kommunikation; Zuordnen eines Ablaufs, der so gestaltet ist, dass er die Kommunikation mit einem Anwendungsbenutzer abwickelt, dem die Kommunikation zugeordnet ist; und Zuordnen einer Datenbankabfrage, die von dem Ablauf erzeugt wird, zu dem Anwendungsbenutzer.
  19. Computerprogramm-Produkt nach Anspruch 18, das ferner Computer-Anweisungen umfasst, um an einen stromabwärtigen Leser eine Anzeige zu liefern, dass die Abfrage dem Anwendungsbenutzer zugeordnet ist.
  20. Computerprogramm-Produkt nach Anspruch 19, bei dem der stromabwärtige Leser ein Datenbank-Sicherheits-Monitor ist.
DE102008016197A 2007-03-30 2008-03-27 Identifizieren eines Anwendungsbenutzers als Quelle einer Datenbank-Aktivität Withdrawn DE102008016197A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/731,071 2007-03-30
US11/731,071 US7917759B2 (en) 2007-03-30 2007-03-30 Identifying an application user as a source of database activity

Publications (1)

Publication Number Publication Date
DE102008016197A1 true DE102008016197A1 (de) 2008-10-02

Family

ID=39386848

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102008016197A Withdrawn DE102008016197A1 (de) 2007-03-30 2008-03-27 Identifizieren eines Anwendungsbenutzers als Quelle einer Datenbank-Aktivität

Country Status (5)

Country Link
US (1) US7917759B2 (de)
JP (1) JP2008257738A (de)
CN (1) CN101345751B (de)
DE (1) DE102008016197A1 (de)
GB (1) GB2448071A (de)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8141100B2 (en) * 2006-12-20 2012-03-20 International Business Machines Corporation Identifying attribute propagation for multi-tier processing
US8495367B2 (en) * 2007-02-22 2013-07-23 International Business Machines Corporation Nondestructive interception of secure data in transit
CN101639879B (zh) * 2008-07-28 2012-06-20 成都市华为赛门铁克科技有限公司 数据库安全监控方法、装置及其系统
US8261326B2 (en) * 2008-04-25 2012-09-04 International Business Machines Corporation Network intrusion blocking security overlay
US8417691B2 (en) 2009-12-09 2013-04-09 International Business Machines Corporation Client and database problem determination and monitoring
US8347100B1 (en) 2010-07-14 2013-01-01 F5 Networks, Inc. Methods for DNSSEC proxying and deployment amelioration and systems thereof
US8578487B2 (en) * 2010-11-04 2013-11-05 Cylance Inc. System and method for internet security
US9116717B2 (en) 2011-05-27 2015-08-25 Cylance Inc. Run-time interception of software methods
US9270766B2 (en) * 2011-12-30 2016-02-23 F5 Networks, Inc. Methods for identifying network traffic characteristics to correlate and manage one or more subsequent flows and devices thereof
CN103647794B (zh) * 2013-12-31 2017-07-21 北京启明星辰信息安全技术有限公司 一种基于j2ee平台的数据关联方法及关联插件
US10797888B1 (en) 2016-01-20 2020-10-06 F5 Networks, Inc. Methods for secured SCEP enrollment for client devices and devices thereof
CN107741883B (zh) * 2017-09-29 2018-10-23 武汉斗鱼网络科技有限公司 一种避免线程阻塞的方法、装置及计算机设备
US11012452B1 (en) * 2018-01-09 2021-05-18 NortonLifeLock, Inc. Systems and methods for establishing restricted interfaces for database applications
KR20200111197A (ko) * 2018-01-22 2020-09-28 하이드라제 인코포레이티드 프로그래밍 가능한 변기 플러시의 개시, 모니터링 및 관리 시스템, 및 그 방법
US11537741B2 (en) * 2019-03-05 2022-12-27 Sap Se Unified multi-platform system for data privacy

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6088728A (en) * 1997-06-11 2000-07-11 Oracle Corporation System using session data stored in session data storage for associating and disassociating user identifiers for switching client sessions in a server
US6484174B1 (en) * 1998-04-20 2002-11-19 Sun Microsystems, Inc. Method and apparatus for session management and user authentication
US7870196B2 (en) * 2000-11-08 2011-01-11 Nokia Corporation System and methods for using an application layer control protocol transporting spatial location information pertaining to devices connected to wired and wireless internet protocol networks
GB2372412A (en) * 2001-02-20 2002-08-21 Hewlett Packard Co Digital credential monitoring
US7185364B2 (en) * 2001-03-21 2007-02-27 Oracle International Corporation Access system interface
GB2376765B (en) * 2001-06-19 2004-12-29 Hewlett Packard Co Multiple trusted computing environments with verifiable environment identities
US20030236975A1 (en) * 2002-06-20 2003-12-25 International Business Machines Corporation System and method for improved electronic security credentials
US7526798B2 (en) * 2002-10-31 2009-04-28 International Business Machines Corporation System and method for credential delegation using identity assertion
US20040128546A1 (en) * 2002-12-31 2004-07-01 International Business Machines Corporation Method and system for attribute exchange in a heterogeneous federated environment
EP1443426A1 (de) 2003-01-29 2004-08-04 Hewlett-Packard Company (a Delaware corporation) Prozess zur Suche in einem Depot
US7533264B2 (en) * 2003-08-20 2009-05-12 Microsoft Corporation Custom security tokens
US8452881B2 (en) * 2004-09-28 2013-05-28 Toufic Boubez System and method for bridging identities in a service oriented architecture
EP1542116A1 (de) * 2003-12-11 2005-06-15 Alcatel Zugangsmultiplexer mit Fähigkeit zur Einbrucherkennung
US20060012081A1 (en) * 2004-07-16 2006-01-19 Bran Ferren Custom prototyping
US7634803B2 (en) * 2004-06-30 2009-12-15 International Business Machines Corporation Method and apparatus for identifying purpose and behavior of run time security objects using an extensible token framework
US7885934B2 (en) 2004-08-17 2011-02-08 Teleran Technologies, Inc. Monitoring and auditing system
US7680856B2 (en) 2004-11-23 2010-03-16 Microsoft Corporation Storing searches in an e-mail folder
US7814076B2 (en) * 2004-12-30 2010-10-12 Oracle International Corporation Data vault
US20070027840A1 (en) 2005-07-27 2007-02-01 Jobserve Limited Searching method and system
US20070136603A1 (en) * 2005-10-21 2007-06-14 Sensis Corporation Method and apparatus for providing secure access control for protected information
WO2007071006A1 (en) * 2005-12-22 2007-06-28 Bce Inc. Systems, methods and computer-readable media for regulating remote access to a data network
US8027982B2 (en) * 2006-03-01 2011-09-27 Oracle International Corporation Self-service sources for secure search
US20070239666A1 (en) 2006-04-05 2007-10-11 Enporion, Inc. Method and System for a De-Normalized Electronic-Catalog

Also Published As

Publication number Publication date
CN101345751A (zh) 2009-01-14
US7917759B2 (en) 2011-03-29
GB2448071A (en) 2008-10-01
JP2008257738A (ja) 2008-10-23
CN101345751B (zh) 2014-05-14
US20080275843A1 (en) 2008-11-06
GB0805574D0 (en) 2008-04-30

Similar Documents

Publication Publication Date Title
DE102008016197A1 (de) Identifizieren eines Anwendungsbenutzers als Quelle einer Datenbank-Aktivität
DE60114999T2 (de) Überwachung von und interaktion mit netzwerkdiensten
US10706127B2 (en) Single click delta analysis
DE69936384T2 (de) System und verfahren für die sicherheit eines kodes
US20170104756A1 (en) Detection, protection and transparent encryption/tokenization/masking/redaction/blocking of sensitive data and transactions in web and enterprise applications
DE112019004913T5 (de) Erfassen von unangemessener aktivität in anwesenheit von nicht authentifizierten api-anforderungen unter verwendung von künstlicher intelligenz
DE10249428B4 (de) Verfahren zum Definieren der Sicherheitsanfälligkeiten eines Computersystems
DE60104525T2 (de) Verfahren und vorrichtung zum verifizieren von internet-web-sites
DE602004012996T2 (de) Verfahren und vorrichtung zum authentifizieren von benutzern und websites
DE60308489T2 (de) Anwendungsfensterschließung als Reaktion auf ein Ereignis in einem Parent-Fenster
US9262519B1 (en) Log data analysis
DE102012220716A1 (de) Verfahren, Datenverarbeitungsvorrichtung und Programm zum Identifizieren vertraulicher Daten
EP1108308A1 (de) System und verfahren zur ablaufkontrolle bei netzwerk-anwendungen
DE202020106393U1 (de) Datenaustausch
US20060123101A1 (en) Application instrumentation and monitoring
DE112011103273B4 (de) Verfahren, Computerprogrammprodukt und Vorrichtung zur Weitergabe von Identitäten über Anwendungsebenen unter Verwendung von kontextabhängiger Zuordnung und gesetzten Werten
EP1209579A1 (de) System zur automatisierten Abwicklung von Transaktionen durch aktives Identitätsmanagement
CN103118035A (zh) 分析网站访问请求参数合法范围的方法及装置
DE102021130396A1 (de) Datenzugriffsüberwachung und -steuerung
DE112012004301T5 (de) Erzeugen einer vorhersagenden Datenstruktur
CN109309664A (zh) 一种浏览器指纹探测行为监测方法
US20140337728A1 (en) Operating oracle forms using a web service
CN101621536A (zh) 一种虚拟安全管理中心的安全管理方法及系统
WO2019180152A1 (de) Automatisiertes verfahren zum schutz von elektronischen daten zum zwecke der datenverarbeitung durch dritte unter einbezug transparenter und unterbrechungssicherer vergütung
Septiana et al. Design of Phishing Simulation Dashboard Using Analytic Data Concepts

Legal Events

Date Code Title Description
8139 Disposal/non-payment of the annual fee