CN101345751B - 确定作为数据库活动的起源的应用程序用户 - Google Patents
确定作为数据库活动的起源的应用程序用户 Download PDFInfo
- Publication number
- CN101345751B CN101345751B CN200810088153.0A CN200810088153A CN101345751B CN 101345751 B CN101345751 B CN 101345751B CN 200810088153 A CN200810088153 A CN 200810088153A CN 101345751 B CN101345751 B CN 101345751B
- Authority
- CN
- China
- Prior art keywords
- web application
- application user
- database
- thread
- user
- 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.)
- Expired - Fee Related
Links
- 230000000694 effects Effects 0.000 title claims abstract description 19
- 238000004891 communication Methods 0.000 claims abstract description 25
- 238000000034 method Methods 0.000 claims description 40
- 230000008569 process Effects 0.000 claims description 24
- 230000002159 abnormal effect Effects 0.000 claims description 5
- 238000001514 detection method Methods 0.000 claims description 5
- 230000004044 response Effects 0.000 claims description 5
- 238000003780 insertion Methods 0.000 claims 1
- 230000037431 insertion Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 13
- 238000005516 engineering process Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 9
- 230000000712 assembly Effects 0.000 description 6
- 238000000429 assembly Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 4
- 239000000344 soap Substances 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 235000014510 cooky Nutrition 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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/6227—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information 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/83—Querying
- G06F16/835—Query processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2149—Restricted operating environment
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
公开了确定作为数据库活动的起源的应用程序用户。接收通信。将被配置成处理所述通信的线程与所述通信所关联的应用程序用户相关联。将所述应用程序用户与所述线程所生成的数据库查询相关联。
Description
背景技术
各种各样的机构使用数据库和查询那些数据库的应用程序的组合来为用户提供观看和操作信息的功能。例如,在电子商务背景下,商家可以拥有存储诸如货物照片、产品描述和价格/可用性信息之类的产品信息的数据库。潜在的顾客能够通过访问所述商家的网站并通过与商家的网站服务器所生产的各种网页进行交互来观看该信息。在企业背景下,雇员可以使用顾客关系管理(CRM)应用程序来访问和/或更新存储在CRM数据库上的顾客信息。
允许终端用户与数据库进行交互对于确保向那些用户呈现最新的信息而言是一种便利和有效的方式。不幸的是,没有适当的保护,怀有恶意的个人可能能够采用诸如SQL注入攻击之类的技术对数据库提交恶意查询,诸如导致信用卡或其他秘密信息暴露或价格信息修改的那些恶意查询。
虽然诸如日志分析工具之类的传统安全产品能够显示已经发生了数据库攻击,但是典型地,其无法提供对所述攻击负责的个人的身份。其中一个原因是,典型地,应用程序使用同一组证明向数据库验证自己,而所述证明不考虑哪一个终端用户与所述应用程序进行交互。此外,由潜在地非常大量的应用程序用户同时生成的查询可以在相对小数量的数据库连接上进行多路复用,这使得难以进行关联不同日志的侦破尝试。
一种用来确定谁为特定数据库活动负责的方法是修改应用程序来记录该信息。不幸的是,这样的方法是侵入和效率低下的,需要程序员对每个数据库应用程序中潜在的繁琐下特征进行修改、测试和维护。而且,在应用程序由第三方供应的情况下(例如,作为现成产品),是不可能对所述应用程序进行修改的。
另一种方法是记录用户和应用程序之间的交互(例如,使用代理)并随后尝试将那些交互中出现的文字与SQL语句中出现的文字进行关联。不幸的是,在多个SQL语句包含相同文字时(例如,当多个用户同时在应用程序上进行相似的活动)或者在SQL语句中没有文字时可能无法识别恶意查询的起源。
因此,需要具有一种更好的方式来确定数据库活动的起源。
发明内容
公开了确定作为数据库活动的起源的应用程序用户的方法。接收通信。被配置为处理所述通信的线程与应用程序用户相关联,所述通信与所述应用程序用户相关联。所述应用程序用户与所述线程所生产的数据库查询相关联。在一些实施例中,向下游阅读器提供所述查询与所述应用程序用户相关联的指示。在一些实施例中,提供所述指示包括生产哑查询(dummy query)。在一些实施例中,所述哑查询包括后续查询与所述应用程序用户相关联的指示。
附图说明
以下的详细说明和附图中公开了本发明的各个实施例。
图1是图示具有数据库安全的环境的框图。
图2是图示用于确定数据库活动起源的过程实施例的流程图。
图3是图示用于确定数据库活动起源的系统实施例的框图。
图4图示用于确定应用程序用户和过程或线程之间的关联的过程实施例的流程图。
图5是图示用于提供数据库活动起源的指示的过程实施例的流程图。
具体实施方式
本发明能够以各种方式来实施,包括作为过程、装置、系统、事物组成、诸如计算机可读存储介质之类的计算机可读介质或者其中通过光或通信链接发送程序指令的计算机网络。在该说明书中,这些实施方式或本发明可以采取的任何其他形式可以被称作技术。被描述为被配置成执行任务的诸如处理器或存储器之类的组件包括在给定时刻临时配置类执行所述任务的通用组件或被制造成执行所述任务的特定组件。通常,在本发明的范围内,所公开过程的步骤顺序可以改变。
以下连同图示本发明原则的附图提供本发明的一个或多个实施例的详细描述。本发明关于这些实施例进行描述,但是本发明并不局限于任何实施例。本发明的范围仅由权利要求来限定,并且本发明包含多种变化、修改和等同物。为了提供对于本发明的全面理解,以下的说明中给出了多种特定细节。这些细节是为了示例而提供的,并且本发明可以根据没有这些特定细节中的一些或全部的权利要求来实践。出于简要的目的,没有对关于本发明的技术领域中已知的技术素材进行详细描述,从而不会对本发明造成不必要的混淆。
当网络应用程序服务器接收新的用户请求时(例如,来自用户“u1”),典型地,其产生用于处理任务的线程(“t1”),所述任务诸如执行与该用户请求相关的应用程序模块、商业逻辑和数据库语句。典型地,网络应用程序服务器具有能够被用来开发定制模块的接口,所述定制模块用于解释对网络应用程序的所有请求和响应并且增进对网络应用程序会话对象的访问,而不会干扰现有的网络应用程序。在一些实施例中,定制模块被配置成获取u1的用户名(和/或与其相关联的其他身份或其他信息)并且将其与线程t1相关联。无论线程t1何时执行语句s1,所述用户和语句都能够彼此关联而不对应用程序代码进行修改。
典型地,网络应用程序通过数据库连接器与数据库进行通信,所述数据库连接器能够被定制数据库连接器所包装(wrap)。当线程t1调用定制数据库连接器内的函数时,所述定制数据库连接器能够被配置成记录线程t1的身份以及该线程通过所述函数调用所执行的语句s1。如可适用的,能够使用各种技术将用于特定语句的终端用户用户名(IP地址等)发送到数据库安全监视器,并且所述数据库安全监视器能够将该信息结合到其监视过程中。
图1是图示具有数据库安全的环境的框图。在所示示例中,各种网络应用程序用户102-106通过网络108与网络应用程序服务器110进行通信。如这里所使用的,术语“应用程序用户”是指经由一个或多个连接与数据库进行交互的应用程序的用户、个人或其他个体,所述数据库理解为与所述应用程序相关联,但是不必是应用程序的任何特定或个别用户。在各个实施例中,如可适用的,网络108是互联网,局域网、广域网络或这些网络的一些组合。应用程序用户可以使用各种平台访问网络应用程序服务器110,例如个人计算机(例如102)、膝上计算机(104)和蜂窝电话/个人数字助理(106),以及诸如机顶盒、游戏控制台、宽带路由器和数码录像机之类的其他类型的信息应用设备(未示出)。
在所示示例中,数据库112和114是(经由交换机118)进行联网,并存储收集的信息,其中一些信息是秘密的(诸如信用卡号和/或薪水信息)。在各个实施里中,数据库112和114是关系数据库(诸如Oracle数据库、IBM DB2和微软SQL Server之类的产品)、平面文件数据库或不同类型的数据库,由此在此所描述的技术是适用的。图1所示的环境还可以包括单个数据库来取代多个数据库。数据库管理员可以使用客户端122访问数据库112和114,在该示例中,所述客户端122是管理控制台。
网络应用程序服务器110执行一个或多个应用程序,所述应用程序基于应用程序用户(诸如应用程序用户102-106)所提供的信息生成对数据库(诸如数据库112和数据库114)的查询。网络应用程序服务器110使用登录/密码对向数据库112验证自己。在各个实施例中,不同于口令认证或除了口令认证之外,使用其他认证技术,诸如使用数字证书。
在所示示例中,网络应用程序服务器110使用HTTP与应用程序用户102-106进行通信,并且以SQL来表达查询。也可以使用用于传输信息(例如,XML、SOAP、LDAP、SMTP和消息队列)和表示查询的其他语言或技术,并且这里所描述的技术适于作为可适用的。如以下更加详细的描述,(多个)应用程序作为响应接收查询结果并且网络应用程序服务器110将它们提供给适当的应用程序用户。
数据库安全监视器116例如通过使用交换机118上的抽头端口(tapport)来观察数据库112和网络应用程序服务器110之间发送的业务量。在各个实施例中,使用其他的业务量监视技术,诸如由内嵌的数据库安全监视器116使用远程交换端口分析器(RSPAN)部件,或使用交换端口分析器(SPAN)部件。在一些实施例中,数据库安全监视器116被配置成基于训练识别合法查询。如果观察到异常查询,则将所述查询记入日志并可以执行其他行动,诸如向管理员发送警告,阻止所述查询的执行,等等。如以下更加详细的描述,网络应用程序服务器110可以被配置成为数据库安全监视器116提供识别数据活动的起源的信息(例如,用户名、IP地址、机器名、MAC地址等)。
所述环境中可以包括其他组件,诸如备用服务器120和防火墙、网络入侵检测系统等(未示出)。
图2是图示用于确定数据库活动的起源的过程实施例的流程图。在一些实施例中,图2所示的过程由网络应用程序服务器110来执行。当接收到通信时,在202开始所述过程。假设网络应用程序服务器110被配置成提供在应用程序用户102的计算机上执行的具有HTML和/基于JavaScript的表单的网络浏览器。所述网络浏览器在应用程序用户的计算机上显示该表单,并且所述用户(例如,正在搜索产品)为所述表单中的(多个)字段提供输入。当应用程序用户按下提交按钮时,所述网络浏览器将所述输入提供给网络应用程序服务器110。在202,网络应用程序服务器110接收所述输入(通信)。
在204,将被配置成处理所述通信的线程与所述通信所关联的应用程序用户相关联。例如,当应用程序用户首先接触网络应用程序服务器110时(例如,登录),网络应用程序服务器110能够被配置成提取所述网络应用程序用户的用户名(和/或诸如IP地址、MAC地址、网络浏览器类型、主机、查询串、cookie等之类的信息,此后称作“所提取信息”),并接着将所述用户名(和所提取信息)与网络应用程序服务器所创建的会话对象相关联。无论何时接收到对于事先存在的会话的请求,都能够查找与所述请求的会话ID相关联的用户名。网络应用程序服务器110能够读取其线程ID并且将该线程ID与所述用户名相关联。在一些实施例中,不同于线程或除了线程之外,所述用户名还与过程(例如,过程ID)相关联,并且在此所描述的技术被采用,如可适用的。因此,在这里术语“线程”能够与“过程”互换使用。
在206,将由所述线程所生成的数据库查询与处理线程所关联的应用程序用户相关联。存在于网络应用程序服务器110上的网络应用程序通过数据库连接器与诸如数据库112之类的数据库进行通信。请求处理线程调用数据库连接器函数来向数据库发送查询并从所述数据库接收结果。当请求处理线程调用数据库连接器内的函数时,所述数据库连接器将记录调用方线程ID和所述线程通过所述函数调用所执行的SQL语句。由于给定线程作执行的一组SQL语句是已知的,并且由于与所述线程相关联的网络应用程序用户是已知的,所以能够将网络应用程序用户和他/她的动作所生成的SQL语句链接起来。
如以下更加详细的描述,表示特定网络应用程序用户和他/她的SQL语句之间的链接的信息能够以各种方式被提供给数据库安全监视器116(以及被配置成使用所述信息的任意其他组件)。在一些实施例中,数据库安全监视器116在数据库112、网络应用程序服务器110(例如,作为过程)或图1所示的环境的其他组件上进行配置。类似地,用户名/SQL语句信息能够被提供给除数据库安全监视器116之外的各种组件。在各个实施例中,作为可适用的,合并或省略所示环境的一部分。例如,可以省略客户端122和备份服务器120。
图3是图示用于确定数据库活动的起源的系统实施例的框图。网络应用程序服务器110包括能够被用来开发定制模块的接口,所述定制模块用于解释对网络应用程序的所有请求和响应并且增进对网络应用程序会话对象的访问,而不会干扰现有的网络应用程序。在所示示例中,网络应用程序服务器110运行JBoss应用程序服务器并且包括截听HTTP请求的定制过滤器202。在其他体系结构(例如,微软IIS)中,作为可适用的,可以使用其他组件来截听HTTP(或XML、SOAP等)请求,诸如微软ISAPI扩展。
配置所述定制模块以使得在应用程序用户登录时,所述定制模块截听和解析所述请求来提取用户名并接着将所述用户名与网络应用程序服务器110所创建的会话对象相关联。所述定制模块接着将把所提取的用户名连同所创建的会话对象的ID一起存储在静态存储区域中。无论何时接收到对于事先存在的对话的请求,所述定制模块都搜索其静态存储区域来查找与所述请求的会话ID相关联的用户名。所述定制模块还将读取其自己的线程ID并且将该线程ID与从所述静态存储区域所查找的用户名相关联。因此,能够确定代表正在处理任务的给定请求处理线程的应用程序用户的用户名(例如,“u1”)。
网络应用程序304(例如,电子商务应用程序)经由诸如数据库连接器308之类的数据库连接器与诸如数据库112之类的数据库进行通信。请求处理线程调用数据库连接器函数来向数据库112发送查询并从数据库112接收结果。在所示示例中,数据库连接器308基于JDBC。在所示示例中,定制连接器包装器306位于网络应用程序304和数据连接器308之间。网络应用程序304被配置成使用连接器包装器306,而连接器包装器306接着被配置成将所有SQL语句和数据传送到数据库连接器308。在各个实施例中,网络应用程序304由第三方提供和/或其代码不被修改。连接器包装器306起到数据库连接器308上的包装器的作用,并且在一些实施例中不需要应用程序的任何修改。
当请求处理线程(例如,t1)调用连接器包装器306内的函数时,连接器包装器306将记录调用方线程ID t1和所述线程通过所述函数调用所执行的SQL语句(例如,s1)。
在一些情况下,网络应用程序304是交互式和事务定向的,以使得网络应用程序用户希望立即对他们的请求进行响应。在一些情况下,网络应用程序304被配置成从主应用程序线程(例如,T1)中产生多个线程(例如,Tx、Ty、Tz)。连接器包装器306能够被配置成观察在线程Tx执行SQL语句(例如,“Sa”)时,线程Tx不与用户名相关联。在这样的情况下,连接器包装器306将接着单步调试(step through)Tx线程层次直至具有与其相关联的用户名的请求处理线程T1。
在各个实施例中,位于网络应用程序服务器110和数据库112之间的其他组件以及这里所描述的技术能够适于通过那些附加组件来传播信息。因此,除了这里所描述的三层体系结构之外,可以使用附加级别的体系结构(例如,四层),由此在此所描述的技术是适用的。例如,可以利用其自己的过滤器挂钩和包装器而以与网络服务器110类似的方式来配置SOAP服务器。
图4是图示用于确定应用程序用户和过程或线程之间的关联的过程实施例的流程图。当接收到通信时,在402开始所述过程。如以上结合图2的部分202所描述的,接收通信的一个示例包括网络应用程序服务器110接收包括POST/GET方法的HTTP通信。
在404,确定与所述通信相关联的应用程序用户和用来处理请求的线程之间的唯一关联。如以上结合图2的部分204所描述的,网络应用程序服务器110能够被配置成从通信提取用户名。
在406,所述线程具有与其相关联的数据,所述数据向数据的下游阅读者指示所确定的关联。例如,在406,可以使用线程局部变量来关联用户名和线程。在各个实施例中(例如,基于体系结构),可以以其他方式进行关联,诸如通过配置网络应用程序服务器110来存储将用户名和线程在能够由下游阅读者读取的日志文件中进行关联的信息。
图5是图示用于提供数据库活动起源的指示的过程实施例的流程图。在一些实施例中,图5所示的过程由诸如连接包装器306之类的连接包装器来执行。
当接收到数据库查询时,在502开始所述过程。例如,在502,连接包装器306从网络应用程序304接收数据库查询。在504,确定所述查询所关联的线程。在506,读取指示所述线程所关联的应用程序用户的数据。例如,在506,包装器连接器306使用在图4的406存储在线程局部变量中的用户名。
在508,提供所述查询与应用程序用户相关联的指示。例如,在508,连接器包装器306可以修改所述查询以便包括该查询可归属于特定网络应用程序用户的注释(和/或提供其他信息,诸如网络应用程序用户的IP地址、MAC地址等,作为也能够在网络应用程序用户和应用程序服务器110之间建立会话时提取的名称值对)。在这样的情形下,数据库112将忽略所述查询的注释部分,而诸如数据库安全监视器116之类的模块可以被配置成识别并处理这些注释中所包括的信息。在一些实施例中,在带外(out of band)提供指示。例如,当连接器包装器306将查询转发到数据库连接器308时,连接器包装器306还能够被配置成发送包括所述查询和相关联的用户名的电子邮件,写入远程日志文件,等等。
在一些实施例中,出于诸如效率的原因以及为了保持低的所需系统资源,可以在网络应用程序服务器110和诸如数据库112之类的数据库之间开启的同时连接的数目明显小于可以与网络应用程序服务器110开启会话的应用程序用户的数目。例如,虽然允许数百个或数千个用户同时访问网络服务器应用程序服务器110,但是仅允许网络应用程序服务器110开启10个与数据库112的同时连接。在这样的情形下,在508提供的指示可以包括由连接器包装器306所进行的“哑”查询的传输,这指示由数据库连接器308在特定连接(例如,10个连接之一)上所发送的任何后续查询与特定用户相关联(直至发送了另一个这样的哑消息)。所述哑消息可以被完全注释,以使得数据库112忽略它们。数据库安全模块116由此能够被配置成针对这些哑查询监视数据库业务量。
一旦被提供给数据库安全模块116,所述信息可以被用于各种目的,诸如通过将其合并到数据库安全模块的正常数据库活动的简档中,使用其改善入侵检测和核查功能性和/或提供更完整的特征集。例如,使用到数据库安全模块116的接口,管理员将能够搜索特定用户活动的异常发生;了解哪些用户已经执行了特定查询,确定与异常相关联的IP地址范围,等等。当检阅有嫌疑的异常和更新所述简档时,管理员能够利用精细的粒度对所述简档进行提纯(refine),例如通知特定用户可以或不可以执行查询,或者当阈值数量的用户执行相同的异常查询时适当地其应当自动列入优良名单或黑名单。
虽然已经为了简要理解的目的在某种程度上详细描述了以上实施例,但是本发明并不局限于所提供的细节。实施本发明有许多选择性的方式。所公开的实施例是说明性而非限定性的。
Claims (12)
1.一种用于确定作为数据库活动的起源的网络应用程序用户的方法,包括:
接收与网络应用程序用户相关联的通信;
响应于所述通信将网络应用程序所产生的线程与所述网络应用程序用户相关联;
将所述网络应用程序用户与所述线程所生成的数据库查询相关联,其中将所述网络应用程序用户与数据库查询相关联包括生成哑查询,所述哑查询包含与所述网络应用程序用户相关联的指示;
向下游数据库安全监视器提供所述哑查询,以指示所述数据库查询与所述网络应用程序用户相关联,其中所述哑查询的注释部分被数据库忽略,并且其中所述哑查询指示从所述网络应用程序接收的任何后续查询和所述网络应用程序用户相关联;以及
提供到所述下游数据库安全监视器的接口,用于核查和入侵检测功能,其中所述接口通过使用提供给所述下游数据库安全监视器的所述哑查询的注释部分中的信息允许识别与数据库异常相关联的用户。
2.如权利要求1所述的方法,其中生成哑查询包括向所述查询插入注释。
3.如权利要求1所述的方法,进一步包括向所述下游数据库安全监视器发送电子邮件。
4.如权利要求1所述的方法,进一步包括通过写入日志文件向所述下游数据库安全监视器提供指示。
5.如权利要求1所述的方法,其中所述通信是请求。
6.如权利要求1所述的方法,其中所述通信是要求与数据库进行交互的请求。
7.如权利要求1所述的方法,其中将被配置成处理所述通信的线程与应用程序用户相关联包括使用线程局部变量。
8.如权利要求1所述的方法,其中所述通信是与事务相关联的多个通信之一。
9.如权利要求1所述的方法,其中将被配置成处理所述通信的线程与应用程序用户相关联包括将所述线程与至少一条所提取的信息相关联。
10.如权利要求1所述的方法,其中确定作为数据库活动的起源的应用程序用户在不对所述应用程序进行修改的情况下进行。
11.一种用于确定作为数据库活动的起源的网络应用程序用户的系统,包括:
接收与网络应用程序用户相关联的通信的装置;
响应于所述通信将网络应用程序所产生的线程与所述网络应用程序用户相关联的装置;
将所述网络应用程序用户与所述线程所生成的数据库查询相关联的装置,其中将所述网络应用程序用户与数据库查询相关联包括生成哑查询,所述哑查询包含与所述网络应用程序用户相关联的指示;以及
向下游数据库安全监视器提供所述哑查询以指示所述数据库查询与所述网络应用程序用户相关联的装置,其中所述哑查询的注释部分被数据库忽略,并且其中所述哑查询指示从所述网络应用程序接收的任何后续查询和所述网络应用程序用户相关联;以及
提供到所述下游数据库安全监视器的接口的装置,所述接口用于核查和入侵检测功能,其中所述接口通过使用提供给所述下游数据库安全监视器的所述哑查询的注释部分中的信息允许识别与数据库相关联的用户异常。
12.如权利要求11所述的系统,其中确定作为数据库活动的起源的应用程序用户在不对所述应用程序进行修改的情况下进行。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/731,071 US7917759B2 (en) | 2007-03-30 | 2007-03-30 | Identifying an application user as a source of database activity |
US11/731071 | 2007-03-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101345751A CN101345751A (zh) | 2009-01-14 |
CN101345751B true CN101345751B (zh) | 2014-05-14 |
Family
ID=39386848
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200810088153.0A Expired - Fee Related CN101345751B (zh) | 2007-03-30 | 2008-03-28 | 确定作为数据库活动的起源的应用程序用户 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7917759B2 (zh) |
JP (1) | JP2008257738A (zh) |
CN (1) | CN101345751B (zh) |
DE (1) | DE102008016197A1 (zh) |
GB (1) | GB2448071A (zh) |
Families Citing this family (15)
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 |
WO2019143879A1 (en) * | 2018-01-22 | 2019-07-25 | Grody Charles Dylan | Programmable toilet flush initiating, monitoring and management system and method thereof |
US11537741B2 (en) * | 2019-03-05 | 2022-12-27 | Sap Se | Unified multi-platform system for data privacy |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1627708A (zh) * | 2003-12-11 | 2005-06-15 | 阿尔卡特公司 | 具有远程入侵检测能力的接入复用器 |
Family Cites Families (22)
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 (en) | 2003-01-29 | 2004-08-04 | Hewlett-Packard Company (a Delaware corporation) | Process for searching a repository |
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 |
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 |
US20080276305A1 (en) * | 2005-12-22 | 2008-11-06 | 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 |
-
2007
- 2007-03-30 US US11/731,071 patent/US7917759B2/en not_active Expired - Fee Related
-
2008
- 2008-03-27 GB GB0805574A patent/GB2448071A/en not_active Withdrawn
- 2008-03-27 DE DE102008016197A patent/DE102008016197A1/de not_active Withdrawn
- 2008-03-28 JP JP2008114508A patent/JP2008257738A/ja active Pending
- 2008-03-28 CN CN200810088153.0A patent/CN101345751B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1627708A (zh) * | 2003-12-11 | 2005-06-15 | 阿尔卡特公司 | 具有远程入侵检测能力的接入复用器 |
Also Published As
Publication number | Publication date |
---|---|
US7917759B2 (en) | 2011-03-29 |
GB2448071A (en) | 2008-10-01 |
CN101345751A (zh) | 2009-01-14 |
JP2008257738A (ja) | 2008-10-23 |
GB0805574D0 (en) | 2008-04-30 |
US20080275843A1 (en) | 2008-11-06 |
DE102008016197A1 (de) | 2008-10-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101345751B (zh) | 确定作为数据库活动的起源的应用程序用户 | |
USRE49486E1 (en) | System and method for tracking web interactions with real time analytics | |
US11314723B1 (en) | Anomaly detection | |
CN111522922B (zh) | 日志信息查询方法、装置、存储介质及计算机设备 | |
US20170104756A1 (en) | Detection, protection and transparent encryption/tokenization/masking/redaction/blocking of sensitive data and transactions in web and enterprise applications | |
US11049056B2 (en) | Discovery of sensitive data location in data sources using business/enterprise application data flows | |
CN105956474B (zh) | Android平台软件异常行为检测系统 | |
CN105787366B (zh) | 基于组件关系的安卓软件可视化安全分析方法 | |
CA3018304A1 (en) | Systems and methods for web analytics testing and web development | |
CN112351024B (zh) | 一种公网通信安全监测系统及方法 | |
US8407766B1 (en) | Method and apparatus for monitoring sensitive data on a computer network | |
CN111404937B (zh) | 一种服务器漏洞的检测方法和装置 | |
CN111767573A (zh) | 数据库安全管理方法、装置、电子设备及可读存储介质 | |
CN112738040A (zh) | 一种基于dns日志的网络安全威胁检测方法、系统及装置 | |
CN105637488A (zh) | 追踪源代码用于末端用户监控 | |
CN104182681A (zh) | 基于hook的iOS系统关键行为检测装置和方法 | |
CN111064725A (zh) | 一种代码零入侵接口校验方法和校验装置 | |
CN108282480B (zh) | 一种用户授权多方监测共享方法和系统 | |
CN110838929B (zh) | 系统错误排查方法和系统错误排查装置 | |
CN110377324A (zh) | 一种信息化平台监控系统和构建方法 | |
CN109214189B (zh) | 识别程序漏洞的方法、装置、存储介质和电子设备 | |
CN114116388A (zh) | 一种小程序数据采集方法、装置、设备及可读存储介质 | |
CN114861076A (zh) | 信息处理方法、装置、计算机设备和存储介质 | |
CN112257100A (zh) | 敏感数据保护效果的检测方法、装置及存储介质 | |
TW201835794A (zh) | 記錄網站存取日誌的方法和裝置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20200106 Address after: California, USA Patentee after: CA, Inc. Address before: California, USA Patentee before: Symantec Corp. |
|
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140514 |