一种数据库错误信息提取方法及系统的制作方法

文档序号:7665580阅读:259来源:国知局
专利名称:一种数据库错误信息提取方法及系统的制作方法
技术领域
本发明涉及可用于网络业务审计产品中的对于六种常用数据库在操作过程 中出现操作错误时返回的错误进行准确提取的方法,为一种数据库错误信息提 取方法及系统,它依据网络数据流中报文具有的特征对六种数据库操作过程当 中出现的错误信息进行识别并加以提取,属于网络技术领域。
背景技术
网络业务审计系统是目前应用日益广泛的作为网络安全防护的重要手段,它 通过对业务系统中可信人员的网络活动迸行解析、记录、分析以帮助管理人员 事前规划预防、事中实时监控、违规行为阻止和事后追查网络运营事故,从而 帮助用户加强内外部网络行为监管、避免核心资产(数据库、服务器、网络设
备)损失、保障客户业务系统的正常运营,是企业实现IT管理和控制的最佳实 践。其中在金融、电信等行业当中大量使用的数据库系统对于审计的要求尤为 重要,行业内部经常需要对于业务系统当中的用户对于数据库的操作进行准确 详细的审计。目前常用的六种数据库(mysQl、sqlserver、DB2、0racle、informix、 sybase)是网络业务审计系统最为重要的审计对象。对于常用的数据库来说, 绝大多数的网络业务审计系统只提供各类用户对于数据库操作时的具体行为动 作的审计,但是都缺乏对于数据库错误操作信息的详细审计功能。例如错误的 用户名或密码登录、在数据库中建立已存在的表、删除并不存在的表项等等。 绝大多数的审计系统提供了对于正常操作的审计功能,但是忽略了这些错误操 作时数据库返回的相应信息的审计。实际上这些错误信息有时也会反映出很多 的入侵行为,例如多次的无效用户名或错误密码的登录,可能是未授权用户或 攻击者在尝试口令;多次的对于数据库表项的非法操作可能是SQL注入攻击等等。实际上这些由于错误操作引起数据库返回的错误信息是可以在一定程度上 反映当前网络环境当中存在的攻击的可能,这对于数据库操作的全方位的审计 和攻击的预警是有重要意义的。
目前日益广泛使用的数据库应用成为了当前网络业务的重要组成部分,其
中的主流数据库做为主流数据库(mysql、 sqlserver、 DB2、 Oracle、 informix、 sybase)得到了广泛的使用,越来越多的用户及企事业单位对于这些数据库业 务的审计提出了全面的要求。同时由于这些数据库是由不同的厂商设计开发的, 使用的协议各不相同,这使得对于这些数据库操作的准确全面的业务审计变得 非常困难。目前通常所使用的大多数网络业务审计系统当中对于这些主流数据 库提供了业务审计的功能,但是对于错误信息的提取都是非常缺乏的。 一方面 是忽视了这些数据库返回的错误信息当中包含的攻击行为信息,另一方面也是 各个数据库使用不同的协议进行通信,难以给出统一的错误信息提取方式造成 的。注意到,尽管各个数据库使用不同的协议(如Oracle数据库使用TNS协议、 Sybase数据库和sqlserver数据库使用TDS协议等等)。但是对于错误信息的返 回数据报文的封装结构并不象其它操作时使用的协议那么复杂,基本上在确定 所使用数据库类型之后都可以找到各自数据库错误信息的返回标志,这说明实 现一种统一的对于这六种数据库返回的错误信息的提取是可能的。基于这种可 能性以及对于错误信息审计为数据库全面审计带来的有益的补充作用,有必要 发展一种能够实现对这六种常用数据库操作当中服务器返回的错误信息的提取 方法用以提高网络业务审计系统对于数据库业务审计的准确性、全面性和审计 范围。

发明内容
为了克服现有网络业务审计系统对于数据库操作当中服务器端返回的错误 信息提取及审计功能的不足,本发明提供一种数据库错误信息提取方法及系统, 一种对于常见六种数据库操作过程当中服务器端返回的错误信息的提取方法。
5所述的数据库错误信息提取技术可以满足对于所述六种常见数据库操作过程 当中数据库返回的错误信息能够进行准确的提取以供深入审计需要;具有很好 的可扩展性,对于其它类型的数据库错误信息的提取具有灵活的可扩展性以扩
大数据库审计的范围;具有非常高的数据库错误信息提取效率,算法实现尽可
能简单。
本发明的目的是这样实现的 一种数据库错误信息提取系统,包括
负责通过捕获的报文当中包含的信息来判断当前网络环境所使用的数据库 类型的数据库类型识别定位器;
根据实际捕获的报文当中识别包含服务器端返回的包含错误信息的数据包 的错误信息返回包定位器;
在实际识别的包含错误信息的数据报文当中确定错误信息所处位置并加以 提取的错误信息定位及提取器;
存储了实际数据报文当中包含的错误特征码与错误信息的对应列表的错误 码库;
根据之前各阶段提取的错误信息进行数据库业务的审计装置。
所述的数据库类型识别定位器与错误信息返回包定位器连接;所述的错误信 息返回包定位器和错误码库与错误信息定位及提取器连接;错误信息定位及提 取器与审计装置连接。
一种数据库错误信息提取方法,包括所述的步骤
数据库类型识别定位步骤;
错误信息返回包定位步骤;
错误信息定位及提取步骤;
错误码库建立步骤;
审计步骤。其中,所述的数据库类型识别定位歩骤,有负责通过捕获的报文当中包含的
信息来判断当前网络环境所使用的数据库类型的步骤;
错误信息返回包定位步骤,有根据实际捕获的报文当中识别包含服务器端返 回的包含错误信息的数据包的步骤;
错误信息定位及提取步骤,有在实际识别的包含错误信息的数据报文当中确 定错误信息所处位置并加以提取的步骤;
错误码库建立步骤,有错误码库当中存储了实际数据报文当中包含的错误特 征码与错误信息的对应列表的步骤;
最后审计步骤,有根据之前各阶段提取的错误信息进行数据库业务的审计的 步骤。
本发明的有益效果是,本发明解决了传统审计产品中对于数据库仅仅对相 关用户行为动作的审计而缺乏对数据库服务器返回的错误信息的提取及审计问 题。对于错误信息的审计可以有效的验证相应用户数据库操作的实施结果以及 对于可能的攻击手段的预测,可以很好的扩大对于数据库审计的准确性和全面 性。对于六种常用的数据库使用过程当中各种错误操作引起的服务器返回的错 误信息都可以有效的准确的进行信息的提取。在保证效率的前提下实现了对于 六种常用数据库错误信息的提取及审计。此外在系统实现的过程当中充分考虑 了扩展性问题,使得对于其他数据库的错误信息的审计的扩充只需要补充相应 的错误信息识别及提取特征,进行扩展相当的简单和方便无需对系统进行大的 改动,可广泛应用于网络业务审计产品中。


图1为本发明的数据库错误信息提取系统图; 图2为本发明的数据库错误信息提取流程图。 下面结合附图和实施例对本发明进一步说明。
具体实施例方式
实施例一-
本实施例为数据库错误信息提取方法的基本模式。所使用的系统如图1所示。 包括数据库类型识别定位器、错误信息返回包定位器、错误信息定位及提取器、 错误码库、审计装置,运行流程如图2所示
① 数据库类型识别定位步骤。不同的数据库使用不同的通信协议,例如 Sybase数据库和sqlserver数据库采用TDS协议、Oracle数据库采用TNS协议、 Informix数据库使用其自行设计的informix协议等等。这些数据库在实际网络 环境操作过程中初始客户端与服务器连接交互过程里会交换彼此的一些系统信 息,如服务器与客户端的操作系统、当前使用的数据库类型及其版本等等。这 些信息是可以依照协议解析及识别的方式来确定的。因此在客户端与服务器初 始连接交互的过程当中可以在数据包当中捕获相应的系统信息,以此可以准确 的判断当前网络环境当中所使用的数据库类型。此阶段的输出将作为下一阶段 按照何种数据库协议进行错误信息数据包定位的标准。
② 错误信息返回包定位步骤。在实际网络数据库操作过程当中,当用户进行 了某种数据库操作,如输入用户名或密码、进行了相应表项操作等的时候,数 据库服务器会返回相应的信息。尤其是在用户进行了某种错误操作的时候,该 错误发生的原因会以包含在一定格式的数据包当中返回给客户端。通常一种类 型的数据库返回的所有类型错误信息都是按照统一的数据封装格式返回的。按 照数据库类型识别定位步骤输出的数据库类型可以在所有的数据库服务器返回 的信息当中提取并输出可能包含错误返回信息的数据包,并以这些数据包作为 错误信息定位的对象,即错误信息定位及提取步骤的输入。
③ 错误信息定位及提取步骤。此阶段主要针对已定位的错误信息返回包从中 确定具体错误信息或错误码的位置并进行相应的信息提取。在数据库的实际操 作过程当中,客户端与服务器的操作信息交互是以SQL语句传递的,如果用户进行了错误操作则在服务器返回的信息当中会包含产生的错误内容及产生该错 误的原因等内容,这些内容以明文显示或者以代表该错误操作的错误码显示。 虽然对于不同类型的数据库因为其使用具体协议的不同导致错误信息在返回数 据包当中所处位置的不同,但是这些错误信息总是以某种标识在数据包中存在。 因此本阶段主要负责依据所有这些标识各种数据库类型操作当中错误信息的特 征关键字或匹配规则进行模式匹配,定位实际网络环境当中该数据库错误信息 在服务器返回的数据报文中的位置并对相应的错误信息或错误码进行提取。
④错误码库建立步骤。在很多的数据库当中(如Oracle、 DB2等)实际的 错误信息并不会以明文形式在返回的数据报文中存在,实际返回的信息包含的 是代表该错误信息的错误码,因此本阶段主要根据各种类型的数据库在没有详 细错误信息返回的情况下利用返回的错误码信息与实际错误信息进行关联的过 程。此阶段主要是建立实际数据报文当中包含的错误码与其表示的实际错误信 息含义之间的一一对应关系并以列表方式保存入库。
(D审计步骤。以错误信息定位及提取步骤输出的实际错误信息或由错误码 关联的到的错误信息做为审计的内容,记录网络业务特定行为的一些相关信息, 将审计结果返回给客户端显示系统或储存在事件库及日志库当中。
实施例二
本实施例为实施例一中的数据库类型识别定位步骤的优选方案。 本实施例的基本思路是首先在数据库客户端和服务器进行连接的过程当
中使用协议解析方法尽可能多的寻找能够标识给数据库类型和主机状态的信 息,包括使用的协议的静态特征、端口等等。因为这些信息是各个数据库特有 的标识, 一般不具有相同的协议静态特征或端口,因此是可行的。在本实施例 当中选取了各种数据库在实际交互过程当中使用的协议所具有的端口特征及静
态特征作为该协议的判别标识。如sybase数据库当中使用的是TDS协议,其服 务器端固定使用TCP5000端口进行通信,则将TCP5000端口作为sybase数据库判定标识;又如在informix数据库当中,使用的informix协议其服务端固定 使用TCP1526端口进行通信,则将TCP1526端口作为sybase数据库判定标识。 以此来唯一的确定当前网络环境当中使用的数据库类型并作为下一阶段进行何 种数据库错误信息返回包定位的标识。 实施例三-
本实施例为实施例一中的错误信息返回包定位步骤的优选方案。 本实施例是在数据库类型识别定位阶段对实际网络环境当中所使用数据库 类型进行准确识别的前提下进行的。在确定当前网络应用环境实际使用的数据 库类型之后本步骤负责在实际客户端与服务器交互过程中捕获的数据包当中识 别可能包含错误信息的包。本步骤当中主要是需要确定不同类型数据库环境当 中相关业务操作的数据包的类型标识,从而进一步的确定对该操作服务器端返 回信息的数据包的类型标识,并将这些类型的数据包作为错误信息提取的对象。 例如在Oracle数据库环境下对于数据库操作结果返回信息包含在TNS协议类型 标识为06的数据包当中,而sqlserver数据库环境下对于数据库操作结果返回 信息包含在TDS协议类型标识为04的数据包当中。此时将Oracle数据库操作 过程中类型标识为06的包和sqlserver数据库操作过程中类型标识为04的包 提取出来作为错误信息提取的对象。 实施例四-
本实施例为实施例一中的错误信息定位及提取步骤的优选方案。 本实施例是在错误信息返回包定位步骤提取所有返回类型包的前提下进行 的。虽然已经提取出了所有的数据库操作过程当中服务器端的返回数据报文, 但是这些报文当中有很多是正常数据库操作产生的服务器返回数据,并不包含 错误信息。因此本步骤的主要功能是在所有数据库操作过程当中服务器端的返 回数据报文当中识别带有错误信息或错误码的数据报文并且从中提取具体的错 误码或错误信息。不论实际网络环境当中所使用的数据库为何种类型,每一种
10数据库服务器端返回的包含错误信息的报文与正确操作返回的报文相比是具有 明显的特征字段的。客户端也需要依赖于这些特征字段识别错误信息及其提取。 本实施例实现的思路就是提取各种数据库服务器端返回报文当中能够标识包含 错误信息的标识,以此来提取真正包含错误信息的数据报文。同时依赖于这些 标识错误信息的特征字段的位置设定错误码或错误信息提取规则,提取数据报
文中的具体错误码或错误信息。例如对于Oracle数据库使用的TNS协议来说在 数据库服务器端返回的06类型的数据包文中如果包含"ORA-"特征字段则说明 该报文为错误信息包,并且"ORA-"特征字段的后续四字节为具体操作对应的 错误码。又如对于Sqlserver数据库使用的TDS协议来说在数据库服务器端返 回的04类型的数据包文中如果第九字节为"aa",则说明该数据报文为错误信 息包。而错误码提取规则设定为在"aa"之后跳过两字节之后的四字节为具体 操作对应的错误码。 实施例五
本实施例为实施例一 中的错误码库建立步骤的优选方案。
除了 Sybase数据库直接将错误信息以明文方式封装在服务器返回的数据包 中,绝大多数的数据库在实现过程中封装的并不是具体的错误信息而是错误码, 每一个错误码唯一的对应一条错误信息。这种实现方式主要是考虑协议格式的 一致性以及扩展和维护方便。本实施例中建立的错误码库主要实现的就是由错 误码转换为具体错误信息的功能。对每一种数据库根据实际错误码与错误信息 的对应关系分别建立对照表并储存在错误码库当中,并将实际运行当中提取的 错误码转换为错误信息提交给审计装置。 实施例六
本实施例为实施例 一 中的审计步骤的优选方案。
此阶段以实际提取出的错误信息做为审计的内容,记录网络业务特定行为的一些相关信息。本实施例以相应提取的错误信息内容如错误产生的位置,产 生的原因等等作为输出信息。这些输出信息实际上标识了当前环境下当前用户 对数据库的一些错误操作行为,如无效登录以及对数据库内容的一些错误操作 等等。本系统将这些错误信息传输到系统管理平台的显示装置上供管理员使用, 同时将具体审计的网络业务事件存储到相应的事件库或系统日志当中以备后期 追査、取证等使用。 实施例七-
本实施例是实现实施例一、二、三、四、五、六所述的方法的虚拟装置或 者说系统。系统如图l所示,本实施例包括包括对实际网络运行环境当中使用 的具体数据库类型进行判断的数据库类型识别定位器、对实际网络环境当中数 据库操作过程当中由服务器端返回的可能包含操作错误信息的错误信息返回包 定位器、对所有数据库操作过程当中服务器端返回数据报文中包含的错误信息 进行提取的错误信息定位及提取器、存储了各种数据库错误码与错误信息对应 关系的错误码库、最终通过提取的错误信息进行网络业务行为审计并进行实时 显示或日志保存的审计装置。
其中,数据库类型识别定位器实现了如实施例二中所述的对实际客户环境 使用的数据库类型的判定功能;错误信息返回包定位器实现了如实施例三对于
所有数据库操作过程当中对于相应操作服务器端返回数据报文的提取功能;错
误码库存储了如实施例五所述的各种数据库客户端与服务器端交互过程中出现
的错误码与错误信息之间的对应关系;错误信息定位及提取器实现了如实施例
四所述的对于各种数据库操作过程当中返回数据报文当中具体错误码或错误信
息提取功能;审计装置实现了实施例六所述的对于各种数据库错误信息的网络业务行为审计功能。
数据库错误信息提取系统,包括数据库类型识别定位器、错误信息返回 包定位器、错误信息定位及提取器、错误码库、审计装置。所述的数据库类型 识别定位器与错误信息返回包定位器连接;所述的错误信息返回包定位器和错
误码库与错误信息定位及提取器连接;错误信息定位及提取器与审计装置连接。
权利要求
1. 一种数据库错误信息提取方法,其特征在于包含以下步骤数据库类型识别定位步骤;错误信息返回包定位步骤;错误信息定位及提取步骤;错误码库建立步骤;审计的步骤。
2. 如权利要求1所述的一种数据库错误信息提取方法,其特征在于所述 数据库类型识别定位步骤以实际网络环境当中使用的数据库客户端与服务器初始连接交互过程中交 换的一些系统信息判断当前环境当中使用的数据库类型;并以此阶段的输出作为 下一阶段进行数据库服务器端返回数据报文提取的前提和标准。
3. 如权利要求1所述的一种数据库错误信息提取方法,其特征在于所述错 误信息返回包定位步骤根据已定位的数据库类型,结合对该数据库使用协议的解析,在实际环境 当中客户端与服务器端交互的所有数据报文当中提取所有由用户数据库操作引起的服务器端返回的数据报文;并以此阶段的输出作为下一阶段进行错误信息提 取的对象集。
4. 如权利要求1所述的一种数据库错误信息提取方法,其特征在于所述错误信息定位及提取步骤确定错误信息标识特征并且以此位置为准制定具体错误码或错误信息的提 取规则在所有由用户数据库操作引起的服务器端返回的数据报文确定包含错误 信息的数据报文并且在相应位置提取具体的错误码或错误信息以供审计阶段使 用。
5. 如权利要求1所述的一种数据库错误信息提取方法,其特征在于所述错误码库建立步骤针对每一种数据库设定错误码与相关错误信息的对应关系并保存入库,在运 行过程中根据保存的该对应关系将实际提取的错误码转换为相应的错误信息供 审计阶段使用。
6. 如权利要求1所述的一种数据库错误信息提取方法,其特征在于所 述审计的步骤以错误信息定位及提取步骤提取的错误信息或经过错误码库转化的错误信 息为依据对该环境下使用的数据库的错误操作过攻击行为进行网络业务审计, 将审计结果返回给管理系统进行实时显示同时将审计结果存储于事件库或系统 日志当中。
7. —种数据库错误信息提取系统,其特征在于包括对实际客户环境使用的数据库类型进行判定的数据库类型识别定位器;对所有数据库操作过程当中相应操作服务器端返回数据报文进行提取的错误信息返 回包定位器;存储了各种数据库客户端与服务器端交互过程中出现的错误码与 错误信息之间的对应关系的错误码库;对于各种数据库操作过程当中返回数据报文当中具体错误码或错误信息进行提取的错误信息定位及提取器;对于各种数据库错误信息的网络业务行为进行审计的审计装置;所述的数据库类型识别定位器与错误信息返回包定位器连接;所述的错误信 息返回包定位器和错误码库与错误信息定位及提取器连接;错误信息定位及提 取器与审计装置连接。
全文摘要
一种数据库错误信息提取方法及系统,用于网络业务审计产品中对六种常用数据库操作过程当中服务器端返回的错误信息进行提取并进行相关操作审计的方法及系统。包括数据库类型识别定位器、错误信息返回包定位器、错误信息定位及提取器、错误码库、审计装置,解决了传统审计产品中对于数据库操作过程当中服务器端返回的错误信息缺乏审计的问题,克服了不同类型的数据库使用不同协议带来的错误信息审计困难的问题。本发明具有很好的可扩展性,对于某些新的数据库类型具有灵活的可扩展性以扩大审计的范围并具有非常高的针对不同类型数据库错误信息提取的效率和准确性,可广泛应用于网络业务审计产品中。
文档编号H04L12/24GK101453359SQ20071017885
公开日2009年6月10日 申请日期2007年12月6日 优先权日2007年12月6日
发明者晖 刘, 孙海波, 李新鹏, 骆拥政 申请人:北京启明星辰信息技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1