CN109376546A - 基于全局规则的数据包审计方法、***、装置及存储介质 - Google Patents
基于全局规则的数据包审计方法、***、装置及存储介质 Download PDFInfo
- Publication number
- CN109376546A CN109376546A CN201811141058.2A CN201811141058A CN109376546A CN 109376546 A CN109376546 A CN 109376546A CN 201811141058 A CN201811141058 A CN 201811141058A CN 109376546 A CN109376546 A CN 109376546A
- Authority
- CN
- China
- Prior art keywords
- data packet
- rule
- matching
- audit
- global rule
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种基于全局规则的数据包审计方法,将每个完整的待审计数据包拆分为多个单一维度数据包,之后只需对每个单一维度数据包使用对应匹配维度下包含的具体匹配参数进行即可,最终即可基于各匹配结果和每个具体匹配参数对应的单一审计规则所属的全局规则确定该待审计数据包匹配的目标全局规则。由于每个单一审计规则数据包中仅包含对应单一审计规则匹配所需的部分数据,不包含与对应单一审计规则无关的部分,不会重复多次的对数据包先后进行不同的匹配操作,能够显著降低匹配耗时和时间复杂度,提升数据包审计效率。本申请还同时公开了一种基于全局规则的数据包审计***、装置及计算机可读存储介质,具有上述有益效果。
Description
技术领域
本申请涉及数据库审计技术领域,特别涉及一种基于全局规则的数据包审计方法、***、装置及计算机可读存储介质。
背景技术
随着数据安全意识的加强,绝大多数应用场景下都采用了网络安全产品来对网络间传输的数据进行内容审计和管控。
从内容审计来说,对于一个个待审计的数据包,现今所使用的审计方式为:将每个完整的待审计数据包分别匹配于每条匹配审计规则,排除仅凭单一审计规则就可以根据匹配结果得到审计与否(数据包放行与不放行)结论的情况,在内容种类更多、实际情景更复杂的场景下,通常需要使用包含多条不同种类审计规则的复杂审计规则来进行审计,即基于包含多条审计规则的全局规则来做审计与否的判断。
此种情况下,需要完成构成一条全局规则的所有单一审计规则的判定,才能够综合各单一审计规则各自的匹配结果最终得到是否匹配于对应全局规则的结论,进而在匹配于该条全局规则的基础上根据为该全局规则设定的审计动作来执行相应的审计操作。即得到是否匹配于某条全局规则的匹配耗时直接决定了最终的数据包审计效率,而现有实现方式的匹配耗时与全局规则中包含的单一审计规则条数成正比,因为每条审计规则均需要对完整的待审计数据包进行内容匹配,尤其在拥有多条全局规则的情况下,更需要对全局规则中包含的所有单一审计规则分别进行匹配,导致其匹配耗时较长、时间复杂度较高,审计效率较低。
因此,如何克服现有数据包审计方法中存在的各项技术缺陷,提供一种匹配耗时更短、时间复杂度更低、审计效率更高的数据包审计方法是本领域技术人员亟待解决的问题。
发明内容
本申请的目的是提供一种基于全局规则的数据包审计方法,将每个完整的待审计数据包拆分为多个单一维度数据包,其中,拆分的数量与全局规则中包含的单一审计规则数量相同,且每个单一审计规则数量对应一个匹配维度,之后只需对每个单一维度数据包使用对应匹配维度下包含的具体匹配参数进行即可,最终即可基于各匹配结果和每个具体匹配参数对应的单一审计规则所属的全局规则确定该待审计数据包匹配的目标全局规则。由于每个单一审计规则数据包中仅包含对应单一审计规则匹配所需的部分数据,不包含与对应单一审计规则无关的部分,不会重复多次的对数据包先后进行不同的匹配操作,能够显著降低匹配耗时和时间复杂度,提升数据包审计效率。
本申请的另一目的在于提供了一种基于全局规则的数据包审计***、装置及计算机可读存储介质。
为实现上述目的,本申请提供了一种基于全局规则的数据包审计方法,该数据包审计方法包括:
将待审计数据包分别按匹配维度集中包含的每个匹配维度进行拆分,得到与匹配维度数相同数量的单一维度数据包;其中,每个所述匹配维度根据特征的不同对应有专属的数据拆分方式,且每个所述匹配维度下还对应有存放具体匹配参数的参数集;
对每个所述单一维度数据包按对应匹配维度的参数集进行参数匹配,得到每个所述具体匹配参数的匹配结果;
根据所述匹配结果和各所述具体匹配参数所属的全局规则确定所述待审计数据包匹配的目标全局规则,并执行与所述目标全局规则对应的审计动作。
可选的,该数据包审计方法还包括:
当增加新全局规则时,将所述新全局规则包含的新具体匹配参数更新至相应匹配维度的参数集中。
可选的,根据所述匹配结果和各所述具体匹配参数所属的全局规则确定所述待审计数据包匹配的目标全局规则,包括:
根据所述匹配结果确定所述待审计数据包匹配的目标具体匹配参数;
确定每个所述目标具体匹配参数所属的全局规则,得到各备选规则集;
对各所述备选规则集做与运算,得到与运算结果;
当所述与运算结果非空时,判定所述待审计数据包匹配于所述与运算结果中包含的全局规则;
当所述与运算结果为空集时,判定所述待审计数据包不匹配于任一当前已有的全局规则。
可选的,该数据包审计方法还包括:
为不同的全局规则设置不同的优先级;
当所述待审计数据包匹配的目标全局规则数量大于1时,根据所述优先级确定唯一的目标全局规则。
为实现上述目的,本申请还提供了一种基于全局规则的数据包审计***,该数据包审计***包括:
完整待审计数据包拆分单元,用于将待审计数据包分别按匹配维度集中包含的每个匹配维度进行拆分,得到与匹配维度数相同数量的单一维度数据包;其中,每个所述匹配维度根据特征的不同对应有专属的数据拆分方式,且每个所述匹配维度下还对应有存放具体匹配参数的参数集;
参数匹配单元,用于对每个所述单一维度数据包按对应匹配维度的参数集进行参数匹配,得到每个所述具体匹配参数的匹配结果;
全局规则确定单元,用于根据所述匹配结果和各所述具体匹配参数所属的全局规则确定所述待审计数据包匹配的目标全局规则,并执行与所述目标全局规则对应的审计动作。
可选的,该数据包审计***还包括:
参数集更新单元,用于当增加新全局规则时,将所述新全局规则包含的新具体匹配参数更新至相应匹配维度的参数集中。
可选的,所述全局规则确定单元包括:
目标具体匹配参数确定子单元,用于根据所述匹配结果确定所述待审计数据包匹配的目标具体匹配参数;
备选规则集建立子单元,用于确定每个所述目标具体匹配参数所属的全局规则,得到各备选规则集;
与运算子单元,用于对各所述备选规则集做与运算,得到与运算结果;
非空判定子单元,用于当所述与运算结果非空时,判定所述待审计数据包匹配于所述与运算结果中包含的全局规则;
空集判定子单元,用于当所述与运算结果为空集时,判定所述待审计数据包不匹配于任一当前已有的全局规则。
可选的,该数据包审计***还包括:
优先级设定单元,用于为不同的全局规则设置不同的优先级;
唯一目标全局规则确定单元,用于当所述待审计数据包匹配的目标全局规则数量大于1时,根据所述优先级确定唯一的目标全局规则。
为实现上述目的,本申请还提供了一种数据包审计装置,该装置包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述内容所描述的数据包审计方法的步骤。
为实现上述目的,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述内容所描述的数据包审计方法的步骤。
显然,本申请所提供的一种基于全局规则的数据包审计方法,将每个完整的待审计数据包拆分为多个单一维度数据包,其中,拆分的数量与全局规则中包含的单一审计规则数量相同,且每个单一审计规则数量对应一个匹配维度,之后只需对每个单一维度数据包使用对应匹配维度下包含的具体匹配参数进行即可,最终即可基于各匹配结果和每个具体匹配参数对应的单一审计规则所属的全局规则确定该待审计数据包匹配的目标全局规则。由于每个单一审计规则数据包中仅包含对应单一审计规则匹配所需的部分数据,不包含与对应单一审计规则无关的部分,不会重复多次的对数据包先后进行不同的匹配操作,能够显著降低匹配耗时和时间复杂度,提升数据包审计效率。本申请同时还提供了一种基于全局规则的数据包审计***、装置及计算机可读存储介质,具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种基于全局规则的数据包审计方法的流程图;
图2为本申请实施例一提供的数据包审计方法中一种确定目标全局规则的方法的流程图;
图3(a)为本申请实施例提供的一种源IP的规则索引位图;
图3(b)为本申请实施例提供的一种目的端口的规则索引位图;
图3(c)为本申请实施例提供的一种应用名称的规则索引位图;
图3(d)为本申请实施例提供的一种数据库名的规则索引位图;
图4为本申请实施例提供的一种关系运算和集合运算混合的策略规则匹配的流程图;
图5(a)为本申请实施例提供的第一次与运算结果的示意图;
图5(b)为本申请实施例提供的第二次与运算结果的示意图;
图5(c)为本申请实施例提供的第三次与运算结果的示意图。
图6为本申请实施例提供的一种基于全局规则的数据包审计***的结构框图。
具体实施方式
本申请的核心是提供一种基于全局规则的数据包审计方法、***、装置及计算机可读存储介质,将每个完整的待审计数据包拆分为多个单一维度数据包,其中,拆分的数量与全局规则中包含的单一审计规则数量相同,且每个单一审计规则数量对应一个匹配维度,之后只需对每个单一维度数据包使用对应匹配维度下包含的具体匹配参数进行即可,最终即可基于各匹配结果和每个具体匹配参数对应的单一审计规则所属的全局规则确定该待审计数据包匹配的目标全局规则。由于每个单一审计规则数据包中仅包含对应单一审计规则匹配所需的部分数据,不包含与对应单一审计规则无关的部分,不会重复多次的对数据包先后进行不同的匹配操作,能够显著降低匹配耗时和时间复杂度,提升数据包审计效率。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
实施例一
以下结合图1,图1为本申请实施例提供的一种基于全局规则的数据包审计方法的流程图,其具体包括以下步骤:
S101:将待审计数据包分别按匹配维度集中包含的每个匹配维度进行拆分,得到与匹配维度数相同数量的单一维度数据包;
其中,每个匹配维度通常对应一类单一审计规则,例如对源IP地址的审计规则、对目的IP地址的审计规则、对是否包含特定的与数据库名相关的字符串的审计规则等等,即每类单一审计规则通常会被划分为一个匹配维度,包含各匹配维度的集合被称为该匹配维度集,在按匹配维度进行数据包拆分的过程中,还需要依据每类单一审计规则的数据特征设定对应的数据拆分方式,以通过该数据拆分方式得到数据包能够仅包含对应单一审计规则审计所需的目标数据,以对源IP地址进行审计为例,根据IP地址的特殊格式以及源IP地址区别于目的IP地址的位置特征就可以得到仅包含源IP地址的单一维度数据包。
在此基础上,在一类单一审计规则下,还会根据实际情况的不同,存在多个具体匹配参数,例如一个全局规则包含的源IP地址审计规则要求对源IP地址为1.1.1.1的待审计数据包进行审计,另一个全局规则包含的源IP地址审计规则却要求对源IP地址为2.2.2.2的待审计数据包进行审计等等,此时的1.1.1.1和2.2.2.2均为源IP地址审计规则这类下的一个具体匹配参数,均包含于对应的参数集中。
需要说明的是,根据各单一审计规则的判定方式可将其分为两大类:关系运算和集合运算,关系运算通常包括等于、不等于、大于等于等运算关系;集合运算通常指集合间求取交集、差集等操作,其对应的结果通常表现为包含和不包含。即本申请并不限定单一审计规则所属的运算种类,均可以实现。
本步骤旨在将一个完整的待审计数据包分别按匹配维度集中包含的每个匹配维度进行拆分,得到与匹配维度数相同数量的单一维度数据包。即每个单一维度数据包中仅包含对应类别的单一审计规则在进行后续匹配时所需的待审计数据,不包含与其它类别的单一审计规则相关的待审计数据,因此对于每一个单一维度数据包的匹配耗时就会显著缩短,不会去做无用功,同时根据性能的不同,还可以在匹配时采取并行的方式来进一步缩短匹配耗时,因为对于每个单一维度数据包的匹配过程是完全独立的。
在得到每类单一审计规则对应的数据拆分方式的过程中,除可以根据每种单一审计规则的组成特征进行拆分和提取外,还可以根据每种单一审计规则的审计关键词是否被一段连续的字符串包含来进行提取和拆分;也可以在确定各待审计数据包组成格式的前提下,根据全局规则中包含的单一审计规则为其人工划定对应单一审计规则数据包的拆分和提取范围等等,方法多种多样,可根据实际情况下待审计数据包中构成数据的复杂程度和拆分提取精确度的要求灵活选择合适的方式实现这一目的,此处并不做具体限定。
S102:对每个单一维度数据包按对应匹配维度的参数集进行参数匹配,得到每个具体匹配参数的匹配结果;
在S101的基础上,本步骤旨在对每个单一维度数据包按对应匹配维度的参数集进行参数匹配,得到每个具体匹配参数的匹配结果。
需要说明的是,若一条全局规则中包含4条单一审计规则,通常这4条单一审计规则都属于不同种类单一审计规则,因为除十分特殊的情况外,没有必要设置两条同种类的审计规则,例如其中一条审计规则设定源IP地址为1.1.1.1,因此只存在待审计数据包中的源IP地址等于或不等于1.1.1.1两种情况,若还存在另一条源IP地址为3.3.3.3的同类审计规则,将会造成匹配结果冲突,因此绝大多数情况下全局规则中包含的单一审计规则都各自代表某一类审计,业内也通常将一类称之为一个维度。
在此情况下,依然假定一条全局规则中包含4条单一审计规则(即四个匹配维度),因此会得到对应的4个单一维度数据包,这4个单一维度数据包会分别使用对应单一审计规则中包含的具体匹配参数进行匹配,进而得到每条单一审计规则的匹配结果,由于最终要得到的该待审计数据包是否匹配与包含这四条单一审计规则的全局规则的结论,还需要结合这四个匹配结果最终得到是否匹配与相应全局规则的结论。
而在实际应用场景下,往往会存在很多全局规则,且通常情况下不同全局规则包含的单一审计规则种类和数量相同,例如存在10条全局规则,这10条全局规则都是对源IP地址、目的IP地址、MAC地址、是否包含特定数据库这4条单一审计规则进行综合,但组成每条全局规则的具体匹配参数肯定互不相同,也就最多存在10个源IP地址、10个目的IP地址、10个MAC地址以及10种数据库,这10个具体的源IP地址构成源IP匹配维度的参数集、10个具体的目的IP地址构成目的IP匹配维度的参数集、10具体的MAC地址构成MAC匹配维度的参数集、10种具体的数据库构成数据库匹配维度的参数。
在此种情景下,一个完整的待审计数据包会被拆分为四个单一维度数据包,分别为源IP数据包、目的IP数据包、MAC数据包以及数据库数据包,以源IP数据包的匹配过程为例,就需要对该源IP数据包分别就包含于源IP匹配维度的参数集中的10个具体源IP地址进行匹配,最终确定匹配于这10个具体源IP地址中的哪几个的匹配结果,其它单一维度数据包的匹配过程类似。
S103:根据匹配结果和各具体匹配参数所属的全局规则确定待审计数据包匹配的目标全局规则,并执行与目标全局规则对应的审计动作。
在S102的基础上,本步骤旨在根据匹配结果和各具体匹配参数所属的全局规则确定待审计数据包匹配的目标全局规则,并执行与目标全局规则对应的审计动作,具体可能出现不匹配与任何一条已有全局规则的情况,也可以出现同时匹配于多条全局规则的情况,通常情况下经过合理的设计,绝大多数会出现仅满足其中一条全局规则的情况,是因为考虑之后若同时匹配于多条全局规则时出现的后续审计动作执行冲突的问题。当然,也可以设置冲突时的执行优先级来解决这个问题,此处并不做具体限定。
例如,当存在两条全局规则时,第一条全局规则包含A1、B1、C1以及D1四条单一审计规则,第二条全局规则包含A2、B2、C2以及D2四条单一审计规则,一个待审计数据包会被拆分和提取出4个单一审计规则数据包(A、B、C以及D),假定A经A1的策略匹配后得到匹配的结果、经A2的策略匹配后也得到匹配的结果,B经B1的策略匹配后得到不匹配的结果、经B2的策略匹配后得到匹配的结果,C经C1的策略匹配后得到匹配的结果、经C2的策略匹配后得到匹配的结果,D经D1的策略匹配后得到匹配的结果、经D2的策略匹配后得到匹配的结果,因此该审计数据包同时匹配于A2、B2、C2以及D2,因此可判定该审计数据包匹配于第二条全局规则,由于该审计数据包并非同时匹配于A1、B1、C1以及D1,因此可判定该待审计数据包不匹配于第一条全局规则。
在根据各匹配结果确定与某条已有的全局规则匹配的基础上,还需要按照预先设定的在匹配于该全局规则时需要执行的审计动作,通常包括审计或不审计两种,前者代表需要对该审计数据包进行后续的审计流程,后者代表这个待审计数据包是需要“放过”的数据包。
基于上述技术方案,本申请实施例提供的一种基于全局规则的数据包审计方法,将每个完整的待审计数据包拆分为多个单一维度数据包,其中,拆分的数量与全局规则中包含的单一审计规则数量相同,且每个单一审计规则数量对应一个匹配维度,之后只需对每个单一维度数据包使用对应匹配维度下包含的具体匹配参数进行即可,最终即可基于各匹配结果和每个具体匹配参数对应的单一审计规则所属的全局规则确定该待审计数据包匹配的目标全局规则。由于每个单一审计规则数据包中仅包含对应单一审计规则匹配所需的部分数据,不包含与对应单一审计规则无关的部分,不会重复多次的对数据包先后进行不同的匹配操作,能够显著降低匹配耗时和时间复杂度,提升数据包审计效率。
实施例二
以下结合图2,图2为本申请实施例一提供的数据包审计方法中一种确定目标全局规则的方法的流程图,本实施例仅针对实施例一S103提供一种可行的确定目标全局规则的方法,并不改变其它步骤的方案,具体实施步骤如下:
S201:根据匹配结果确定待审计数据包匹配的目标具体匹配参数;
本步骤旨在得到每个拆分出来的单一维度数据包具体匹配于对应匹配维度的参数集中的哪个具体匹配参数,匹配的具体匹配参数被命名为目标具体匹配参数。
S202:确定每个目标具体匹配参数所属的全局规则,得到各备选规则集;
在S201的基础上,本步骤旨在根据目标具体参数所属的全局规则,得到与每个单一维度数据包相对应的备选规则集,该备选规则集的数量与单一维度数据包的数量相同,且该备选规则集中的包含的是与各目标具体匹配参数对应的全局规则,因为一个单一维度数据包可能匹配于多个具体匹配参数,一个具体匹配参数也可能同时属于多个全局规则。
S203:对各备选规则集做与运算,得到与运算结果;
在S202中仅确定出了每个单一维度数据包匹配的全局规则,为最终得到由各单一维度数据包构成的完整待审计数据的全局规则匹配结果,还需要综合各单一维度数据包匹配的全局规则得到最终结论,具体方法为对各备选规则集做与运算,得到与运算结果。
与运算是计算机中一种基本的逻辑运算方式,符号表示为&,参加运算的两个数据,按二进制位进行与运算,其运算规则:0&0=0;0&1=0;1&0=0;1&1=1;即:两位同时为“1”,结果才为“1”,否则为0。本步骤的目的在于选取出同时存在于各个单一维度数据包对应的备选规则集的全局规则,相当于取各备选规则集的交集,以计算机二进制实现时,即为与运算。
S204:当与运算结果非空时,判定待审计数据包匹配于与运算结果中包含的全局规则;
S205:当与运算结果为空集时,判定待审计数据包不匹配于任一当前已有的全局规则。
在本申请的另一实施例中,还可以考虑到可能存在与运算结果包含多个全局规则的情况,预先为不同的全局规则设置不同的优先级,以当待审计数据包匹配的目标全局规则数量大于1时,根据优先级确定唯一的目标全局规则。具体的,可以选取拥有最高优先级的那个来执行,也可以根据实际应用情景中所有可能存在的特殊要求,选取优先级居中或最低的那个来执行,此处并不做具体限定。
在本申请的又一个实施例中,还可以当增加新全局规则时,将新全局规则包含的新具体匹配参数更新至相应匹配维度的参数集中。具体操作时可以先判断新全局规则中是否存在新的具体匹配参数,还是仅是现存具体匹配参数的一种新的组合,若是一种新的组合还需要将增添原有具体匹配参数与新全局规则间的隶属关系,若存在新的具体匹配参数,只需将其添加至对应匹配维度的参数集并设置好隶属关系即可。
实施例三
本实施例在上述各实施例的基础上,将结合一个实际应用场景给出一种具体的实现方式,请同时参考图3(a)(b)(c)(d)、图4以及图5(a)(b)(c),本实施例所处的实际环境如下表1:
表1策略、规则、维度示例表
如表1所示,假设用户对安全产品建立了2条策略,分别命名为A策略和B策略,每条策略包含源IP、目的端口、应用名称、数据库名4个维度和一个匹配后的动作审计或者不审计,源IP维度的匹配方式为等于、目的端口维度的匹配方式为不等于、应用名称维度的匹配方式为包含、数据库名维度的匹配方式为不包含。其中A策略包含1条规则,源IP为1.1.1.1、目的端口为1521、应用名称为oracle、数据库名为a,规则匹配后的动作为不审计。B策略包含3条规则,第一条规则源IP为3.3.3.3、目的端口为1433、应用名称为SQL Server、数据库名为ab,规则匹配后的动作为审计。第二条规则源IP为5.5.5.5、目标端口3306、应用名称为mysql、数据库名为abc,规则匹配后的动作为审计。第三条规则源IP为1.1.1.1、目的端口为1522、应用名称为Java oracle、数据库名为abcd,规则匹配后的动作为审计。
对于上述用户新建的2条策略共4条规则,首先按照不同维度对其匹配参数进行预处理。即对源IP、目的端口、应用名称、数据库名维度分别进行预处理。我们用4个位来存储该维度的某个具体值有没有命中4条全局规则中的某一条,如果命中某一条全局规则,则在该位置1,否则置0。
源IP的匹配方式为等于,即数据包中的源IP和规则中的源IP相等才匹配这条规则。根据等于的匹配原则,我们将源IP维度的1.1.1.1、3.3.3.3、5.5.5.5、1.1.1.1进行预处理为图3(a)的规则索引方式。
如图3(a)所示,源IP1.1.1.1对应的规则为全局规则0和全局规则3,所以在存储结果的规则索引位图当中,第0位和第3位置1,其余位置0。源IP3.3.3.3对应全局规则1,所以在存储结果的规则索引位图中,第1位置1,其余位置0。源IP5.5.5.5对应全局规则2,所以在存储结果的规则索引位图中,第2位置1,其余位置0。
目标端口的匹配方式为不等于,即数据包中的目标端口和规则中的目标端口不相等则匹配这条规则。根据不等于的匹配原则,我们将目标端口1521、1433、3306、1522进行预处理为图3(b)的规则索引方式。
如图3(b)所示,不等于目标端口1521的规则为全局规则1、全局规则2、全局规则3,所以在存储结果的规则索引位图当中,第1、2、3位置1,第0位置0。不等于目标端口1433的规则为全局规则0、全局规则2、全局规则3,所以在存储结果的规则索引位图当中,第0、2、3位置1,第1位置0。不等于目标端口3306的规则为全局规则0、全局规则1、全局规则3,所以在存储结果的规则索引位图当中,第0、1、3位置1,第2位置0。不等于目标端口1522的规则为全局规则0、全局规则1、全局规则2,所以在存储结果的规则索引位图当中,第0、1、2位置1,第3位置0。
应用名称的匹配方式为包含,即若当前数据包对应的应用名称包含某条规则中定义的应用名称,则匹配这条规则。根据包含的匹配原则,将应用名称oracle、SQL Server、mysql、Java oracle预处理为图3(c)的规则索引方式。
如图3(c)所示,包含oracle应用名称的规则为全局规则0、全局规则3,所以在存储结果的规则索引位图当中,第0、3位置1,第1、2位置0。包含SQL Server应用名称的规则为全局规则1,所以在存储结果的规则索引位图当中,第1位置1,其余位置0。包含mysql应用名称的规则为全局规则2,所以在存储结果的规则索引位图当中,第2位置1,其余位置0。包含Javaoracle应用名称的规则为全局规则3,所以在存储结果的规则索引位图当中,第3位置1,其余位置0。
数据库名的匹配方式为不包含,即若当前数据包中访问的数据库名不包含规则中定义的数据库名,则匹配这条规则。根据不包含的匹配原则,将数据库名a、ab、abc、d预处理为图3(d)的规则索引方式。
如图3(d)所示,不包含数据库名a的规则为全局规则3,所以在存储结果的规则索引位图当中,第3位置1,其余位置0。不包含数据库名ab的规则为全局规则0、全局规则3,所以在存储结果的规则索引位图中,第0、3位置1,其余位置0。不包含数据库名abc的规则为全局规则0、全局规则1、全局规则3,所以在存储结果的规则索引位图中,第0、1、3位置1,第2位置0。不包含数据库名d的规则为全局规则0、全局规则1、全局规则2,所以在存储结果的规则索引位图中,第0、1、2位置1,第3位置0。
以上为规则各个维度的预处理过程,接下来请结合图4,图4所示的为本实施例提供的一种关系运算和集合运算混合的策略规则匹配过程。
第一步:初始化规则匹配结果r为全0xf,即所有规则匹配位置1,默认所有规则均匹配;
第二步:判断维度匹配是否完成,没有完成走第三步,否则转第七步;
第三步:取出数据包对应当前维度的值d;
第四步:使用数据包当前维度的值d在当前维度对应的预处理结果p中进行匹配,得到当前维度规则匹配的结果di;
第五步:将之前规则匹配的结果r和当前维度规则匹配结果di进行与运算,即r=r&di,从而得到新的规则匹配结果r;
第六步:判断规则匹配结果r是否等于0,如果等于0则转第七步,表示当前数据包没有匹配任何规则。如果r不等于0,则转第二步;
第七步:得到当前数据包的规则匹配结果集r,其中第n位为1,表示匹配了第n条全局规则。
下面以两个例子来说明本实施例所提供的关系运算和集合运算混合的策略规则匹配过程:
第一个例子,当前通过安全产品数据包的源IP为1.1.1.1、目标端口为1521、应用名称为oracle、数据库名为abc。
第一步,匹配源IP。用数据包源IP1.1.1.1在图3(a)所示的源IP预处理后的结果中进行匹配,源IP的匹配方式为等于,经过匹配,等于源IP1.1.1.1的规则匹配结果如图5(a)所示的源IP维度匹配结果。显然,等于源IP1.1.1.1的为全局规则0、全局规则3。将源IP维度的匹配结果和规则匹配的初始结果全0xf进行与操作,匹配结果为0和3;
第二步,匹配目的端口。用数据包目的端口1521在图3(b)目的端口预处理后的结果中进行匹配,目的端口的匹配方式为不等于,经过匹配,不等于1521的规则匹配结果如图5(a)所示的目的端口维度匹配结果。即不等于目的端口1521的规则为全局规则1、全局规则2、全局规则3。
然后,将源IP维度和目的端口维度的匹配结果按规则位做与(&)操作,其结果如图5(a)所示。从中可以得知,同时匹配源IP维度和目的端口维度的规则为全局规则3(第一次规则匹配结果);
第三步,匹配应用名称。用数据包中的应用名称oracle在图3(c)的应用名称预处理结果中进行匹配。应用名称的匹配方式为包含,经过匹配,包含应用名称oracle的全局规则匹配结果如图5(b)所示的应用名称维度匹配结果。即包含应用名称oracle的规则为全局规则1、全局规则3。
然后将当前步骤之前的规则匹配结果和本步骤应用名称维度匹配结果按规则位做与操作,其结果如图5(b)所示。从中可以得知,同时匹配源IP维度、目的端口维度、应用名称维度的规则为全局规则3(第二次规则匹配结果);
第四步,匹配数据库名。用数据包中的数据库名abc在图3(d)的数据库名预处理结果中进行匹配。应用名称的匹配方式为不包含,经过匹配,数据库名abc的全局规则匹配结果如图5(c)所示的数据库名维度匹配结果。即不包含数据库名abc的规则为全局规则0、全局规则1、全局规则3。
然后,将当前步骤之前的规则匹配结果和本步骤数据库名维度规则匹配结果按位做与操作,其结果如图5(c)所示。从中可以得知,同时匹配源IP维度、目的端口维度、应用名称维度、数据库名维度的规则为全局规则3(第三次规则匹配结果)。
第二个例子,当前通过安全产品数据包的源IP为2.2.2.2、目标端口为1522、应用名称为mysql、数据库名为a。
第一步,匹配源IP。用数据包源IP2.2.2.2在图3(a)源IP预处理后的结果中进行匹配。由于源IP2.2.2.2不在预处理后的源IP列表中,所以匹配结果为全0,即当前数据包没有匹配任何全局规则,整个匹配过程提前结束。
下面请参见图6,图6为本申请实施例提供的一种基于全局规则的数据包审计***的结构框图,该数据包审计***可以包括:
完整待审计数据包拆分单元100,用于将待审计数据包分别按匹配维度集中包含的每个匹配维度进行拆分,得到与匹配维度数相同数量的单一维度数据包;其中,每个所述匹配维度根据特征的不同对应有专属的数据拆分方式,且每个所述匹配维度下还对应有存放具体匹配参数的参数集;
参数匹配单元200,用于对每个所述单一维度数据包按对应匹配维度的参数集进行参数匹配,得到每个所述具体匹配参数的匹配结果;
全局规则确定单元300,用于根据所述匹配结果和各所述具体匹配参数所属的全局规则确定所述待审计数据包匹配的目标全局规则,并执行与所述目标全局规则对应的审计动作。
进一步的,该数据包审计***还可以包括:
参数集更新单元,用于当增加新全局规则时,将所述新全局规则包含的新具体匹配参数更新至相应匹配维度的参数集中。
其中,所述全局规则确定单元300可以包括:
目标具体匹配参数确定子单元,用于根据所述匹配结果确定所述待审计数据包匹配的目标具体匹配参数;
备选规则集建立子单元,用于确定每个所述目标具体匹配参数所属的全局规则,得到各备选规则集;
与运算子单元,用于对各所述备选规则集做与运算,得到与运算结果;
非空判定子单元,用于当所述与运算结果非空时,判定所述待审计数据包匹配于所述与运算结果中包含的全局规则;
空集判定子单元,用于当所述与运算结果为空集时,判定所述待审计数据包不匹配于任一当前已有的全局规则。
进一步的,该数据包审计***还可以包括:
优先级设定单元,用于为不同的全局规则设置不同的优先级;
唯一目标全局规则确定单元,用于当所述待审计数据包匹配的目标全局规则数量大于1时,根据所述优先级确定唯一的目标全局规则。
基于上述实施例,本申请还提供了一种数据包审计装置,该数据包审计可以包括存储器和处理器,其中,该存储器中存有计算机程序,该处理器调用该存储器中的计算机程序时,可以实现上述实施例所提供的步骤。当然,该数据包审计装置还可以包括各种必要的网络接口、电源以及其它零部件等。
本申请还提供了一种计算机可读存储介质,其上存有计算机程序,该计算机程序被执行终端或处理器执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random AccessMemory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
1.一种基于全局规则的数据包审计方法,其特征在于,包括:
将待审计数据包分别按匹配维度集中包含的每个匹配维度进行拆分,得到与匹配维度数相同数量的单一维度数据包;其中,每个所述匹配维度根据特征的不同对应有专属的数据拆分方式,且每个所述匹配维度下还对应有存放具体匹配参数的参数集;
对每个所述单一维度数据包按对应匹配维度的参数集进行参数匹配,得到每个所述具体匹配参数的匹配结果;
根据所述匹配结果和各所述具体匹配参数所属的全局规则确定所述待审计数据包匹配的目标全局规则,并执行与所述目标全局规则对应的审计动作。
2.根据权利要求1所述方法,其特征在于,还包括:
当增加新全局规则时,将所述新全局规则包含的新具体匹配参数更新至相应匹配维度的参数集中。
3.根据权利要求1所述方法,其特征在于,根据所述匹配结果和各所述具体匹配参数所属的全局规则确定所述待审计数据包匹配的目标全局规则,包括:
根据所述匹配结果确定所述待审计数据包匹配的目标具体匹配参数;
确定每个所述目标具体匹配参数所属的全局规则,得到各备选规则集;
对各所述备选规则集做与运算,得到与运算结果;
当所述与运算结果非空时,判定所述待审计数据包匹配于所述与运算结果中包含的全局规则;
当所述与运算结果为空集时,判定所述待审计数据包不匹配于任一当前已有的全局规则。
4.根据权利要求1至3任一项所述方法,其特征在于,还包括:
为不同的全局规则设置不同的优先级;
当所述待审计数据包匹配的目标全局规则数量大于1时,根据所述优先级确定唯一的目标全局规则。
5.一种基于全局规则的数据包审计***,其特征在于,包括:
完整待审计数据包拆分单元,用于将待审计数据包分别按匹配维度集中包含的每个匹配维度进行拆分,得到与匹配维度数相同数量的单一维度数据包;其中,每个所述匹配维度根据特征的不同对应有专属的数据拆分方式,且每个所述匹配维度下还对应有存放具体匹配参数的参数集;
参数匹配单元,用于对每个所述单一维度数据包按对应匹配维度的参数集进行参数匹配,得到每个所述具体匹配参数的匹配结果;
全局规则确定单元,用于根据所述匹配结果和各所述具体匹配参数所属的全局规则确定所述待审计数据包匹配的目标全局规则,并执行与所述目标全局规则对应的审计动作。
6.根据权利要求5所述***,其特征在于,还包括:
参数集更新单元,用于当增加新全局规则时,将所述新全局规则包含的新具体匹配参数更新至相应匹配维度的参数集中。
7.根据权利要求5所述***,其特征在于,所述全局规则确定单元包括:
目标具体匹配参数确定子单元,用于根据所述匹配结果确定所述待审计数据包匹配的目标具体匹配参数;
备选规则集建立子单元,用于确定每个所述目标具体匹配参数所属的全局规则,得到各备选规则集;
与运算子单元,用于对各所述备选规则集做与运算,得到与运算结果;
非空判定子单元,用于当所述与运算结果非空时,判定所述待审计数据包匹配于所述与运算结果中包含的全局规则;
空集判定子单元,用于当所述与运算结果为空集时,判定所述待审计数据包不匹配于任一当前已有的全局规则。
8.根据权利要求5至7任一项所述***,其特征在于,还包括:
优先级设定单元,用于为不同的全局规则设置不同的优先级;
唯一目标全局规则确定单元,用于当所述待审计数据包匹配的目标全局规则数量大于1时,根据所述优先级确定唯一的目标全局规则。
9.一种数据包审计装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至4任一项所述的基于全局规则的数据包审计方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述的基于全局规则的数据包审计方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811141058.2A CN109376546B (zh) | 2018-09-28 | 2018-09-28 | 基于全局规则的数据包审计方法、***、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811141058.2A CN109376546B (zh) | 2018-09-28 | 2018-09-28 | 基于全局规则的数据包审计方法、***、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109376546A true CN109376546A (zh) | 2019-02-22 |
CN109376546B CN109376546B (zh) | 2022-04-29 |
Family
ID=65402914
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811141058.2A Active CN109376546B (zh) | 2018-09-28 | 2018-09-28 | 基于全局规则的数据包审计方法、***、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109376546B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112685611A (zh) * | 2020-12-31 | 2021-04-20 | 恒安嘉新(北京)科技股份公司 | 一种数据过滤方法、装置、存储介质及电子设备 |
CN113139797A (zh) * | 2020-02-18 | 2021-07-20 | 国网河北省电力有限公司 | 一种基于卫星地图技术的高效率电力审计方法 |
CN113395213A (zh) * | 2021-06-10 | 2021-09-14 | 哲库科技(北京)有限公司 | 路由表项的配置方法、存储介质、电子设备和移动终端 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101753542A (zh) * | 2008-12-03 | 2010-06-23 | 北京天融信网络安全技术有限公司 | 一种加速防火墙过滤规则匹配的方法及装置 |
US20120102543A1 (en) * | 2010-10-26 | 2012-04-26 | 360 GRC, Inc. | Audit Management System |
CN103188042A (zh) * | 2011-12-31 | 2013-07-03 | 重庆重邮信科通信技术有限公司 | 一种ip数据包的匹配方法和匹配加速器 |
CN108462717A (zh) * | 2018-03-21 | 2018-08-28 | 北京理工大学 | 基于规则匹配命中率和分布方差的防火墙规则集优化方法 |
-
2018
- 2018-09-28 CN CN201811141058.2A patent/CN109376546B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101753542A (zh) * | 2008-12-03 | 2010-06-23 | 北京天融信网络安全技术有限公司 | 一种加速防火墙过滤规则匹配的方法及装置 |
US20120102543A1 (en) * | 2010-10-26 | 2012-04-26 | 360 GRC, Inc. | Audit Management System |
CN103188042A (zh) * | 2011-12-31 | 2013-07-03 | 重庆重邮信科通信技术有限公司 | 一种ip数据包的匹配方法和匹配加速器 |
CN108462717A (zh) * | 2018-03-21 | 2018-08-28 | 北京理工大学 | 基于规则匹配命中率和分布方差的防火墙规则集优化方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113139797A (zh) * | 2020-02-18 | 2021-07-20 | 国网河北省电力有限公司 | 一种基于卫星地图技术的高效率电力审计方法 |
CN112685611A (zh) * | 2020-12-31 | 2021-04-20 | 恒安嘉新(北京)科技股份公司 | 一种数据过滤方法、装置、存储介质及电子设备 |
CN113395213A (zh) * | 2021-06-10 | 2021-09-14 | 哲库科技(北京)有限公司 | 路由表项的配置方法、存储介质、电子设备和移动终端 |
Also Published As
Publication number | Publication date |
---|---|
CN109376546B (zh) | 2022-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105912600B (zh) | 问答知识库及其建立方法、智能问答方法和*** | |
CN109376546A (zh) | 基于全局规则的数据包审计方法、***、装置及存储介质 | |
CN106980649A (zh) | 写入区块链业务数据的方法和装置及业务子集合确定方法 | |
EP1990740A1 (en) | Schema matching for data migration | |
CN104423968B (zh) | 设计业务逻辑的方法、执行其的服务器和储存媒介 | |
CN109144997A (zh) | 数据关联方法、装置及存储介质 | |
CN104915717B (zh) | 数据处理方法、知识库推理方法及相关装置 | |
CN101122983A (zh) | 条件配置管理的方法 | |
CN110008266A (zh) | 数据交换文件解析方法和装置 | |
CN109344230A (zh) | 代码库文件生成、代码搜索、联结、优化以及移植方法 | |
CN103488475B (zh) | 多维数据分析***和多维数据分析方法 | |
CN108427731A (zh) | 页面代码的处理方法、装置、终端设备及介质 | |
CN108304522A (zh) | 一种数据库之间差异的比对方法、装置及终端设备 | |
CN105204920B (zh) | 一种基于映射聚合的分布式计算作业的实现方法及装置 | |
US10635662B2 (en) | Signature detection | |
CN107515875A (zh) | 数据查询方法及装置 | |
CN107240011B (zh) | 一种指标配置加工方法和*** | |
CN106844320B (zh) | 一种财务报表整合方法和设备 | |
CN103577455A (zh) | 用于数据库聚集操作的数据处理方法和*** | |
CN103942056B (zh) | 一种基于场景的人机交互方法和装置 | |
CN110134589A (zh) | 接口测试用例的生成方法、装置、计算机设备和存储介质 | |
CN108460038A (zh) | 规则匹配方法及其设备 | |
CN108874873A (zh) | 数据查询方法、装置、存储介质及处理器 | |
CN108076010A (zh) | 一种xml报文解析方法及服务器 | |
US11720614B2 (en) | Method and system for generating a response to an unstructured natural language (NL) query |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |