CN105183866A - 用于在数据库审计中解析协议参数的方法和设备 - Google Patents
用于在数据库审计中解析协议参数的方法和设备 Download PDFInfo
- Publication number
- CN105183866A CN105183866A CN201510586428.3A CN201510586428A CN105183866A CN 105183866 A CN105183866 A CN 105183866A CN 201510586428 A CN201510586428 A CN 201510586428A CN 105183866 A CN105183866 A CN 105183866A
- Authority
- CN
- China
- Prior art keywords
- interaction data
- parameter value
- parameter
- data bag
- protocol
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了用于在数据库审计中解析协议参数的方法和设备,包括:基于所述数据库,建立待解析的协议参数的若干参数值列表,其中,每一所述参数值列表包括各个所述待解析的协议参数的一参数取值;循环执行获取客户端与服务器端之间传输的若干交互数据包,并利用每一所述参数值列表对所述交互数据包进行猜测解析,保留能够正确解析所述交互数据包的参数值列表,直至仅有一个所述参数值列表能够正确解析所有所获取的交互数据包,本申请所述方法和设备能够提高数据库审计的有效性。
Description
技术领域
本申请涉及计算机领域,尤其涉及一种用于在数据库审计中解析协议参数的方法和设备。
背景技术
数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,随着信息技术和市场的发展,数据库已成为商业和公共安全中最具有战略性的资产,通常都保存着重要的商业伙伴和客户信息,这些信息需要被保护起来,以防止竞争者和其他非法者获取。互联网的急速发展使得企业数据库信息的价值及可访问性得到了提升,同时,也致使数据库信息资产面临严峻的挑战。
数据库包括网状数据库、层次数据库以及关系数据库,其中,当今主流的关系数据库包括Oracle、SQLServer、Sybase、Informix、access、DB2、mysql等,为保证数据库的稳定性和安全性,需要对数据库进行数据库审计(简称DBAudit),以能够实时记录网络上的数据库活动,对数据库操作进行细粒度审计的合规性管理,对数据库遭受到的风险行为进行告警,对攻击行为进行阻断。它通过对用户访问数据库行为的记录、分析和汇报,用来帮助用户事后生成合规报告、事故追根溯源,同时加强内外部数据库网络行为记录,提高数据资产安全。
发明内容
本申请要解决的技术问题是:提供一种在数据库审计中能够解析协议参数的方法和设备,以提高数据库审计的有效性。
根据本申请一方面提供的一种用于扩展分布式一致性服务的方法,其中,所述方法包括:
基于所述数据库,建立待解析的协议参数的若干参数值列表,其中,每一所述参数值列表包括各个所述待解析的协议参数的一参数取值;
循环执行获取客户端与服务器端之间传输的若干交互数据包,并利用每一所述参数值列表对所述交互数据包进行猜测解析,保留能够正确解析所述交互数据包的参数值列表,直至仅有一个所述参数值列表能够正确解析所有所获取的交互数据包。
进一步地,所述方法还包括:继续获取客户端与服务器端之间传输的若干交互数据包,并以所述仅有的一个所述参数值列表作为正确的协议参数的取值,利用所述正确的协议参数对所获取的交互数据包进行正常解析。
进一步地,建立待解析的协议参数的若干参数值列表包括:
基于所述数据库协议规则,确定待解析的协议参数的个数;
根据每个所述待解析的协议参数的参数取值范围,建立若干所述参数值列表。
进一步地,获取客户端与服务器端之间传输的若干交互数据包包括:
创建缓存列表;
获取客户端与服务器端之间传输的若干交互数据包,并根据获取时间顺序,将所述交互数据包依次存储于缓存列表中,以待进行猜测解析。
进一步地,其中,获取客户端与服务器端之间传输的若干交互数据包还包括:
当所述缓存列表中存储的所述交互数据包达到容量阈值时,删除所述缓存列表中已存储的所述交互数据包,并继续获取后续交互数据包。
进一步地,利用每一所述参数值列表对所述交互数据包进行猜测解析包括:
获取所述交互数据包中与所述待解析的协议参数相关的标志字段;
利用每一所述参数值列表对所述交互数据包的标志字段进行猜测解析。
根据本申请一方面提供的一种用于在数据库审计中解析协议参数的设备,其中,所述设备包括:
第一装置,用于基于所述数据库,建立待解析的协议参数的若干参数值列表,其中,每一所述参数值列表包括各个所述待解析的协议参数的一参数取值;
第二装置,用于循环执行获取客户端与服务器端之间传输的若干交互数据包,并利用每一所述参数值列表对所述交互数据包进行猜测解析,保留能够正确解析所述交互数据包的参数值列表,直至仅有一个所述参数值列表能够正确解析所有所获取的交互数据包。
进一步地,所述设备还包括:
第三装置,用于继续获取客户端与服务器端之间传输的若干交互数据包,并以所述仅有的一个所述参数值列表作为正确的协议参数的取值,利用所述正确的协议参数对所获取的交互数据包进行正常解析。
进一步地,所述第一装置用于:
基于所述数据库协议规则,确定待解析的协议参数的个数;
根据每个所述待解析的协议参数的参数取值范围,建立若干所述参数值列表。
进一步地,所述第二装置用于:
创建缓存列表;
获取客户端与服务器端之间传输的若干交互数据包,并根据获取时间顺序,将所述交互数据包依次存储于缓存列表中,以待进行猜测解析。
进一步地,所述第二装置还用于:
当所述缓存列表中存储的所述交互数据包达到容量阈值时,删除所述缓存列表中已存储的所述交互数据包,并继续获取后续交互数据包。
进一步地,所述第二装置用于:
获取所述交互数据包中与所述待解析的协议参数相关的标志字段;
利用每一所述参数值列表对所述交互数据包的标志字段进行猜测解析。
与现有技术相比,根据本申请实施例所提供的所述用于扩展分布式一致性服务的方法和设备,通过建立待解析的协议参数的若干参数值列表,并对所获取的交互数据包进行猜测解析,直至保留了仅有一个所述参数值列表能够正确解析所有所获取的交互数据包,即该参数值列表即为协议参数的正确的参数值列表,从而解决开放连接情况下,获得协议参数并实现协议解析。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1示出根据本申请一方面提供的一种用于在数据库审计中解析协议参数的方法流程图;
图2示出根据本申请一具体场景所提供的一种用于在数据库审计中解析协议参数的方法流程图;
图3示出根据本申请一优选实施例所提供的一种用于在数据库审计中解析协议参数的方法流程图;
图4示出根据本申请一个方面的提供的本申请一方面提供的一种用于在数据库审计中解析协议参数的设备示意图;
图5示出根据本申请一优选实施例中的提供的本申请一方面提供的一种用于在数据库审计中解析协议参数的设备示意图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本申请作进一步详细描述。
在一些数据库中,一个协议连接通常包括三个阶段:首先,客户端与服务器端进行参数协商,以互相确定协议参数;然后,客户端与服务器端基于协商的协议参数进行数据交互,互相传递交互数据包;数据交互完成后,客户端与服务器端连接关闭。其中,协商的协议参数对于交互数据包的格式有直接影响,如果数据库审计过程没有抓取到协议数据包,则不能确认其协议参数,就不能后续交互数据包进行正确解析,从而形成开放连接的数据库申请情况。在实际的审计服务中因各种原因总会有大量的开放连接,如能够在开放连接情况通过对交互数据包进行猜测解析,反推确认出协议参数,使交互数据包格式能够得到正确解析,进而在对开放连接情况仍能实现数据库审计的正确进行,提高数据库审计的有效性和准确性。
基于以上,根据本申请一方面提供的一种用于在数据库审计中解析协议参数的方法,其中,所述方法包括:
步骤S11:基于所述数据库,建立待解析的协议参数的若干参数值列表,其中,每一所述参数值列表包括各个所述待解析的协议参数的一参数取值;
步骤S12:循环执行获取客户端与服务器端之间传输的若干交互数据包,并利用每一所述参数值列表对所述交互数据包进行猜测解析,保留能够正确解析所述交互数据包的参数值列表,直至仅有一个所述参数值列表能够正确解析所有所获取的交互数据包。
具体地,在所述步骤S11中:基于所述数据库,建立待解析的协议参数的若干参数值列表,其中,每一所述参数值列表包括各个所述待解析的协议参数的一参数取值;具体地,建立待解析的协议参数的若干参数值列表包括:基于所述数据库协议规则,确定待解析的协议参数的个数;根据所述待解析的协议参数的取值范围,设定若干参数值列表,其中,每一所述参数值列表包括各个所述待解析的协议参数的一设定参数值。
在具体场景中,假设需要协商的协议参数有四个a、b、c、d,则根据每一参数可能的参数取值,互相组合形成若干参数值列表:PARAMETERS[4]={a,b,c,d},例如,参数列表取值可能为PARA_A[4]={0,1,2,3},PARA_B[4]={1,1,2,3},PARA_C[4]={2,3,4,3}等等。当然,本领域技术人员应当能够理解,上述协议参数和参数取值的描述仅为举例,并不被限定,具体可根据不同数据库的协议参数和参数的可能取值具体确定。
在所述步骤S12中,循环执行获取客户端与服务器端之间传输的若干交互数据包,并利用每一所述参数值列表对所述交互数据包进行猜测解析,保留能够正确解析所述交互数据包的参数值列表,直至仅有一个所述参数值列表能够正确解析所有所获取的交互数据包。
具体地,利用每一所述参数值列表对所述交互数据包进行猜测解析,删除不能正确解析所述交互数据包的参数值列表,保留能够正确解析所述交互数据包的参数值列表,直至当且仅有一个所述参数值列表能够正确解析所有所述交互数据包时,则基于该正确解析的参数值列表确定为所述协议参数正确的取值。在此所述的猜测解析是指使用所述参数值列表对获取的所述交互数据包进行尝试的解析。具体地,获取所述交互数据包中与所述待解析的协议参数相关的标志字段;利用每一所述参数值列表对所述交互数据包的标志字段进行猜测解析。若能够正确解析出所述交互数据包,则保留该参数值列表,若不能正确解析所述交互数据包,则删除该参数值列表。
获取客户端与服务器端之间传输的若干交互数据包还包括:当所述缓存列表中存储的所述交互数据包达到容量阈值时,删除所述缓存列表中已存储的所述交互数据包,并继续获取后续交互数据包,以避免数据库审计拥堵。
以甲骨文数据库(ORACLE)为例,ORACLE协议比较复杂,其中,常用的TTC消息有近50种,比如:用于SQL非优化查询的OALL8消息(编号035E),OALL7消息(编号0347),用于SQL优化查询的OEXFEN消息(编号034E)等。在ORACLE需要协商的协议参数也比较多,主要包括:2、4、8位整数数据的字节序,是否压缩;指针类型的长度、字节序等;字符串采用分段编码的CLR格式、还是CHR;TTC版本号,决定了部分字段的存在性。
图2示出根据本申请一具体场景所提供的一种用于在数据库审计中解析协议参数的方法流程图;结合具体场景中说明本申请所述方法的执行过程:
假设需要协商的协议参数有四个a、b、c、d,所述协商参数的参数列表为PARAMETERS[4]={a,b,c,d},根据可能取值,设定协商参数的参数列表取值为PARA_A[4]={0,1,2,3},PARA_B[4]={1,1,2,3},PARA_C[4]={2,3,4,3}。
创建一缓存列表cacheA,用以保持统计分析参数列表过程中抓取到的客户端与服务器端之间传输的交互数据包,这些交互数据包在缓存列表cacheA中根据抓包的时间顺序依次存储。
审计服务过程中,抓取到一个数据包,当该数据包是交互数据包时,则缓存该交互数据包到缓存列表cacheA中。当有交互数据包被缓存至缓存列表cacheA中时,使用抓包时的先后顺序依次输出cacheA中数据包给参数统计分析模块。为保证缓存列表的有效使用,当缓存列表cacheA的最大缓存空间已满时,则丢弃缓存列表cacheA中所有交互数据包。
循环执行使用参数值列表PARA_A、PARA_B、PARA_C对获得的交互数据包进行依次猜测解析,删除不能正确解析所述交互数据包的参数值列表,保留能够正确解析所述交互数据包的参数值列表,直至当且仅当只有一个参数列表可以正确解析出缓存cacheA中的所有交互数据包且该参数列表中的所有参数在解析中都以被使用则可确认参数列表猜测成功进入协议解析阶段。
在一具体的解析过程中,协议参数a表示数据存储的大端小端格式,协议参数a的参数值可以包括两个值:表示大端的值和表示小端的值,交互数据包PACKET_A的特殊字段FIELD_A占用4个字节空间,特殊字段FIELD_A的值有效范围为0~255,例如当所获取到的特殊字段FIELD_A是:23000000,则利用协议参数a的参数值的大端值对特殊字段FIELD_A进行解析,那么这个特殊字段FIELD_A表示0x23000000是大于255,不满足有效范围,那么可以判断协议参数a不能正确解析特殊字段FIELD_A;然后利用协议参数a的参数值的小端值对特殊字段FIELD_A进行解析,那么特殊字段FIELD_A表示0x23,在0~255之间的有效范围内,那么可以断定协议参数a正确解析特殊字段FIELD_A,则协议参数a的参数值为小端参数值。本领域技术人员应当能够理解,上述协议参数解析过程的描述仅为举例,其他使用的协议参数的解析过程也包含在本申请的思想范围之内。
图3示出根据本申请一优选实施例提供的一种用于在数据库审计中解析协议参数的方法流程图,所述方法包括步骤S11’、步骤S12’和步骤S13’。
所述步骤S11’和步骤S12’与图1所示步骤S11和步骤S12的内容相同或基本相同,为简明起见,不再赘述,并以引用的方式包含于此。
在所述步骤S13’中,继续获取客户端与服务器端之间传输的若干交互数据包,并以所述仅有的一个所述参数值列表作为正确的协议参数的取值,利用所述正确的协议参数对所获取的交互数据包进行正常解析。
在获得正确的协议参数后,即可利用正确的协议参数对客户端与服务器端之间传输的交互数据包数据审计。
图4示出根据本申请一个方面的提供的本申请一方面提供的一种用于在数据库审计中解析协议参数的设备示意图,根据本申请另一方面提供的一种用于在数据库审计中解析协议参数的设备,其中,所述设备包括:
第一装置11基于所述数据库,建立待解析的协议参数的若干参数值列表,其中,每一所述参数值列表包括各个所述待解析的协议参数的一参数取值;
第二装置12循环执行获取客户端与服务器端之间传输的若干交互数据包,并利用每一所述参数值列表对所述交互数据包进行猜测解析,保留能够正确解析所述交互数据包的参数值列表,直至仅有一个所述参数值列表能够正确解析所有所获取的交互数据包。
在此,所述设备1包括但不限于用户设备、或用户设备与网络设备通过网络相集成所构成的设备。所述用户设备其包括但不限于任何一种可与用户通过触摸板进行人机交互的移动电子产品,例如智能手机、PDA等,所述移动电子产品可以采用任意操作系统,如android操作系统、iOS操作系统等。其中,所述网络设备包括一种能够按照事先设定或存储的指令,自动进行数值计算和信息处理的电子设备,其硬件包括但不限于微处理器、专用集成电路(ASIC)、可编程门阵列(FPGA)、数字处理器(DSP)、嵌入式设备等。所述网络包括但不限于互联网、广域网、城域网、局域网、VPN网络、无线自组织网络(AdHoc网络)等。优选地,设备1还可以是运行于所述用户设备、或用户设备与网络设备、触摸终端或网络设备与触摸终端通过网络相集成所构成的设备上的脚本程序。当然,本领域技术人员应能理解上述设备1仅为举例,其他现有的或今后可能出现的设备1如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
上述各装置之间是持续不断工作的,在此,本领域技术人员应理解“持续”是指上述各装置分别实时地或者按照设定的或实时调整的工作模式要求,直至所述设备1停止工作。
具体地,在所述第一装置11中:基于所述数据库,建立待解析的协议参数的若干参数值列表,其中,每一所述参数值列表包括各个所述待解析的协议参数的一参数取值;具体地,建立待解析的协议参数的若干参数值列表包括:基于所述数据库协议规则,确定待解析的协议参数的个数;根据所述待解析的协议参数的取值范围,设定若干参数值列表,其中,每一所述参数值列表包括各个所述待解析的协议参数的一设定参数值。
在具体场景中,假设需要协商的协议参数有四个a、b、c、d,则根据每一参数可能的参数取值,互相组合形成若干参数值列表:PARAMETERS[4]={a,b,c,d},例如,参数列表取值可能为PARA_A[4]={0,1,2,3},PARA_B[4]={1,1,2,3},PARA_C[4]={2,3,4,3}等等。当然,本领域技术人员应当能够理解,上述协议参数和参数取值的描述仅为举例,并不被限定,具体可根据不同数据库的协议参数和参数的可能取值具体确定。
在所述第二装置12中,循环执行获取客户端与服务器端之间传输的若干交互数据包,并利用每一所述参数值列表对所述交互数据包进行猜测解析,保留能够正确解析所述交互数据包的参数值列表,直至仅有一个所述参数值列表能够正确解析所有所获取的交互数据包。
具体地,利用每一所述参数值列表对所述交互数据包进行猜测解析,删除不能正确解析所述交互数据包的参数值列表,保留能够正确解析所述交互数据包的参数值列表,直至当且仅有一个所述参数值列表能够正确解析所有所述交互数据包时,则基于该正确解析的参数值列表确定为所述协议参数正确的取值。在此所述的猜测解析是指使用所述参数值列表对获取的所述交互数据包进行尝试的解析。具体地,获取所述交互数据包中与所述待解析的协议参数相关的标志字段;利用每一所述参数值列表对所述交互数据包的标志字段进行猜测解析。若能够正确解析出所述交互数据包,则保留该参数值列表,若不能正确解析所述交互数据包,则删除该参数值列表。
获取客户端与服务器端之间传输的若干交互数据包还包括:当所述缓存列表中存储的所述交互数据包达到容量阈值时,删除所述缓存列表中已存储的所述交互数据包,并继续获取后续交互数据包,以避免数据库审计拥堵。
以甲骨文数据库(ORACLE)为例,ORACLE协议比较复杂,其中,常用的TTC消息有近50种,比如:用于SQL非优化查询的OALL8消息(编号035E),OALL7消息(编号0347),用于SQL优化查询的OEXFEN消息(编号034E)等。在ORACLE需要协商的协议参数也比较多,主要包括:2、4、8位整数数据的字节序,是否压缩;指针类型的长度、字节序等;字符串采用分段编码的CLR格式、还是CHR;TTC版本号,决定了部分字段的存在性。
参考图2,结合具体场景中说明本申请所述方法的执行过程:
假设需要协商的协议参数有四个a、b、c、d,所述协商参数的参数列表为PARAMETERS[4]={a,b,c,d},根据可能取值,设定协商参数的参数列表取值为PARA_A[4]={0,1,2,3},PARA_B[4]={1,1,2,3},PARA_C[4]={2,3,4,3}。
创建一缓存列表cacheA,用以保持统计分析参数列表过程中抓取到的客户端与服务器端之间传输的交互数据包,这些交互数据包在缓存列表cacheA中根据抓包的时间顺序依次存储。
审计服务过程中,抓取到一个数据包,当该数据包是交互数据包时,则缓存该交互数据包到缓存列表cacheA中。当有交互数据包被缓存至缓存列表cacheA中时,使用抓包时的先后顺序依次输出cacheA中数据包给参数统计分析模块。为保证缓存列表的有效使用,当缓存列表cacheA的最大缓存空间已满时,则丢弃缓存列表cacheA中所有交互数据包。
循环执行使用参数值列表PARA_A、PARA_B、PARA_C对获得的交互数据包进行依次猜测解析,删除不能正确解析所述交互数据包的参数值列表,保留能够正确解析所述交互数据包的参数值列表,直至当且仅当只有一个参数列表可以正确解析出缓存cacheA中的所有交互数据包且该参数列表中的所有参数在解析中都以被使用则可确认参数列表猜测成功进入协议解析阶段。
在一具体的解析过程中,协议参数a表示数据存储的大端小端格式,协议参数a的参数值可以包括两个值:表示大端的值和表示小端的值,交互数据包PACKET_A的特殊字段FIELD_A占用4个字节空间,特殊字段FIELD_A的值有效范围为0~255,例如当所获取到的特殊字段FIELD_A是:23000000,则利用协议参数a的参数值的大端值对特殊字段FIELD_A进行解析,那么这个特殊字段FIELD_A表示0x23000000是大于255,不满足有效范围,那么可以判断协议参数a不能正确解析特殊字段FIELD_A;然后利用协议参数a的参数值的小端值对特殊字段FIELD_A进行解析,那么特殊字段FIELD_A表示0x23,在0~255之间的有效范围内,那么可以断定协议参数a正确解析特殊字段FIELD_A,则协议参数a的参数值为小端参数值。本领域技术人员应当能够理解,上述协议参数解析过程的描述仅为举例,其他使用的协议参数的解析过程也包含在本申请的思想范围之内。
图5示出根据本申请一优选实施例中的提供的本申请一方面提供的一种用于在数据库审计中解析协议参数的设备示意图。所述设备包括第一装置11’、第二装置12’和第三装置13’。
所述第一装置11’和第二装置12’与图1所示第一装置11和第二装置12的内容相同或基本相同,为简明起见,不再赘述,并以引用的方式包含于此。
所述第三装置13’继续获取客户端与服务器端之间传输的若干交互数据包,并以所述仅有的一个所述参数值列表作为正确的协议参数的取值,利用所述正确的协议参数对所获取的交互数据包进行正常解析。
在获得正确的协议参数后,即可利用正确的协议参数对客户端与服务器端之间传输的交互数据包数据审计。
与现有技术相比,根据本申请实施例所提供的所述用于扩展分布式一致性服务的方法和设备,通过建立待解析的协议参数的若干参数值列表,并对所获取的交互数据包进行猜测解析,直至保留了仅有一个所述参数值列表能够正确解析所有所获取的交互数据包,即该参数值列表即为协议参数的正确的参数值列表,从而解决开放连接情况下,获得协议参数并实现协议解析。
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。而调用本申请的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (12)
1.一种用于在数据库审计中解析协议参数的方法,其中,所述方法包括:
基于所述数据库,建立待解析的协议参数的若干参数值列表,其中,每一所述参数值列表包括各个所述待解析的协议参数的一参数取值;
循环执行获取客户端与服务器端之间传输的若干交互数据包,并利用每一所述参数值列表对所述交互数据包进行猜测解析,保留能够正确解析所述交互数据包的参数值列表,直至仅有一个所述参数值列表能够正确解析所有所获取的交互数据包。
2.根据权利要求1所述的方法,其中,所述方法还包括:
继续获取客户端与服务器端之间传输的若干交互数据包,并以所述仅有的一个所述参数值列表作为正确的协议参数的取值,利用所述正确的协议参数对所获取的交互数据包进行正常解析。
3.根据权利要求1或2所述的方法,其中,建立待解析的协议参数的若干参数值列表包括:
基于所述数据库协议规则,确定待解析的协议参数的个数;
根据每个所述待解析的协议参数的参数取值范围,建立若干所述参数值列表。
4.根据权利要求1至3中任一项所述的方法,其中,获取客户端与服务器端之间传输的若干交互数据包包括:
创建缓存列表;
获取客户端与服务器端之间传输的若干交互数据包,并根据获取时间顺序,将所述交互数据包依次存储于缓存列表中,以待进行猜测解析。
5.根据权利要求4所述的方法,其中,获取客户端与服务器端之间传输的若干交互数据包还包括:
当所述缓存列表中存储的所述交互数据包达到容量阈值时,删除所述缓存列表中已存储的所述交互数据包,并继续获取后续交互数据包。
6.根据权利要求1至5中任一项所述的方法,其中,利用每一所述参数值列表对所述交互数据包进行猜测解析包括:
获取所述交互数据包中与所述待解析的协议参数相关的标志字段;
利用每一所述参数值列表对所述交互数据包的标志字段进行猜测解析。
7.一种用于在数据库审计中解析协议参数的设备,其中,所述设备包括:
第一装置,用于基于所述数据库,建立待解析的协议参数的若干参数值列表,其中,每一所述参数值列表包括各个所述待解析的协议参数的一参数取值;
第二装置,用于循环执行获取客户端与服务器端之间传输的若干交互数据包,并利用每一所述参数值列表对所述交互数据包进行猜测解析,保留能够正确解析所述交互数据包的参数值列表,直至仅有一个所述参数值列表能够正确解析所有所获取的交互数据包。
8.根据权利要求7所述的设备,其中,所述设备还包括:
第三装置,用于继续获取客户端与服务器端之间传输的若干交互数据包,并以所述仅有的一个所述参数值列表作为正确的协议参数的取值,利用所述正确的协议参数对所获取的交互数据包进行正常解析。
9.根据权利要求7或8所述的设备,其中,所述第一装置用于:
基于所述数据库协议规则,确定待解析的协议参数的个数;
根据每个所述待解析的协议参数的参数取值范围,建立若干所述参数值列表。
10.根据权利要求8或9所述的设备,其中,所述第二装置用于:
创建缓存列表;
获取客户端与服务器端之间传输的若干交互数据包,并根据获取时间顺序,将所述交互数据包依次存储于缓存列表中,以待进行猜测解析。
11.根据权利要求10所述的设备,其中,所述第二装置还用于:
当所述缓存列表中存储的所述交互数据包达到容量阈值时,删除所述缓存列表中已存储的所述交互数据包,并继续获取后续交互数据包。
12.根据权利要求8至11中任一项所述的设备,其中,所述第二装置用于:
获取所述交互数据包中与所述待解析的协议参数相关的标志字段;
利用每一所述参数值列表对所述交互数据包的标志字段进行猜测解析。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510586428.3A CN105183866A (zh) | 2015-09-15 | 2015-09-15 | 用于在数据库审计中解析协议参数的方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510586428.3A CN105183866A (zh) | 2015-09-15 | 2015-09-15 | 用于在数据库审计中解析协议参数的方法和设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105183866A true CN105183866A (zh) | 2015-12-23 |
Family
ID=54905947
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510586428.3A Pending CN105183866A (zh) | 2015-09-15 | 2015-09-15 | 用于在数据库审计中解析协议参数的方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105183866A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107463842A (zh) * | 2017-08-23 | 2017-12-12 | 杭州安恒信息技术有限公司 | 基于数据库协议的sql注入审计或防护方法及装置 |
CN107491538A (zh) * | 2017-08-23 | 2017-12-19 | 成都安恒信息技术有限公司 | 一种db2数据库的存储过程命令及参数值提取方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101227351A (zh) * | 2008-01-23 | 2008-07-23 | 深圳国人通信有限公司 | 一种远程监控中多协议数据包的处理方法及装置 |
US20110010552A1 (en) * | 2009-07-10 | 2011-01-13 | Frank Hoornaert | Authentication token with incremental key establishment capacity |
CN101997661A (zh) * | 2009-08-14 | 2011-03-30 | 华为技术有限公司 | 数据包发送方法、数据包获取方法及装置 |
CN103595729A (zh) * | 2013-11-25 | 2014-02-19 | 北京锐安科技有限公司 | 一种协议解析方法及装置 |
-
2015
- 2015-09-15 CN CN201510586428.3A patent/CN105183866A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101227351A (zh) * | 2008-01-23 | 2008-07-23 | 深圳国人通信有限公司 | 一种远程监控中多协议数据包的处理方法及装置 |
US20110010552A1 (en) * | 2009-07-10 | 2011-01-13 | Frank Hoornaert | Authentication token with incremental key establishment capacity |
CN101997661A (zh) * | 2009-08-14 | 2011-03-30 | 华为技术有限公司 | 数据包发送方法、数据包获取方法及装置 |
CN103595729A (zh) * | 2013-11-25 | 2014-02-19 | 北京锐安科技有限公司 | 一种协议解析方法及装置 |
Non-Patent Citations (2)
Title |
---|
张丽丽,等: "基于分布式计算的暴力破解分组密码算法", 《计算机工程》 * |
胡庆安,等: "基于双重特征的协议识别方法", 《计算机安全》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107463842A (zh) * | 2017-08-23 | 2017-12-12 | 杭州安恒信息技术有限公司 | 基于数据库协议的sql注入审计或防护方法及装置 |
CN107491538A (zh) * | 2017-08-23 | 2017-12-19 | 成都安恒信息技术有限公司 | 一种db2数据库的存储过程命令及参数值提取方法 |
CN107463842B (zh) * | 2017-08-23 | 2020-04-07 | 杭州安恒信息技术股份有限公司 | 基于数据库协议的sql注入审计或防护方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9448999B2 (en) | Method and device to detect similar documents | |
US9519774B2 (en) | Systems and methods for SQL query constraint solving | |
US11188650B2 (en) | Detection of malware using feature hashing | |
CN102541937B (zh) | 一种网页信息探测方法及系统 | |
CN103902653B (zh) | 一种构建数据仓库表血缘关系图的方法和装置 | |
US20130346364A1 (en) | Method and system for capturing change of data | |
CN110650117B (zh) | 跨站攻击防护方法、装置、设备及存储介质 | |
CN103678702A (zh) | 视频去重方法及装置 | |
CN107122169B (zh) | 一种Flash函数加密的方法及装置 | |
CN103020207B (zh) | 浏览器标签页分组管理方法及装置 | |
US20240311470A1 (en) | Systems and methods for improving accuracy in recognizing and neutralizing injection attacks in computer services | |
US10002254B2 (en) | Systems and methods for SQL type evaluation to detect evaluation flaws | |
CN107370719A (zh) | 异常登录识别方法、装置及系统 | |
CN114915479A (zh) | 一种基于Web日志的Web攻击阶段分析方法及系统 | |
CN104462396A (zh) | 字符串处理方法和装置 | |
CN102915376A (zh) | 检测数据库异常行为的方法和设备 | |
CN105653949A (zh) | 一种恶意程序检测方法及装置 | |
CN101959178A (zh) | 一种用于识别无线终端的终端属性的方法与设备 | |
CN111368227A (zh) | 一种url处理方法以及装置 | |
CN105183866A (zh) | 用于在数据库审计中解析协议参数的方法和设备 | |
CN106357482A (zh) | 一种基于网络协议实施监控网页访问的方法 | |
US10025936B2 (en) | Systems and methods for SQL value evaluation to detect evaluation flaws | |
CN110825947B (zh) | Url去重方法、装置、设备与计算机可读存储介质 | |
CN116055067A (zh) | 一种弱口令检测的方法、装置、电子设备及介质 | |
CN114048471A (zh) | 一种网页漏洞检测方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20151223 |
|
RJ01 | Rejection of invention patent application after publication |