定位访问数据库用户主机信息的方法

文档序号:7549934阅读:274来源:国知局
专利名称:定位访问数据库用户主机信息的方法
技术领域
本发明涉及数据库安全审计技术领域,更为具体地,涉及一种定位访问数据库用户主机信息的方法及装置。
背景技术
数据库安全审计系统主要用于监视并记录对数据库服务器的各类操作行为,通过对网络数据的分析,实时地、智能地解析对数据库服务器的各种操作,并记入审计数据库中以便日后进行查询、分析、过滤,实现对目标数据库系统的用户操作的监控和审计。它可以监控和审计用户对数据库中的数据库表、视图、序列、包、存储过程、函数、库、索引、同义词、快照、触发器等的创建、修改和删除等,分析的内容可以精确到SQL操作语句一级。它还可以根据设置的规则,智能的判断出违规操作数据库的行为,并对违规行为进行记录、报警。由于数据库安全审计系统是以网络旁路的方式工作于数据库主机所在的网络,因此它可以在根本不改变数据库系统的任何设置的情况下对数据库的操作实现跟踪记录、定位,实现数据库的在线监控,在不影响数据库系统自身性能的前提下,实现对数据库的在线监控和保护,及时地发现网络上针对数据库的违规操作行为并进行记录、报警和实时阻断,有效地弥补现有应用业务系统在数据库安全使用上的不足,为数据库系统的安全运行提供有力保障。图8示出了现有数据库安全审计系统网络的部署示意图。如图8所示,现有数据库安全审计系统只监控数据库服务器接入的交换机上数据库操作信息,而现有网络环境中访问数据库通常会采用中间件的方式,假设在应用服务器上,采用中间件的方式访问数据库服务器,数据库安全审计系统在监测数据库操作的同时,只能定位到访问数据库的操作是应用服务器发起的,而无法确定具体是从哪台主机发起的请求。当存在非法的用户,采用SQL注入等方式,造成数据被恶意篡改或删除时,就无法定位具体是由哪台主机发起的。同时这个问题还存在下面这种情况:在内网的环境内,存在一台应用服务器,拥有双网卡,其中一个网卡接在内网的交换机中,另外一个网卡接在另外的交换机上,该交换机用来连接其它网络,当然这台应用服务器通常会关掉大部分端口,只开启必要的服务端口,例如只开启22端口。在这种情况下就会存在一个漏洞,非法用户可以在应用服务器上面安装一个端口代理软件,通过应用服务器做中转获取数据库中的数据,以Mysql数据库为例,数据库访问端口通常为3306,端口代理软件可以在内网中使用内网IP地址访问数据库服务器的3306端口,然后将获取的数据转发外网地址的22端口,同时也可以将22端口的数据转发给3306,从而形成一条数据通路,达到外网主机访问内网数据库的功能。在数据库安全审计系统中,最重要的是要定位到具体是哪台主机用哪个数据库用户访问了数据库,而从以上两种情况来看,不管是中间件还是端口代理,他们都隐藏了访问数据库用户的主机信息,系统只能定位到安装中间件或者是安装端口代理软件的这台主机,而不能定位具体是哪台主机使用了中间件或者是端口代理软件访问的数据库。

发明内容
鉴于上述问题,本发明的目的是提供一种定位访问数据库用户主机信息的方法及装置能够快速定位访问数据库用户的主机信息。根据本发明的一个方面,提供一种定位访问数据库用户主机信息的方法,包括:获取网络数据;将获取的网络数据在数据库安全审计系统中生成数据库审计记录,并将数据库审计记录存入数据库中;获取关联规则配置过程中应用服务器端的信息,根据应用服务器端的主机地址和端口信息,将获取的网络数据按业务协议的解析规则对应用服务器端的业务协议进行业务解析,生成业务审计记录,并将业务审计记录存入数据库中;将所述数据库审计记录和所述业务审计记录根据关联配置规则进行关联,并将关联结果存入数据库中;将所述数据库审计记录和所述业务审计记录的关联结果在关联结果展现界面上呈现出来。其中,按照业务协议的解析规则对应用服务器端的业务协议进行业务解析的过程包括:判断业务协议是否为数据库业务协议,如果是数据库业务协议,则将业务协议解析生成数据库审计记录;如果不是数据库业务协议,判断业务协议是否为网页请求,如果是网页请求,则将业务协议解析生成网页审计记录;如果不是网页请求,则将业务协议的数据直接存放于数据库中。另一方面,本发明还提供一种定位访问数据库用户主机信息的装置,包括:网络数据获取单元,用于获取网络数据;数据库安全审计单元,用于对获取的网络数据进行解析,在数据库安全审计系统中生成数据库审计记录;业务分析单元,用于获取关联规则配置过程中应用服务器端的信息,根据应用服务器端的主机地址和端口信息,将获取的网络数据按业务协议的规则对应用服务器端的业务进行业务解析,并生成业务审计记录;关联分析单元,用于根据关联配置规则,关联所述数据库审计记录和所述业务审计记录;数据库单元,用于存储所述数据库审计记录、业务审计记录和数据库审计记录与所述业务审计记录的关联结果;界面呈现单元,用于直观显示关联规则配置界面和关联结果展现界面。利用上述根据本发明的定位访问数据库用户主机信息的方法和装置,通过对业务审计结果和数据审计结果的关联,能够实现快速定位访问数据库用户的主机信息,通过自定义规则产生相应的信息,减少非法用户对数据的篡改或删除操作,增加数据库系统的安全性。为了实现上述以及相关目的,本发明的一个或多个方面包括后面将详细说明并在权利要求中特别指出的特征。下面的说明以及附图详细说明了本发明的某些示例性方面。然而,这些方面指示的仅仅是可使用本发明的原理的各种方式中的一些方式。此外,本发明旨在包括所有这些方面以及它们的等同物。


通过参考以下结合附图的说明及权利要求书的内容,并且随着对本发明的更全面理解,本发明的其它目的及结果将更加明白及易于理解。在附图中:图1为本发明实施例的定位访问数据库用户主机信息的方法流程示意图;图2为本发明实施例的关联规则配置界面中的添加数据库的主机地址界面信息示意图;图3为本发明实施例的关联规则配置界面中的业务识别界面信息示意图;图4为本发明实施例的关联规则配置界面中的业务关联配置界面信息示意图;图5为本发明实施例的业务协议解析的规则流程示意图;图6为本发明实施例的关联结果展现界面信息示意图;图7为本发明实施例的定位访问数据库用户主机信息的装置结构示意图;图8为现有数据库安全审计系统网络的部署示意图。在所有附图中相同的标号指示相似或相应的特征或功能。
具体实施例方式以下将结合附图对本发明的具体实施例进行详细描述。图1示出了本发明实施例的一种定位访问数据库用户主机信息的方法流程示意图,如图1所示:SllO:获取网络数据;S120:将获取的网络数据在数据库安全审计系统中生成数据库审计记录,并将数据库审计结果存入数据库中;S130:获取关联规则配置过程中的应用服务器端的信息,根据应用服务器端的主机地址和端口信息,将获取的网络数据按业务协议的解析规则对应用服务器端的业务协议进行业务解析,生成业务审计记录,并将业务审计记录存入数据库中;S140:将数据库审计记录和业务审计记录根据关联配置规则进行关联,并将关联结果存入数据库中;S150:将数据库审计记录和业务审计记录的关联结果呈现在关联结果展现界面上。可以看出,图1所示的技术方案,是在原有的数据库安全审计流程的基础上,增加了对应用服务器中业务数据的处理和关联性为分析,对数据库审计结果和业务审计结果按照设计的规则进行关联,通过分析得到访问数据库用户的主机信息。下面将分别对发明定位访问数据库用户主机信息的方法中的步骤进行详细说明。其中,步骤SllO中获取网络数据的过程主要实现报文获取,碎片重组,会话跟踪,分析调度等功能,具体可以包括如下流程:Slll:从网络驱动中获取报文,保存到本地的报文缓冲队列中,等待碎片重组处理;S112:如果从报文缓冲队列中获取的数据包不能保证是完整和有序的,则对不完整的碎片包进行重组,解决乱序问题;S113:将报文识别为流,并分析该流的所属用户,统计报文计数、流量信息等;S114:将整理好的会话信息和报文按协议ID的类型,分发到指定的审计分析函数中。在本发明的实施例中,关联规则配置过程包括:添加数据库的主机地址、业务识别和业务关联配置。在本发明的实施例中,由于需要对应用服务器端获取的网络数据进行业务解析,而应用服务器端的业务又是根据关联规则配置过程中的业务识别中配置的主机地址和端口信息来进行解析的,因此需要在关联规则配置过程中的业务识别中添加应用服务器的业务识别信息,包含应用服务器的主机地址和端口信息。为了能更清楚说明关联规则配置过程,以下将结合图2、图3和图4对步骤S130的关联规则配置过程进行说明。图2示出了根据本发明实施例的关联规则配置过程中的添加数据库的主机地址界面信息。如图2所示:在页面中添加数据库的主机地址并保存。图3示出了根据本发明实施例的关联规则配置过程中的业务识别界面信息。如图3所示:在业务识别中添加应用服务器的主机地址和端口信息,并保存。由于需要知道业务类型,才能在业务关联配置过程中判断是否需要手动添加url相关参数,因此,在业务识别过程中需要对应用服务器端的业务进行识别,业务识别的规则为:判断业务是否为数据库业务,如果不是,判断业务是否为网页请求,如果不是,则为自定义业务,将数据原始码流展现出来,供用户自己去识别。图4示出了根据本发明实施例的关联规则配置过程中的业务关联配置界面信息。在图4所示的Web应用示例中,在业务关联配置界面中,根据业务识别过程中识别的业务类型判断业务是否为网页请求,如果是网页请求,则在业务关联配置界面中手动添加url相关参数,包括业务url和业务url参数;如果不是网页请求,则不添加url相关参数。在本发明的实施例中,业务关联配置界面中的参数库名、表名、列名是可选参数,如果填写了,则会根据配置界面中给出的权值计算出数据库审计记录与业务审计记录的关联度。由于业务审计记录是根据应用服务器端获取的网络数据进行解析的,而应用服务器端的业务解析又是根据关联规则配置过程中的业务识别界面中配置的主机地址和端口信息来进行解析的,其中,主要是对端口中的业务协议进行解析。图5示出了本发明实施例的业务协议解析的规则流程示意图。如图5所示:业务协议解析的规则为先判断业务协议是否为数据库业务协议,如果是数据库业务协议,则将业务协议解析生成数据库审计记录;如果不是数据库业务协议,判断业务协议是否为网页请求,如果是网页请求,则将业务协议解析生成网页审计记录;如果不是网页请求,则为自定义业务,不解析协议的内容,直接将业务协议的数据存放于数据库中,供用户人工分析时使用。要得到访问数据库用户的主机信息,就需要将应用服务器端的业务审计记录与数据库安全审计系统中的数据库审计记录相关联。在本发明的实施例中,根据关联配置规则可以将业务审计记录与数据库审计记录相关联,从而得到访问数据库用户的主机信息。由于数据库审计记录与业务审计记录在生成时都会产生相应的时间戳,以业务审计记录的时间戳为查询条件,就能查询到相应的数据库审计记录,因此关联配置规则为:读取应用服务器端的业务审计记录的时间戳,通过时间戳调用数据库安全审计系统中的GetDBIFINFO接口函数,获得相关的数据库审计记录;再判断数据库审计记录与关联配置界面中配置的配置项是否一致,如果一致,根据预设的权值加上时间的权值,计算出数据库审计记录和业务审计记录的权值,将数据库审计记录和业务审计记录的关联结果存储到数据库中,最后将数据库审计记录和业务审计记录的关联结果在关联结果展现界面上呈现出来。图6示出了根据本发明实施例的关联结果展现界面信息。如图6所示:在本发明的实施例中,关联结果展现界面中显示了从添加数据库的主机地址界面信息中读取的数据库的主机地址,以及从业务识别界面读取的应用服务器地址和从业务配置界面中读取的业务url,并且还呈现出业务审计记录和数据库审计记录的关联结果,通过调节关联时间,展现出访问数据库用户的主机信息和该主机访问数据库的方式等信息。在本发明的实施例中,由于关联配置规则中需要通过业务审计记录的时间戳调用数据库安全审计系统中的GetDBIFINFO接口函数,而原有数据库安全审计系统中是没有这个接口函数的,因此需要对此接口函数进行定义。其中,数据库返回信息描述类如下:
权利要求
1.一种定位访问数据库用户主机信息的方法,包括: 获取网络数据; 将获取的网络数据在数据库安全审计系统中生成数据库审计记录并将所述数据库审计记录存入数据库中; 获取关联规则配置过程中的应用服务器端的信息,根据所述应用服务器端的主机地址和端口信息,将获取的网络数据按业务协议的解析规则对应用服务器端的业务协议进行业务解析,生成业务审计记录,并将所述业务审计记录存入数据库中; 将所述数据库审计记录和所述业务审计记录根据关联配置规则进行关联,并将关联结果存入数据库中; 将所述数据库审计记录和所述业务审计记录的关联结果在关联结果展现界面上呈现出来。
2.按权利要求1所述的定位访问数据库用户主机信息的方法,其中,所述获取网络数据的过程包括: 从网络驱动中获取报文,保存到本地的报文缓冲队列中,等待碎片重组处理; 如果从所述报文缓冲队列中获取的数据包不能保证是完整和有序的,则对不完整的碎片包进行重组,解决乱序问题; 将报文识别为流,并分析所述流的所属用户,统计报文计数、流量信息; 将整理好的会话信息和报文按协议ID的类型,分发到指定的审计分析函数中。
3.按权利要求1所述的定位访问数据库用户主机信息的方法,其中,所述关联规则配置过程包括: 添加数据库的主机地址; 添加应用服务器端的业务识别信息,所述业务识别信息包含应用服务器的主机地址和端口信息,其中,所述应用服务器端的业务识别方法包括:判断业务是否为数据库业务,如果不是,判断业务是否为网页请求,如果不是,则为自定义业务; 根据所述业务识别界面识别的业务类型判断业务是否为网页请求,如果是网页请求,则在业务关联配置界面手动添加url相关参数;如果不是网页请求,则不添加url相关参数。
4.按权利要求1所述的定位访问数据库用户主机信息的方法,其中,按照业务协议的解析规则对应用服务器端的业务协议进行业务解析的过程包括: 判断业务协议是否为数据库业务协议,如果是数据库业务协议,则将业务协议解析生成数据库审计记录;如果不是数据库业务协议,判断业务协议是否为网页请求,如果是网页请求,则将业务协议解析生成网页审计记录;如果不是网页请求,则将业务协议的数据直接存放于数据库中。
5.按权利要求1所述的定位访问数据库用户主机信息的方法,其中,将所述数据库审计记录和所述业务审计记录根据关联配置规则进行关联的过程包括: 读取所述业务审计记录的时间戳,通过所述时间戳调用数据库安全审计系统中的接口函数,获得相关的数据库审计记录; 判断所述数据库审计记录中的信息与所述业务关联配置过程中配置的配置项是否一致,如果一致,根据预设的权值加上时间的权值,计算数据库审计记录和业务审计记录的权值。
6.按权利要求5所述的定位访问数据库用户主机信息的方法,其中,所述接口函数描述如下:vector<T_pDBIfInfo>GetDBIFINFO(long P_nSec, long P_nPeriod) 其中,P_nSec为查询审计记录时间戳,P_nPeriod为查询审计记录时间范围。
7.一种定位访问数据库用户主机信息的装置,包括: 网络数据获取单元,用于获取网络数据; 数据库安全审计单元,用于对获取的网络数据进行解析,在数据库安全审计系统中生成数据库审计记录; 业务分析单元,用于获取关联规则配置过程中应用服务器端的信息,根据所述应用服务器端的主机地址和端口信息,将获取的网络数据按业务协议的规则对应用服务器端的业务进行业务解析,并生成业务审计记录; 关联分析单元,用于根据关联配置规则,关联所述数据库审计记录和所述业务审计记录; 数据库单元,用于存储所述数据库审计记录、业务审计记录和数据库审计记录与所述业务审计记录的关联结果; 界面呈现单元,用于直观显示关联规则配置界面和关联结果展现界面。
8.按权利要求7所述的定位访问数据库用户主机信息的装置,其中,所述网络数据获取单元包括: 报文获取单元,用于从网络驱动中获取报文,保存到本地的报文缓冲队列中,等待碎片重组处理; 碎片重组单元,用于在从所述报文缓冲队列中获取的数据包不能保证是完整和有序的情况下,对不完整的碎片包进行重组,解决乱序问题; 会话跟踪单元,用于将报文识别为流,并分析所述流的所属用户,统计报文计数、流量信息; 分析调度单元,用于将整理好的会话信息和报文按协议ID的类型,分发到指定的审计分析函数中。
9.按权利要求7所述的定位访问数据库用户主机信息的装置,其中,所述业务分析单元包括: 主机地址添加单元,用于添加数据库的主机地址; 业务界面识别单元,用于添加应用服务器端的业务识别信息,所述业务识别信息包含应用服务器的主机地址和端口信息,其中,所述应用服务器端的业务识别方法包括:判断业务是否为数据库业务,如果不是,判断业务是否为网页请求,如果不是,则为自定义业务;业务关联配置单元,用于根据所述业务识别界面识别的业务类型判断业务是否为网页请求,如果是网页请求,则在业务关联配置界面手动添加url相关参数;如果不是网页请求,则不添加url相关参数。
10.按权利要求7所述的定位访问数据库用户主机信息的装置,其中,所述关联分析单元包括: 审计记录获取单元,用于读取所述业务审计记录的时间戳,通过所述时间戳调用数据库安全审计系统中的接口函数,获得相关的数据库审计记录; 配置项判别单元,用于判断所述数据库审计记录中的信息与所述业务关联配置过程中配置的配置项是否一致,如果一致,根据预设的权值加上时间的权值,计算数据库审计记录和业务审计记录的权值 。
全文摘要
本发明提供了一种定位访问数据库用户主机信息的方法及装置,包括将获取的网络数据的在数据库安全审计系统中生成数据库审计记录并存入数据库中,获取关联规则配置过程中的应用服务器端的信息,根据应用服务器端得主机地址和端口信息将获取的网络数据按业务协议的解析规则对应用服务器端获取的网络数据进行业务解析,生成业务审计记录,再按照自定义的关联配置规则将数据库审计记录和业务审计记录相关联,从而得到访问数据库用户的主机信息。本发明能够实现快速定位访问数据库用户的主机信息,通过自定义规则产生相应的信息,减少非法用户对数据的篡改或删除操作,增加数据库系统的安全性。
文档编号H04L12/26GK103095693SQ20131000582
公开日2013年5月8日 申请日期2013年1月8日 优先权日2013年1月8日
发明者刘凯, 王升平 申请人:北京中创信测科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1