使用安全网关对OracleTNS协议SQL执行进行审计和阻断方法和系统技术方案

技术编号:26976007 阅读:14 留言:0更新日期:2021-01-06 00:12
本发明专利技术涉及计算机数据库访问控制领域,尤其涉及一种用安全网关对Oracle TNS协议SQL执行进行审计和阻断的方法。所述方法具体包括以下步骤:获取数据包,并对所述数据包进行解析处理,处理后得到data数组;对处理后的所述data数组进行位数判断;对得到的data数组类型判断,根据的判断结果进行命令解析;或根据的判断结果进行1169包解析或进行116b包解析,解析完成,再进行命令解析。本发明专利技术方法能够区分32位客户端与64位客户端,并兼容oracle11g,12c各版本,且能兼顾不同客户端种类,适应sqlplus,Navicat,jdbc等多种客户端。

【技术实现步骤摘要】
使用安全网关对OracleTNS协议SQL执行进行审计和阻断方法和系统
本专利技术涉及计算机数据库访问控制领域,尤其涉及一种用安全网关对OracleTNS协议SQL执行进行审计和阻断和系统。
技术介绍
现有技术方案对TNS分析不区分客户端位数和服务端位数,会造成在不同客户端(64位客户端以及OracleJDBC客户端)和服务器的情况下无法正确获取sql的情况。对SQL执行的情况分析不全,只能分析0x035e和0x1169类型的命令包,对0x116b包没有分析方案。1.由于Oracle持续升级现有方案在0racle12c64位下已经不能正确进行解析2.现有方案没有阐明包之间的包含和逻辑关系,无法建立统一的处理逻辑。
技术实现思路
本专利技术公开了一种使用安全网关对OracleTNS协议SQL执行进行审计和阻断的方法,以解决现有技术的上述以及其他潜在问题中任一问题。本专利技术的技术方案是:一种使用安全网关对OracleTNS协议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位,如果客户端是32位,则命令起始位置为:命令指针头向后移动54位;S4.2)命令解析:当命令长度<64字节时,直接获取字符串长度,读取后续命令;当命令长度>64字节时,循环数组中每个字符串元素,直到数组结尾0x00。进一步,所述S5)具体步骤为:如果客户端是64位,则探测data数组的[28]和data数组[29]的内容是否为0x03和0x5e,若是则设命令指针头为data数组的第28字节,否则设置命令指针头为data数组的第32字节,返回执行S4)。进一步,所述S5)具体步骤为:设置命令指针头为data数组的第24字节,返回执行S4)。本专利技术的另一目的是提供一种使用安全网关对OracleTNS协议SQL执行进行审计和阻断系统,所述系统包括:获取模块:用于将获取数据包,并对将获取数据进行解析处理;位数判断模块:用于对预处理后的数据包进行版本识别;类型判断模块:用于对预处理后的数据包进行类型判断;命令分析模块,用于计算命令的偏移量,根据偏移量进行命令解析;1169包解析模块,用于根据类型进行1169包解析;116b包解析模块,用于根据类型进行116b包解析。一种实现上述的使用安全网关对OracleTNS协议SQL执行进行审计和阻断的方法的信息处理终端。一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行上述的使用安全网关对OracleTNS协议SQL执行进行审计和阻断的方法。本专利技术的有意效果是:由于采用上述技术方案,本专利技术方法能够的区分32位客户端与64位客户端,并兼容oracle11g,12c各版本,现有在64位客户端情况下无法正确识别用户名;且能兼顾不同客户端种类,适应sqlplus,Navicat,jdbc等多种客户端。附图说明图1为本专利技术一种使用安全网关对OracleTNS协议SQL执行进行审计和阻断的方法的流程图。图2为本专利技术一种使用安全网关对OracleTNS协议SQL执行进行审计和阻断系统的逻辑框图。具体实施方式下面结合具体实施例和附图对本专利技术的技术方案做进一步说明。如图1所示,本专利技术一种使用安全网关对OracleTNS协议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位,如果客户端是32位,则命令起始位置为:命令指针头向后移动54位;S4.2)命令解析:当命令长度<64字节时,直接获取字符串长度,读取后续命令;当命令长度>64字节时,循环数组中每个字符串元素,直到数组结尾0x00。所述S5)中的1169包解析具体步骤为:如果客户端是64位,则探测data数组的[28]和data数组[29本文档来自技高网...

【技术保护点】
1.一种使用安全网关对Oracle TNS协议SQL执行进行审计和阻断的方法,其特征在于,所述方法具体包括以下步骤:/nS1)获取数据包,并对所述数据包进行解析处理,处理后得到data数组;/nS2)对S1)处理后的所述data数组进行位数判断,备用;/nS3)对S1)得到的所述data数组类型判断,根据判断结果选择执行S4)、S5)或S6);/nS4)根据S2和S3)的判断结果进行命令解析;/nS5)根据S3)的判断结果进行1169包解析,解析完成后,返回执行S4);/nS6)根据S3)的判断结果进行116b包解析,解析完成后,返回执行S4)。/n

【技术特征摘要】
1.一种使用安全网关对OracleTNS协议SQL执行进行审计和阻断的方法,其特征在于,所述方法具体包括以下步骤:
S1)获取数据包,并对所述数据包进行解析处理,处理后得到data数组;
S2)对S1)处理后的所述data数组进行位数判断,备用;
S3)对S1)得到的所述data数组类型判断,根据判断结果选择执行S4)、S5)或S6);
S4)根据S2和S3)的判断结果进行命令解析;
S5)根据S3)的判断结果进行1169包解析,解析完成后,返回执行S4);
S6)根据S3)的判断结果进行116b包解析,解析完成后,返回执行S4)。


2.根据权利要求1所述的方法,其特征在于,所述处理具体为:将数据包的头部2个长度字节去除,剩下的数据为data数组。


3.根据权利要求2所述的方法,其特征在于,所述S2)的具体步骤为:
S2.1)分别检查data数组的第3,第9和第10字节,如果所述第3,第9和第10字节的内容分别是6,3,0x73则进入S2.2),否则结束;
S2.2)检查data数组的第12个字节,如果字节的内容是0xfe,则客户端为是64位,否则为32位。


4.根据权利要求3所述的方法,其特征在于,所述S3)的具体步骤为:
S3.1)先分别检查data数组的第3,第9和第10字节的内容,
S3.2)如果所述字节内部分别是6,3和0x5e,则设置命令指针头为data数组的第9字节,则执行S4),
如果所述字节内容分别是6,11和0x69,则执行S5),
如果所述字节内容分别是6,11和0x6b,则执行S6)。


5.根据权利要求4所述的方法,其特征在于,所述S4)具体步骤为:
S4.1)命令偏移量计算:
如果客户端是...

【专利技术属性】
技术研发人员:朱燚庄恩贵张兵兵
申请(专利权)人:北京景安云信科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1