CN104113598A - 一种数据库三层审计的方法 - Google Patents
一种数据库三层审计的方法 Download PDFInfo
- Publication number
- CN104113598A CN104113598A CN201410347465.4A CN201410347465A CN104113598A CN 104113598 A CN104113598 A CN 104113598A CN 201410347465 A CN201410347465 A CN 201410347465A CN 104113598 A CN104113598 A CN 104113598A
- Authority
- CN
- China
- Prior art keywords
- request
- buffer memory
- database
- carried out
- information
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据库三层审计的方法,该方法在三层架构中将WEB请求与数据库访问的请求关联起来,通过这种关联得到实际发起数据库访问请求的终端用户,生成审计信息。通过本发明无需改变用户的运行环境,且无需修改用户的业务系统,就可以进行精确的数据库三层访问审计,不会对现有业务系统造成影响。
Description
技术领域
本发明涉及数据库审计技术领域,尤其涉及一种数据库三层审计的方法。
背景技术
在现有的数据库审计系统中,通常都是用户终端直接发出SQL请求到数据库服务器,系统通过用户请求的数据包里面的信息,对SQL语句进行分析,可以将访问数据库的请求与实际用户直接关联起来,从而生成审计信息。
但是在有些应用环境中,用户是通过浏览器向WEB服务器发出请求,然后由WEB服务器再向数据库发出访问请求,在这种情况下,用户的请求里面通常都没有携带SQL信息,原有的通过用户请求数据包里面的信息直接进行审计的方法就失效了,必须要将用户请求与数据库访问请求关联起来,才能准确的审计出实际的数据库访问用户。
目前通过将访问WEB服务器时间与访问数据库时间进行关联的方法,发现实际访问数据库的用户。这种方法只适用于用户访问量不大的情景,当用户访问量很大的时候,这种方法误差较大。
此外,WEB服务器提供专门的审计接口,将用户访问与数据库访问关联关系提供给审计系统。这种方法实施难度大,会影响现有WEB服务器的业务,难以维护升级。
发明内容
本发明为了解决现有技术中数据库三层审计用户请求和数据库访问关联准确性不够的缺点或不足,提出了一种数据库三层审计的方法,采用了通过返回值进行关联,从而实现了准确关联实际操作用户的目的。
一种数据库三层审计的方法,该方法在三层架构中将WEB请求与数据库访问的请求关联起来,通过这种关联得到实际发起数据库访问请求的终端用户,生成审计信息,具体流程如下:
1)在WEB服务器两端同时进行抓包并缓存相关的链路信息;
2)将用户WEB请求的返回内容与数据库请求缓存中的SQL请求的返回内容逐一进行模糊匹配,如果匹配成功,则将WEB访问缓存中的对应项与数据库访问请求缓存中的对应项关联起来;
3)对返回内容匹配成功的SQL语句进行分析,将SQL分析结果与相应的WEB请求用户进行关联,生成审计信息;
4)如果匹配成功,则在生成审计信息后,将关联的项从对应的缓存中删除;如果匹配不成功,则只删除WEB请求信息缓存中的对应项。
优选地,本发明将用户对WEB服务器的访问进行旁路抓包,并将如下信息进行缓存:源IP地址、源端口号、目的IP地址,目的端口号、源MAC地址、请求发起时间、返回内容。
优选地,本发明将WEB服务器对数据库服务器的访问进行旁路抓包,并将如下信息进行缓存:源IP地址、源端口号、目的IP地址,目的端口号、SQL语句、请求发起时间、返回内容。
优选地,本发明步骤4)中系统定期对缓存里面的信息进行扫描,将请求发起时间与当前时间进行对比,如果时长超过指定阈值,则从缓存中清除该信息项。
本发明技术方案带来的有益效果:
通过本发明无需改变用户的运行环境,且无需修改用户的业务系统,就能够进行精确的数据库三层访问审计,不会对现有业务系统造成影响。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本发明方法的架构部署图;
图2是本发明实施例的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
针对现有技术的不足,本发明提供了一种数据库三层审计的方法,这种方法可以在三层架构中准确将WEB请求与数据库访问的请求关联起来,通过这种关联得到实际发起数据库访问请求的终端用户,同时这种方法不会对现有业务系统造成影响。
本发明的原理:
1)如果用户的请求需要访问数据库,那么数据库的返回结果通常会返回给发起这一请求的用户。
2)通过将数据库返回给WEB服务器的内容与WEB服务器返回给终端用户的内容进行模糊匹配,可以关联到发起数据库访问的实际终端用户。
3)通过对WEB服务器访问数据库的SQL进行审计,将审计结果对应到关联到的终端用户,可以满足实际的安全审计需要。
如图1所示为本发明方法的架构部署图,将审计系统的相应的两个抓包口分别连接在WEB服务器两侧(用户侧与数据库服务器侧)的两个镜像口,运行系统就可以进行正常审计。本发明在WEB服务器或其他应用服务器的两侧即用户访问侧和数据库访问侧进行抓包分析。
通过以上原理,实现本发明采用如下方案:
1)在WEB服务器两端同时进行抓包并缓存相关的链路信息。
将用户对WEB服务器的访问进行旁路抓包,并将如下信息进行缓存:源IP地址、源端口号、目的IP地址,目的端口号、源MAC地址、请求发起时间、返回内容。
将WEB服务器对数据库服务器的访问进行旁路抓包,并将如下信息进行缓存:源IP地址、源端口号、目的IP地址,目的端口号、SQL语句、请求发起时间、返回内容。
2)将用户WEB请求的返回内容与数据库请求缓存中的SQL请求的返回内容逐一进行模糊匹配,如果匹配成功,则将WEB访问缓存中的对应项与数据库访问请求缓存中的对应项关联起来。
3)对返回内容匹配成功的SQL语句进行分析,将SQL分析结果与相应的WEB请求用户进行关联,生成审计信息。
4)如果匹配成功,则在生成审计信息后,将关联的项从对应的缓存中删除;如果匹配不成功,则只删除WEB请求信息缓存中的对应项;系统定期对缓存里面的信息进行扫描,将请求发起时间与当前时间进行对比,如果时长超过指定阈值,则从缓存中清除该信息项。
具体实施如图2所示:
1)用户使用IE浏览器通过HTTP协议向WEB服务器发送信息查询请求;
2)WEB服务器收到请求,审计系统将该请求信息放入缓存cache1;
3)WEB服务器根据HTTP请求内容向数据库服务器通过TDS协议发送SQL查询命令,审计系统将该请求信息放入缓存cache2;
4)数据库服务器通过TDS协议返回查询结果,审计系统将该结果内容添加进缓存cache2中的对应的项中;
5)WEB服务器将相应的处理信息通过HTTP返回给对应的用户,审计系统将该返回信息内容添加进缓存cache1中的对应的项中;
6)审计系统将缓存cache1中的返回内容与缓存cache2中的缓存内容逐项进行模糊匹配,如果匹配成功,则将缓存cache1中的相应项与缓存cache2中的相应项进行关联;
7)审计系统将成功关联的项中的SQL语句进行分析,结合缓存项中的其他信息生成相应的审计信息;
8)审计系统删除当前缓存cache1中的对应项,如果匹配成功也同时删除缓存cache2中的对应项;
9)审计系统定期扫描缓存中的项,将缓存时间超过阈值的项删除。
此外,本发明中缓存超时阀值可以根据系统的硬件条件以及实际的运行环境灵活配置。还可以对于系统吞吐量大且审计实时性要求较高的应用环境,将关联分析模块独立在一个单独的机器或者多机上运行。
以上对本发明实施例所提供的一种数据库三层审计的方法进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (7)
1.一种数据库三层审计的方法,其特征在于,该方法在三层架构中将WEB请求与数据库访问的请求关联起来,通过这种关联得到实际发起数据库访问请求的终端用户,生成审计信息,具体流程如下:
1)在WEB服务器两端同时进行抓包并缓存相关的链路信息;
2)将用户WEB请求的返回内容与数据库请求缓存中的SQL请求的返回内容逐一进行模糊匹配,如果匹配成功,则将WEB访问缓存中的对应项与数据库访问请求缓存中的对应项关联起来;
3)对返回内容匹配成功的SQL语句进行分析,将SQL分析结果与相应的WEB请求用户进行关联,生成审计信息;
4)如果匹配成功,则在生成审计信息后,将关联的项从对应的缓存中删除;如果匹配不成功,则只删除WEB请求信息缓存中的对应项。
2.根据权利要求1所述的方法,其特征在于,将用户对WEB服务器的访问进行旁路抓包,并将如下信息进行缓存:源IP地址、源端口号、目的IP地址,目的端口号、源MAC地址、请求发起时间、返回内容。
3.根据权利要求1所述的方法,其特征在于,将WEB服务器对数据库服务器的访问进行旁路抓包,并将如下信息进行缓存:源IP地址、源端口号、目的IP地址,目的端口号、SQL语句、请求发起时间、返回内容。
4.根据权利要求1-3任一所述的方法,其特征在于,步骤4)中系统定期对缓存里面的信息进行扫描,将请求发起时间与当前时间进行对比,如果时长超过指定阈值,则从缓存中清除该信息项。
5.根据权利要求1所述的方法,其特征在于,本发明在WEB服务器或其他应用服务器的两侧即用户访问侧和数据库访问侧进行抓包分析。
6.根据权利要求1所述的方法,其特征在于,缓存超时阀值还能够根据系统的硬件条件以及实际的运行环境灵活配置。
7.根据权利要求1所述的方法,其特征在于,对于系统吞吐量大且审计实时性要求较高的应用环境,将关联分析模块独立在一个单独的机器或者多机上运行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410347465.4A CN104113598A (zh) | 2014-07-21 | 2014-07-21 | 一种数据库三层审计的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410347465.4A CN104113598A (zh) | 2014-07-21 | 2014-07-21 | 一种数据库三层审计的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104113598A true CN104113598A (zh) | 2014-10-22 |
Family
ID=51710230
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410347465.4A Pending CN104113598A (zh) | 2014-07-21 | 2014-07-21 | 一种数据库三层审计的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104113598A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105373603A (zh) * | 2015-11-09 | 2016-03-02 | 杭州安恒信息技术有限公司 | 一种提高三层关联精准度的方法 |
CN106970939A (zh) * | 2017-02-14 | 2017-07-21 | 深圳昂楷科技有限公司 | 一种数据库审计方法及其系统 |
CN107479988A (zh) * | 2017-08-01 | 2017-12-15 | 西安交大捷普网络科技有限公司 | 基于dcom的三层关联审计方法 |
CN107911466A (zh) * | 2017-11-29 | 2018-04-13 | 北京安华金和科技有限公司 | 一种多层架构下应用关联方法 |
CN108595971A (zh) * | 2018-04-25 | 2018-09-28 | 杭州闪捷信息科技股份有限公司 | 一种数据库自适应加密方法 |
CN109408499A (zh) * | 2018-10-22 | 2019-03-01 | 福建星瑞格软件有限公司 | 一种匹配数据库访问用户的审计方法及系统 |
CN109889292A (zh) * | 2019-01-29 | 2019-06-14 | 同济大学 | 一种三层关联审计中的时间偏差校准方法 |
CN112199677A (zh) * | 2020-11-03 | 2021-01-08 | 安徽中安睿御科技有限公司 | 一种数据处理方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090049547A1 (en) * | 2007-08-13 | 2009-02-19 | Yuan Fan | System for real-time intrusion detection of SQL injection web attacks |
CN101388899A (zh) * | 2007-09-12 | 2009-03-18 | 北京启明星辰信息技术有限公司 | 一种Web服务器前后台关联审计方法及系统 |
CN202068439U (zh) * | 2011-05-20 | 2011-12-07 | 广东商学院 | 企业应用安全统一审计平台 |
CN103886024A (zh) * | 2014-02-24 | 2014-06-25 | 上海上讯信息技术股份有限公司 | 一种基于多层业务关联的数据库审计方法及系统 |
-
2014
- 2014-07-21 CN CN201410347465.4A patent/CN104113598A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090049547A1 (en) * | 2007-08-13 | 2009-02-19 | Yuan Fan | System for real-time intrusion detection of SQL injection web attacks |
CN101388899A (zh) * | 2007-09-12 | 2009-03-18 | 北京启明星辰信息技术有限公司 | 一种Web服务器前后台关联审计方法及系统 |
CN202068439U (zh) * | 2011-05-20 | 2011-12-07 | 广东商学院 | 企业应用安全统一审计平台 |
CN103886024A (zh) * | 2014-02-24 | 2014-06-25 | 上海上讯信息技术股份有限公司 | 一种基于多层业务关联的数据库审计方法及系统 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105373603A (zh) * | 2015-11-09 | 2016-03-02 | 杭州安恒信息技术有限公司 | 一种提高三层关联精准度的方法 |
CN105373603B (zh) * | 2015-11-09 | 2019-09-13 | 杭州安恒信息技术股份有限公司 | 一种提高三层关联精准度的方法 |
CN106970939A (zh) * | 2017-02-14 | 2017-07-21 | 深圳昂楷科技有限公司 | 一种数据库审计方法及其系统 |
CN106970939B (zh) * | 2017-02-14 | 2019-09-03 | 深圳昂楷科技有限公司 | 一种数据库审计方法及其系统 |
CN107479988A (zh) * | 2017-08-01 | 2017-12-15 | 西安交大捷普网络科技有限公司 | 基于dcom的三层关联审计方法 |
CN107911466A (zh) * | 2017-11-29 | 2018-04-13 | 北京安华金和科技有限公司 | 一种多层架构下应用关联方法 |
CN108595971A (zh) * | 2018-04-25 | 2018-09-28 | 杭州闪捷信息科技股份有限公司 | 一种数据库自适应加密方法 |
CN109408499A (zh) * | 2018-10-22 | 2019-03-01 | 福建星瑞格软件有限公司 | 一种匹配数据库访问用户的审计方法及系统 |
CN109889292A (zh) * | 2019-01-29 | 2019-06-14 | 同济大学 | 一种三层关联审计中的时间偏差校准方法 |
CN109889292B (zh) * | 2019-01-29 | 2020-10-02 | 同济大学 | 一种三层关联审计中的时间偏差校准方法 |
CN112199677A (zh) * | 2020-11-03 | 2021-01-08 | 安徽中安睿御科技有限公司 | 一种数据处理方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104113598A (zh) | 一种数据库三层审计的方法 | |
CN103051725B (zh) | 应用识别方法、数据挖掘方法、装置及系统 | |
CN101639879B (zh) | 数据库安全监控方法、装置及其系统 | |
CN103368978B (zh) | 实现智能移动终端应用漏洞和通信安全检测的方法 | |
CN109314664B (zh) | 僵尸主控机发现设备和方法 | |
CN103179100B (zh) | 一种防止域名系统隧道攻击的方法及设备 | |
CN104869181B (zh) | 一种nat444部署下用户数据溯源的方法 | |
CN101582856B (zh) | 一种门户服务器与宽带接入设备的会话建立方法及其系统 | |
CN102710504A (zh) | 应用识别方法和装置 | |
CN111200665B (zh) | 一种用户溯源方法、装置及计算机可读存储介质 | |
CN102801698B (zh) | 一种基于url请求时序的恶意代码检测方法和系统 | |
CN105939327A (zh) | 审计日志的生成方法及装置 | |
CN111372238B (zh) | 登录方法、装置、电子设备及计算机可读存储介质 | |
Xing et al. | Research on the defense against ARP spoofing attacks based on Winpcap | |
CN105871919A (zh) | 一种网络应用防火墙系统及其实现方法 | |
CN108429785A (zh) | 一种爬虫识别加密串的生成方法、爬虫识别方法及装置 | |
CN103916492A (zh) | 一种网络设备访问控制方法及装置 | |
WO2016070633A1 (zh) | 上网日志生成方法和装置 | |
EP3465986B1 (en) | Method and system for augmenting network traffic flow reports | |
CN106067879A (zh) | 信息的检测方法及装置 | |
CN103971059A (zh) | 一种Cookie本地存储与使用方法 | |
CN109286506B (zh) | 一种流量计费的方法、系统及装置 | |
KR102314557B1 (ko) | 보안 통제 관리 시스템 및 그 방법 | |
KR101933594B1 (ko) | 과금 제어 장치, 방법 및 시스템 | |
CN104735050B (zh) | 一种融合mac认证和web认证的认证方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20141022 |