数据库审计方法及设备的制造方法_3

文档序号:9417507阅读:来源:国知局
urla的匹配。
[0068]此外,若对于urla的时间加权值大于urlb,而urla的参数加权值小于urlb的情形,则需要进一步结合时间加权值和参数加权值的权重来确定。在本实施例中,优先考虑时间加权值,参数加权值次之,即在确定匹配关系时,时间加权值的权重大于参数加权值。仍以前述URL和SQL语句为例,若urla的时间加权值为10、参数加权值为5,urlb的时间加权值为6、参数加权值为10,具体的匹配过滤规则可以采用如下所述的任意一种。例如,设定时间加权值的权重值为3,参数加权值的权重值为2,在考虑权重的情况下考虑两项加权值的总分值,此时urla的总分值为10 X 3+5 X 2 = 40,而urla的总分值为6 X 3+10 X 2 = 38,再根据urla的时间加权值和/或参数加权值是否达到阈值,来最终确定是否匹配成功。再如,优先考虑时间加权值,当时间加权值相同时再考虑参数加权值,如uric、urld、urle三个URL,其中uric的时间加权值为10、参数加权值为5,urld的时间加权值为10、参数加权值为8,urle的时间加权值为6、参数加权值为10,由于uric和urld的时间加权值均为10,且大于urle,此时仅需要再将uric和urld的参数加权值进行比较,由于urld的参数加权值较大,再根据urld的时间加权值和/或参数加权值是否达到阈值,来最终确定是否匹配成功即可。在此,本领域技术人员应当理解,上述匹配过滤规则仅为举例,其他现有的或今后可能出现的匹配过滤规则如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
[0069]进一步地,本申请实施例还提供了一种优选的数据库审计方法,如图4所示,具体包括以下步骤:
[0070]步骤S401,获取浏览器端与中间件之间的业务流数据以及所述中间件与服务器之间的数据流数据,其中所述业务流数据包含用户信息,所述数据流数据包含操作信息;
[0071]步骤S402,在规则库中查找所述数据流数据包含的操作信息,其中所述规则库包含已经建立的操作信息与用户信息之间的映射关系;
[0072]步骤S403,当在规则库查找到所述操作信息时,根据所述映射关系确定所述数据流数据包含的操作信息所对应的用户信息;
[0073]步骤S404,当未在规则库查找到所述操作信息时,对所述数据流数据与所述业务流数据进行匹配;
[0074]步骤S405,若匹配成功,则确定所述数据流数据包含的操作信息与所述业务流数据包含的用户信息的映射关系。
[0075]在此,所述规则库中包含的已经建立的操作信息与用户信息之间的映射关系,可以是在特定时间或者特定环境下进行匹配学习的方式获取的映射关系,也可以是在实际审计过程中对所述数据流数据与所述业务流数据进行匹配所确定的操作信息与用户信息之间的映射关系。通过将已经完成匹配的映射关系添加至规则库,在后续获取到数据流数据后,根据规则库中已有的映射关系,可以由操作信息直接匹配到对应的用户信息,从而提高匹配的速度,提升数据库审计的效率。
[0076]—般情况下,由于在实际审计过程中同时产生的业务流数据和数据流数据的较多,其匹配的准确度相对低于在特定时间或者特定环境下进行匹配学习的方式获取的映射关系。因此,作为一种优选的实施方式,在采用该方法进行数据库审计时,首先选择一个适合的时间或者环境进行学习,在该时间或者环境下仅有某一特定用户使用该数据库,从而能够准确地确定该用户的用户信息与其对应的特定操作信息之间的映射关系。
[0077]同样地,在步骤S401中也可以对获取到的所述数据流数据和业务流数据进行预处理,保留与匹配相关的信息,从而提高后续处理的效率。在所述规则库中,每条映射关系可以采用如下形式保存.-URL、以及该URL对应的浏览器端IP、登录用户名和SQL语句。其中、URL和SQL语句均可以采用预处理后的格式。例如,在步骤S302中,采用预处理后的SQL语句 update t_sess1n set username = ?,status = ? where userid = ?在规则库中进行查找,若规则库中已经存在该条SQL语句,则可以查找到对应的URL以及对应的用户信息。由此确定SQL语句所表示的操作信息与用户信息之间的映射关系。此外,在步骤S404中所采用的匹配方式,同样可以采用如图3所示的方式。
[0078]作为一种优选的实施方式,对于前述的任意一种数据库审计方法,在确定所述数据流数据包含的操作信息与所述业务流数据包含的用户信息的映射关系之后,还包括:将所述映射关系添加至规则库。以前述应用场景为例,在将映射关系添加至规则库时,可以将某一 URL以及该URL对应的浏览器端IP、登录用户名和SQL语句一起写入规则库中,通过映射关系的数据结构进行保存。在通过匹配数据流数据和业务流数据确定操作信息和用户信息之间的映射关系之后,将该映射关系添加至规则库进彳丁进一步学习,来提尚后续审计时的效率。
[0079]基于本申请的另一方面,图5示出了本申请实施例提供的一种数据库审计设备,该设备包括数据获取装置510、匹配装置520和映射装置530。具体地,所述数据获取装置510用于获取浏览器端与中间件之间的业务流数据以及所述中间件与服务器之间的数据流数据,其中所述业务流数据包含用户信息,所述数据流数据包含操作信息;所述匹配装置520用于对所述数据流数据与所述业务流数据进行匹配;所述映射装置530用于在匹配成功时,确定所述数据流数据包含的操作信息与所述业务流数据包含的用户信息的映射关系O
[0080]在此,本方案所应用的包含中间件的数据库的结构如图2所示,其中,业务流数据2A表示在浏览器端210与中间件220之间的交互数据,包含用户信息,例如浏览器端IP和登录用户名等,数据流数据2B表示中间件220与服务器230的之间的交互数据,包含数据库操作信息,例如SQL语句等。为简明起见,图2中示出的浏览器端、中间件和服务器均为一个,其数量可能小于一个实际数据库系统中的数量,但这种省略无疑地是以不会影响对本发明进行清楚、充分的公开为前提的。
[0081]所述业务流数据与数据流数据之间存在一定的关联,即数据流数据一般随业务流数据产生,例如所述业务流数据为用户发送的对于数据库中某一数据的操作请求,而数据流数据则是根据该操作请求生成的特定操作指令。因此,业务流数据与数据流数据之间可以通过特定的方式进行匹配,确定两者之间的关联关系,例如通过比较业务流数据和数据流数据中某些信息的生成时间、所包含的特定的参数等。
[0082]在此,本领域技术人员应当理解,所述设备可以包括但不限于如网络主机、单个网络服务器、多个网络服务器集或基于云计算的计算机集合等实现。在此,云由基于云计算的大量主机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟计算机。优选地,设备还可以是运行于网络主机、服务器或者计算机的软件。
[0083]在实际应用中,以采用http的交互场景为例,所述业务流数据可以是浏览器端向中间件发送的http数据包,在抓取http数据包时该http数据包的源IP即为浏览器端IP,通过对http数据包中的URL进行解析,可以获取到登录用户名。例如,抓取到http数据包时其源IP为116.226.187.17,则此时浏览器端IP即为116.226.187.17,其中URL为:http://192.168.0.1:80/login, aspx ? username = superadmin&cs = utf-8&br = ie,通过解析该URL可以获知登录用户名为superadmin。由此可知,该条业务流数据对应的用户信息中,浏览器端IP为116.226.187.17,登录用户名为superadmin。一般情况下,在获取到登录用户名和浏览器端IP后会将两者绑定,并保存在缓存中以便在后续匹配时使用。相应地,数据流数据可以是SQL语句,例如抓取到的SQL语句为:update t_sess1n setusername = ^ superadmin? , status = ^active? where userid = 1234,该 SQLi吾句即包含了对数据库的操作信息,表示更改t_sess1n表,把userid = 1234的行中:username更改为 superadmin, statusactive。
[0084]该方案同时获取浏览器端与中间件之间的业务流数据以及所述中间件与服务器之间的数据流数据,并通过对数据流数据与业务流数据进行匹配,确定操作信息与用户信息之间的映射关系,从而获知对于数据库的某一操作是由哪个用户执行,实现对包含中间件的数据库进行准确的数据库审计。
[0085]优选地,所述数据获取装置510具体用于:获取浏览器端与中间件之间的业务流数据
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1