CN117668527B - 一种大流量模型下的多特征识别方法及系统 - Google Patents
一种大流量模型下的多特征识别方法及系统 Download PDFInfo
- Publication number
- CN117668527B CN117668527B CN202410134853.8A CN202410134853A CN117668527B CN 117668527 B CN117668527 B CN 117668527B CN 202410134853 A CN202410134853 A CN 202410134853A CN 117668527 B CN117668527 B CN 117668527B
- Authority
- CN
- China
- Prior art keywords
- load
- fragment
- matching
- feature
- feature matching
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 100
- 239000012634 fragment Substances 0.000 claims abstract description 95
- 230000008569 process Effects 0.000 claims abstract description 39
- 238000007781 pre-processing Methods 0.000 claims abstract description 37
- 241000544061 Cuculus canorus Species 0.000 claims abstract description 24
- 238000001514 detection method Methods 0.000 claims description 32
- 238000012545 processing Methods 0.000 claims description 14
- 230000011218 segmentation Effects 0.000 claims description 13
- 238000013467 fragmentation Methods 0.000 claims description 8
- 238000006062 fragmentation reaction Methods 0.000 claims description 8
- 238000009826 distribution Methods 0.000 claims description 6
- 230000003044 adaptive effect Effects 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 12
- 238000004422 calculation algorithm Methods 0.000 description 9
- 238000004590 computer program Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000003860 storage Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000007689 inspection Methods 0.000 description 3
- 230000004075 alteration Effects 0.000 description 2
- 238000005111 flow chemistry technique Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种大流量模型下的多特征识别方法及系统,方法包括:采用自适应分片策略对数据包载荷进行分片处理,用流表记录所获取的流量信息和载荷分片信息;对特征库中的模式集进行预处理,生成移位索引表、用于加速前缀搜索的布谷鸟过滤器以及顺序前缀表;根据载荷分片信息、模式集预处理信息,启动和载荷分片数量对应的特征匹配协程,基于多个特征匹配协程并行地对所有载荷分片进行特征匹配;按不同的数据流和应用信息类别输出匹配的应用特征。本发明提出并采用一种自适应的分片方法和一种快速并行的多模式匹配方法(简称FSPRWM)来加速特征识别过程,从而解决传统的多模式匹配方法在大流量场景下的性能低下的问题。
Description
技术领域
本发明涉及信息安全技术领域,更具体地,涉及一种大流量模型下的多特征识别方法及系统。
背景技术
随着互联网的普及,移动网络迅速发展,同时,网民的增多带来了网络流量的快速增长,人们处在一个数据量愈发爆炸的时代,信息安全正逐渐成为人们上网时关注的一个重要方面。深度包检测引擎一直是网络安全设备的核心模块及性能瓶颈,深度包检测技术通过识别数据包中的具体内容来监视网络流量,实现对网络流量的审查、控制、过滤等功能,从而有效的保护用户数据安全。多特征识别算法是深度包检测引擎的核心模块,如何提高特征识别效率有着重要的现实意义。用户流量中包含丰富的应用特征信息,利用已有的大量应用特征库信息去识别未知流量中的应用特征,是多特征识别算法的主要任务、研究重点与难点。通常,这些应用特征呈现为一定长度的字符串,大流量场景下的多特征识别也即特征字符串识别。AC算法是一种传统的基于前缀扫描的多模式匹配算法,其最显著的特点是根据特征模式集构建有限自动机,然后利用该自动机进行字符串匹配。扫描过程中,根据从待匹配文本中读取的字符,自动机在不同状态之间跳转,检测是否达到终止状态,如是,则表示匹配成功。这种算法在文本串较短以及模式串较少的情况下匹配效率很高,但是在文本串较长以及模式串增多的时候效率不佳,不仅建立有限自动机的时间长、内存占用大,而且也因为从前往后逐字符扫描的方式导致效率差。此外,现有的一些特征字符串识别方法都局限于识别文本串,没有充分利用并行处理技术来加速实际报文载荷的特征识别过程,针对于大流量场景,性能较差。
发明内容
本发明针对现有技术中存在的技术问题,提供一种大流量模型下的多特征识别方法及系统。
根据本发明的第一方面,提供了一种大流量模型下的多特征识别方法,包括:
采用自适应分片策略对数据包载荷进行分片处理,用流表记录所获取的流量信息和载荷分片信息;
对特征库中的模式集进行预处理,生成预处理信息,所述预处理信息包括移位索引表、用于加速前缀搜索的布谷鸟过滤器以及顺序前缀表;
根据载荷分片信息、模式集预处理信息,启动和载荷分片数量对应的特征匹配协程,基于多个特征匹配协程并行地对所有载荷分片进行特征匹配;
按不同的数据流和应用信息类别输出匹配的应用特征。
根据本发明的第二方面,提供了一种大流量模型下的多特征识别系统,包括:
分片模块,用于采用自适应分片策略对数据包载荷进行分片处理,用流表记录所获取的流量信息和载荷分片信息;
预处理模块,用于对特征库中的模式集进行预处理,生成预处理信息,所述预处理信息包括移位索引表、用于加速前缀搜索的布谷鸟过滤器以及顺序前缀表;
特征匹配模块,用于根据载荷分片信息、模式集预处理信息,启动和载荷分片数量对应的特征匹配协程,基于多个特征匹配协程并行地对所有载荷分片进行特征匹配;
输出模块,用于按不同的数据流和应用信息类别输出匹配的应用特征。
本发明提供的一种大流量模型下的多特征识别方法及系统,提出并采用一种自适应的分片方法和一种快速并行的多模式匹配方法(简称FSPRWM)来加速特征识别过程,从而解决传统的多模式匹配方法在大流量场景下的性能低下的问题。
附图说明
图1为本发明提供的一种大流量模型下的多特征识别方法流程图;
图2为数据流处理流程示意图;
图3为生成移位索引表、前缀布谷鸟过滤器、顺序前缀表等信息的流程示意图;
图4为特征匹配检测流程示意图;
图5为对分片进行冗余检测流程示意图;
图6为本发明提供的一种大流量模型下的多特征识别系统的结构示意图;
图7为大流量模型下的多特征识别系统的架构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。另外,本发明提供的各个实施例或单个实施例中的技术特征可以相互任意结合,以形成可行的技术方案,这种结合不受步骤先后次序和/或结构组成模式的约束,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时,应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
图1为本发明提供的一种大流量模型下的多特征识别方法流程图,如图1所示,方法包括:
步骤1,采用自适应分片策略对数据包载荷进行分片处理,用流表记录所获取的流量信息和载荷分片信息。
可理解的是,首先抓取网络流量以及对网络流量进行预处理。根据数据包的五元组来建立流表,通过流表来维护属于同一条信息流的所有数据包,流表中主要记录不同信息流上、下行包数、字节数,在后续输出特征识别结果的时候是按不同的信息流进行区分的。此外,根据不同TCP、UDP报文载荷长度来对载荷进行分片处理,对分片信息进行记录,以便于后续进行并行的特征匹配。
其中,通过设备映射从内核态的收包缓冲区获取数据包,然后针对于同一条信息流的数据包建立一个流表,用于保存五元组信息,以及上下行的包数、字节数;接着获取数据包的载荷长度,根据自适应的分片策略,计算出数据包的分片数量和分片长度,随后,根据分片长度、数量来计算属于该数据包的每个分片的片偏移,将数据包地址信息、分片片偏移信息进行保存。数据流的处理流程如下图2所示。
获取流中的数据包的载荷长度,扫描整个报文载荷内容,根据自适应分片策略来对载荷进行分片处理。
自适应的策略原则主要包括两点:一是以换行符为分割点对载荷进行划分,若划分过程中出现长度超过100的分片,则根据分片约束式对其进行重新划分,以保证分片的均匀性;二是若出现载荷中没有换行符的情况,则直接采用分片约束式对载荷进行分片。分片约束式如下:
;
其中,为载荷长度,/>为分片数量,结果对/>向上取整,即/>。
按不同的流、数据包载荷首地址信息来保存对载荷进行分片的片偏移、分片数量信息。
步骤2,对特征库中的模式集进行预处理,生成预处理信息,所述预处理信息包括移位索引表、用于加速前缀搜索的布谷鸟过滤器以及顺序前缀表。
可理解的是,本步骤对前期建立的特征库进行预处理,特征库中的模式串作为后续匹配时的参考应用特征。检查特征库中的模式串长度,确定特征匹配过程中的每次检测的后缀长度,根据特征模式串来生成跳转索引表、前缀布谷鸟过滤器以及顺序前缀表。对于窗口中后缀相同的模式串则选择模式串的前缀子串作为输入来创建布谷鸟过滤器,将属于相同后缀的模式串按前缀串的字典序大小进行排序并存储下来,预处理完成后将所生成的数据保进行保存。生成移位索引表、前缀布谷鸟过滤器、顺序前缀表等信息的流程示意图如图3所示。
对特征库中的模式集进行预处理的过程包括:
(1)对于已经进行了载荷分片处理的数据包,然后开始对前期建立的特征库中的模式集进行预处理;
(2)遍历特征库中的所有模式串,找到最短的模式串长,记为,后续进行特征匹配的时候匹配的滑动窗口大小也是/>;
(3)选取用于生成移位索引表的字符块大小,关注所有模式串的前/>个字符,利用所有模式串中大小为/>的子串来构建移位索引表。若以/>来表示模式串的下标索引,以/>表示子串最后一位的下标,则子串的移动距离为/>;若不同的模式串中具有相同的子串,则记录移位距离最小的值;利用/>算法来计算不同的子串的索引值,所用/>计算公式如下所示:
因为字符集中可打印字符组成长度为2的字符块仅有9025种组合,这里选择生成32位的/>值,可以很好的满足表示不同子串的要求。其中,遍历字符块/>的每个字符,字符用/>表示,每个/>都使用上面的公式进行计算,初始/>选用参数如2166136261(十六进制表示为0x811C9DC5),/>选用参数如16777619(十六进制表示为0x01000193)。
(3)收集后缀相同的模式串中一定长度的前缀串,将这些前缀串输入到布谷鸟过滤器之中,然后将前缀串按照字典序进行排序并与模式串ID进行绑定,最后将这些预处理生成的信息同步到数据同步模块。后续在待检测文本串中进行匹配的时候,若发生了后缀成功匹配的情况,则可以提取匹配窗口中文本前缀串输入到布谷鸟过滤器中快速查找其是否为目标前缀串,这样在大量模式串后缀相同的情况下,可以快速过滤不匹配的模式串;若过滤器中存在目标前缀,则使用二分查找,检索目标前缀串以确定匹配的模式串索引。其中,插入布谷鸟过滤器中的模式串前缀长度和模式串最小长度/>相关,约束关系式如下所示:
;
;
其中,表示对/>取整,取整后的长度作为模式串提取的前缀长度。
步骤3,根据载荷分片信息、模式集预处理信息,启动和载荷分片数量对应的特征匹配协程,基于多个特征匹配协程并行地对所有载荷分片进行特征匹配。
可理解的是,基于对特征库中的模式集进行预处理所生成的预处理信息以及对数据包进行分片处理后的报文载荷分片信息,然后根据报文载荷信息发布特征匹配任务到任务通道,协程调度器监测任务通道状态,检测到有任务需要处理时则启动协程,对于每个特征匹配任务建立一个FSPRWM协程来进行特征匹配,所有FSPRWM协程共享预处理阶段所生成的表项、模式串长等信息。若协程调度器没有检测到任务通道有待检测任务,则继续保持监测状态。除了最后一个特征匹配协程外,其他特征匹配协程在到达数据包分割点后继续向后比较,通过比较滑动窗口左值和分割点偏移值大小,决定是否结束该分片的冗余检测;最后,各个协程所识别到的信息记录到数据同步模块。该部分的主要流程示例图如图4所示。
其中,匹配检测的步骤包括:
过程1、获取预处理过程中生成的移位索引表、布谷鸟过滤器、顺序前缀表等信息,以及报文载荷的流信息、数据包地址、分片片偏移等信息。
过程2、根据载荷信息发布特征匹配任务到任务通道,流表中的一个数据包的一个分片对应一个任务,任务信息主要记录该数据包的首地址信息、该分片的起止信息、是否为最后一个分片的标志位信息,例如,记为第/>条流第/>个数据包的第/>个分片信息,/>包含数据包/>地址10001,分片/>起止范围为[51, 100],标志位为0表示非最后一个分片,用1表示最后一个分片;
过程3、协程调度器检测任务通道的状态,若检测到有任务需要处理,则启动协程来处理的特征匹配任务,并将该任务从任务通道移除;对于每个任务都启动一个FSPRWM协程来进行特征匹配,所有的协程共享预处理阶段所生成的表项、模式串长等信息;若没有检测到有任务,则继续保持监测状态;
过程4、在启动协程的时候检查对应的分片信息,若其为最后一个分片则无需进行冗余检测;若不是最后一个分片,则在匹配完成后仍需向后匹配,通过比较滑动窗口左值和分割点大小来决定是否结束冗余检测;特征匹配过程如图5所示。
图5为多个特征匹配协程进行特征匹配的过程,其中匹配窗口大小为最小模式串长m,匹配时对于窗口中文本串采取从右往左匹配的模式,同时窗口向右滑动。所有特征匹配协程同时进行匹配工作,下文主要以一个特征匹配协程的匹配过程为例,介绍匹配窗口的跳转以及冗余检测过程。过程1中,第一个窗口中的后缀字符块为“sd”,此时查询之前的步骤中所生成的移位索引表来获取窗口的移位量为2,向右滑动两个字符的距离,同时更新滑动窗口左值,第一个分片偏移为[1,10],此时,进行到过程2;过程2中,查询后缀“nl”发现不存在,则滑动最大距离/>,即移动5个字符的距离,接着滑动窗口以及更新窗口左值;重复这个过程直到后缀字符串所对应的移位量为0(即过程4),此时后缀匹配成功。
接着查询移位索引表发现只有模式3对应这个文本串,则将特征库中的3号模式串与此时窗口左值对应的文本串进行匹配,即将特征库中的模式串3与载荷分片索引为9位置的字符对齐然后开始逐位匹配,即判断载荷分片的字符串“lplpngfgn”与模式串3“lplngues”是否相等;注意,本发明中的匹配流程主要是先匹配后缀,若该后缀仅有一个模式串与其对应,则根据模式串ID直接比较载荷与对应模式串是否相等;若有多个模式串与其对应,则将载荷中的前缀放入布谷鸟过滤器中查询,若不在过滤器中则继续向后匹配,若在过滤器中则查询顺序前缀表,找到唯一的模式串ID。
过程4中尽管窗口中成功匹配,但是载荷内容与模式串3不相等,因此匹配窗口向后滑动最小距离1,并更新;由于/>在一个分片范围内,则继续匹配过程;过程5中,由于移位索引表中没有后缀“gf”则滑动最大距离5,此时/>超出第一个分片范围,则结束该分片的匹配协程并释放系统计算资源。
过程5、将各个特征匹配协程所识别到的应用特征信息进行记录。
步骤4,按不同的数据流和应用信息类别输出匹配的应用特征。
可理解的是,收集匹配到的应用特征信息,根据所记录的流表信息、应用特征类别来对这些信息进行划分;按照不同的流、应用类别信息、数据包信息、特征在数据包中的偏移量等信息,分组输出特征匹配结果。
参见图6,为本发明提供的一种大流量模型下的多特征识别系统,该系统包括流量抓取模块601、特征匹配模块602、任务分发模块模块603和数据同步模块604,其中:
流量抓取模块601,用于抓取网络流量、采用流表记录数据流的详细信息以及使用自适应的分片策略对报文载荷进行分片处理;
特征匹配模块602,用于对特征库进行预处理,生成特征匹配窗口所需要的跳转索引表、布谷鸟过滤器以及顺序前缀表;
任务分发模块603,用于管理特征匹配协程,根据报文载荷信息、处理过的特征库信息来发布以及启动特征匹配协程;
数据同步模块604,用于报文载荷信息、特征库信息的同步以及保存特征匹配结果。
可理解的是,参见图7,为大流量模型下的多特征识别系统的架构图,各模块的功能如下:
流量抓取模块601,负责抓取网络流量以及对网络流量进行预处理。根据数据包的五元组来建立流表,通过流表来维护属于同一条信息流的所有数据包,流表中主要记录不同信息流上、下行包数、字节数,在后续输出特征识别结果的时候是按不同的信息流进行区分的。此外,流量抓取模块601还负责根据不同TCP、UDP报文载荷长度来对载荷进行分片处理,将分片信息记录在数据同步模块,以便于后续进行并行的特征匹配。
特征匹配模块602,为多特征识别系统的核心模块,主要负责采用基于WM算法思想的快速并行多模式匹配方法FSPRWM来进行特征识别。在检测到有应用流量时,则从前期建立的应用特征库中获取模式串信息,然后根据模式串信息建立在特征匹配过程中所需要的跳转索引表、布谷鸟过滤器、顺序前缀表,从而实现模式匹配中快速跳转,此外,采取基于滑动窗口左端值与片偏移比较的方法来解决冗余检测问题,进一步加速特征匹配过程的同时,还减少对系统资源的消耗。
任务分发模块603,负责特征检测任务的发布以及特征匹配协程的管理。根据从数据同步模块获取的报文载荷分片信息来发布特征匹配任务,其中,一个匹配任务中记录一个载荷分片的地址、片偏移。协程调度器从任务通道顺序获取任务,对每个载荷分片都建立一个特征匹配协程来进行处理,协程中执行特征匹配算法来识别应用特征。
数据同步模块604,负责记录流量抓取模块所处理的报文载荷信息以及特征匹配结果信息。从流量抓取模块获取待匹配报文载荷的存放地址信息、分片数量、片偏移等,将这些信息按不同的流分类记录下来,并同步给任务分发模块。对于特征匹配协程所识别到的应用特征信息,按不同流记录下来,最后输出特征匹配结果。
可以理解的是,本发明提供的一种大流量模型下的多特征识别系统与前述各实施例提供的大流量模型下的多特征识别方法相对应,大流量模型下的多特征识别系统的相关技术特征可参考大流量模型下的多特征识别方法的相关技术特征,在此不再赘述。
本发明实施例提供的一种大流量模型下的多特征识别方法及系统,具有以下有益效果:
(1)本发明创造性的将WM算法思想应用于大流量下的多特征识别技术中,提出一种快速并行的多模式匹配方法FSPRWM来加速大流量场景中的应用特征识别过程。通过移位索引表来快速的滑动特征匹配窗口、寻找符合条件的模式串以及减少预处理过程中创建表的开销;采用前缀布谷鸟过滤器来应对大量模式串后缀相同的情况,待验证的匹配窗口中的载荷前缀通过过滤器可以实现快速筛查,若不在过滤器中则直接滑动窗口,若在则后续在顺序前缀表中查找匹配的前缀所对应的模式串ID。相较于传统的多模式匹配方法,本发明开创性地通过前缀过滤器来筛查不匹配的文本串,对于大量后缀相同特征串的处理有启发意义,极大的加速了特征识别过程。
(2)本发明根据现实流量场景将FSPRWM方法运用到并行特征识别之中,采用多协程并行特征匹配与基于分片和匹配窗口左值偏移距离的冗余检测相结合的方式,采用多个特征匹配协程对一个数据包载荷的不同分片同时进行特征匹配检测,并且,每个协程完成当前分片的检测后继续向下一个分片进行冗余检测,根据分片分割点与匹配窗口左值的距离来决定是否结束冗余检测。相较于传统的收集分界点左右端最长模式串范围,将其作为一个新的分片的做法,本发明大大节省了特征匹配时间和减少了系统资源消耗。
(3)本发明创造性的将协程调度模型和FSPRWM方法结合起来,能够高效的应对大流量模型下的多特征识别任务。在进行特征匹配之前会将报文载荷分片,一个分片采用一个特征匹配FSPRWM协程来处理,处理完成即结束协程并释放系统资源。相较于传统的使用线程来检测不同的分片的做法,特征匹配协程能够更加高效的使用计算资源,不会发生抢占系统计算资源的情况。
(4)本发明根据现实流量特征采用自适应的分片策略来对报文载荷进行划分,采用以换行符为分割点和以分片约束式来计算分片个数相结合的方式,在特征匹配过程之前就能够保证FSPRWM协程跳过很多无意义的空格,进而提升特征识别效率,传统的特征匹配方法没有针对流量特点去进行特别的划分,往往采用固定长度的分片策略,这样不符合实际情况。
需要说明的是,在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其它实施例的相关描述。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式计算机或者其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。
Claims (5)
1.一种大流量模型下的多特征识别方法,其特征在于,包括:
采用自适应分片策略对数据包载荷进行分片处理,用流表记录所获取的流量信息和载荷分片信息;
对特征库中的模式集进行预处理,生成预处理信息,所述预处理信息包括移位索引表、用于加速前缀搜索的布谷鸟过滤器以及顺序前缀表;
根据载荷分片信息、模式集预处理信息,启动和载荷分片数量对应的特征匹配协程,基于多个特征匹配协程并行地对所有载荷分片进行特征匹配;
按不同的数据流和应用信息类别输出匹配的应用特征;
所述根据载荷分片信息、模式集预处理信息,启动和载荷分片数量对应的特征匹配协程,基于多个特征匹配协程并行地对所有载荷分片进行特征匹配,包括:
根据载荷分片信息发布特征匹配任务到任务通道,每个特征匹配任务中记录数据包首地址信息、属于数据包的一个分片的偏移信息以及末尾分片标志信息,其中,末尾分片标志为0则表示当前载荷分片不是最后一个分片,为1则表示当前载荷分片是最后一个分片;
协程调度器检测任务通道状态,若检测到有特征匹配任务待处理,则启动与特征匹配任务数量相对应的特征匹配协程,并将已处理的特征匹配任务从任务通道移除,其中所有特征匹配协程并行地进行特征识别任务,并且共享对特征库中模式集预处理时生成移位索引表、前缀布谷鸟过滤器和顺序前缀表;
对标志位为0的载荷分片需要进行冗余检测,当前特征匹配协程完成对当前载荷分片的特征匹配检测后仍需在下一个载荷分片上进行检测;采用多特征匹配协程并行特征匹配与基于分片和匹配窗口左值偏移距离的冗余检测相结合的方式,对数据包的每一个载荷分片进行特征匹配;
所述采用多特征匹配协程并行特征匹配与基于分片和匹配窗口左值偏移距离的冗余检测相结合的方式,对数据包的每一个载荷分片进行特征匹配,包括:
采用多个特征匹配协程对一个数据包的不同载荷分片同时进行特征匹配检测,并且,每个特征匹配协程完成当前载荷分片的检测后继续向下一个载荷分片进行冗余检测,根据分片分割点与匹配窗口左值的距离来决定是否结束冗余检测;
其中,第个分片的特征匹配协程在特征识别过程中,每次对匹配窗口进行移位操作后都即时更新窗口左值的偏移量/>,记第/>个分片的偏移为[/>, />],然后比较和/>的大小,若/>则继续向后一个分片检测,若则结束第/>个分片所对应的特征匹配协程,并释放系统计算资源。
2.根据权利要求1所述的大流量模型下的多特征识别方法,其特征在于,所述采用自适应分片策略对数据包载荷进行分片处理,包括:
扫描数据包载荷部分,以换行符为分割点对载荷内容进行划分,若划分过程中出现长度超过设定数量字节的分片,则采用分片约束式对这类分片进行二次划分;
若载荷内容中没有换行符,采用分片约束式直接对载荷内容进行划分;
所述分片约束式如下:
;
;
其中,为载荷长度,/>为分片数量,/>表示对/>向上取整。
3.根据权利要求1所述的大流量模型下的多特征识别方法,其特征在于,所述对特征库中的模式集进行预处理,生成预处理信息,包括:
对于模式集中后缀相同的模式串,收集后缀相同的每一个模式串的指定长度的前缀,将前缀作为元素插入到布谷鸟过滤器之中;
当模式串中有后缀与匹配窗口中的待匹配文本串成功匹配时,则将匹配窗口中的待匹配文本串的前缀放入布谷鸟过滤器中进行查询,用于快速检测待匹配文本串的前缀是否是目标串。
4.根据权利要求3所述的大流量模型下的多特征识别方法,其特征在于,根据模式集中所有模式串的最小长度确定作为布谷鸟过滤器元素的模式串前缀长度,包括:
获取在对特征库中的模式集进行预处理时,所确定的模式串最小长度m,采用约束关系式来计算所要提取的模式串的前缀长度,将后缀相同的模式串中长为字节的前缀作为元素插入到布谷鸟过滤器之中;所述约束关系式如下所示:
;
=/>;
其中,表示对/>取整。
5.一种大流量模型下的多特征识别系统,其特征在于,包括:
流量抓取模块,用于抓取网络流量、采用流表记录数据流的详细信息以及使用自适应的分片策略对报文载荷进行分片处理;
特征匹配模块,用于对特征库进行预处理,生成特征匹配窗口所需要的跳转索引表、布谷鸟过滤器以及顺序前缀表;
任务分发模块,用于管理特征匹配协程,根据报文载荷信息、处理过的特征库信息来发布以及启动特征匹配协程;
数据同步模块,用于报文载荷信息、特征库信息的同步以及保存特征匹配结果;
根据载荷分片信息、模式集预处理信息,启动和载荷分片数量对应的特征匹配协程,基于多个特征匹配协程并行地对所有载荷分片进行特征匹配,包括:
根据载荷分片信息发布特征匹配任务到任务通道,每个特征匹配任务中记录数据包首地址信息、属于数据包的一个分片的偏移信息以及末尾分片标志信息,其中,末尾分片标志为0则表示当前载荷分片不是最后一个分片,为1则表示当前载荷分片是最后一个分片;
协程调度器检测任务通道状态,若检测到有特征匹配任务待处理,则启动与特征匹配任务数量相对应的特征匹配协程,并将已处理的特征匹配任务从任务通道移除,其中所有特征匹配协程并行地进行特征识别任务,并且共享对特征库中模式集预处理时生成移位索引表、前缀布谷鸟过滤器和顺序前缀表;
对标志位为0的载荷分片需要进行冗余检测,当前特征匹配协程完成对当前载荷分片的特征匹配检测后仍需在下一个载荷分片上进行检测;采用多特征匹配协程并行特征匹配与基于分片和匹配窗口左值偏移距离的冗余检测相结合的方式,对数据包的每一个载荷分片进行特征匹配;
所述采用多特征匹配协程并行特征匹配与基于分片和匹配窗口左值偏移距离的冗余检测相结合的方式,对数据包的每一个载荷分片进行特征匹配,包括:
采用多个特征匹配协程对一个数据包的不同载荷分片同时进行特征匹配检测,并且,每个特征匹配协程完成当前载荷分片的检测后继续向下一个载荷分片进行冗余检测,根据分片分割点与匹配窗口左值的距离来决定是否结束冗余检测;
其中,第个分片的特征匹配协程在特征识别过程中,每次对匹配窗口进行移位操作后都即时更新窗口左值的偏移量/>,记第/>个分片的偏移为[/>, />],然后比较和/>的大小,若/>则继续向后一个分片检测,若则结束第/>个分片所对应的特征匹配协程,并释放系统计算资源。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410134853.8A CN117668527B (zh) | 2024-01-31 | 2024-01-31 | 一种大流量模型下的多特征识别方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410134853.8A CN117668527B (zh) | 2024-01-31 | 2024-01-31 | 一种大流量模型下的多特征识别方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117668527A CN117668527A (zh) | 2024-03-08 |
CN117668527B true CN117668527B (zh) | 2024-04-26 |
Family
ID=90064579
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410134853.8A Active CN117668527B (zh) | 2024-01-31 | 2024-01-31 | 一种大流量模型下的多特征识别方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117668527B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102831051A (zh) * | 2011-06-15 | 2012-12-19 | 中国科学院计算技术研究所 | 一种对WuManber算法进行测试的方法和系统 |
CN103885834A (zh) * | 2013-09-22 | 2014-06-25 | 天津思博科科技发展有限公司 | 一种分布式环境下的模式匹配处理器 |
CN103888317A (zh) * | 2014-03-31 | 2014-06-25 | 西南科技大学 | 一种协议无关的网络冗余流量消除方法 |
WO2016082503A1 (zh) * | 2014-11-24 | 2016-06-02 | 中兴通讯股份有限公司 | 基于自动机的模式匹配的方法及装置 |
CN108764840A (zh) * | 2018-04-11 | 2018-11-06 | 哈尔滨工程大学 | 一种海量规模的邮件地址匹配方法 |
CN110909214A (zh) * | 2019-11-15 | 2020-03-24 | 国网安徽省电力有限公司安庆供电公司 | 基于kmp匹配算法的字符串快速匹配方法 |
CN111242232A (zh) * | 2020-01-17 | 2020-06-05 | 广州欧赛斯信息科技有限公司 | 数据分片处理方法、装置及学分银行服务器 |
CN112506789A (zh) * | 2020-12-17 | 2021-03-16 | 中国科学院计算技术研究所 | 一种用于数据包检测的并行模式匹配方法 |
CN113241121A (zh) * | 2021-04-26 | 2021-08-10 | 哈尔滨理工大学 | 一种基于mpi的基因序列精确匹配的方法 |
CN113407693A (zh) * | 2021-06-17 | 2021-09-17 | 科技日报社 | 一种用于全媒体审读的文本相似度比对方法及装置 |
CN115525801A (zh) * | 2021-06-24 | 2022-12-27 | 吉林省泰圣信息科技有限公司 | 网络安全系统的模式匹配算法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6782505B1 (en) * | 1999-04-19 | 2004-08-24 | Daniel P. Miranker | Method and system for generating structured data from semi-structured data sources |
US7602785B2 (en) * | 2004-02-09 | 2009-10-13 | Washington University | Method and system for performing longest prefix matching for network address lookup using bloom filters |
US7624436B2 (en) * | 2005-06-30 | 2009-11-24 | Intel Corporation | Multi-pattern packet content inspection mechanisms employing tagged values |
US8918375B2 (en) * | 2011-08-31 | 2014-12-23 | Microsoft Corporation | Content aware chunking for achieving an improved chunk size distribution |
IL226056A (en) * | 2013-04-28 | 2017-06-29 | Verint Systems Ltd | Keyword Finding Systems and Methods by Adaptive Management of Multiple Template Matching Algorithms |
-
2024
- 2024-01-31 CN CN202410134853.8A patent/CN117668527B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102831051A (zh) * | 2011-06-15 | 2012-12-19 | 中国科学院计算技术研究所 | 一种对WuManber算法进行测试的方法和系统 |
CN103885834A (zh) * | 2013-09-22 | 2014-06-25 | 天津思博科科技发展有限公司 | 一种分布式环境下的模式匹配处理器 |
CN103888317A (zh) * | 2014-03-31 | 2014-06-25 | 西南科技大学 | 一种协议无关的网络冗余流量消除方法 |
WO2016082503A1 (zh) * | 2014-11-24 | 2016-06-02 | 中兴通讯股份有限公司 | 基于自动机的模式匹配的方法及装置 |
CN108764840A (zh) * | 2018-04-11 | 2018-11-06 | 哈尔滨工程大学 | 一种海量规模的邮件地址匹配方法 |
CN110909214A (zh) * | 2019-11-15 | 2020-03-24 | 国网安徽省电力有限公司安庆供电公司 | 基于kmp匹配算法的字符串快速匹配方法 |
CN111242232A (zh) * | 2020-01-17 | 2020-06-05 | 广州欧赛斯信息科技有限公司 | 数据分片处理方法、装置及学分银行服务器 |
CN112506789A (zh) * | 2020-12-17 | 2021-03-16 | 中国科学院计算技术研究所 | 一种用于数据包检测的并行模式匹配方法 |
CN113241121A (zh) * | 2021-04-26 | 2021-08-10 | 哈尔滨理工大学 | 一种基于mpi的基因序列精确匹配的方法 |
CN113407693A (zh) * | 2021-06-17 | 2021-09-17 | 科技日报社 | 一种用于全媒体审读的文本相似度比对方法及装置 |
CN115525801A (zh) * | 2021-06-24 | 2022-12-27 | 吉林省泰圣信息科技有限公司 | 网络安全系统的模式匹配算法 |
Non-Patent Citations (13)
Title |
---|
A Scalable High-Performance Virus Detection Processor Against a Large Pattern Set for Embedded Network Security;Chieh-Jen Cheng等;IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS;20110328;第20卷(第5期);第841-854页 * |
Accelerating Pattern Matching Using a Novel Multi-Pattern-Matching Algorithm on GPU;Merve Çelebi等;applied sciences;20230711;第13卷(第8104期);第1-30页 * |
Accurate and dynamic 3D shape measurement with digital image correlation-assisted phase shifting;Pengyu Hu等;Measurement Science and Technology;20210430;第32卷;第1-11页 * |
Chao Che等.An RNN Architecture with Dynamic Temporal Matching for Personalized Predictions of Parkinson's Disease.2017 SIAM International Conference on DATA MINING.2017,第198-206页. * |
一种改进的W-M多模式匹配算法;蒋辉等;机电工程;20080920;第25卷(第09期);第25-27页 * |
一种高效多模式匹配算法及其在NIDS上的应用;徐宁等;计算机应用研究;20060210(第02期);第64-66页 * |
基于BERT-CRF 模型的火灾事故案例实体识别研究;关斯琪等;消防科学与技术;20231115;第42卷(第11期);第1529-1534页 * |
基于Wu-Manber的快速跳跃多模式匹配算法;王艳秋等;四川大学学报(工程科学版);20070515;第39卷(第S1期);第58-63页 * |
基于距离比较的AC自动机并行匹配算法;姜海洋等;电子与信息学报;20220228;第44卷(第2期);第581-590页 * |
大数据访问中信息传输冗余量消除仿真;李杰等;计算机仿真;20200315;第37卷(第03期);第148-152页 * |
改进的Wu-Manbe算法在网闸中的实现;张立航等;信息安全与通信保密;20100310;第88-90页 * |
网络数据包多模式匹配算法优化研究;杨新照;中国优秀硕士学位论文全文数据库 信息科技辑;20180715(第07期);第I139-83页 * |
面向互联网应用的图像LBP算法GPU并行加速;王香荣等;计算机工程与科学;20131115;第35卷(第11期);第153-159页 * |
Also Published As
Publication number | Publication date |
---|---|
CN117668527A (zh) | 2024-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106959962B (zh) | 一种多模式字符串匹配方法和装置 | |
CN109450900B (zh) | 拟态判决方法、装置及系统 | |
KR101334583B1 (ko) | 심볼 패턴에 입력 심볼 스트림을 정합하기 위한 방법 및 장치 | |
CA2564162A1 (en) | Using reference files associated with nodes of a tree | |
US20050141707A1 (en) | Efficient storage of fingerprints | |
EP2820564B1 (en) | Stream recognition and filtering | |
CN107403075B (zh) | 比对方法、装置及系统 | |
CN112994984B (zh) | 识别协议及内容的方法、存储设备、安全网关、服务器 | |
KR100960117B1 (ko) | 시그니처 패턴 매칭방법과 그 시스템 및 시그니처 패턴이기록된 기록매체 | |
WO2014000305A1 (zh) | 内容匹配方法和装置 | |
CN113709110A (zh) | 一种软硬结合的入侵检测系统及方法 | |
CN111240599B (zh) | 数据流存储方法及装置 | |
CN107085615B (zh) | 文本消重系统、方法、服务器及计算机存储介质 | |
CN117668527B (zh) | 一种大流量模型下的多特征识别方法及系统 | |
CN111008625A (zh) | 一种地址校正方法、装置、设备及存储介质 | |
CN114168954A (zh) | 基于正则匹配的入侵检测的方法和装置 | |
CN108334553B (zh) | 基于区块链的数据筛选方法和装置 | |
CN107291761A (zh) | 一种正则表达式的匹配方法和装置 | |
Zhao et al. | Block cipher identification scheme based on hamming weight distribution | |
KR20180070247A (ko) | 네트워크 침입 탐지 규칙을 생성하는 방법 및 장치 | |
CN113821630A (zh) | 一种数据聚类的方法和装置 | |
CN112182327A (zh) | 一种数据处理方法、装置、设备及介质 | |
CN111726249B (zh) | 网络设备的配置文件处理方法及装置 | |
CN112464648B (zh) | 基于多源数据分析的行业标准空白特征识别系统及方法 | |
CN112347272B (zh) | 一种基于音视频动态特征的流式匹配方法和装置 |
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 |