[发明专利]一种数据库审计方法和设备有效
申请号: | 201010182159.1 | 申请日: | 2010-05-26 |
公开(公告)号: | CN101853289A | 公开(公告)日: | 2010-10-06 |
发明(设计)人: | 邹文宇;吴淞 | 申请(专利权)人: | 杭州华三通信技术有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京鑫媛睿博知识产权代理有限公司 11297 | 代理人: | 龚家骅 |
地址: | 310053 浙江省杭州市高新技术产业*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据库 审计 方法 设备 | ||
技术领域
本发明涉及通信技术领域,特别涉及一种数据库审计方法和设备。
背景技术
数据库审计系统是目前数据库安全防护的重要手段,它实时地、智能地解析每一个用户对Oracle数据库的各种操作,并将审计结果记入相关数据库中,以便管理人员进行查询、分析等操作,从而加强数据库应用的行为监管,保障数据库系统的正常运营。由于在金融、电信等行业当中大量使用数据库系统,这种审计需求尤为突出。目前大部分行业内部的大型数据库都采用了Oracle公司研制开发的数据库,Oracle的关系数据库是世界第一个支持SQL语言的数据库,使用的TNS协议较为复杂,驱动协议类型以ODBC和JDBC为主。
对于Oracle数据库,常规的数据库操作都是以SQL语句的方式提交给Oracle数据库进行处理的(比如“select*from table1where age=28”)。Oracle数据库收到每一条SQL语句后需要进行语法解析、编译、生成访问方案、数据库引擎执行具体操作等一系列步骤,占用较多的CPU资源。目前大部分数据库审计系统都可以实现这种SQL语句访问Oracle数据库的审计。
为了降低Oracle数据库的资源消耗,提高Oracle数据库的性能和吞吐量,Oracle数据库提供了一种使用PreparedStatement模板访问Oracle数据库的方法。使用该模板访问Oracle数据库时,用户首先定义一个PreparedStatement模板,每次访问数据库时只需要修改变量值即可。Oracle数据库在第一次处理PreparedStatement模板时需要进行语法解析、编译、生成访问方案、数据库引擎执行具体操作等一系列步骤,后续使用同一模板时直接进行数据库引擎执行具体操作,从而降低了Oracle数据库的资源消耗,提高了Oracle数据库的性能和吞吐量。但是对于这种使用PreparedStatement模板访问Oracle数据库的方法,由于在SQL语句中存在变量绑定,现有的数据库审计系统只能将包含变量名的SQL语句提取出来,而无法实现变量值的替换。当多个PreparedStatement模板交替执行时,对于非第一次的执行,由于网络报文中不存在SQL语句关键字,现有的数据库审计系统甚至无法审计出该SQL语句的执行。目前已公开的方案中还没有针对使用PreparedStatement模板访问Oracle数据库的审计方法。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
现有的数据库审计系统只能实现一般SQL语句的审计,不支持使用PreparedStatement模板访问Oracle数据库的审计方法。
发明内容
本发明提供一种数据库审计方法和设备,能够精确识别数据库操作的内容,尤其是通过操作模板访问数据库的操作的内容,并对相应的数据库操作内容进行审计。
为达到上述目的,本发明一方面提供了一种数据库审计方法,具体包括以下步骤:
识别当前系统所建立的会话中是否包含对数据库的数据库操作会话;
如果包含,识别所述对数据库的数据库操作会话中的数据库操作指令;
判断所述数据库操作指令中是否存在SQL语句的关键字;
如果存在SQL语句的关键字,判断所述数据库操作指令中是否包含变量标识;
如果存在变量标识,记录所述数据库操作指令所对应的操作模板编号和对应的操作模板信息,并在所述包含数据库操作指令的报文中提取变量值替换所述变量标识,还原所述数据库操作指令的内容,并对所述数据库操作指令进行审计;
当所述对数据库的数据库操作会话中后续接收到的数据库操作指令中不包含SQL语句的关键字时,根据所述数据库操作指令中所携带的操作模板编号,查询对应的操作模板信息,还原所述数据库操作指令的内容,并对所述数据库操作指令进行审计。
优选的,
所述识别当前系统所建立的会话中是否包含对数据库的数据库操作会话,具体为:
根据DPI识别技术识别当前系统所建立的会话中是否包含对数据库的数据库操作会话;
如果包含,记录所述会话所对应的会话信息和所述会话的驱动协议类型,如果不包含,放弃对所述会话中的报文进行审计处理。
优选的,
所述如果存在变量标识,记录所述数据库操作指令所对应的操作模板编号,具体为:
当所述会话的驱动协议类型为JDBC驱动时,根据信令码的类型,记录根据会话所对应的客户端的指令所确定的,或根据所述会话所对应的数据库服务器的指令所确定的所述数据库操作指令所对应的操作模板编号;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州华三通信技术有限公司,未经杭州华三通信技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010182159.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种图像检索方法
- 下一篇:一种改进的内存数据库封锁方法