[发明专利]使用安全网关对OracleTNS协议SQL执行进行审计和阻断方法和系统在审
申请号: | 202011003220.1 | 申请日: | 2020-09-22 |
公开(公告)号: | CN112187763A | 公开(公告)日: | 2021-01-05 |
发明(设计)人: | 朱燚;庄恩贵;张兵兵 | 申请(专利权)人: | 北京景安云信科技有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06 |
代理公司: | 北京金智普华知识产权代理有限公司 11401 | 代理人: | 巴晓艳 |
地址: | 100193 北京市海淀区天*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 使用 安全网关 oracletns 协议 sql 执行 进行 审计 阻断 方法 系统 | ||
本发明涉及计算机数据库访问控制领域,尤其涉及一种用安全网关对Oracle TNS协议SQL执行进行审计和阻断的方法。所述方法具体包括以下步骤:获取数据包,并对所述数据包进行解析处理,处理后得到data数组;对处理后的所述data数组进行位数判断;对得到的data数组类型判断,根据的判断结果进行命令解析;或根据的判断结果进行1169包解析或进行116b包解析,解析完成,再进行命令解析。本发明方法能够区分32位客户端与64位客户端,并兼容oracle11g,12c各版本,且能兼顾不同客户端种类,适应sqlplus,Navicat,jdbc等多种客户端。
技术领域
本发明涉及计算机数据库访问控制领域,尤其涉及一种用安全网关对Oracle TNS协议SQL执行进行审计和阻断和系统。
背景技术
现有技术方案对TNS分析不区分客户端位数和服务端位数,会造成在不同客户端(64位客户端以及Oracle JDBC客户端)和服务器的情况下无法正确获取sql的情况。对SQL执行的情况分析不全,只能分析0x035e和0x1169类型的命令包,对0x116b包没有分析方案。
1.由于Oracle持续升级现有方案在0racle12c 64位下已经不能正确进行解析
2.现有方案没有阐明包之间的包含和逻辑关系,无法建立统一的处理逻辑。
发明内容
本发明公开了一种使用安全网关对Oracle TNS协议SQL执行进行审计和阻断的方法,以解决现有技术的上述以及其他潜在问题中任一问题。
本发明的技术方案是:一种使用安全网关对Oracle TNS协议SQL执行进行审计和阻断的方法,所述方法具体包括以下步骤:
S1)获取数据包,并对所述数据包进行解析处理,处理后得到data数组;
S2)对S1)处理后的所述data数组进行位数判断;
S3)对S1)得到的所述data数组类型判断,根据判断结果执行S4)、S5)或S6);
S4)根据S3)的判断结果进行命令解析;
S5)根据S3)的判断结果进行1169包解析,解析完成后执行S4);
S6)根据S3)的判断结果进行116b包解析,解析完成后执行S4)。
进一步,所述处理具体为:将取数据包的头部2个长度字节去除,剩下的数据称为data数组。
进一步,所述S2)的具体步骤为:
S2.1)分别检查data数组的第3,第9和第10字节,如果所述第3,第9和第10字节的内容分别是6,3,0x73则进入S2.2),否则结束;
S2.2)检查data数组的第12个字节,如果字节的内容是0xfe,则客户端为是64位,否则为32位。
进一步,所述S3)的具体步骤为:
S3.1)先分别检查data数组的第3,第9和第10字节的内容,
S3.2)如果所述字节内部分别是6,3和0x5e,则设置命令指针头为data数组的第9字节,则执行S4),
如果所述字节内容分别是6,11和0x69,则执行S5),
如果所述字节内容分别是6,11和0x6b,则执行S6)。
进一步,所述S4)具体步骤为:
S4.1)命令偏移量计算:
如果客户端是64位,则命令起始位置为:命令指针头向后移动152位,
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京景安云信科技有限公司,未经北京景安云信科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011003220.1/2.html,转载请声明来源钻瓜专利网。