Db2数据库操作的信息提取和审计方法及其装置、系统的制作方法

文档序号:6463343阅读:187来源:国知局
专利名称:Db2数据库操作的信息提取和审计方法及其装置、系统的制作方法
技术领域
本发明涉及一种数据库操作的信息提取和审计方法及其装置、系统,尤 其涉及一种DB2数据库操作的信息提取和审计方法及其装置、系统。
背景技术
目前很多行业内部使用了 IBM公司研制开发的DB数据库。目前的数 据库操作都是以sql语句的方式提交给后台数据库进行相关处理的,而在某
些运行环境下提交后台数据库的方法是采用绑定变量的方式进行,绑定变量 方法可以使数据库进行软解析,有效提高凄t据库服务器的执行SQL语句的 速度。同时可以在一定程度上避免SQL注入攻击。
例如传统的提交给数据库il务器的SQL语句如下
INSERT INTO DB2ADMIN.DORIS—T1 ("COLl") VALUES ( 1 );
INSERT INTO DB2ADMIN.DORIS—Tl ("COLl") VALUES ( 2 );
这样每次数据库服务器都需要对整个SQL语句进行语法等解析,会耗 费大量的CPU资源。而使用绑定变量的方式,提交给数据库服务器的方法 变为3。下
INSERTINTODB2ADMIN.DORIS—T1 ("COLl") VALUES ( );; exec: :=1;
INSERT INTO DB2ADMIN.DORIS—T1 ("COLl") VALUES ( );; exec: :=2;
这种提交方式,服务器会把最近解析过的SQL语句放入一个共享緩冲 池中,对于频繁进行执行的SQL语句,每次执行省去了很多解析工作,会 大大提高SQL语句的执行速度。DB2数据库提供的这种方式虽然有效的提高了数据库操作处理速度,但 是同时给数据报文中信息的提取带来了相应的难度。目前的产品是以协议解 析或者硬匹配的方式进行数据库操作相关sql语句的提取。但是在含有变量 的sql语句当中,对于变量的具体赋值是在每一sql语句后续的报文数据中, 并不包含于sql语句当中。由于一条sql语句包含的变量数目不定,因此采 用协议解析的方式很难准确的定位赋值的位置。而在硬匹配方式当中,由于 对变量赋值不包含固定的关键特征字,因此也无法准确的对变量进行赋值。 这样通常导致的结果就是对于含有变量的sql语句,在提取的时候只能将包 含变量名的语句提取出来,而无法将该变量的具体赋值提取出来,导致信息 提取不完全。
以上对数据库数据报文中信息的提取经常应用于需要对用户的DB2数 据库操作进行准确详细审计的场合。网络业务审计系统是目前应用日益广泛
的网络安全防护的重要手段,它通过对业务系统中可信人员的网络活动进行 解析、记录、分析以帮助管理人员事前规划预防、事中实时监控、违规行为 阻止和事后追查网络运营事故。在金融、电信等行业当中大量使用的数据库 系统对于审计的要求尤为重要。这种信息提取上的缺陷导致对于含有相同变 量不同赋值的sql语句的审计结果没有区别,无法精确的审计数据库操作行 为,很大程度上使得审计失去了实际意义。

发明内容
本发明要解决的技术问题是提供一种DB2数据库操作的信息提取方法 和装置,可以准确地从包含绑定变量的sql语句的数据报文中提取出变量及 其具体赋值信息。
DB2数据库使用绑定变量的sql语句当中对于所包含的变量都具有明确 的标识,同时在后续对变量赋值的过程当中也有可提取的标识信息存在,因 此依据网络数据流中报文具有的协议格式及特征,对包含该sql语句的数据 报文进行识别并从中提取出变量及具体赋值是可能的。
基于上述构思,本发明提供了一种DB2数据库操作的信息提取方法, 包括以下步骤在捕获DB2数据库客户端和服务器交互的数据报文后,提取出其中的 所有sql语句;
检测提取出的sql语句中是否包含变量,如检测到包含变量的sql语句, 再从所述数据报文中识别出包含变量的sql语句的各变量的类型;
根据各变量的类型,从所述数据报文中提取出包含变量的sql语句的各 变量的具体赋值。
进一步地,上述方法还可具有以下特点
在检测所述sql语句中是否包含变量时,是以sql语句变量的标识特征 为模式,以所有提取出的所有sql语句为样本进行模式匹配,如果匹配成功, 则该sql语句为包含变量的sql语句,同时记录匹配到的变量个数,否则为 不包含变量的sql语句。
进一步地,上述方法还可具有以下特点
在识别包含变量的sql语句的各变量的类型时,是以sql语句变量类型 的标识特征为模式,以每一包含变量的sql语句后续的报文数据为样本进行 模式匹配,将匹配结果与变量个数、sql语句变量类型的数据格式结合,确 定变量类型信息的位置,再识别出该sql语句的各变量的类型。
进一步地,上述方法还可具有以下特点
从所述数据报文中提取包含变量的sql语句的各变量的具体赋值时,是 以sql语句变量赋值的标识特征,以变量类型识别中匹配过的报文数据之后 的报文数据为样本进行模式匹配,结合匹配结果和变量赋值的数据格式,确 定各变量具体赋值信息的位置,然后依据识别出的各变量的类型依次进行各 变量具体赋值的提取。
进一步地,上述方法还可具有以下特点
从所述数据报文中提取sql语句之前,先根据实际网络环境当中使用的 数据库客户端与服务器初始连接交互过程中交换的数据报文中标识数据库 类型的系统信息,判断当前环境当中使用的是否为DB2数据库,在确认使 用的是DB2数据库时,再对捕获的数据报文进行sql语句的提取。本发明提供的DB2数据库操作的信息提取装置包括依次连接的sql语句 提取及判别器、变量类型识别器和变量赋值提取器,其中
所述sql语句提取及判别器,用于在捕获DB2数据库客户端和服务器交 互的数据报文后,提取出其中的所有sql语句并检测其中是否包含变量,如 检测到包含变量的sql语句,将检测到的变量个数和所述sql语句后续的冲艮 文数据输出到所述变量类型识别器;
所述变量类型识别器,用于根据变量个数、变量类型的标识特征和数据 格式,从每一个包含变量的sql语句后续的报文数据中识别出该sql语句的 所有变量的类型,将各变量的类型信息、包含变量的sql语句后续的报文数 据输出到所述变量赋值提取器;
所述变量赋值提取器,用于根据变量赋值的标识特征、数据格式及各变 量的类型信息,从每一个包含变量的sql语句后续的报文数据中提取该sql 语句中各变量的具体赋值。
进一步地,上述信息提取装置还可具有以下特点
还包括一 DB2数据库识别器,用于根据实际网络环境当中使用的数据 库客户端与服务器初始连接交互过程中交换的数据报文中标识数据库类型
的系统信息,判断当前环境当中使用的是否为DB2数据库,并将判断结果 输出到所述sql语句提取及判别器;
所述sql语句提取及判别器在根据所述判断结果确认当前网络环境使用 的是DB2数据库时,再对捕获的数据报文进行sql语句的提取和判别。
进一步地,上述信息提取装置还可具有以下特点
该信息提取装置还包括一变量赋值替换器,用于接收提取的包含变量的 sql语句及其各变量的具体赋值,以变量的具体赋值替换相应sql语句中包含 的相应变量,然后将替换后的sql语句作为提取的信息输出。
本发明要解决的另一技术问题是提供一种DB2数据库操作的信息提取 和审计方法及其系统,可以准确地从包含绑定变量的sql语句的数据报文中
8提取出变量及其具体赋值信息并进行审计。
为了解决上述技术问题,本发明提供了一种DB2数据库操作的信息提 取和审计方法,包括以下步骤
在捕获DB2数据库客户端和服务器交互的数据报文后,提取出其中的 所有sql语句;
根据变量的标识特征检测提取出的sql语句中是否包含变量,如检测到 包含变量的sql语句,再根据检测到的变量个数、sql语句变量类型的标识特 征和数据格式,从每一包含变量的sql语句后续的报文数据中识别出该sql 语句的各变量的类型;
然后根据变量赋值的标识特征、数据格式和各变量的类型,从每一包含 变量的sql语句后续的报文数据中提取出该sql语句的各变量的具体赋值;
将包含变量的sql语句中的每个变量以具体的赋值替换,将替换后的sql 语句作为当前DB2数据库操作行为的审计内容进行审计。
进一步地,上述方法还可具有以下特点
在检测提取出的sql语句中是否包含变量时,如检测到不包含变量的sql 语句,则直接将不包含变量的sql语句输出,作为当前DB2数据库操作行为 的审计内容进行审计。
本发明提供的DB2数据库搡作的信息提取和审计系统包括上述的DB2 数据库操作的信息提取装置以及与该信息提取装置相连的审计系统,分为两 种情况
第一种,所述信息提取装置不包括变量赋值替换器
所述信息提取装置还用于将提取的不包含变量的sql语句、包含变量的 sql语句及其各变量的具体赋值输出到所述审计系统;
所述审计系统用于在收到的不包含变量的sql语句后直接作为当前DB2 数据库操作行为的审计内容进行审计,收到包含变量的sql语句及其各变量 的具体赋值后,用具体赋值替换相应sql语句中的相应变量,再将替换后的 sql语句作为DB2数据库操作行为的审计内容。第二种,所述信息提取装置包括变量赋值替换器
所述信息提取装置还用于将提取的不包含变量的sql语句和替换后的 sql语句输出到所述审计系统;
所述审计系统用于在收到的不包含变量的sql语句和替换后的sql语句 后,直接作为当前DB2数据库操作行为的审计内容进行审计。
本发明的有益效果本发明对于使用绑定变量的sql语句的DB2数据库 环境当中的数据库操作行为可以有效的进行变量类型及具体赋值的提取,此 外在系统实现的过程当中充分考虑了效率问题,对于相应变量类型及具体赋 值的提取具有很好的性能。本发明可广泛应用于网络业务审计产品中,对对 应于具体数据库操作的赋值后的sql语句进行准确的审计。解决了传统审计 产品中对于DB2凄t据库用户才喿作行为的审计仅仅依赖协i义解析或硬匹配而 忽视了绑定变量的sql语句当中对于变量的赋值所带来的审计准确性问题。 提高了网络业务审计系统对于DB2数据库业务审计的准确性、全面性和审 计范围。


下面结合附图和实施例对本发明进一 步说明。 图1为本发明实施例方法的流程图。 图2为本发明实施例装置的结构图。
具体实施例方式
本实施例中从DB2数据库数据报文中提取的sql语句及其赋值信息用于 审计,但本发明不局限于此,也可以将提取出的信息用于其它用途。
如图1所示,本实施例DB2数据库操作的信息提取和审计方法包括以 下步骤
步骤IIO, DB2数据库识别步骤判断当前环境当中使用的是否为DB2 数据库,如果不是,另行处理,本发明不涉及,如果是,执行后续步骤;不同的数据库使用不同的通信协议,例如Sybase数据库和sqlserver数 据库采用TDS协议、Oracle数据库采用TNS协议、DB2凄史据库使用DRDA 协议等等。不同的数据库在实际网络环境操作过程中交互的数据报文当中所 4吏用的协议、端口都是各不相同的,即这些信息是各个数据库特有的标识, 一般不具有相同的协议静态特征或端口。因此,可以在数据库客户端和服务 器进行连接的过程当中,使用协议解析方法尽可能多地捕获数据包中能够标 识数据库类型和主机状态的系统信息,包括使用的协议的静态特征、端口等 等,以此可以准确的判断当前网络环境当中是否使用的是DB2数据库。
本实施例根据实际网络环境当中使用的数据库客户端与服务器初始连 接交互过程中交换的数据报文来判断当前环境当中使用的是否为DB2数据 库。具体地,选取DB2数据库在实际交互过程当中使用协议所具有的端口 特征作为DB2数据库操作的判别标识。DB2数据库在使用的DASOO协议 完成控制台之间的通信过程当中使用523端口进行通信,而在实际数据传输 过程中使用的DRDA协议使用50000端口进行数据通信,可以以此作为数 据库类型的基本判定。
如果事先已知道当前网络环境使用且只使用DB2数据库,则该步也可 以省略。
步骤120, sql语句提取及判别步骤在数据库客户端和服务器进行数据 交互时,对捕获的DB2数据库的数据报文,提取其中标识数据库操作行为 的所有sql语句并检测各sql语句中是否包含变量,对于不包含变量的sql 语句,执行步骤130,对于包含变量的sql语句,记录变量个数并将sql语句 后续的报文数据作为对各变量进行类型识别的对象,执行步骤140;
一般一个报文当中只包含一条sql语句,若包含多条sql语句,则每一 sql语句的变量类型和赋值信息存在于该sql语句后续的报文数据中,可能包 括一个或多个变量。
所有DB2数据库操作信息在交互过程中是以sql语句形式进行传输的, 因此可以采用协议解析方法提取其中标识数据库操作行为的所有sql语句。 依据DB2数据库协议格式,所有的sql语句包含在以d043开始的报文当中。 因此在TCP载荷部分首先匹配d043两字节的特征标识,当匹配成功后,由d043开始跳过11字节为sql语句开始,由此开始提取直至ffOO标识为止, ffOO标识sql语句结束。这样就提取出了所有的DB2数据库操作过程当中的 sql语句。
因为sql语句当中不一定都含有变量,因此必须在提取出相应的sql语 句之后,依据sql语句变量的标识特征,过滤出其中采用了绑定变量方式的 操作。DB2数据库采用绑定变量方式进行操作时,所有的变量均以"?"标 识,因此可以"?"为模式,以所有提取出的sql语句为样本进行模式匹酉己, 变量数量可根据 "?,,的个数确定,从中过滤出所有采用了绑定变量方式 操作的sql语句。对于未采用绑定变量方式操作的sql语句,直接将sql语句 输出给审计系统作为操作业务审计的对象。对采用了绑定变量方式搡作的 sql语句将进行后续步骤的处理。
具体地,该步的才莫式匹配算法是在进行sql语句提取时,以d043和ff00 为模式,以所有数据库交互TCP报文为样本进行匹配,提取数据才艮文当中 包含的sql语句。在变量提取时,以"?,,为模式,以所有提取出的sql语 句为样本进行模式匹配,如果匹配成功,则该sql语句为包含变量的sql语 句,否则为不包含变量的sql语句。其输出结果为所有采用了绑定变量方式 进行操作的sql语句。
步骤130,将不包含变量的sql语句提取出来,直接输出给审计系统作 为审计内容,结束;
步骤140,变量类型识别步骤根据变量个数、变量类型的标识特征和 数据格式,从每一个包含变量的sql语句后续的报文数据中识别出该sql语 句的各变量的类型;
在DB2数据库的数据报文当中以"24 12"两字节标识来表示后续报文 将标识各变量类型的。因为在进一步的具体变量赋值提取时必须针对不同的 变量类型进行相关字段的提取,因此首先进行变量类型的识别是必须的。可 以采用协议解析的方式在标识"24 12"之后的报文数据当中提取各变量的 类型信息。首先在每一sql语句后续的报文数据中找到标识"24 12",之后 的部分跳过7字节为具体变量类型说明。其中每三字节标识一个变量类型, 直至提取出所有变量类型为止。
12例如采用了绑定变量方式的sql语句中使用了 5个变量,如提取出的 变量类型说明为"05 00 02 39 7ffe05 00 02 39 7ffe 39 7ffe,,。依据事先设 定的标识对应关系可以知道"05 0002"对应的变量为整型,"39 7ffe"对 应的变量为字符型。则本例中sql语句当中的5个变量分别为整型、字符型、 整型、字符型和字符型。
该步具体的模式匹配算法是在进行变量类型识别时,以"24 12"标识 为模式,以包含该绑定变量sql语句后续的报文数据为样本进行模式匹配。 之后结合变量类型的数据格式,可确定标识变量类型信息的位置,即可识别 出所有变量的类型。
步骤150,变量赋值提取步骤根据变量赋值的标识特征、数据格式及 各变量的类型信息,从每一个包含变量的sql语句后续的报文数据中提取该 sql语句中各个变量的具体赋值;
在变量类型识别步骤提供了各变量的类型之后,首先依据变量赋值标识 在每一 sql语句后续的报文数据当中定位具体的变量赋值的位置。然后依据 各变量具体的类型采用相应的方式提取对于各个变量的赋值信息。在DB2 数据库当中对于变量赋值信息是以"14 7a"两字节为标识的,其后的数据 部分为对各个变量的具体赋值。采用模式匹配的方式定位到"14 7a"标识 之后,先跳过一个字节的"00",其后的数据部分格式为"00datal 00data2… 00 datan,,。这里的datal 、 data2等分别对应了绑定变量的SQL语句中的"?,, 的按序排列的值。因为各个变量类型的不同,这里的各个赋值部分的格式是 不同的。应该依据识别出的变量类型依次进行变量赋值的提取。例如
datal = 31 39 39 36|2d |30 34|2d|30 31 (变量类型识别该变量为日期值, 则我们提取的变量赋值为1996-04-01 )
data2= 00 07 00 42 00 65 00 69 00 6a 00 69 00 6e 00 67 (变量类型识别该 变量为字符型,则按照字符型的格式,我们确定07标识的是无填充的字符 个数,提取结果为Beijing)
该步采用的具体模式匹配算法是在进行变量赋值定位时,以"14 7a" 标识为模式,以变量类型识别中匹配过的报文数据之后的报文数据为样本进 行^t式匹配。之后,结合变量赋值的数据格式确定各变量具体赋值信息的位置。再依据识别出的变量类型依次进行各变量具体赋值的提取。
以上各步已完成了 DB2数据库操作的信息提取。
步骤160,审计步骤将sql语句当中包含的每个变量以具体的赋值替 换,将替换过后的sql语句作为当前DB2数据库操作行为的审计内容进行审 计,如记录网络业务特定行为的一些相关信息,将审计结果返回给客户端显 示系统或储存在事件库及日志库中。对不包含变量的sql语句,则直接作为 DB2数据库操作行为的审计内容进行审计。
该步以sql语句变量提取步骤提取出的sql语句为操作对象,对于未釆 用绑定变量方式的sql语句直接进行数据库操作业务的审计,对于采用了绑 定变量方式的sql语句以变量赋值提取步骤提取的具体赋值替换sql语句当 中包含的相应变量。并以替换过后的sql语句做为审计的内容,记录网络业 务特定行为的 一些相关信息。本实施例以经过替换的sql语句作为输出信息。 这些输出信息实际上标识了当前环境下当前用户对数据库的一些具体操作 行为。审计系统将这些具体审计信息传输到系统管理平台的显示装置上供管 理员使用,同时将具体审计的网络业务事件存储到相应的事件库或系统曰志 当中以备后期追查、取证等使用。
上述方法中的步骤110至150可以由数据库服务器或交互路由的任意位 置上设置的数据库操作信息提取装置来完成,步骤160由与该数据库操作信 息提取装置连接的审计系统来完成。如图2所示是本实施例的数据库操作信 息提取装置和审计系统共同构成的DB2数据库操作的信息提取和审计系统, 数据库操作信息提取装置包括依次连接的DB2数据库识别器、sql语句提取 及判别器、变量类型识别器和变量赋值提取器。其中sql语句提取及判别器 和变量赋值提取器与审计系统相连。
对各个单元的功能描述如下,由于方法中已对相应功能的具体实现示例 进行了详细地说明,在下文不再赘述。其中
DB2数据库识别定位器,用于判断当前环境中使用的是否为DB2数据 库,并将判断结果通知sql语句提取及判别器。sql语句提取及判别器,用于在根据判断结果获知当前网络环境使用 DB2数据库时,对捕获的数据报文中的所有sql语句进行提取并检测sql语 句中是否包含变量,如检测到包含变量的sql语句,将变量个数和所述sql 语句后续的报文数据输出到变量类型识别器,如检测到不包含变量的sql语 句则直接输出到审计系统。
变量类型识别器用于根据变量个数、变量类型的标识特征和数据格式, 从每一个包含变量的sql语句后续的报文数据中识别出该sql语句的所有变
量的类型,将各变量的类型信息、包含变量的sql语句后续的报文数据输出 到变量赋值提取器。
变量赋值提取器用于根据变量赋值的标识特征、数据格式及各变量的类 型信息,从每一个包含变量的sql语句后续的报文数据中提取该sql语句中 各变量的具体赋值,输出到审计系统。
较佳地,包含变量的sql语句由sql语句提取及判别器提取后,经变量 类型识别器输出到变量赋值提取器,变量赋值提取器将各变量的具体赋值和 相应sql语句一起输出到审计系统。但不排除其它可能如包含变量的sql语 句先输出,只要先建立变量与sql语句的关联关应即可。
审计系统用于以具体的赋值替换sql语句当中包含的相应变量,将替换 过后的sql语句作为DB2数据库操作行为的审计内容进行审计,对不包含变 量的sql语句则直接作为DB2数据库操作行为的审计内容进行审计,将审计 结果返回给客户端显示系统或储存在事件库及日志库中。
在另 一 实施例中,也可以在数据库操作的信息提取装置中增加一个变量 赋值替换器,用于接收提取的包含变量的sql语句(可以由sql语句提取及 判别器直接或间接输出到变量赋值替换器)及其各变量的具体赋值(由变量 赋值提取器输出),以变量的具体赋值替换相应sql语句中包含的相应变量, 然后将替换后的sql语句输出到审计系统。
综上所述,本发明为了克服现有网络业务审计系统对于DB2数据库使 用绑定变量方式的操作当中对于sql语句中变量的l^取及赋值审计功能的不
15足,提供了 一种提取DB2数据库数据报文中信息的方法和装置。能够对DB2 数据库使用绑定变量方式的搡作环境中使用的含有变量的sql语句进行准确 的提取,并且能够准确地提取具体的数据库操作对应的变量赋值以供精确审 计需要;具有非常高的sql语句及变量赋值的提取效率,实现尽可能简单。
权利要求
1、一种DB2数据库操作的信息提取方法,其特征在于,包括以下步骤在捕获DB2数据库客户端和服务器交互的数据报文后,提取出其中的所有sql语句;检测提取出的sql语句中是否包含变量,如检测到包含变量的sql语句,再从所述数据报文中识别出包含变量的sql语句的各变量的类型;根据各变量的类型,从所述数据报文中提取出包含变量的sql语句的各变量的具体赋值。
2、 如权利要求1的方法,其特征在于在检测所述sql语句中是否包含变量时,是以sql语句变量的标识特征 为模式,以所有提取出的所有sql语句为样本进行模式匹配,如果匹配成功, 则该sql语句为包含变量的sql语句,同时记录匹配到的变量个数,否则为 不包含变量的sql语句。
3、 如权利要求l的方法,其特征在于在识别包含变量的sql语句的各变量的类型时,是以sql语句变量类型 的标识特征为模式,以每一包含变量的sql语句后续的报文数据为样本进行 模式匹配,将匹配结果与变量个数、sql语句变量类型的数据格式结合,确 定变量类型信息的位置,再识别出该sql语句的各变量的类型。
4、 如权利要求l、 2或3的方法,其特征在于从所述数据报文中提取包含变量的sql语句的各变量的具体赋值时,是 以sql语句变量赋值的标识特征,以变量类型识别中匹配过的报文数据之后 的报文数据为样本进行模式匹配,结合匹配结果和变量赋值的数据格式,确 定各变量具体赋值信息的位置,然后依据识别出的各变量的类型依次进行各 变量具体赋值的提取。
5、 如权利要求l、 2或3的方法,其特征在于从所述数据报文中提取sql语句之前,先根据实际网络环境当中使用的数据库客户端与服务器初始连接交互过程中交换的数据报文中标识数据库类型的系统信息,判断当前环境当中使用的是否为DB2数据库,在确认使 用的是DB2数据库时,再对捕获的数据报文进行sql语句的提取。
6、 一种DB2数据库操作的信息提取和审计方法,包括以下步骤在捕获DB2数据库客户端和服务器交互的数据才艮文后,提取出其中的 所有sql语句;根据变量的标识特征检测提取出的sql语句中是否包含变量,如检测到 包含变量的sql语句,再才艮据检测到的变量个数、sql语句变量类型的标识特 征和数据格式,从每一包含变量的sql语句后续的报文数据中识别出该sql 语句的各变量的类型;然后根据变量赋值的标识特征、数据格式和各变量的类型,从每一包含 变量的sql语句后续的报文数据中提取出该sql语句的各变量的具体赋值;将包含变量的sql语句中的每个变量以具体的赋值替换,将替换后的sql 语句作为当前DB2数据库操作行为的审计内容进行审计。
7、 一种DB2数据库操作的信息提取装置,其特征在于,包括依次连接 的sql语句提取及判别器、变量类型识别器和变量赋值提取器,其中所述sql语句提取及判别器,用于在捕获DB2数据库客户端和服务器交 互的数据报文后,提取出其中的所有sql语句并检测其中是否包含变量,如 才企测到包含变量的sql语句,将;f全测到的变量个数和所述sql语句后续的报 文数据输出到所述变量类型识别器;所述变量类型识别器,用于根据变量个数、变量类型的标识特征和数据 格式,从每一个包含变量的sql语句后续的报文数据中识别出该sql语句的 所有变量的类型,将各变量的类型信息、包含变量的sql语句后续的报文数 据输出到所述变量赋值提取器;所述变量赋值提取器,用于根据变量赋值的标识特征、数据格式及各变 量的类型信息,从每一个包含变量的sql语句后续的才艮文数据中提取该sql 语句中各变量的具体赋值。
8、 如权利要求7的信息提取装置,其特征在于还包括一 DB2数据库识别器,用于根据实际网络环境当中使用的数据的系统信息,判断当前环境当中使用的是否为DB2数据库,并将判断结果 输出到所述sql语句提取及判别器;所述sql语句提取及判别器在根据所述判断结果确认当前网络环境使用 的是DB2数据库时,再对捕获的数据报文进行sql语句的提取和判别。
9、 如权利要求7或8的信息提取装置,其特征在于该信息提取装置还包括一变量赋值替换器,用于接收提取的包含变量的 sql语句及其各变量的具体赋值,以变量的具体赋值替换相应sql语句中包含 的相应变量,然后将替换后的sql语句作为提取的信息输出。
10、 一种DB2数据库操作的信息提取和审计系统,其特征在于,包括 如权利要求8所述的信息提取装置,以及与该信息提取装置相连的审计系 统,其中所述信息提取装置还用于将提取的不包含变量的sql语句、包含变量的 sql语句及其各变量的具体赋值输出到所述审计系统;所述审计系统用于在收到的不包含变量的sql语句后直接作为当前DB2 数据库操作行为的审计内容进行审计,收到包含变量的sql语句及其各变量 的具体赋值后,用具体赋值替换相应sql语句中的相应变量,再将替换后的 sql语句作为DB2数据库才喿作行为的审计内容。
全文摘要
一种DB2数据库操作的信息提取方法和装置,在捕获DB2数据库客户端和服务器交互的数据报文后,提取出其中的所有sql语句;检测提取出的sql语句中是否包含变量,如检测到包含变量的sql语句,再从所述数据报文中识别出包含变量的sql语句的各变量的类型;根据各变量的类型,从所述数据报文中提取出包含变量的sql语句的各变量的具体赋值。相应地装置包括依次连接的sql语句提取及判别器、变量类型识别器和变量赋值提取器。本发明可以准确地从包含绑定变量的sql语句的数据报文中提取出变量及其具体赋值信息,并可用于审计。
文档编号G06F17/30GK101561806SQ20081010434
公开日2009年10月21日 申请日期2008年4月17日 优先权日2008年4月17日
发明者晖 刘, 涛 周, 熙 姚, 孙海波 申请人:北京启明星辰信息技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1