《一种数据库三层审计的方法.pdf》由会员分享,可在线阅读,更多相关《一种数据库三层审计的方法.pdf(6页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN104113598A43申请公布日20141022CN104113598A21申请号201410347465422申请日20140721H04L29/08200601G06F17/30200601G06F11/0020060171申请人蓝盾信息安全技术有限公司地址510665广东省广州市高新技术产业开发区东明二路5号A326房72发明人柯宗贵杨育斌周炎华54发明名称一种数据库三层审计的方法57摘要本发明公开了一种数据库三层审计的方法,该方法在三层架构中将WEB请求与数据库访问的请求关联起来,通过这种关联得到实际发起数据库访问请求的终端用户,生成审计信息。通过本发明无需改变用户。
2、的运行环境,且无需修改用户的业务系统,就可以进行精确的数据库三层访问审计,不会对现有业务系统造成影响。51INTCL权利要求书1页说明书3页附图1页19中华人民共和国国家知识产权局12发明专利申请权利要求书1页说明书3页附图1页10申请公布号CN104113598ACN104113598A1/1页21一种数据库三层审计的方法,其特征在于,该方法在三层架构中将WEB请求与数据库访问的请求关联起来,通过这种关联得到实际发起数据库访问请求的终端用户,生成审计信息,具体流程如下1在WEB服务器两端同时进行抓包并缓存相关的链路信息;2将用户WEB请求的返回内容与数据库请求缓存中的SQL请求的返回内容逐一。
3、进行模糊匹配,如果匹配成功,则将WEB访问缓存中的对应项与数据库访问请求缓存中的对应项关联起来;3对返回内容匹配成功的SQL语句进行分析,将SQL分析结果与相应的WEB请求用户进行关联,生成审计信息;4如果匹配成功,则在生成审计信息后,将关联的项从对应的缓存中删除;如果匹配不成功,则只删除WEB请求信息缓存中的对应项。2根据权利要求1所述的方法,其特征在于,将用户对WEB服务器的访问进行旁路抓包,并将如下信息进行缓存源IP地址、源端口号、目的IP地址,目的端口号、源MAC地址、请求发起时间、返回内容。3根据权利要求1所述的方法,其特征在于,将WEB服务器对数据库服务器的访问进行旁路抓包,并将如。
4、下信息进行缓存源IP地址、源端口号、目的IP地址,目的端口号、SQL语句、请求发起时间、返回内容。4根据权利要求13任一所述的方法,其特征在于,步骤4中系统定期对缓存里面的信息进行扫描,将请求发起时间与当前时间进行对比,如果时长超过指定阈值,则从缓存中清除该信息项。5根据权利要求1所述的方法,其特征在于,本发明在WEB服务器或其他应用服务器的两侧即用户访问侧和数据库访问侧进行抓包分析。6根据权利要求1所述的方法,其特征在于,缓存超时阀值还能够根据系统的硬件条件以及实际的运行环境灵活配置。7根据权利要求1所述的方法,其特征在于,对于系统吞吐量大且审计实时性要求较高的应用环境,将关联分析模块独立在。
5、一个单独的机器或者多机上运行。权利要求书CN104113598A1/3页3一种数据库三层审计的方法技术领域0001本发明涉及数据库审计技术领域,尤其涉及一种数据库三层审计的方法。背景技术0002在现有的数据库审计系统中,通常都是用户终端直接发出SQL请求到数据库服务器,系统通过用户请求的数据包里面的信息,对SQL语句进行分析,可以将访问数据库的请求与实际用户直接关联起来,从而生成审计信息。0003但是在有些应用环境中,用户是通过浏览器向WEB服务器发出请求,然后由WEB服务器再向数据库发出访问请求,在这种情况下,用户的请求里面通常都没有携带SQL信息,原有的通过用户请求数据包里面的信息直接进行。
6、审计的方法就失效了,必须要将用户请求与数据库访问请求关联起来,才能准确的审计出实际的数据库访问用户。0004目前通过将访问WEB服务器时间与访问数据库时间进行关联的方法,发现实际访问数据库的用户。这种方法只适用于用户访问量不大的情景,当用户访问量很大的时候,这种方法误差较大。0005此外,WEB服务器提供专门的审计接口,将用户访问与数据库访问关联关系提供给审计系统。这种方法实施难度大,会影响现有WEB服务器的业务,难以维护升级。发明内容0006本发明为了解决现有技术中数据库三层审计用户请求和数据库访问关联准确性不够的缺点或不足,提出了一种数据库三层审计的方法,采用了通过返回值进行关联,从而实现。
7、了准确关联实际操作用户的目的。0007一种数据库三层审计的方法,该方法在三层架构中将WEB请求与数据库访问的请求关联起来,通过这种关联得到实际发起数据库访问请求的终端用户,生成审计信息,具体流程如下00081在WEB服务器两端同时进行抓包并缓存相关的链路信息;00092将用户WEB请求的返回内容与数据库请求缓存中的SQL请求的返回内容逐一进行模糊匹配,如果匹配成功,则将WEB访问缓存中的对应项与数据库访问请求缓存中的对应项关联起来;00103对返回内容匹配成功的SQL语句进行分析,将SQL分析结果与相应的WEB请求用户进行关联,生成审计信息;00114如果匹配成功,则在生成审计信息后,将关联的。
8、项从对应的缓存中删除;如果匹配不成功,则只删除WEB请求信息缓存中的对应项。0012优选地,本发明将用户对WEB服务器的访问进行旁路抓包,并将如下信息进行缓存源IP地址、源端口号、目的IP地址,目的端口号、源MAC地址、请求发起时间、返回内容。0013优选地,本发明将WEB服务器对数据库服务器的访问进行旁路抓包,并将如下信息进行缓存源IP地址、源端口号、目的IP地址,目的端口号、SQL语句、请求发起时间、返说明书CN104113598A2/3页4回内容。0014优选地,本发明步骤4中系统定期对缓存里面的信息进行扫描,将请求发起时间与当前时间进行对比,如果时长超过指定阈值,则从缓存中清除该信息项。
9、。0015本发明技术方案带来的有益效果0016通过本发明无需改变用户的运行环境,且无需修改用户的业务系统,就能够进行精确的数据库三层访问审计,不会对现有业务系统造成影响。附图说明0017为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。0018图1是本发明方法的架构部署图;0019图2是本发明实施例的流程图。具体实施方式0020下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清。
10、楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。0021针对现有技术的不足,本发明提供了一种数据库三层审计的方法,这种方法可以在三层架构中准确将WEB请求与数据库访问的请求关联起来,通过这种关联得到实际发起数据库访问请求的终端用户,同时这种方法不会对现有业务系统造成影响。0022本发明的原理00231如果用户的请求需要访问数据库,那么数据库的返回结果通常会返回给发起这一请求的用户。00242通过将数据库返回给WEB服务器的内容与WEB服务器返回给终。
11、端用户的内容进行模糊匹配,可以关联到发起数据库访问的实际终端用户。00253通过对WEB服务器访问数据库的SQL进行审计,将审计结果对应到关联到的终端用户,可以满足实际的安全审计需要。0026如图1所示为本发明方法的架构部署图,将审计系统的相应的两个抓包口分别连接在WEB服务器两侧用户侧与数据库服务器侧的两个镜像口,运行系统就可以进行正常审计。本发明在WEB服务器或其他应用服务器的两侧即用户访问侧和数据库访问侧进行抓包分析。0027通过以上原理,实现本发明采用如下方案00281在WEB服务器两端同时进行抓包并缓存相关的链路信息。0029将用户对WEB服务器的访问进行旁路抓包,并将如下信息进行缓。
12、存源IP地址、源端口号、目的IP地址,目的端口号、源MAC地址、请求发起时间、返回内容。0030将WEB服务器对数据库服务器的访问进行旁路抓包,并将如下信息进行缓存源说明书CN104113598A3/3页5IP地址、源端口号、目的IP地址,目的端口号、SQL语句、请求发起时间、返回内容。00312将用户WEB请求的返回内容与数据库请求缓存中的SQL请求的返回内容逐一进行模糊匹配,如果匹配成功,则将WEB访问缓存中的对应项与数据库访问请求缓存中的对应项关联起来。00323对返回内容匹配成功的SQL语句进行分析,将SQL分析结果与相应的WEB请求用户进行关联,生成审计信息。00334如果匹配成功,。
13、则在生成审计信息后,将关联的项从对应的缓存中删除;如果匹配不成功,则只删除WEB请求信息缓存中的对应项;系统定期对缓存里面的信息进行扫描,将请求发起时间与当前时间进行对比,如果时长超过指定阈值,则从缓存中清除该信息项。0034具体实施如图2所示00351用户使用IE浏览器通过HTTP协议向WEB服务器发送信息查询请求;00362WEB服务器收到请求,审计系统将该请求信息放入缓存CACHE1;00373WEB服务器根据HTTP请求内容向数据库服务器通过TDS协议发送SQL查询命令,审计系统将该请求信息放入缓存CACHE2;00384数据库服务器通过TDS协议返回查询结果,审计系统将该结果内容添加。
14、进缓存CACHE2中的对应的项中;00395WEB服务器将相应的处理信息通过HTTP返回给对应的用户,审计系统将该返回信息内容添加进缓存CACHE1中的对应的项中;00406审计系统将缓存CACHE1中的返回内容与缓存CACHE2中的缓存内容逐项进行模糊匹配,如果匹配成功,则将缓存CACHE1中的相应项与缓存CACHE2中的相应项进行关联;00417审计系统将成功关联的项中的SQL语句进行分析,结合缓存项中的其他信息生成相应的审计信息;00428审计系统删除当前缓存CACHE1中的对应项,如果匹配成功也同时删除缓存CACHE2中的对应项;00439审计系统定期扫描缓存中的项,将缓存时间超过阈值。
15、的项删除。0044此外,本发明中缓存超时阀值可以根据系统的硬件条件以及实际的运行环境灵活配置。还可以对于系统吞吐量大且审计实时性要求较高的应用环境,将关联分析模块独立在一个单独的机器或者多机上运行。0045以上对本发明实施例所提供的一种数据库三层审计的方法进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。说明书CN104113598A1/1页6图1图2说明书附图CN104113598A。