CN103297293A - 报文检测方法及装置 - Google Patents

报文检测方法及装置 Download PDF

Info

Publication number
CN103297293A
CN103297293A CN2013101831703A CN201310183170A CN103297293A CN 103297293 A CN103297293 A CN 103297293A CN 2013101831703 A CN2013101831703 A CN 2013101831703A CN 201310183170 A CN201310183170 A CN 201310183170A CN 103297293 A CN103297293 A CN 103297293A
Authority
CN
China
Prior art keywords
dfa
similarity
message
regular expression
collection
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
Application number
CN2013101831703A
Other languages
English (en)
Other versions
CN103297293B (zh
Inventor
朱韧
周伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Shangge Intellectual Property Service Co ltd
Tongding Interconnection Information Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201310183170.3A priority Critical patent/CN103297293B/zh
Publication of CN103297293A publication Critical patent/CN103297293A/zh
Application granted granted Critical
Publication of CN103297293B publication Critical patent/CN103297293B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例涉及一种报文检测方法及装置。包括:将多个正则表达式分别转化为对应的DFA;计算第一DFA和第二DFA的相似度,所述第一DFA为任意所述DFA,所述第二DFA为不同于所述第一DFA的任意所述DFA;如果所述第一DFA与所述第二DFA的相似度大于相似度阈值,则将所述第一DFA与所述第二DFA分为同一组,并且将同一组中的DFA存放到图形处理单元GPU中同一个流处理器SM中;利用所述GPU中的每个SM中的DFA分别对报文进行模式匹配检测。由于将相似的DFA放到同一个SM中,使同一个SM中的各个SP上的线程执行时间相近,从而提高GPU利用率。

Description

报文检测方法及装置
技术领域
本发明涉及网络技术领域,尤其涉及一种报文检测方法及装置。
背景技术
随着网络技术的迅速发展,在网络带宽迅速增长的同时网络流量在内容和形式上也变得更加复杂。网络流量的多样化,进一步导致针对应用层的攻击的多样化。现代网络应用(如入侵检测系统、防火墙、应用层流量分析系统等)越来越多地使用报文检测(Deep Packet Inspection,DPI)技术来提供安全服务。在DPI系统中,模式可分为字符串和正则表达式两种。现代的DPI大多使用正则表达式来表示各种攻击模式。相比于字符串模式,正则表达式的表达能力更强,更灵活。
正则表达式匹配一般是利用有限自动机(Finite State Machine,FSM)理论,先将正则表达式转化成等价的非确定型有限自动机(NondeterministicFinite Automaton,NFA),直接基于NFA进行匹配或将NFA转化为等价的确定型有限自动机(Deterministic Finite Automaton,DFA),然后基于DFA进行匹配。基于NFA的匹配中,由于状态转移的不确定性,算法效率低;基于DFA的匹配中,一次处理一个字节,匹配速度快,但存在状态爆炸问题,导致系统内存耗光,因此,在实际的应用中,应首先解决DFA状态爆炸问题。
由于网络带宽的迅速增长,传统的正则表达式匹配方法已经不能满足应用的速度需求。为了获得更高的性能,近年来,图形处理器(GraphicsProcessing Unit,GPU)已经发展成为具有巨大计算能力的高并行度、多线程、高通信带宽的多核处理器。基于GPU实现正则表达式匹配引擎与基于特定硬件系统架构实现相比,具有可扩展性好以及代价小等特点,同时如何有效提高GPU利用率,已经成为近年来研究的热点。GPU体系结构特点为:由多个流多处理器(Stream Multiprocessor,SM)组成,同时一个SM由一个取址、译码单元和多个流处理器(Stream Processor,SP)组成,SP是执行单元。
现有技术采用基于GPU的高速报文检测,即将所有正则表达式合并成一个NFA,由NFA确定法算法生成对应的DFA,并放入模式匹配引擎。同时,报文缓冲线程收集网络数据包并写入报文缓冲区(内存);GPU控制线程将内存报文缓冲区中的报文拷贝至显存报文缓冲区,并进行模式匹配,最后将匹配结果从显存拷贝至内存中结果缓冲区;最后应用根据匹配结果进行后处理。这种方法的缺点为:由于SM的处理时间,由其包含的各个流处理器的最长处理时间决定,因此如果同一个SM下,不同线程执行时间相差很大时,GPU利用率低下;另外,由NFA生成DFA时,可能引起DFA状态爆炸,如果出现状态爆炸,此方案将失效。
发明内容
本发明实施例提供了一种报文检测方法及装置,以在利用GPU的进行报文检测时,提高GPU的利用率。
在第一方面,本发明实施例提供一种报文检测方法,包括:
将多个正则表达式分别转化为对应的确定型有限自动机DFA;
计算第一DFA和第二DFA的相似度,所述第一DFA为任意所述DFA,所述第二DFA为不同于所述第一DFA的任意所述DFA;
如果所述第一DFA与所述第二DFA的相似度大于相似度阈值,则将所述第一DFA与所述第二DFA分为同一组,并且将同一组中的DFA存放到图形处理单元GPU中同一个流处理器SM中;
利用所述GPU中的每个SM中的DFA分别对报文进行模式匹配检测。
结合第一方面,在第一种可能的实现方式下,所述计算第一DFA和第二DFA的相似度,具体包括:分别计算任意两个DFA的有限字符集的相似度、开始字符集的相似度、终止字符集的相似度和有限状态集的相似度,并且根据所述任意两个DFA的所述有限字符集的相似度、所述开始字符集的相似度、所述终止字符集的相似度和所述有限状态集的相似度计算所述任意两个DFA的相似度。
结合第一种可能的实现方式下,在第二种可能的实现方式下,所述方法还包括:如果所述第一DFA与所述第二DFA的相似度不大于所述相似度阈值,并且所述第一DFA和所述第二DFA的状态数之和小于将所述第一DFA和第二DFA合并后对应的DFA的状态数之和时,则将所述第一DFA对应的正则表达式和所述第二DFA对应的正则表达式合并成一个新的正则表达式,并将所述新的正则表达式生转化为DFA。
结合第一方面,在第三种可能的实现方式下,所述将每个正则表达式转化为对应的确定型有限自动机DFA之前还包括:将会引起状态爆炸的正则表达式放入中央处理器CPU中对报文进行模式匹配检测。
在第二方面,本发明实施例提供一种报文检测装置,包括:
转化单元,用于将多个正则表达式分别转化为对应的DFA;
计算单元,用于计算第一DFA和第二DFA的相似度,所述第一DFA为任意所述DFA,所述第二DFA为不同于所述第一DFA的任意所述DFA;
分组单元,用于如果所述第一DFA与所述第二DFA的相似度大于相似度阈值,则将所述第一DFA与所述第二DFA分为同一组,并且将同一组中的DFA存放到图形处理单元GPU中同一个流处理器SM中;
第一检测单元,用于利用所述GPU中的每个SM中的DFA分别对报文进行模式匹配检测。
结合第二方面,在第一种可能的实现方式下,所述计算单元具体用于,分别计算任意两个DFA的有限字符集的相似度、开始字符集的相似度、终止字符集的相似度和有限状态集的相似度,并且根据所述任意两个DFA的所述有限字符集的相似度、所述开始字符集的相似度、所述终止字符集的相似度和所述有限状态集的相似度计算所述任意两个DFA的相似度。
结合第一种可能的实现方式下,在第二种可能的实现方式下,所述计算单元还用于,如果所述第一DFA与所述第二DFA的相似度不大于所述相似度阈值,并且所述第一DFA和所述第二DFA的状态数之和小于将所述第一DFA和第二DFA合并后对应的DFA的状态数之和时,则将所述第一DFA对应的正则表达式和所述第二DFA对应的正则表达式合并成一个新的正则表达式,并将所述新的正则表达式生转化为DFA。
结合第二方面,在第三种可能的实现方式下,所述装置还包括第二检测单元,用于将会引起状态爆炸的正则表达式放入CPU中对报文进行模式匹配检测。
本发明实施例中,通过将多个正则表达式分别转化为对应的DFA;计算第一DFA和第二DFA的相似度,所述第一DFA为任意所述DFA,所述第二DFA为不同于所述第一DFA的任意所述DFA;如果所述第一DFA与所述第二DFA的相似度大于相似度阈值,则将所述第一DFA与所述第二DFA分为同一组,并且将同一组中的DFA存放到图形处理单元GPU中同一个流处理器SM中;利用所述GPU中的每个SM中的DFA分别对报文进行模式匹配检测。由于将相似的DFA放到同一个SM中,使得同一个SM中的各个SP上的线程执行时间相近,从而提高GPU利用率。
附图说明
图1为本发明实施例一提供的报文检测方法流程图;
图2为本发明实施例一提供的有限字符集相似度计算方法示意图;
图3为本发明实施例一提供的开始字符集/终止字符集相似度计算方法示意图;
图4为本发明实施例一提供的有限状态及相似度计算方法示意图;
图5为本发明实施例一提供的DFA分组方法示意图;
图6为本发明实施例二提供的报文检测装置示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明具体实施例作进一步的详细描述。
为保证提供的网络服务的安全性,正则表达式被用于模式检测,由于网络带宽的迅速增长,传统的正则表达式匹配方法已经不能满足应用的速度需求。为了获得更高的性能,近年来,GPU已经发展成为具有巨大计算能力的高并行度、多线程、高通信带宽的多核处理器。本发明实施例的技术方案,可以应用于GPU中,以基于GPU的实现高速报文检测,其中GPU由多个流多处理器(Stream Multiprocessor,SM)组成,同时一个SM由一个取址、译码单元和多个流处理器(Stream Processor,SP)组成,SP是执行单元,用于执行线程。报文缓冲线程收集网络数据包并写入报文缓冲区(内存),GPU控制线程将多个正则表达式分别转化为对应的确定型有限自动机(Deterministic Finite Automaton,DFA),同时,计算各个DFA彼此之间的相似度,将相似度大于设定阈值的DFA划分为同一组,并且将同一组中的DFA存放到图形处理单元GPU中同一个流处理器SM中的模式匹配引擎,然后GPU控制线程将内存报文缓冲区中的报文拷贝至显存报文缓冲区,并在各个SM中对显存报文缓冲区中的报文进行模式匹配,最后将匹配结果从显存拷贝至内存中结果缓冲区;最后应用根据匹配结果进行后处理。
下面以DFA算法为例对本发明实施例提供的报文检测方法及装置进行阐述,但本发明实施例提供的报文检测方法及装置也适用于与DFA相关的扩展算法,比如NFA、XFA和D2FA算法等。
下述实施例描述的一种报文检测方法。图1为本发明实施例一提供的报文检测方法流程图。如图1所示,本发明实施例提供的方法包括以下步骤:
S101,将多个正则表达式分别转化为对应的确定型有限自动机DFA。
S102,计算第一DFA和第二DFA的相似度,所述第一DFA为任意所述DFA,所述第二DFA为不同于所述第一DFA的任意所述DFA。
具体地,DFA是由五元组表示的,因此可以根据五元组计算第一DFA和第二DFA的有限字符集的相似度a1、开始字符集的相似度a2、终止字符集的相似度a3和有限状态集的相似度a4,并且根据计算出的所述有限字符集的相似度、所述开始字符集的相似度、所述终止字符集的相似度和所述有限状态集的相似度计算这两个DFA的相似度Sim,可以通过以下经验公式计算Sim:Sim=(k1a1+k2a2+k3a3)*a4,该公式为经验公式,k1、k2和k3为经验值。本领域技术人员也可以根据实际经验选择其它公式计算第一DFA和第二DFA的相似度,所述第一DFA为任意所述DFA,所述第二DFA为不同于所述第一DFA的任意所述DFA,并不限于上述公式。
其中,计算有限字符集相似度可以转化为计算两个DFA对应的正则表达式字符串的相似度,图2为本发明实施例一提供的有限字符集相似度计算方法示意图。如图2所示,首先计算出当将两个字符串中的一个变为另一个时需要的操作数n,以及两个字符串中最长字符串的长度L,然后将这两个量代入有限字符集相似度a1计算公式中:a1=1–n/L。
开始字符集和终止字符集相似度的计算均可采用以下方法计算。图3为本发明实施例一提供的开始字符集/终止字符集相似度计算方法示意图。如图3所示,可以先计算出两个字符集的交集长度Linter和两个字符集中最常字符集的长度Lmax,然后根据下述公式计算开始/终止字符集相似度a2/a3:a2(a3)=Linter/Lmax。
有限状态集的相似度可以转化为计算两个有向图的相似度。图4为本发明实施例一提供的有限状态及相似度计算方法示意图。如图4所示,可以根据任意两个DFA的有限状态集画出其对应的有向状态图A和B,然后由图中节点的连接关系(出度和入度),计算出图A和图B的各个节点之间的相似度矩阵C,两个有向图间的相似度矩阵的计算方法属于成熟的现有技术,在此不再赘述。
由矩阵C中,第一列第一个数据0.2636表示有向图A中节点1和有向图B中节点1的相似度;第一列第二个数据0.1286表示有向图A中节点1和有向图B中节点2的相似度;第二列第一个数据0.2786表示有向图A中节点2和有向图B中节点1的相似度;第二列第二个数据0.1286表示有向图A中节点2和有向图B中节点2的相似度;其它数据的意义以此类推。因此可知:有向图A中节点4与有向图B中节点4、节点5的相似度为0。这是因为图A中节点4只有出度,没有入度,而图B中节点4与节点5只有入度,没有出度,所以相似度为0。假设设定相似度阈值为0.3,表示如果两个节点间的相似度值超过相似度阈值则认为两个节点相似性较大,那么从矩阵C可知:第一列只有一个数据(0.3038)超过相似度阈值(0.3),那么有向图A中节点1和有向图B中的某个节点相似的概率为:有向图A中节点1对应的列中数据超过相似度阈值的个数/每列数据的个数(有向图B中的节点个数),这里为1/6,同理可得有向图A中其它节点(2、3和4)与有向图B中节点相似的概率分别为:2/6,0,0,则有限状态集的相似度(即有向图A和有向图B的相似度)a4为有向图A中每个节点与有向图B中节点的相似度概率之和,这里具体为a4=1/6+2/6+0+0,需要说明的是,图4中的相似度矩阵C的行数为6,列数为4如果相似度,计算有向图A中每个节点与有向图B中节点的相似度概率时采用的公式为:有向图A中某个节点对应的列中数据超过相似度阈值的个数/每列数据的个数(有向图B中的节点个数),如果相似度矩阵C的行数小于列数,则需要将上述公式中的“列”替换为“行”,即公式中处于分母位置的数据总是取矩阵中行数和列数中两者中较大的一个,以此保证根据各个相似度矩阵计算出的相似度具有可比性。
需要说明的是,上述计算过程中涉及到的各种阈值可以根据实际情况设定。
S103,如果所述第一DFA与所述第二DFA的相似度大于相似度阈值,则将所述第一DFA与所述第二DFA分为同一组,并且将同一组中的DFA存放到图形处理单元GPU中同一个流处理器SM中。
具体地,如果两个DFA的相似度Sim大于相似度阈值,则将这两个DFA分到一个组中,如果两个DFA的相似度小于相似度阈值,则将它们分到不同的组中,其中,相似度阈值可以根据实际情况进行设定,该值可以是静态值,也可以是动态值。除采用相似度阈值的方法对DFA进行分组外,在另一个实施例中,还可以预先设定分组个数,然后对计算出的相似度按从小到大进行排序,并按照每组个数将DFA分到对应的组中。图5为本发明实施例一提供的DFA分组方法示意图。如图5所示,如果有4个DFA:A、B、C和D,并且将根据4个DFA计算出的相似度排序后如图中所示,并且要求第一组有3个DFA,第二组有1个DFA,则可以将(A、B、C)分到第一组,将(D)分到第二组。
由于SP中的线程处理相似的DFA所需要的处理时间相近,因此,将相似的DFA放到同一个SM(一个SM包括多个SP)中,使得同一个SM中的各个SP上的线程执行时间相近,从而提高GPU利用率。
优选地,在一个实施例中,为避免状态爆炸的出现,可以在对DFA分组之前将DFA进行合并。具体为:如果所述第一DFA与所述第二DFA的相似度不大于所述相似度阈值,并且所述第一DFA和所述第二DFA的状态数之和小于将所述第一DFA和第二DFA合并后对应的DFA的状态数之和时,则将所述第一DFA对应的正则表达式和所述第二DFA对应的正则表达式合并成一个新的正则表达式,并将所述新的正则表达式生转化为DFA。
S104,利用所述GPU中的每个SM中的DFA分别对报文进行模式匹配检测。
由于每个SM中的DFA都是相似的,因此,同一个SM中的各个SP上的线程执行时间相近,从而提高GPU利用率。
上述方法中,由于NFA转化到DFA时容易出现状态爆炸,因此,优选地,在步S101之前还包括:将会引起状态爆炸的正则表达式放入中央处理器CPU中对报文进行模式匹配检测。即首先对正则表达式进行分组,将容易引起状态爆炸的正则表达式放到CPU中,直接基于正则表达式对报文进行模式匹配检测,将其他正则表达式放入到GPU中,然后执行步骤S101-S104,由此,可以尽可能避免状态爆炸的出现。
当GPU和CPU对报文都处理完成后,再对二者的处理结果进行相应的后处理,这部分属于现有技术在此不再赘述。上述实施例描述的为:通过将多个正则表达式分别转化为对应的DFA;计算第一DFA和第二DFA的相似度,所述第一DFA为任意所述DFA,所述第二DFA为不同于所述第一DFA的任意所述DFA;如果所述第一DFA与所述第二DFA的相似度大于相似度阈值,则将所述第一DFA与所述第二DFA分为同一组,并且将同一组中的DFA存放到图形处理单元GPU中同一个流处理器SM中;利用所述GPU中的每个SM中的DFA分别对报文进行模式匹配检测。由于将相似的DFA放到同一个SM中,使同一个SM中的各个SP上的线程执行时间相近,从而提高GPU利用率。
相应地,本发明实施例提供了与上述实施例一提供的报文检测方法对应的报文检测装置,图6为本发明实施例二提供的报文检测装置示意图。如图6所示,本发明实施例提供的报文检测装置包括:转化单元601、计算单元602、分组单元603和第一检测单元604。
转化单元601,用于将多个正则表达式分别转化为对应的DFA。
计算单元602,用于计算第一DFA和第二DFA的相似度,所述第一DFA为任意所述DFA,所述第二DFA为不同于所述第一DFA的任意所述DFA。
分组单元603,用于如果所述第一DFA与所述第二DFA的相似度大于相似度阈值,则将所述第一DFA与所述第二DFA分为同一组,并且将同一组中的DFA存放到图形处理单元GPU中同一个流处理器SM中。
第一检测单元604,用于利用所述GPU中的每个SM中的DFA分别对报文进行模式匹配检测。
其中,所述计算单元603具体用于,分别计算任意两个DFA的有限字符集的相似度、开始字符集的相似度、终止字符集的相似度和有限状态集的相似度,并且根据所述任意两个DFA的所述有限字符集的相似度、所述开始字符集的相似度、所述终止字符集的相似度和所述有限状态集的相似度计算所述任意两个DFA的相似度。
所述计算单元603还用于,如果所述第一DFA与所述第二DFA的相似度不大于所述相似度阈值,并且所述第一DFA和所述第二DFA的状态数之和小于将所述第一DFA和第二DFA合并后对应的DFA的状态数之和时,则将所述第一DFA对应的正则表达式和所述第二DFA对应的正则表达式合并成一个新的正则表达式,并将所述新的正则表达式生转化为DFA。
优选地,所述装置还包括第二检测单元,用于将会引起状态爆炸的正则表达式放入CPU中对报文进行模式匹配检测。
上述实施例描述的为:通过将多个正则表达式分别转化为对应的DFA;计算第一DFA和第二DFA的相似度,所述第一DFA为任意所述DFA,所述第二DFA为不同于所述第一DFA的任意所述DFA;如果所述第一DFA与所述第二DFA的相似度大于相似度阈值,则将所述第一DFA与所述第二DFA分为同一组,并且将同一组中的DFA存放到图形处理单元GPU中同一个流处理器SM中;利用所述GPU中的每个SM中的DFA分别对报文进行模式匹配检测。由于将相似的DFA放到同一个SM中,使同一个SM中的各个SP上的线程执行时间相近,从而提高GPU利用率。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种报文检测方法,其特征在于,所述方法包括:
将多个正则表达式分别转化为对应的确定型有限自动机DFA;
计算第一DFA和第二DFA的相似度,所述第一DFA为任意所述DFA,所述第二DFA为不同于所述第一DFA的任意所述DFA;
如果所述第一DFA与所述第二DFA的相似度大于相似度阈值,则将所述第一DFA与所述第二DFA分为同一组,并且将同一组中的DFA存放到图形处理单元GPU中同一个流处理器SM中;
利用所述GPU中的每个SM中的DFA分别对报文进行模式匹配检测。
2.如权利要求1所述的报文检测方法,其特征在于,所述计算第一DFA和第二DFA的相似度,具体包括:分别计算任意两个DFA的有限字符集的相似度、开始字符集的相似度、终止字符集的相似度和有限状态集的相似度,并且根据所述任意两个DFA的所述有限字符集的相似度、所述开始字符集的相似度、所述终止字符集的相似度和所述有限状态集的相似度计算所述任意两个DFA的相似度。
3.如权利要求1所述的报文检测方法,其特征在于,所述方法还包括:如果所述第一DFA与所述第二DFA的相似度不大于所述相似度阈值,并且所述第一DFA和所述第二DFA的状态数之和小于将所述第一DFA和第二DFA合并后对应的DFA的状态数之和时,则将所述第一DFA对应的正则表达式和所述第二DFA对应的正则表达式合并成一个新的正则表达式,并将所述新的正则表达式生转化为DFA。
4.如权利要求1-3任一项所述的报文检测方法,其特征在于,在将多个正则表达式转化为对应的确定型有限自动机DFA之前还包括:将会引起状态爆炸的正则表达式放入中央处理器CPU中对报文进行模式匹配检测。
5.一种报文检测装置,其特征在于,所述装置包括:
转化单元,用于将多个正则表达式分别转化为对应的DFA;
计算单元,用于计算第一DFA和第二DFA的相似度,所述第一DFA为任意所述DFA,所述第二DFA为不同于所述第一DFA的任意所述DFA;
分组单元,用于如果所述第一DFA与所述第二DFA的相似度大于相似度阈值,则将所述第一DFA与所述第二DFA分为同一组,并且将同一组中的DFA存放到图形处理单元GPU中同一个流处理器SM中;
第一检测单元,用于利用所述GPU中的每个SM中的DFA分别对报文进行模式匹配检测。
6.如权利要求5所述的报文检测装置,其特征在于,所述计算单元具体用于,分别计算任意两个DFA的有限字符集的相似度、开始字符集的相似度、终止字符集的相似度和有限状态集的相似度,并且根据所述任意两个DFA的所述有限字符集的相似度、所述开始字符集的相似度、所述终止字符集的相似度和所述有限状态集的相似度计算所述任意两个DFA的相似度。
7.如权利要求6所述的报文检测装置,其特征在于,所述计算单元还用于,如果所述第一DFA与所述第二DFA的相似度不大于所述相似度阈值,并且所述第一DFA和所述第二DFA的状态数之和小于将所述第一DFA和第二DFA合并后对应的DFA的状态数之和时,则将所述第一DFA对应的正则表达式和所述第二DFA对应的正则表达式合并成一个新的正则表达式,并将所述新的正则表达式生转化为DFA。
8.如权利要求5所述的报文检测装置,其特征在于,所述装置还包括第二检测单元,用于将会引起状态爆炸的正则表达式放入CPU中对报文进行模式匹配检测。
CN201310183170.3A 2013-05-17 2013-05-17 报文检测方法及装置 Active CN103297293B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310183170.3A CN103297293B (zh) 2013-05-17 2013-05-17 报文检测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310183170.3A CN103297293B (zh) 2013-05-17 2013-05-17 报文检测方法及装置

Publications (2)

Publication Number Publication Date
CN103297293A true CN103297293A (zh) 2013-09-11
CN103297293B CN103297293B (zh) 2016-03-09

Family

ID=49097638

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310183170.3A Active CN103297293B (zh) 2013-05-17 2013-05-17 报文检测方法及装置

Country Status (1)

Country Link
CN (1) CN103297293B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105320890A (zh) * 2015-09-29 2016-02-10 国网智能电网研究院 一种基于分组dfa的源代码漏洞检测方法
CN106301992A (zh) * 2015-06-12 2017-01-04 阿里巴巴集团控股有限公司 一种攻击报文检测方法及设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102064977A (zh) * 2010-11-10 2011-05-18 中国人民解放军国防科学技术大学 基于gpu的高速网络报文内容检测方法
CN102184197A (zh) * 2011-04-22 2011-09-14 湖南亿谷信息科技发展有限公司 基于智能有限自动机的正则表达式匹配方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102064977A (zh) * 2010-11-10 2011-05-18 中国人民解放军国防科学技术大学 基于gpu的高速网络报文内容检测方法
CN102184197A (zh) * 2011-04-22 2011-09-14 湖南亿谷信息科技发展有限公司 基于智能有限自动机的正则表达式匹配方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
吴鸿伟等: "《基于多GPU的正则表达式匹配技术》", 《华中科技大学学报(自然科学版)》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106301992A (zh) * 2015-06-12 2017-01-04 阿里巴巴集团控股有限公司 一种攻击报文检测方法及设备
CN106301992B (zh) * 2015-06-12 2019-09-03 阿里巴巴集团控股有限公司 一种攻击报文检测方法及设备
CN105320890A (zh) * 2015-09-29 2016-02-10 国网智能电网研究院 一种基于分组dfa的源代码漏洞检测方法
CN105320890B (zh) * 2015-09-29 2019-02-22 国网智能电网研究院 一种基于分组dfa的源代码漏洞检测方法

Also Published As

Publication number Publication date
CN103297293B (zh) 2016-03-09

Similar Documents

Publication Publication Date Title
CN110753064B (zh) 机器学习和规则匹配融合的安全检测系统
CN108694112B (zh) 分布式硬件跟踪
US10684832B2 (en) Code placement using a dynamic call graph
Luo et al. Hop: Heterogeneity-aware decentralized training
US20210124983A1 (en) Device and method for anomaly detection on an input stream of events
US10681118B2 (en) Method and apparatus for distributed data processing
US9658832B2 (en) Multi-factor entropy sourcing for random number generators
Kotenko et al. Attack detection in IoT critical infrastructures: a machine learning and big data processing approach
US20200099604A1 (en) Method and device for fingerprint based status detection in a distributed processing system
Sallinen et al. Graph colouring as a challenge problem for dynamic graph processing on distributed systems
CN109308170B (zh) 一种数据处理方法及装置
Vaquero et al. xDGP: A dynamic graph processing system with adaptive partitioning
CN101442540A (zh) 基于现场可编程门阵列的高速模式匹配算法
US9922133B2 (en) Live topological query
Hsieh et al. A high-throughput DPI engine on GPU via algorithm/implementation co-optimization
Lee et al. A hybrid CPU/GPU pattern-matching algorithm for deep packet inspection
JP2023534696A (ja) ネットワークトポロジーにおけるアノマリー検知
CN113132392B (zh) 工控网络流量异常检测方法、装置及系统
Shin et al. A grand spread estimator using a graphics processing unit
Wang et al. A query–matching mechanism over out–of–order event stream in IOT
CN103297293A (zh) 报文检测方法及装置
CN104023000A (zh) 一种网络入侵检测方法
CN101848091B (zh) 数据查找处理方法及系统
Jayasinghe et al. Continuous analytics on graph data streams using wso2 complex event processor
WO2017185864A1 (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
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20201028

Address after: No.8, Xiaoping Avenue, Badu Economic Development Zone, Zhenze Town, Wujiang District, Suzhou City, Jiangsu Province

Patentee after: TONGDING INTERCONNECTION INFORMATION Co.,Ltd.

Address before: 625, room 269, Connaught platinum Plaza, No. 518101, Qianjin Road, Xin'an street, Shenzhen, Guangdong, Baoan District

Patentee before: SHENZHEN SHANGGE INTELLECTUAL PROPERTY SERVICE Co.,Ltd.

Effective date of registration: 20201028

Address after: 625, room 269, Connaught platinum Plaza, No. 518101, Qianjin Road, Xin'an street, Shenzhen, Guangdong, Baoan District

Patentee after: SHENZHEN SHANGGE INTELLECTUAL PROPERTY SERVICE Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right