一种Oracle数据库审计方法及系统的制作方法

文档序号:6610291阅读:418来源:国知局
专利名称:一种Oracle数据库审计方法及系统的制作方法
技术领域
本发明涉及可用于网络业务审计产品中的一种Oracle数据库审计方法及系 统,它依据网络数据流中报文具有的特征对各种版本oracle数据库客户端使用 的TNS协议进行解析,属于网络技术领域。
背景技术
网络业务审计系统是目前应用日益广泛的作为网络安全防护的重要手段,它 通过对业务系统中可信人员的网络活动进行解析、记录、分析以帮助管理人员 事前规划预防、事中实时监控、违规行为阻止和事后追査网络运营事故,从而 帮助用户加强内外部网络行为监管、避免核心资产(数据库、服务器、网络设 备)损失、保障客户业务系统的正常运营,是企业实现IT管理和控制的最佳实 践。其中在金融、电信等行业当中大量使用的数据库系统对于审计的要求尤为 重要,行业内部经常需要对于业务系统当中的用户对于数据库的操作进行准确 详细的审计。目前常用的几种数据库(mysql、 sqlserver、 DB2、 Oracle等等) 是网络业务审计系统最为重要的审计对象。其中以Oracle数据库最为复杂。对 于常用的数据库来说,绝大多数的网络业务审计系统采用的是对数据包首先进 行协议解析,然后根据解析后的协议格式提取相应的数据信息。例如用户登 录时使用的用户名、用户对数据库进行的一些操作等等。此时对于数据库业务 的准确审计完全依赖于对该数据库所使用协议的准确解析。而目前这些常用的 数据库通常是由各大网络公司(如0mcle、 IBM)自主研发的,其使用的具体协 议各不相同。其中以Oracle公司开发的数据库使用的TNS协议最为复杂。并且 对于Oracle数据库不同的环境当中使用的协议驱动类型也是不相同的,在其所 使用的驱动类型当中以jdbc和odbc两种类型的驱动使用最为广泛,其中的jdbc
版本驱动下的各版本遵照固定的数据格式进行消息的封装但是odbc驱动环境下 的数据封装格式是随着具体的版本号的变化而变化的,这些都给准确的协议解 析带来了非常大的困难。
目前日益广泛使用的数据库应用成为了当前网络业务的重要组成部分,做为
主流数据库之一的Oracle数据库得到了更加广泛的使用,越来越多的用户及企 事业单位对于Oracle数据库业务的审计提出了很高的要求,这使得基于协议解 析进行准确的业务审计变得非常困难。目前通常所使用的大多数网络业务审计 系统当中对于Oracle数据库的审计都是基于对TNS协议的准确解析的,但是 TNS协议本身具有的灵活性和数据字段的不确定性(主要体现在odbc驱动环境 下不同的客户端版本使用不同的协议格式)给准确的业务审计带来了前所未有 的困难,而具有准确灵活的能够实现对于Oracle数据库TNS协议跨版本解析并 进一步进行业务审计的产品是非常缺乏的。注意到Oracle数据库使用odbc驱动 的客户端每一个版本的变动都会带来数据包格式的变化,但是这种变化还是具 有一定的特征,例如所有的数据库操作SQL语句都包含在特定类型的包当中, 并且都以明文的形式出现,因此实现根据不同的驱动版本类型实现跨版本的 TNS协议的解析及操作审计是可能的。从而有必要发展一种能够实现跨版本对 于Oracle数据库TNS协议的解析用以提高网络业务审计系统的准确性、效率和 审计范围。

发明内容
为了克服现有对于Oracle数据库TNS协议无法提供统一准确的解析方法的 不足,本发明提供一种Oracle数据库审计方法及系统。 一种Oracle数据库审计 方法含有TNS协议跨版本解析技术,TNS协议跨版本解析技术可以满足尽可 能多的准确解析Oracle数据库不同驱动环境下各个客户端版本所使用的TNS协 议,对于不同类型驱动环境下的客户端版本都能够准确进行协议解析并提取相 关数据以供审计;具有很好的可扩展性,对于某些新的Oracle数据库版本具有 灵活的可扩展性以扩大审计的范围;具有非常高的针对不同版本的TNS协议解
析效率,算法实现尽可能简单; 本发明的目的是这样实现的
一种Oracle数据库审计系统(或称为Oracle数据库TNS协议跨版本解析系 统),包括有
负责通过捕获的报文当中包含的信息来判断当前数据库应用环境下客户端 所使用的驱动类型的TNS协议客户端驱动类型定位器;
根据驱动类型定位阶段的结果,如果是使用jdbc驱动的时候采用协议解析的 方式实现对Oracle数据库操作过程中相关信息的提取的jdbc驱动环境协议解析 器;
存储了odbc驱动环境行为特征匹配阶段进行多模式匹配使用的特征模式的 行为特征关键字库;
在驱动类型定位阶段输出实际客户端使用odbc驱动的情况下根据实际捕获 的数据报文使用多模式匹配的方式对需要审计的特定行为特征的匹配及相关信
息的提取的0dbc驱动环境行为恃征匹配及审计信息定位器;
根据上述提取的相关信息进行Oracle数据库业务的审计装置。
所述的TNS协议客户端驱动类型定位器与jdbc驱动环境协议解析器和odbc驱 动环境行为特征匹配及审计信息定位器连接;所述的行为特征关键字库与odbc 驱动环境行为特征匹配及审计信息定位器连接;jdbc驱动环境协议解析器和 odbc驱动环境行为特征匹配及审计信息定位器与审计装置连接。
一种Oracle数据库审计方法(或称为Oracle数据库TNS协议跨版本解析方 法),包括有
TNS协议客户端驱动类型定位步骤;
行为特征关键字库的建立步骤;
Odbc驱动环境行为特征匹配及审计信息定位的步骤; jdbc驱动环境协议解析的步骤;
审计的步骤。
本发明的有益效果是,本发明解决了传统审计产品中对于Oracle数据库仅 仅依赖于TNS协议解析带来的版本性解析错误问题。对于可以按照统一解析格式 的部分采用协议解析技术(jdbc驱动环境),而对于不能使用精确解析的odbc环 境采用了特征关键字匹配技术进行信息提取。在保证效率的同时,实现了对于 Oracle数据库TNS协议跨版本的审计。此外在系统实现的过程当中充分考虑了扩 展性问题,使得对于将来出现的新的数据库版本只需要补充新的特征关键字, 进行扩展相当的简单和方便无需对系统进行大的改动,可广泛应用于网络业务 审计产品中。


下面结合附图和实施例对本发明进一步说明。 图1为本发明的Oracle数据库审计系统结构图; 图2为Oracle数据库审计方法程序流程图; 图3为行为关键字库建立关联例图。
具体实施方式
实施例1:
本实施例为Oracle数据库TNS协议跨版本解析方法的基本模式。所使用的 系统如图l所示。包括TNS协议客户端驱动类型定位器、jdbc驱动环境协议解 析器、行为特征关键字库、odbc驱动环境行为特征匹配及审计信息定位器、审 计装置,运行流程如图2所示。
①TNS协议客户端驱动类型定位步骤不同版本客户端环境下在客户端与服 务器连接交互的过程中首先会交换彼此的一些系统信息,如服务器与客户端的 操作系统、当前使用的版本等等。这些信息是不随着版本的变化而变化的。因 此在客户端与服务器初始连接交互的过程当中可以在数据包当中捕获相应的系
统信息,以此可以准确的判断当前客户端所使用的驱动类型(主要是jdbc和odbc
的区分)。此阶段的输出将作为下一阶段按照jdbc驱动解析还是按照odbc驱动 进行特征匹配的标准。
② jdbc驱动环境协议解析步骤在jdbc驱动类型的环境当中,所有的数据 包格式是固定的,并不随着具体的客户端版本的不同而变化。因此这里采用通 用的协议解析方式给出所有数据包的组装格式,并且按照不同类型的命令区分 不同目的的数据包并从中提取相应的有用的信息。
③ 行为特征关键字库的建立步骤此阶段主要针对odbc驱动环境下的客户
端与服务器交互过程当中特定的Oracle数据库操作具有的报文特征进行提取。 在Oracle数据库的操作过程当中,客户端与服务器的信息交互是以SQL语句传 递的,通常在数据包中以明文出现。因为在odbc驱动环境当中,这些交互的信 息封装的报文格式是随着版本的不同而变化的,即SQL语句在数据包当中所处 位置并不是固定的,因此无法采用通用的解析方式进行提取。但是所有的SQL 语句开头都包含一定的特征关键字,因此本阶段主要负责将所有这类可以标识 Oracle数据库相关操作的特征关键字进行汇总并储存到行为特征关键字库中作 为odbc驱动环境行为特征匹配及信息提取阶段进行多模式匹配的标准,同时与 包含相应SQL语句或其他审计信息的特征关键字与对应的数据包类型进行关联。 ④odbc驱动环境行为特征匹配及审计信息定位步骤此阶段的进入前提条 件是TNS协议客户端驱动类型定位阶段判断当前实际网络客户环境使用的是 odbc类型的驱动。然后以实际捕获的数据库操作数据包为样本,以行为特征关 键字库存储的特征关键字为模式进行匹配并将匹配到的位置作为待审计的信息 起始位置输出。
(D审计步骤以jdbc驱动环境协议解析阶段或odbc驱动环境行为特征匹 配及审计信息定位阶段的输出做为审计的内容,记录网络业务特定行为的一些 相关信息。
实施例2:
本实施例为实施例1中的TNS协议客户端驱动类型定位步骤的优选方案。
本实施例的基本思路是首先在Oracle数据库客户端和服务器进行连接的 过程当中尽可能多的寻找能够标识驱动类型和主机状态的信息,包括主机操作 系统、操作系统版本,所使用的Oracle数据库版本等等。因为这些信息是不随 着版本的变化而变化的,因此是可行的。在本实施例当中选取了交互过程当中 的01和02号数据包,这里01和02是在数据报文当中消息类型字段标识的。 主要是依赖于02相应报文当中的明文特征。如在jdbc驱动类型环境下数据报 文中包含"Java—TTC"的明文特征,在odbc驱动类型环境下可能包含 "IBMPC/WIN—NT"等等。以此来唯一的确定当前客户环境下所使用的驱动类型 并作为下一阶段按照jdbc驱动解析还是按照odbc驱动进行特征匹配的标准。 实施例3:
本实施例为实施例1中的jdbc驱动环境协议解析步骤的优选方案。 本实施例是在TNS协议客户端驱动类型定位阶段确定当前客户环境使用jdbc 驱动类型的前提下进行的。因为在jdbc驱动环境下oracle数据库所有版本使 用相同的协议封装格式对数据进行封装,因此可以采用统一的协议解析方法对 数据进行提取。例如可以在包类型字段标识为033b的数据包当中跳过固定的偏 移位置在ReqrVN字段当中提取当前使用的客户端具体的版本号;同样在包类型 字段标识为0351的数据包当中跳过固定的偏移位置在固定字段userN当中可以 提取到当前对数据库进行操作的用户名。以此方式通过对jdbc类型驱动的详细 解析可以提取出任何在此驱动类型环境下客户端和数据库交互操作的所有需要 审计的内容。 实施例4:
本实施例为实施例1中的行为特征关键字库的建立步骤的优选方案,其实现 如图3所示。
本实施例是在TNS协议客户端驱动类型定位阶段确定当前客户环境使用odbc 驱动类型的前提下进行的。因为在odbc类型驱动环境下客户端与服务器交互操
作过程的数据信息封装格式是随着版本的不同而变化的,因此以统一的解析方
式对信息进行提取必然带来准确性的问题。在oracle数据库的操作过程当中, 所有客户端与服务器之间的信息交互都是以SQL语句的形式在数据包文中明文 传输的。而所有的SQL语句都是包含一定明文特征的,本实施例实现的思路就 是提取相应数据库操作的所有SQL语句的明文特征,以及其它信息的匹配特征 或规则。并且按照包含该信息的数据包类型建立索引并入库。如在包类型为0376 数据包当中建立用户名提取的匹配规则为"从数据包末尾向前进行搜索,因为 在出现用户名之后不会出现连续的两个不可见字符,因此可以进行由后向前进 行匹配找到第一处连续两个不可见字符,之后作为用户名提取直至遇到下一个 不可见字符提取结束。"又如对于所有的SQL语句标识的数据库操作提取如下的 特征字段对数据库中建立新表的操作SQL语句会以"add..."开头并且只出现 在03**类型的数据包当中。因此将add作为该数据库操作的特征关键字提取并 与03**类型的数据包进行关联入库。 实施例5:
本实施例为实施例l中的odbc驱动环境行为特征匹配及审计信息定位步骤的 优选方案。
此阶段的进入前提条件是TNS协议客户端驱动类型定位阶段判断当前实际网 络客户环境使用的是odbc类型的驱动。然后以实际捕获的数据库操作数据包为 样本,以行为特征关键字库存储的特征关键字为模式进行多模式匹配并将匹配 到的位置作为待审计的信息起始位置输出。例如当实际捕获到包类型标识为 0376数据包的时候,需要按照特征关键字库当中存储的与该类型数据包关联的 所有特征关键字或匹配模式进行多模式匹配。本实施例当中对于0376数据包需
要对于用户名进行提取,其匹配规则参照实施例4当中提取的用户名匹配规则,
同时因为对所有03林类型的数据包需要进行SQL语句的提取,因此将以该数据包 为样本,以所有SQL语句特征关键字(如add、 delete等等)为模式使用多模式 匹配算法进行信息的定位与提取以供审计阶段使用。 本实施例中采用的算法;
多模式匹配算法以实际捕获的样本包数据作为匹配样本,以特征关 键字库当中存储的与该类型数据包关联的所有特征关键字或匹配模式进行多模 式匹配。本系统采用ACBM多模式匹配算法,对于每一个数据包样本只扫描一次, 同时对于多个匹配模式进行匹配,可以输出所有的满足任意匹配模式的样本片 段。在本实施例中采用多模式匹配算法可以准确的输出所有包含在特征关键字 库中的特征关键字或匹配模式相对应的oracle数据库操作。
实施例6:
本实施例为实施例l中的odbc驱动环境行为特征匹配及审计信息定位步骤 的优选方案。
此阶段以jdbc驱动环境协议解析阶段或odbc驱动环境行为特征匹配及审计 信息定位阶段的输出做为审计的内容,记录网络业务特定行为的一些相关信息。 本实施例以相应提取的数据段内容如用户名、SQL语句内容等等作为输出信息。 这些输出信息实际上标识了当前环境下当前用户对数据库的一些具体操作行 为,如登录、创建、修改、删除数据库内容等等。本系统将这些输出信息传输 到系统管理平台的显示装置上供管理员使用,同时将具体审计的网络业务事件 存储到相应的事件库或系统日志当中以备后期追査、取证等使用。
实施例7:
本实施例是实现实施例l、 2、 3、 4、 5、 6所述的方法的虚拟装置或者说系
统。系统如图l所示,本实施例包括对Oracle数据库实际使用驱动类型进行判 断的TNS协议客户端驱动类型定位器、对jdbc类型驱动环境下TNS协议数据包进 行解析的jdbc驱动环境协议解析器、存储了odbc驱动环境下进行特征匹配并实 现审计信息提取的行为特征关键字库、对odbc类型驱动环境下TNS协议数据包进 行多模式匹配提取审计信息的odbc驱动环境行为特征匹配及审计信息定位器、 最终通过提取的信息进行网络业务行为审计并进行实时显示或日志保存的审计 装置。
其中,TNS协议客户端驱动类型定位器实现了如实施例2中所述的对实际客 户环境使用的Oracle数据库驱动类型的判定功能;jdbc驱动环境协议解析器实 现了如实施例3对于jdbc驱动环境下0racle数据库客户端与服务器交互数据的 准确解析功能;行为特征关键字库存储了odbc驱动环境行为特征匹配及审计信 息定位器进行多模式匹配需要使用的特征关键字及匹配模式;odbc驱动环境行 为特征匹配及审计信息定位器实现了如实施例5所述的对于odbc驱动环境下依 据特征关键字及相应匹配模式对Oracle数据库客户端与服务器交互数据当中的 审计信息进行准确提取的功能;审计装置实现了实施例6所述的对于0racle数据 库跨版本的网络业务行为审计功能。
一种Oracle数据库审计系统(或称为Oracle数据库TNS协议跨版本解析系 统),包括TNS协议客户端驱动类型定位器、jdbc驱动环境协议解析器、行为 特征关键字库、odbc驱动环境行为特征匹配及审计信息定位器、审计装置。所 述的TNS协议客户端驱动类型定位器与jdbc驱动环境协议解析器和odbc驱动环 境行为特征匹配及审计信息定位器连接;所述的行为特征关键字库与odbc驱动 环境行为特征匹配及审计信息定位器连接;jdbc驱动环境协议解析器和odbc驱
动环境行为特征匹配及审计信息定位器与审计装置连接。
权利要求
1. 一种Oracle数据库审计方法,其特征在于包含以下步骤TNS协议客户端驱动类型定位步骤;行为特征关键字库的建立步骤;odbc驱动环境行为特征匹配及审计信息定位的步骤;jdbc驱动环境协议解析的步骤;审计的步骤。
2. 如权利要求1所述的一种Oracle数据库审计方法,其特征在于所述TNS 协议客户端驱动类型定位步骤以Oracle数据库客户端与服务器初始连接交互过程中交换的一些系统信息 判断当前客户端所使用的驱动类型为jdbc驱动还是odbc驱动;并以此阶段的 输出作为下一阶段按照jdbc驱动解析还是按照odbc驱动进行特征匹配的标准。
3. 如权利要求1所述的一种Oracle数据库审计方法,其特征在于所述行为 特征关键字库的建立步骤-在odbc驱动环境下,由实际交互数据包中提取不受数据库版本影响的可标识数据库操作行为的特征关键字或匹配模式;并将所提取的特征关键字或匹配 模式与包含该特征关键字或匹配模式的数据包类型进行关联建立索引,将该索 引存储到行为特征关键字库中。
4. 如权利要求1所述的一种Oracle数据库审计方法,其特征在于所述odbc 驱动环境行为特征匹配及审计信息定位的步骤在odbc驱动环境下以实际捕获的数据库操作数据包为样本,以行为特征关 键字库存储的特征关键字或匹配模式为模式进行多模式匹配并提取相关审计信 息以供审计阶段使用。
5.如权利要求1所述的一种Oracle数据库审计方法,其特征在于所述jdbc驱动环境协议解析的步骤-在jdbc驱动环境下按照统一设定的数据报文解析格式对oracle数据库客户 端与服务器之间交互信息进行解析并提取相关审计信息以供审计阶段使用。
6.如权利要求1所述的一种Oracle数据库审计方法,其特征在于所述审 计的步骤以jdbc驱动环境协议解析阶段或odbc驱动环境行为特征匹配及审计信息 定位阶段输出的审计信息为依据对该环境下的oracle数据库的操作进行网络业 务审计,同时将审计结果返回给管理系统进行实时显示同时将审计结果存储于 事件库或系统日志当中。
7. —种Oracle数据库审计系统,其特征在于包括对Oracle数据库实际 使用驱动类型进行判断的TNS协议客户端驱动类型定位器;对jdbc类型驱动环 境下TNS协议数据包进行解析的jdbc驱动环境协议解析器;存储了 odbc驱动 环境下进行特征匹配并实现审计信息提取的行为特征关键字库;对odbc类型驱 动环境下TNS协议数据包进行多模式匹配提取审计信息的odbc驱动环境行为特 征匹配及审计信息定位器;最终通过提取的信息进行网络业务行为审计并进行 实时显示或日志保存的审计装置;所述的TNS协议客户端驱动类型定位器与jdbc驱动环境协议解析器和odbc 驱动环境行为特征匹配及审计信息定位器连接;所述的行为特征关键字库与 odbc驱动环境行为特征匹配及审计信息定位器连接;jdbc驱动环境协议解析器 和odbc驱动环境行为特征匹配及审计信息定位器与审计装置连接。
全文摘要
一种Oracle数据库审计方法及系统,包括客户端驱动类型定位器、jdbc驱动环境协议解析器、行为特征关键字库、odbc驱动环境行为特征匹配及审计信息定位器、审计装置,有客户端驱动类型定位步骤;行为特征关键字库的建立步骤;odbc驱动环境行为特征匹配及审计信息定位的步骤;jdbc驱动环境协议解析的步骤;审计的步骤。解决传统审计产品中对于Oracle数据库操作行为的审计仅仅依赖协议解析带来的不准确性或仅仅依赖特征匹配带来的系统性能问题。对于Oracle数据库版本有灵活的可扩展性,扩大审计的范围,具有针对不同版本的审计高效率和准确性,应用于网络业务审计产品。
文档编号G06F17/30GK101388010SQ20071012166
公开日2009年3月18日 申请日期2007年9月12日 优先权日2007年9月12日
发明者晖 刘, 孙海波, 辉 张, 李新鹏, 骆拥政 申请人:北京启明星辰信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1