CN103886024A - 一种基于多层业务关联的数据库审计方法及系统 - Google Patents
一种基于多层业务关联的数据库审计方法及系统 Download PDFInfo
- Publication number
- CN103886024A CN103886024A CN201410062776.6A CN201410062776A CN103886024A CN 103886024 A CN103886024 A CN 103886024A CN 201410062776 A CN201410062776 A CN 201410062776A CN 103886024 A CN103886024 A CN 103886024A
- Authority
- CN
- China
- Prior art keywords
- url
- parameter
- sql
- database
- 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.)
- Pending
Links
Images
Classifications
-
- 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/21—Design, administration or maintenance of databases
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供一种基于多层业务关联的数据库审计方法,包括:通过机器学习形成数据库审计结果中的结构化查询语言参数及其用户网络统一资源定位符信息的匹配规则;以及根据所述匹配规则匹配一数据库审计结果中的SQL参数及其对应的URL,以确定终端用户及其操作信息。本发明还提供一种基于多层业务关联的数据库审计系统,包括规则定义模块,用于形成SQL参数与URL的匹配规则;数据库审计服务参数处理模块,用于获取并根据匹配规则匹配SQL参数及相应的URL。相比于现有技术,本发明可在应用程序服务器架构中定位数据库操作用户及其操作内容,使得数据库管理者能简便并快速定位用户并审计用户操作数据库内容。
Description
技术领域
本发明涉及一种数据库审计方法及系统,尤其涉及一种基于多层业务关联的数据库审计方法及系统。
背景技术
目前,计算机信息技术以及互联网的急速发展使得数据库信息的价值得到提升,同时也使得数据库信息的安全问题变得更为突出。在数据库的安全风险管理中,及时准确地定位数据库的操作者以及操作者针对数据库进行的操作内容成为一个重要的管控内容。
现有的数据库管理方式通常通过数据库审计系统对来源于数据库客户端的操作请求、通过远程登录服务器后的操作请求等结构化查询语言(Structured Query Language,SQL)参数命令进行分析与解析,从而获得具有操作者客户端IP地址,并将所述客户端IP地址作为识别终端用户身份唯一标识的方式来定位操作用户。
然而,当所述数据库管理系统的用户架构是基于客户/服务器模式,且IP地址对应唯一物理地址(用户)时,这种定位终端用户的方式才是可行的,但是这种架构已经无法适应更快捷、远程以及实时的数据库管理需求,且仍无法确定用户对数据库进行操作的业务内容。而当数据库管理系统的用户使用应用服务器架构,那么IP地址通常不会对应唯一用户,从而更加无法定位用户及分辨其进行的数据库操作业务。
因此,有必要提供一种能满足在数据库管理系统中,基于应用程序服务器架构下定位操作数据库的用户并辨识所述用户操作数据库的具体业务名称的数据库管理方法及系统,以解决上述问题。从而使得数据库管理者能简单、方便并快速定位用户并审计用户操作数据库内容的名称。
发明内容
有鉴于此,本发明所要解决的技术问题是提供一种方法,以能提供在应用程序服务器架构中将数据库审计结果中的结构化查询语言参数与用户操作的用户网络中的网址,亦即统一资源定位符进行关联匹配,从而定位出实际数据库操作用户及其操作内容,使得数据库管理者能简单、方便并快速定位用户并审计用户操作数据库内容。
本发明为前述解决技术问题而采用的技术方案是提供一种基于多层业务关联的数据库审计方法,所述数据库审计方法包括以下步骤:通过机器学习形成数据库审计结果中的结构化查询语言(Structured Query Language,SQL)参数及其用户网络(WEB)的统一资源定位符(Uniform Resource Locator,URL)信息的匹配规则;以及根据所述匹配规则匹配一数据库审计结果中的SQL参数及其对应的URL,以确定终端用户及其操作信息。
根据本发明之一实施例,所述通过机器学习形成数据库审计结果中的结构化查询语言(Structured Query Language,SQL)参数及其用户网络(WEB)的统一资源定位符(Uniform ResourceLocator,URL)信息的匹配规则的步骤进一步包括以下步骤:进入机器学习模式;获取并轮询数据库SQL参数及其URL;判断是否继续机器学习;当判断结果为否时,停止并退出机器学习模式;接收一已定义的匹配信息;以及根据定义的匹配信息规则形成SQL参数与URL的匹配规则。
根据本发明之一实施例,根据所述匹配规则匹配一数据库审计结果中的SQL参数及其对应的URL,以确定终端用户及其操作信息进一步包括以下步骤:获取一数据库审计结果;读取并格式化所述数据库审计结果中的SQL参数及URL;根据匹配规则匹配所述SQL参数对应的URL,根据对应的URL确定相应的终端用户及其操作信息。
根据发明之一实施例,根据匹配规则匹配所述SQL参数对应的URL进一步包括以下步骤:获取依据所述匹配规则匹配SQL参数的第一URL集合;根据所述SQL参数产生的时间范围确定满足所述时间范围的第二URL集合;选择所述第一URL集合与第二URL集合的交集以获取第三URL集合;对所述第三URL集合进行加权运算;以及选取第三URL集合根据所述加权运算的最大权值结果对应的URL。
本发明要解决的技术问题还包括提供一种系统,以能提供在应用程序服务器架构中将数据库审计结果中的结构化查询语言参数与用户操作的用户网络中的网址,亦即统一资源定位符进行关联匹配,从而定位出实际数据库操作用户及其操作内容,使得数据库管理者能简单、方便并快速定位用户并审计用户操作数据库内容。
本发明为前述解决技术问题而采用的技术方案是提供一种基于多层业务关联的数据库审计系统,包括:规则定义模块,用于通过机器学习形成数据库审计结果中的结构化查询语言参数及其用户网络的统一资源定位符信息的匹配规则;及数据库审计服务参数处理模块,用于获取并处理数据库审计的SQL参数及用户网络URL参数,并根据所述匹配规则匹配SQL参数及相应的URL。
根据本发明之另一实施例,所述基于多层业务关联的数据库审计系统的所述规则定义模块还进一步包括:规则学习模块,用于通过机器学习形成所述数据库审计结果中的SQL参数及其用户网络URL匹配规则;及前端接口模块,用于与所述数据库审计服务参数处理模块及所述规则学习模块进行数据交互;所述数据库审计服务参数处理模块进一步包括:参数处理模块,用于获取一数据库SQL参数及其用户网络URL,并对所述SQL参数及URL进行参数格式化处理;以及参数匹配模块,用于按照所述匹配规则以及格式化处理后的SQL参数及URL匹配与所述SQL参数对应的URL。
通过上述实施例,本发明能够基于多层业务关联审计将终端用户对数据库操作的SQL参数及其操作应用程序的用户网络URL参数同时进行获取、匹配及映射关联,从而解决数据库审计中对用户的及其操作内容的定位与识别问题,使得数据库审计管理人员简单、快捷并及时掌握数据库管理状况,有效规避数据库管理风险。
附图说明
读者在参照附图阅读了本发明的具体实施方式以后,将会更清楚地了解本发明的各个方面。其中,
图1示出本发明的基于多层业务关联的数据库审计系统模块示意图;
图2示出本发明一实施例中的基于多层业务关联的数据库审计方法流程示意图;
图3示出图2的基于多层业务关联的数据库审计方法流程示意图中步骤10的优选流程示意图;
图4示出图2的基于多层业务关联的数据库审计方法流程示意图中步骤30的优选流程示意图;以及
图5示出图3中的基于多层业务关联的数据库审计方法流程示意图步骤302、304的优选流程示意图。
具体实施方式
为了使本申请所揭示的技术内容更加详尽与完备,可参照附图以及本发明的下述各种具体实施例,附图中相同的标记代表相同或相似的组件。然而,本领域的普通技术人员应当理解,下文中所提供的实施例并非用来限制本发明所涵盖的范围。此外,附图仅仅用于示意性地加以说明,并未依照其原尺寸进行绘制。
下面参照附图,对本发明各个方面的具体实施方式作进一步的详细描述。
请配合参阅图1,所示为本发明一实施例中的基于多层业务关联的数据库审计系统模块示意图。在本发明中,所述多层业务关联审计是指通过对应用层访问和数据库操作请求进行多层业务关联审计,实现用户信息的追溯,包括:操作发生的WEB统一资源定位符(Uniform Resource Locator,URL)、用户端IP、请求报文等信息,通过多层业务关联审计更精确地定位事件发生前后所有关联层面的访问及操作请求,使管理人员对用户的行为一目了然,实现数据库操作用户及其操作业务内容的追溯。
在本发明中,为便于阐明本发明主旨及要点之便利,特以基于应用程序服务器架构的数据库管理系统中设置用户网络服务器(WEB服务器)或中间件(WEB中间件)作为优选的应用环境举例说明。其中所述WEB中间件/服务器可用于提供不同的系统软件和应用软件之间的连接,以及应用软件对于系统软件的集中逻辑,其可以是数据库、用户网络逻辑应用服务器等等,可以通过逻辑硬件和/或计算机系统可识别运行的软件方式实现。本领域的技术人员应当了解,在其他未设置WEB中间件/服务器的多层业务关联审计中,本发明的各种变化在不脱离本发明的范围内同样适用。本发明的示例性说明或阐述不应理解为对本发明具有任何限制。
在本发明中,通过在基于多层业务关联的网络结构中设置一个进行旁路监控/侦听的数据库审计管理端(以下简称为数据库审计系统),并在所述数据库审计系统中设置相应模块,将获取或监控到的用户端浏览器或应用程序、业务系统等与WEB中间件/服务器之间的HTTP通信协议进行分析,根据对其URL、时间节点、用户名、IP地址等进行解析,最后与数据库审计系统存储的数据库操作结构化查询语言(Structured Query Language,SQL)参数进行关联。从而数据库审计系统依据获得的SQL参数及URL关联信息定位数据库的操作用户及辨识其操作内容。
具体地,在本实施例中,当用户对数据库进行访问操作时,WEB中间件/服务器根据用户HTTP访问提交的业务内容发出相应的SQL参数指令访问数据库服务器。其访问的WEB参数包括用户ID参数、用户网络的HTTP访问参数以及对数据库进行操作内容等信息会通过交换机镜像至数据库审计系统,从而所述数据库审计系统获得相应的数据库审计结果。而数据库审计系统则对数据库审计结果中的SQL参数以及用户HTTP访问的URL进行关联,即通过基于用户参与机器学习的方式形成数据库SQL参数与用户访问的URL之间的匹配规则,并在数据库审计管理端设置SQL参数-URL匹配模块确定数据库SQL参数与业务操作内容之间的对应关系,从而进一步定位WEB终端用户及其操作信息。
具体地,在本实施例中,所述数据库审计系统包括规则定义模块1以及数据库审计服务参数处理模块2。其中,规则定义模块1用于通过机器学习形成数据库审计结果中的SQL参数及其用户网络的URL参数的匹配规则。数据库审计服务参数处理模块2用于获取并处理数据库审计结果的结构化查询语言(Structured QueryLanguage,SQL)参数及用户网络统一资源定位符(UniformResource Locator,URL)信息,并根据所述匹配规则匹配SQL参数及相应的URL。
规则定义模块1进一步包括前端接口模块11以及规则学习模块12,前端接口模块11用于与数据库审计服务参数处理模块2及规则学习模块12进行数据交互,规则学习模块12用于通过机器学习形成数据库审计结果中的SQL参数及其用户网络的URL匹配规则。
规则定义模块1的所述前端接口模块11用于与所述数据库审计服务参数处理模块2及所述规则学习模块12进行数据交互,并进一步根据业务系统的HTTP访问参数触发规则学习模块12进入机器学习模式。其中,前端接口模块11未触发规则学习模块12进入机器学习模式时,前端接口模块11保存所有WEB中间件/服务器的URL及其SQL参数;当前端接口模块11已触发规则学习模块12进入机器学习模式时,前端接口模块11可指示规则学习模块12继续或停止机器学习模式,并有选择性的保存相应的WEB中间件/服务器的URL及其SQL参数。在本实施例中,所述前端接口模块11可通过如下表一所示的指令信号指示规则学习模块12进入或退出机器学习模式。
表一:前端接口模块指令表
编号 | 信号 | 说明 |
1 | SIG_BEGIN_LEARNING=xxx | 指示规则学习模块进入机器学习模式 |
2 | SIG_END_LEARNING=xxx | 指示规则学习模块退出机器学习模式 |
规则学习模块12可在设定的时间样本内进行机器学习。具体地,规则学习模块12被前端接口模块11触发并进入机器学习模式后,从前端接口模块11获取WEB中间件/服务器的HTTP访问的URL参数及其SQL参数;并对获取的URL参数及其SQL参数进行轮询、更新及显示。此时,所述参数处理模块21仅处理(格式化)单个WEB中间件/服务器在HTTP协议下的参数。规则学习模块12还进一步根据前端接口模块11发出的指令判断是否应继续机器学习模式,当判断不应继续学习时停止并退出机器学习模式。规则学习模块12停止机器学习模式后,进一步根据用户已定义的匹配信息形成所述SQL参数及其用户网络中的URL匹配规则。其中所述用户定义的匹配信息可以为用户选定的需要显示的一条或者多条URL,以及用户选定的需要审计的SQL参数,从而建立SQL参数到WEB参数之间的映射关系。此外,规则学习模块12对用户选定的URL及SQL参数应进行相应的处理,如去除变化的参数部分等,从而获得稳定的URL与SQL参数匹配模式。
规则学习模块12可循环进行前述步骤,从而可形成由多个独立的匹配规则组成的匹配规则库;并根据所接收的指令或指示存储输出其形成的匹配规则库至其他用户端或反馈至前端接口模块31,使得前端接口模块31可及时与参数匹配模块21及参数匹配模块22进行数据交互。所述规则学习模块12更进一步可通过超文本预处理器(PHP:Hypertext Preprocessor,PHP)和/或JSP(JavaServer Pages)实现及调用。
在本实施例中,所述数据库审计服务参数处理模块2进一步包括参数处理模块21及参数匹配模块22,所述参数处理模块21用于获取一数据库SQL参数及其用户网络URL,并对所述SQL参数及URL进行参数格式化处理;所述参数匹配模块22用于按照所述匹配规则以及格式化处理后的SQL参数及URL匹配与所述SQL参数对应的URL。
具体地,所述参数处理模块21获取的数据库SQL参数及其用户网络URL包括支持HTTPs协议的用户URL参数,如用户的用户名、IP地址等参数;以及包括所述WEB中间件/服务器数据的参数,如所述WEB中间件/服务器的访问数据库的IP,亦即所述WEB中间件/服务器访问数据库服务器时所使用的客户端IP(用于识别来自于所述WEB中间件/服务器的数据库访问);以及至少标识所述WEB中间件/服务器ID的参数,例如所述WEB中间件/服务器的域名或IP及其端口,作为唯一标识参数;同时还包括所述SQL参数包括对数据库服务器进行登录、删除、添加、查询、修改等操作指令及其结果参数。
同时,参数处理模块21还应进一步对所述URL及SQL参数进行格式化处理。举例而言,对前述URL参数可以处理为仅包含文档路径的格式,去除URL中参数部分。示例如下:
1.原始URL为:
http://192.168.0.1:80/login.aspx?username=superadmin&cs=utf-
8&br=ie
处理为:/login.aspx
2.原始URL为:
https://192.168.0.1/stat/tf.aspx?username=d1&cs=utf-8&br=ie
处理为:/stat/tf.aspx。
对前述SQL参数可处理为对应的无序绑定参数格式,具体为将SQL参数中具体值部分替换为问号,其他部分如SQL参数关键字、字段、库名称,包括空白、注释等不变。示例如下:
1.原始SQL参数为:
select*from t_users where name=’superadmin’
处理为:select*from t_users where name=?
2.原始SQL参数为:
update t_session set username=‘superadmin’,status=‘active’
where userid=1234
处理为:update t_session set username=?,status=?where userid=?
具体而言,当SQL参数为无序绑定参数格式可直接使用,如果为命名绑定参数格式或非绑定参数格式则应转换为无序绑定参数格式。
参数匹配模块22用于按照规则学习模块12形成的匹配规则和/或规则库以及格式化处理后的SQL参数及URL匹配与所述SQL参数对应的URL,从而定位最终用户及其对数据库的业务操作内容。在本实施例中,WEB中间件/服务器地址及URL、数据库IP地址及协议、用户IP地址等参数均支持HTTPs协议,SQL参数的应支持的数据库协议可依据实际情形确定,但通常应为确定的一种。参数匹配模块22通过查询HTTP访问的URL参数及SQL参数,可获知具体操作业务SQL参数语句与哪些URL关联,进而通过相应的URL定位到哪些用户进行了操作。
举例而言,当参数匹配模块22针对用户登录账户进行关联时,可以通过账号访问的URL参数定位相应的WEB中间件/服务器ID及其在相应时间段内的SQL参数,从而根据最终关联结果追溯到最终对数据库进行操作的用户,及其操作内容。同样地,当参数匹配模块22针对SQL参数进行关联时,根据规则学习模块12形成的映射关联匹配规则定位到在特定时间内对数据库进行操作的WEB中间件/服务器及其URL参数,并根据所述URL参数的具体内容,例如目的IP地址、源IP地址、用户登录账号等确定发送所述SQL参数指令的最终用户。
请同时参阅图1与图5,所示为参数处理模块21及参数匹配模块22进行数据库审计结果中SQL-URL参数处理及匹配的具体方式。参数处理模块21对WEB中间件/服务器的访问HTTP协议进行解析,获取并过滤其URL;抓取用户登录名,确定用户IP地址;解析URL携带的参数并存储所述格式化后的URL及SQL参数,生成满足所述SQL参数的全部URL集合。参数匹配模块22则依据规则学习模块12产生的匹配规则/规则库获取匹配所述SQL参数的第一URL集合,并根据所述SQL参数产生的时间范围确定满足所述时间范围内的存储于参数处理模块21的第二URL集合;对所述第一URL集合及第二URL集合进行交集,获取第三URL集合;参数处理模块21进一步根据前述格式化参数对所述第三URL集合进行加权运算处理;并将加权运算结果中权值最大的结果对应的URL作为与所述SQL参数匹配的URL。最终根据所述URL及SQL参数确定终端用户以及所述终端用户的操作业务内容。
由此,通过本发明的多层业务关联的数据库审计系统,可针对WEB中间层、数据层进行关联审计,将审计到的SQL与用户URL进行关联;同时通过机器学习形成SQL参数到WEB业务之间的匹配规则,结合时间差、参数匹配等其他凭据确定出SQL参数与实际的WEB业务之间的对应关系,从而有效定位操作数据库的用户并辨识所述用户操作数据库的具体业务名称,使得数据库管理者能简单、方便并快速定位用户并审计用户操作数据库内容的名称,有效防范数据库管理风险。
图2所示为本发明一实施例的基于多层业务关联的数据库审计方法流程示意图。在本实施例中,所述的基于多层业务关联的数据库审计方法包括以下步骤:
在步骤10,通过机器学习形成数据库审计结果中的SQL参数及其用户网络(WEB)的URL信息的匹配规则。在本实施例中,通过机器学习,并进一步根据用户已定义的匹配信息形成所述SQL参数及其用户网络中的URL匹配规则。其中所述用户定义的匹配信息可以为用户选定的需要显示的一条或者多条URL,以及用户选定的需要审计的SQL参数,从而建立SQL参数到WEB参数之间的映射关系。此外,所述用户选定的URL及SQL参数应进行相应的处理,如去除变化的参数部分等,从而获得稳定的URL与SQL参数匹配模式。在本实施例中,步骤10可以循环运行,从而形成由多个独立的匹配规则组成的匹配规则库。其具体实现方式请参阅前述数据库审计系统的规则学习模块21部分,在此不再赘述。
在步骤30,根据所述匹配规则匹配一数据库审计结果中的SQL参数及其对应的URL,以确定终端用户及其操作信息。在本发明中,当步骤10为循环进行时,所述步骤30与步骤10的顺序可因实际情形调换其顺序。
请配合参阅图3与图2,图3所示为图2的基于多层业务关联的数据库审计方法流程示意图中步骤10的优选流程示意图。在本实施例中,步骤10进一步包括:
步骤100,进入机器学习模式。在本实施例中,可在设定的时间样本内进行机器学习,并可进一步根据可由前端PHP或JSP调用的触发指令进入或退出机器学习模式。
步骤102,获取并轮询URL参数及SQL参数。在本实施例中,具体地,当进入机器学习模式后,仅处理所述单个Web中间件/服务器在HTTP协议下的参数,并获取WEB中间件/服务器的HTTP访问的URL参数及其SQL参数。所述WEB中间件/服务器对数据库的SQL参数操作与所述WEB中间件/服务器ID相关联,从而可获取并处理所述WEB中间件/服务器的业务参数,所述业务参数包括支持HTTPs协议的用户URL参数,如用户的用户名、IP地址等参数;以及包括所述WEB中间件/服务器数据的参数,如所述WEB中间件/服务器的访问数据库的IP,亦即所述WEB中间件/服务器访问数据库服务器时所使用的客户端IP(用于识别来自于所述WEB中间件/服务器的数据库访问);以及至少标识所述WEB中间件/服务器ID的参数如所述WEB中间件/服务器的域名或IP及其端口作为唯一标识参数。WEB中间件/服务器地址及URL、数据库IP地址及协议、用户IP地址等参数均支持HTTPs协议,SQL参数的应支持的数据库协议可依据实际情形确定,但通常应为确定的一种。
在步骤104,更新或显示所提取的URL及SQL参数。在本实施例中,机器学习的过程及时间会受样本总量及学习参数的限制,为保证形成更有效的匹配规则,应对URL及SQL参数应进行相应的处理,如添加、删除、修改变化的参数部分等并依据管理端的指令显示更新后的URL及SQL参数。
在步骤106,判断是否继续进行机器学习。在本实施例中,当通过触发指令进入一段时间的机器学习之后,则同样可根据停止或退出的触发指令判断是否应继续学习。或者在预设的样本学习时间结束时,判断是否应继续学习。当判断应当继续学习时,返回步骤102,继续获取并轮询URL及SQL参数。当判断不应继续学习时,进入步骤108,停止并退出机器学习模式。
在步骤110,接收用户已定义的匹配信息。在本实施例中,所述用户定义的匹配信息可以为用户选定的需要显示的一条或者多条URL,以及用户选定的需要审计的SQL参数。
在步骤112,形成SQL参数与URL匹配规则。在本实施例中,当停止机器学习模式后,进一步根据用户已定义的匹配信息形成所述SQL参数及其用户网络中的URL匹配规则。
在本实施例中,前述步骤的具体实现方式可通过前述基于多层业务关联的数据库审计系统及其规则定义模块1实现,在此不再赘述。前述步骤可循环进行,从而可形成由多个独立的匹配规则组成的匹配规则库;并根据所接收的指令或指示输出/存储所形成的匹配规则库。前述步骤更进一步可通过超文本预处理器(PHP:Hypertext Preprocessor,PHP)和/或JSP(Java Server Pages)实现及调用。
请配合参阅图4与图2,图4示出图2的基于多层业务关联的数据库审计方法流程示意图中步骤30的优选流程示意图。其中,步骤30进一步包括以下步骤:
步骤300,获取一数据库审计结果。在本实施例中,所述数据库审计结果是由数据库审计系统通过旁路侦听/监控的方式通过镜像交换机从WEB中间件/服务器获取。在本发明的其他实施例中,所述数据库审计结果也可通过其他服务器或支持网络HTTP访问协议以及SQL协议的方式获取。
步骤302,读取并格式化所述数据库审计结果中的SQL参数及URL。在本实施例中,所述SQL参数包括对数据库服务器进行登录、删除、添加、查询、修改等操作指令及其结果参数。URL参数包括支持HTTPs协议的用户URL参数,如用户的用户名、IP地址等参数;以及包括所述WEB中间件/服务器数据的参数,如所述WEB中间件/服务器的访问数据库的IP,亦即所述WEB中间件/服务器访问数据库服务器时所使用的客户端IP(用于识别来自于所述WEB中间件/服务器的数据库访问);以及至少标识所述WEB中间件/服务器ID的参数,例如所述WEB中间件/服务器的域名或IP及其端口,作为唯一标识参数。WEB中间件/服务器地址及URL、数据库IP地址及协议、用户IP地址等参数均支持HTTPs协议,SQL参数应支持的数据库协议可依据实际情形确定,但通常应为确定的一种。
在本实施例中,所述步骤可以通过前述参数处理模块21完成,其具体实现方式请参阅前述参数处理模块21的陈述部分,在此不再赘述。
步骤304,根据匹配规则匹配所述SQL参数对应的URL。在本实施例中,所述步骤基于前述步骤10、以及100-112所产生的匹配规则以及所述步骤10、100-112循环运行所形成的规则库获取相应的URL集合,并根据数据库审计结果中满足SQL参数的全部URL集合进行运算,如取前述两个URL集合的交集并对交集中的URL分别进行加权运算,按权值定义最匹配的URL等。在本实施例中,步骤304可通过前述参数处理模块21及参数匹配模块22实现,具体实现方式请参阅前述参数处理模块21及参数匹配模块22的具体陈述,在此不再赘述。
步骤306,根据所述对应的URL确定相应的终端用户及其操作信息。在本实施例中,通过查询HTTP访问的URL参数及匹配的SQL参数,可获知具体操作业务SQL参数及其关联的URL,进而通过所述URL定位到哪些用户进行了所述操作。在本实施例中,所述对应的URL通常应根据相应的满足SQL参数匹配条件的URL集合确定。其中所述匹配条件包括操作时间等因素,举例而言,当针对特定的数据库发出特定SQL指令参数进行URL关联时,根据形成的匹配规则定位到在特定时间内对数据库进行操作的WEB中间件/服务器及其URL集合,并在所述URL集合内根据SQL参数产生时间匹配的具体内容,例如目的IP地址、源IP地址、用户登录账号等确定发送所述SQL参数指令的最终用户。在本实施例中,所述终端用户及其操作信息可进一步通过前端接口模块11调用并显示。
请同时参阅图3与图5,图5示出图3中的基于多层业务关联的数据库审计方法流程示意图步骤302、304的优选流程示意图。举例而言,当获取数据库审计结果后:
在步骤3020,参数处理模块21通常会对所述包括URL全部信息及SQL参数的HTTP协议进行解析,以获取并过滤所述URL。在本实施例中,过滤所述URL的步骤也可以同时包括对所述URL进行格式化处理;在本发明的其他实施例中,对所述URL进行格式化处理的步骤也可在获取数据库审计结果的同时进行。
在步骤3022,获取用户登录名,确定用户的IP地址。在本实施例中,通过获取HTTP访问参数中的用户登录名及其IP地址,可以准确的定位最终用户。
在步骤3024,抓取用户登录名,确定用户IP地址。在本实施例中,支持HTTPs协议的URL参数包括如用户的用户名、IP地址等参数;以及包括所述WEB中间件/服务器数据的参数,如所述WEB中间件/服务器的访问数据库的IP,亦即所述WEB中间件/服务器访问数据库服务器时所使用的客户端IP(用于识别来自于所述WEB中间件/服务器的数据库访问)。
在步骤3026,存储所述URL。
在步骤3028,查询所述SQL参数对应的全部URL集合。在本实施例中,参数处理模块21进一步查询所述数据库审计结果中SQL参数对应的WEB中间件的URL,并获取满足所述SQL参数的全部URL集合。在本实施例中,对该SQL参数进行格式化处理的步骤可以在查询到所述SQL参数的之后进行;在本发明的其他实施例中,对所述SQL参数进行格式化处理的步骤也可以在获取数据库审计结果之后进行。
前述步骤可以通过参数处理模块21实现,在此不再对参数处理模块21具体实现方式进行赘述。
在步骤3040,获取根据所述匹配规则/规则库匹配所述SQL参数的第一URL集合。在本实施例中,所述匹配规则是由规则学习模块21产生,所述规则库是由规则学习模块21进行循环学习所产生,其实现方式请结合参阅前述规则学习模块21及其前端接口模块22的具体陈述,以及步骤10、100-112的具体陈述,在此不再赘述。其中,所述匹配规则/及规则库可以存储与所述规则学习模块21,也可以存储于所述其前端接口模块22、参数处理模块21、参数匹配模块22中,但无论该规则存储于何种模块中,均不影响其他模块对该匹配规则/规则库的调用,且与其他模块进行数据交互时不会产生任何限制。
在步骤3042,根据所述SQL参数产生的时间范围确定满足所述时间范围的第二URL集合。在本实施例中,所述SQL参数的产生通常应发生在一定的时间范围内,例如指定的时间节点或时间周期,则在参数处理模块21中存储的与所述SQL参数产生的时间节点或时间周期范围内的全部URL集合则形成本实施例所述的第二URL集合,所述第二URL集合由所述参数匹配模块22调取。
在步骤3044,选择第一URL集合以及第二URL几个的交集以获取第三URL集合。在本实施例中,参数匹配模块22从规则学习模块12中获取的第一URL集合以及从参数处理模块21中获取的第二URL集合重复或者重叠的部分即形成两者之交集,该交集即为可以与所述SQL参数进行关联的URL集合。为便于阐明之故,在本实施例中,将该交集定义为第三URL集合。
在步骤3046,对所述第三URL集合进行加权运算。在本实施例中,所述参数处理模块21按照对URL进行格式化处理时形成的相应参数集对所述第三URL集合中的URL值进行加权运算,并将该运算结果传输至参数匹配模块22。应当注意的是,在本实施例中,为便于举例之故,仅以进行一次加权运算为例进行说明;在本发明的其他实施例中,当格式化处理后的参数或者参数集有多个时,该加权运算应当循环进行以获得最终结果。在本实施例中,该最终结果至少应包括一个具有最大权值的结果。
在步骤3048,根据最大权值结果选取对应的URL作为匹配所述SQL参数的URL。在本实施例中,参数处理模块21根据最大权值对应的URL可调用所述URL参数,从而可准确定位最终用户,并根据相应的SQL参数确定该最终用户的具体操作内容。在本实施例中,该最大权值对应的URL及其参数、以及相应的SQL参数可通过前端接口模块11调用并显示。
由此,通过本发明的多层业务关联的数据库审计方法,可针对WEB中间层、数据层进行关联审计,将审计到的SQL与用户URL参数进行关联;同时通过机器学习形成SQL参数到WEB业务之间的匹配规则,结合时间差、参数匹配等其他凭据确定出SQL参数与实际的WEB业务之间的对应关系,从而有效定位操作数据库的用户并辨识所述用户操作数据库的具体业务名称,使得数据库管理者能简单、方便并快速定位用户并审计用户操作数据库内容的名称,有效防范数据库管理风险。
上文中,参照附图描述了本发明的具体实施方式。但是,本领域中的普通技术人员能够理解,在不偏离本发明的精神和范围的情况下,还可以对本发明的具体实施方式作各种变更和替换。这些变更和替换都落在本发明权利要求书所限定的范围内。
Claims (10)
1.一种基于多层业务关联的数据库审计方法,其特征在于,所述数据库审计方法包括以下步骤:
通过机器学习形成数据库审计结果中的结构化查询语言(Structured Query Language,SQL)参数及其用户网络(WEB)的统一资源定位符(Uniform Resource Locator,URL)信息的匹配规则;以及
根据所述匹配规则匹配一数据库审计结果中的SQL参数及其对应的URL,以确定终端用户及其操作信息。
2.根据权利要求1所述的基于多层业务关联的数据库审计方法,其特征在于,通过机器学习形成数据库审计结果中的结构化查询语言及其用户网络的统一资源定位符信息的匹配规则进一步包括以下步骤:
进入机器学习模式;
获取并轮询数据库SQL参数及其URL;
判断是否继续机器学习;
当判断结果为否时,停止并退出机器学习模式;
接收一已定义的匹配信息;以及
根据定义的匹配信息规则形成SQL参数与URL的所述匹配规则。
3.根据权利要求2所述的基于多层业务关联的数据库审计方法,其特征在于,还包括更新或显示轮询所提取的URL和SQL参数的步骤。
4.根据权利要求1至3任一项所述的基于多层业务关联的数据库审计方法,其特征在于,通过机器学习形成数据库审计结果中的SQL及其用户网络的URL信息的匹配规则的步骤循环运行。
5.根据权利要求4所述的基于多层业务关联的数据库审计方法,其特征在于,根据所述匹配规则匹配一数据库审计结果中的SQL参数及其对应的URL,以确定终端用户及其操作信息进一步包括以下步骤:
获取一数据库审计结果;
读取并格式化所述数据库审计结果中的SQL参数及URL;
根据匹配规则匹配所述SQL参数对应的URL;
根据所述对应的URL确定相应的终端用户及其操作信息。
6.根据权利要求5所述的基于多层业务关联的数据库审计方法,其特征在于,所述根据匹配规则匹配所述SQL参数对应的URL进一步包括以下步骤:
获取依据所述匹配规则匹配SQL参数的第一URL集合;
根据所述SQL参数产生的时间范围确定满足所述时间范围的第二URL集合;
选择所述第一URL集合与第二URL集合的交集以获取第三URL集合;
对所述第三URL集合进行加权运算;以及
选取所述第三URL集合根据所述加权运算的最大权值结果对应的URL。
7.根据权利要求6所述的基于多层业务关联的数据库审计方法,其特征在于,还包括以下步骤:
根据所确定的最大权值URL参数及其对应SQL参数定位终端用户及其操作信息。
8.一种基于多层业务关联的数据库审计系统,运行于具有存储及运算功能的计算机硬件或软件系统中,其特征在于,所述数据库审计系统包括:
规则定义模块,用于通过机器学习形成数据库审计结果中的结构化查询语言(Structured Query Language,SQL)参数及其用户网络(WEB)的统一资源定位符(Uniform Resource Locator,URL)信息的匹配规则;以及
数据库审计服务参数处理模块,用于获取并处理数据库审计的SQL参数及用户网络URL信息,并根据所述匹配规则匹配SQL参数及相应的URL。
9.根据权利要求8所述的基于多层业务关联的数据库审计系统,其特征在于,所述规则定义模块进一步包括:
规则学习模块,用于通过机器学习形成所述数据库审计结果中的SQL参数及其用户网络URL的匹配规则;以及
前端接口模块,用于与所述数据库审计服务参数处理模块及所述规则学习模块进行数据交互。
10.根据权利要求8或9所述的基于多层业务关联的数据库审计系统,其特征在于,所述数据库审计服务参数处理模块进一步包括:
参数处理模块,用于获取一数据库SQL参数及其用户网络URL,并对所述SQL参数及URL进行参数格式化处理;以及
参数匹配模块,用于并按照所述匹配规则以及格式化处理后的SQL参数及URL匹配与所述SQL参数对应的URL。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410062776.6A CN103886024A (zh) | 2014-02-24 | 2014-02-24 | 一种基于多层业务关联的数据库审计方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410062776.6A CN103886024A (zh) | 2014-02-24 | 2014-02-24 | 一种基于多层业务关联的数据库审计方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103886024A true CN103886024A (zh) | 2014-06-25 |
Family
ID=50954916
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410062776.6A Pending CN103886024A (zh) | 2014-02-24 | 2014-02-24 | 一种基于多层业务关联的数据库审计方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103886024A (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104113598A (zh) * | 2014-07-21 | 2014-10-22 | 蓝盾信息安全技术有限公司 | 一种数据库三层审计的方法 |
CN104486154A (zh) * | 2014-12-12 | 2015-04-01 | 北京国双科技有限公司 | 数据的导入方法和装置 |
CN105138675A (zh) * | 2015-09-08 | 2015-12-09 | 上海上讯信息技术股份有限公司 | 数据库审计方法及设备 |
CN105373603A (zh) * | 2015-11-09 | 2016-03-02 | 杭州安恒信息技术有限公司 | 一种提高三层关联精准度的方法 |
CN105743992A (zh) * | 2016-04-01 | 2016-07-06 | 北京启明星辰信息安全技术有限公司 | 信息处理方法及装置 |
CN105930427A (zh) * | 2016-04-19 | 2016-09-07 | 深圳市深信服电子科技有限公司 | 数据库审计方法及装置 |
CN106301886A (zh) * | 2016-07-22 | 2017-01-04 | 天脉聚源(北京)传媒科技有限公司 | 一种用户操作审计方法及装置 |
CN107104953A (zh) * | 2017-04-01 | 2017-08-29 | 北京远为软件有限公司 | 一种双网安全系统以及提升数据安全性的方法 |
CN107368598A (zh) * | 2017-07-26 | 2017-11-21 | 北京锐安科技有限公司 | 用户数据的采集方法及装置 |
CN111131187A (zh) * | 2019-12-07 | 2020-05-08 | 杭州安恒信息技术股份有限公司 | 一种基于操作集的web审计方法 |
CN112069193A (zh) * | 2020-08-27 | 2020-12-11 | 上海上讯信息技术股份有限公司 | 基于异步相关性的关联方法与设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070136312A1 (en) * | 2005-12-12 | 2007-06-14 | Imperva, Inc | System and method for correlating between http requests and sql queries |
CN101388899A (zh) * | 2007-09-12 | 2009-03-18 | 北京启明星辰信息技术有限公司 | 一种Web服务器前后台关联审计方法及系统 |
CN102664935A (zh) * | 2012-04-06 | 2012-09-12 | 北京锐安科技有限公司 | 一种web类用户行为和用户信息的关联输出方法及系统 |
CN103095693A (zh) * | 2013-01-08 | 2013-05-08 | 北京中创信测科技股份有限公司 | 定位访问数据库用户主机信息的方法 |
-
2014
- 2014-02-24 CN CN201410062776.6A patent/CN103886024A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070136312A1 (en) * | 2005-12-12 | 2007-06-14 | Imperva, Inc | System and method for correlating between http requests and sql queries |
CN101388899A (zh) * | 2007-09-12 | 2009-03-18 | 北京启明星辰信息技术有限公司 | 一种Web服务器前后台关联审计方法及系统 |
CN102664935A (zh) * | 2012-04-06 | 2012-09-12 | 北京锐安科技有限公司 | 一种web类用户行为和用户信息的关联输出方法及系统 |
CN103095693A (zh) * | 2013-01-08 | 2013-05-08 | 北京中创信测科技股份有限公司 | 定位访问数据库用户主机信息的方法 |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104113598A (zh) * | 2014-07-21 | 2014-10-22 | 蓝盾信息安全技术有限公司 | 一种数据库三层审计的方法 |
CN104486154B (zh) * | 2014-12-12 | 2017-12-19 | 北京国双科技有限公司 | 数据的导入方法和装置 |
CN104486154A (zh) * | 2014-12-12 | 2015-04-01 | 北京国双科技有限公司 | 数据的导入方法和装置 |
CN105138675A (zh) * | 2015-09-08 | 2015-12-09 | 上海上讯信息技术股份有限公司 | 数据库审计方法及设备 |
CN105373603A (zh) * | 2015-11-09 | 2016-03-02 | 杭州安恒信息技术有限公司 | 一种提高三层关联精准度的方法 |
CN105373603B (zh) * | 2015-11-09 | 2019-09-13 | 杭州安恒信息技术股份有限公司 | 一种提高三层关联精准度的方法 |
CN105743992A (zh) * | 2016-04-01 | 2016-07-06 | 北京启明星辰信息安全技术有限公司 | 信息处理方法及装置 |
CN105743992B (zh) * | 2016-04-01 | 2019-07-09 | 北京启明星辰信息安全技术有限公司 | 信息处理方法及装置 |
CN105930427B (zh) * | 2016-04-19 | 2019-07-26 | 深信服科技股份有限公司 | 数据库审计方法及装置 |
CN105930427A (zh) * | 2016-04-19 | 2016-09-07 | 深圳市深信服电子科技有限公司 | 数据库审计方法及装置 |
CN106301886A (zh) * | 2016-07-22 | 2017-01-04 | 天脉聚源(北京)传媒科技有限公司 | 一种用户操作审计方法及装置 |
CN107104953A (zh) * | 2017-04-01 | 2017-08-29 | 北京远为软件有限公司 | 一种双网安全系统以及提升数据安全性的方法 |
CN107368598A (zh) * | 2017-07-26 | 2017-11-21 | 北京锐安科技有限公司 | 用户数据的采集方法及装置 |
CN111131187A (zh) * | 2019-12-07 | 2020-05-08 | 杭州安恒信息技术股份有限公司 | 一种基于操作集的web审计方法 |
CN111131187B (zh) * | 2019-12-07 | 2022-03-25 | 杭州安恒信息技术股份有限公司 | 一种基于操作集的web审计方法 |
CN112069193A (zh) * | 2020-08-27 | 2020-12-11 | 上海上讯信息技术股份有限公司 | 基于异步相关性的关联方法与设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103886024A (zh) | 一种基于多层业务关联的数据库审计方法及系统 | |
CN107895009B (zh) | 一种基于分布式的互联网数据采集方法及系统 | |
WO2020119434A1 (zh) | 接口数据处理方法、自动化测试方法、装置、设备和介质 | |
CN109409043A (zh) | 应用系统的登录方法、终端设备及介质 | |
US20190026261A1 (en) | Methods and systems for validating multiple methods of input using a unified rule set | |
CN109344170B (zh) | 流数据处理方法、系统、电子设备及可读存储介质 | |
CN112905261B (zh) | 一种应用程序接口api管控方法、装置及电子设备 | |
US10003592B2 (en) | Active directory for user authentication in a historization system | |
CN111404937B (zh) | 一种服务器漏洞的检测方法和装置 | |
CN109241733A (zh) | 基于Web访问日志的爬虫行为识别方法及装置 | |
US8489631B2 (en) | Distributing a query | |
CN107168844B (zh) | 一种性能监控的方法及装置 | |
CN103246963A (zh) | 基于物联网的员工培训系统 | |
CN106921795A (zh) | 一种联系人数据管理方法及其系统 | |
CN102999424B (zh) | 一种并行远程自动化测试的方法 | |
CN113360376A (zh) | 埋点测试方法和装置 | |
CN109087053B (zh) | 基于关联拓扑图的协同办公处理方法、装置、设备及介质 | |
US20140006438A1 (en) | Virtual agent response to customer inquiries | |
CN110545335A (zh) | 一种互联网协议地址获取方法、服务器和系统 | |
WO2021134873A1 (zh) | 数据获取方法及其相关设备、系统及存储装置 | |
CN117527568A (zh) | 一种数据整合平台的数据接入方法及系统 | |
US8938520B2 (en) | Methods and systems for smart adapters in a social media content analytics environment | |
Iqbal et al. | Interlinking developer identities within and across open source projects: The linked data approach | |
CN115269044A (zh) | 一种接口配置方法及装置 | |
CN108667646A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140625 |