CN101442540B - 基于现场可编程门阵列的高速模式匹配算法 - Google Patents

基于现场可编程门阵列的高速模式匹配算法 Download PDF

Info

Publication number
CN101442540B
CN101442540B CN200810241135A CN200810241135A CN101442540B CN 101442540 B CN101442540 B CN 101442540B CN 200810241135 A CN200810241135 A CN 200810241135A CN 200810241135 A CN200810241135 A CN 200810241135A CN 101442540 B CN101442540 B CN 101442540B
Authority
CN
China
Prior art keywords
state
character
state information
address
algorithm
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.)
Expired - Fee Related
Application number
CN200810241135A
Other languages
English (en)
Other versions
CN101442540A (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.)
Uict Tianjin Science & Technology Co ltd
Original Assignee
HEFEI HAOTE INFORMATION TECHNOLOGY 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 HEFEI HAOTE INFORMATION TECHNOLOGY Co Ltd filed Critical HEFEI HAOTE INFORMATION TECHNOLOGY Co Ltd
Priority to CN200810241135A priority Critical patent/CN101442540B/zh
Publication of CN101442540A publication Critical patent/CN101442540A/zh
Application granted granted Critical
Publication of CN101442540B publication Critical patent/CN101442540B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

一种基于现场可编程门阵列的高速模式匹配的方法,该方法通过动态扩充AC算法中的跳转函数goto生成DFA状态表,并对其压缩后通过硬件的方式实现内容检测和应用识别,以满足用户对网络应用层处理和网络信息安全的需要。本发明涉及基于正则表达式的规则描述、状态机技术的模式匹配引擎、规则库压缩优化,DFA模式匹配是一种将时间复杂度转换为空间复杂度的算法,它可并行匹配多个规则,而且对规则长度无限制,被匹配的特征值可以是非定位的,也可以是定位模式匹配。DFA算法巧妙地将多模式匹配的处理过程转变成了状态转换的处理过程,从而实现了0(n)级别的匹配速度,所以规则库的压缩算法,即能保证查找速度,又能实现高效压缩。

Description

基于现场可编程门阵列的高速模式匹配算法
技术领域
本发明涉及一种计算机的匹配算法,尤其涉及一种基于计算机硬件技术实现内容检测功能的协处理器的高速模式匹配算法。属于计算机网络安全(network security)技术领域。
背景技术
网络面临的安全威胁大体可分为两种:一是对网络数据的威胁;二是对网络设备的威胁。这些威胁可能来源于各种各样的因素。其中,来自外部和内部人员的恶意攻击和入侵是当前Internet网络所面临的最大威胁,也是网络安全策略最需要解决的问题。为满足网络信息安全要求,防止非法用户利用网络系统的安全缺陷进行数据的窃取、伪造和破坏,必须建立网络信息系统的安全服务体系。
现有的计算机网络大多数在建设之初就忽略了安全问题,即使考虑到安全问题,大部分情况也只是把安全建立在物理机制上,随着网络互连程度的扩大,这种安全机制对于网络环境来说形同虚设。由于网络安全问题的敏感性,我们不能像引进其他高科技产品一样,大量引进国外网络的安全产品。因此,研究和开发自己的网络安全产品就显得格外重要。
如何有效地防范网络入侵,将其可能造成的安全风险降到最低限度,成为近年来网络安全理论研究和技术开发的热点问题之一。在对信息安全迫切需要的高呼声中,各种检测系统应运而生,并在信息安全领域中占据重要的地位。与传统的安全技术和产品相比,检测系统更具有实时监控和响应的特征,已经成为信息安全整体架构的必不可少的一道防线。数据分析模块是检测系统中非常关键的模块,也是系统性能的瓶颈所在。现在一般采用模式匹配来对数据进行分析,其使用的匹配算法决定着整个模块的性能,也随之影响着检测系统的性能。
传统的内容检测设备都是通过软件程序来实现模式匹配这种计算密集型的处理操作。但是,随着模式匹配规则的不断增加,例如添加更多的内容过滤规则、病毒识别特征等,基于软件技术的模式匹配速度将相应降低,而模式数据库也会变得日益庞大(空间复杂度为O(2n),n是模式字符串的长度)。以目前的Snort这类轻量级开源网络入侵检测软件为例,它一般使用简单规则来识别可能的安全威胁,这些规则包括对数据包包头中固定位置内容的查找操作以及对应用层负载中非固定位置变长内容的检测操作。当采用Intel 3.02GHzXeon处理器时,其最高数据包吞吐量仅为100Mbps左右。而一个有效的检测系统不仅要求能够正确地识别系统中的入侵行为,还要考虑到如何适应网络环境发展的需要。因此,随着各种攻击手段的不断提高,网络流量持续增大,迫切需要新型的具有高速处理能力的内容检测系统。
发明内容
本发明的目的是为了克服现有技术中存在的不足,而提供的一种基于现场可编程门阵列的高速模式匹配算法的高速模式匹配的算法。
本发明的基于FPGA的高速模式匹配的算法是通过以下技术方案实现的:
本发明的方法不同于软件技术的串行顺序处理机制,可以非常方便的实现并行处理架构,即设置多个同时工作的硬件检测器,根据预先设定的规则对每个输入数据包的负载部分进行精确的内容检测,即判断数据包中全部/局部内容是否与某些规则发生匹配,从而大大提高模式匹配的执行速度。
为实现本发明目的,现以多模式匹配的AC算法(即Aho-Corasick算法)为基础建立高速模式匹配算法。
多模式匹配:定义字母表∑、模式集合P={p1,p2,...,pk}、数据流T=t1t2...tn(P和T均由∑构成),多模式匹配是指寻找P所含模式在输入数据流T中是否存在(有时也包含存在位置)的处理过程。
AC算法主要包含四个函数,它们是跳转函数goto,失效函数failure,输出函数output和nfa2dfa函数。这些算法的基础是以普通字符串为处理对象,首先从普通字符串中构造出一个完整的goto函数来,再从goto函数中构造出failure函数,输出函数则从goto和failure函数中共同构造生成,而最后的DFA(DeterministicFinite Automata,确定性有限状态机)状态转化表由函数nfa2dfa函数利用goto和failure函数生成。AC算法在设计上使用了穷举的方式构造failure函数,这在有限的普通字符串上是可行的。如果要进行精确的模式搜索,在目标串中查找可以匹配正则表达式的所有可能模式,若直接利用AC算法,则要考虑到将正则表达所描述的模式展开为一个一个的普通字符串模式。这会造成模式在数目上的急剧膨胀,无论在内存消耗还是运算上都会造成事实上的不可行。所以需要对这种急剧膨胀的现象进行处理。
本发明的所采用的算法并不是在一开始就构造出一个完整的goto函数,而是首先构造一个初始的goto函数,再根据这个初始的goto函数构造failure函数的过程中根据需要动态地扩充goto函数,从而可以构造出完整地goto函数和failure函数。而nfa2dfa仅仅依赖于goto函数和failure函数,所以又可以构造出一个完整的DFA。详述如下:
AC算法根据所有的输入模式构造了一个状态表。goto函数就是根据该状态表生成。而实际上根据输入模式得到的状态表并不是一个严格单向的状态表,从一个状态对相同的输入跳变到多个状态导致了NFA(Nondeterministic Finite Automata,非确定性有限状态机)。AC算法在设计上从阶数考虑状态变化,状态阶数指从状态0到该状态的最短路径。失效函数(failure)实际上是一个状态回指的一个过程,表明了从状态0到该状态的路径上的字符串包含了从状态0到其他状态的字符串。在NFA中,这个过程称为回溯过程。失效函数failure的设计就是找出所有的回溯过程。AC算法在设计上采用穷举的方式查找回溯过程。首先从阶数1开始找起,直到遍历所有的状态。
如果从输入模式构造的状态表是一个严格单向的状态表时,就没有失效状态。也就是说没有必要构造failure,进一步说是严格的DFA。对一个严格的DFA来说,goto函数就是最终的结果。如依据下面的状态表1构造的goto函数即是最终结果。
Figure G2008102411351D00041
表1:DFA的状态表
因为状态表1是严格单向的,所以可以用如下方式来简化。
Figure G2008102411351D00042
表2:简化的状态表
依据上表2可以减少状态表1的数目,在状态表2中,依次在状态d的转换中,在相对应输入字符的地方填入下一个状态值即可。
表2所示的状态是理想情况,现在考虑下面的情况:
Figure G2008102411351D00043
表3:NFA的状态表
表3是一个NFA,因为在d状态下,输入1会产生两种结果,所以不能单从goto函数得到最后的DFA结果。但是可以考虑拆分成如下结果简化:
Figure G2008102411351D00051
表4:NFA中对局部的DFA简化
上表4中简化的策略是以模式1YZ,D1abz,D[2-m]abz为基础按照AC算法生成DFA,其中[2-m]在编译中,可以使用其中任意一个字符代替,只是在生成的DFA中,对状态d的转换中添加新的状态变化项。相对于表1来说表4大幅度减少了状态数。
上述的优化方式在现实是可行的,因为失效函数failure的构造是从goto函数中所有的低阶数状态开始逐步向高阶数状态,所以在计算失效函数的同时也逐步扩展goto函数。利用改进的AC算法最终生成DFA,然后依据表4合并相对应的状态以减少状态数目。合并的原理如下所示:
s1-d->a1-x->a2-y->a3-z->a4
s1-e->b1-x->b2-y->b3-z->b4
s1-f->c1-x->c2-y->c3-z->c4
在s1状态因不同的输入,导致了新状态a1,b1,c1,此后的输入都相同,最后的状态a4,b4,c4下匹配模式也相同,失效状态也相同,就将a4,b4,c4合并成一个状态,依次往前推导。在实际操作中,首先找出上一模式中所有可能的失效状态和相应的字符串,单独提取出来,剩下的可以用一个模式来代替,生成DFA后,再将相应的状态转化字写上即可。
当最后生成DFA后,接着对状态表4进行压缩处理。采用门限值的方式压缩状态表4,原理如下:由于大部分的状态,仅仅对特定的字符有状态变化,剩下的都会跳到0状态,所以仅仅考虑非0状态的情况。将可能发生非0状态的最小和最大字符之间的状态变化信息保存下来。如在某种状态下,输入字符a,如果a在最小和最大字符之间则计算下一个状态,否则跳到0状态,由此可减少状态数目。
本发明所提供的基于FPGA(Field Programmable Gate Array,现场可编程门阵列)的高速模式匹配方法不仅支持基于正则表达式的规则描述,更重要的是基于有限状态机(DFA)原理的模式匹配方法,可以实现千兆级线速处理能力。DFA模式匹配是一种将时间复杂度转换为空间复杂度的算法。它可并行匹配多个规则,而且对规则长度无限制。被匹配的特征值可以是非定位的,即特征值可以在数据中的任何一个位置开始;也可以对特征值出现的位置进行约束限制,即实现定位模式匹配。DFA算法巧妙地将多模式匹配的处理过程转变成了状态转换的处理过程,从而实现了O(n)级别的匹配速度。
本发明的基于现场可编程门阵列的高速模式匹配算法,包括如下步骤:
步骤1:依据动态扩充AC算法中goto函数的方法及对规则库的压缩方法将输入的模式匹配规则集合文件编译为符合FPGA读写规律的二进制规则库文件;
步骤2:将编译好的二进制规则库文件加载到FPGA的QDR(QuadData Rate,四倍速数据速率)SRAM(Static Random Access Memory,静态随机存储器),该规则库包括状态跳转表和状态信息表两部分:状态信息表保存当前状态的相关信息,状态跳转表保存跳转的下一个状态号。
步骤3:系统初始化后开始接收数据包,当前系统状态号初始化为0;
步骤4:判断接收到的新的数据包是否需要匹配;
步骤5:取出0状态的状态信息,包括最大及最小有效字符、是否命中的标志位、状态跳转表的位置基地址,放入当前状态信息中;
步骤6:取一个需要匹配的字符。
步骤7:根据当前状态信息的内容判断取的字符是否在最小字符和最大字符之间;
步骤8:根据当前状态信息中的状态跳转表的位置基址和字符计算该字符对应的跳转表的地址;
步骤9:根据步骤8得到的状态跳转表的地址,取出下一状态号作为新的当前状态号;
步骤10:根据取到的状态号来计算存放当前状态信息项的状态信息地址;
步骤11:根据步骤10得到的状态信息表的地址,取出相应的状态信息放入当前状态信息中;
步骤12:根据得到的状态信息判断输入的字符是否匹配;
步骤13:记录匹配的结果;
步骤14:判断收到的数据包是否全部完成匹配;
步骤15:取下一个字符;
步骤16:重复执行步骤7到步骤14;
步骤17:当整个数据包匹配结束后,把匹配结果与原始的数据包重新组合成新的数据包;
步骤18:把数据包转发出去,然后初始化当前的状态号为0,开始新的数据包匹配。
而且,所述步骤4中接收到的新的数据包需要匹配则执行所述步骤5。
而且,所述步骤4中接收到的新的数据包不需要匹配,则执行所述步骤18。
而且,所述步骤7中根据当前状态信息的内容取的字符不在最小字符和最大字符之间,则跳转到所述步骤6取下一个字符。
而且,所述步骤7中根据当前状态信息的内容取的字符在最小字符和最大字符之间,则执行所述步骤8。
而且,所述步骤8的根据当前状态信息中的状态跳转表的位置基址和字符计算该字符对应的跳转表地址的方法为:
Position(跳转表地址)=状态跳转表的位置基址+(最大字符-最小字符)×一个状态跳转条目占用的字节数。
而且,所述步骤10的根据取到的状态号来计算存放当前状态信息项的状态信息地址的方法为:
Position(状态信息地址)=状态信息表基地址+当前状态号×每个状态信息条目占用的字节数
而且,所述步骤12根据得到的状态信息判断输入的字符如果匹配则执行步骤13,如果不匹配则执行步骤14;
而且,所述步骤14中收到的数据包如果没有全部完成匹配,则执行步骤15,如果已全部完成匹配,则执行步骤17。
本发明相对现有技术具有的有益效果:
1、本发明能够方便的实现并行处理架构,即设置多个同时工作的硬件检测器,根据预先设定的规则对每个输入数据包的负载部分进行精确的内容检测,即判断数据包中全部/局部内容是否与某些规则发生匹配,从而大大提高模式匹配的执行速度。
2、本发明可配合通用处理器或网络处理器实现如下功能:数据包内容过滤、垃圾邮件过滤、网络病毒检测、网络入侵检测、控制协议识别、基于内容交换以及高级网络流量控制等。
附图说明
图1为本发明的基于现场可编程门阵列的高速模式匹配算法流程图;
实施例:
本发明描述的方法的核心思想是提供一种高速模式匹配的方法,具体做法是通过动态扩充AC算法中的goto函数的方法生成DFA状态表,并对生成的状态表进行压缩后通过硬件的方式实现内容检测和应用识别等操作的线速处理,以满足用户对网络应用层处理技术和网络信息安全技术的需要。其核心技术涉及基于正则表达式的规则描述、基于状态机技术的模式匹配引擎、规则库压缩优化等几个方面。
采用正则表达式作为规则描述方式有利于实现应用的通用化,因为目前绝大多数系统的规则库(例如入侵检测系统)都以正则表达式的形式描述。DFA(Deterministic Finite Automata,确定性有限状态机)模式匹配是一种将时间复杂度转换为空间复杂度的算法。它可并行匹配多个规则,而且对规则长度无限制。被匹配的特征值可以是非定位的,即特征值可以在数据中的任何一个位置开始。也可以对特征值出现的位置进行约束限制,即实现定位模式匹配。DFA算法巧妙地将多模式匹配的处理过程转变成了状态转换的处理过程,从而实现了O(n)级别的匹配速度。规则库压缩算法需要均衡考虑内存和运算速度。显然,越高级的压缩算法消耗的内存会越小,但是在解压缩时造成的处理会非常复杂,这将会严重影响到处理速度。所以规则库的压缩算法,即要保证查找速度,又要实现高效的压缩。
步骤1:依据动态扩充AC算法中goto函数的方法及对规则库的压缩方法将输入的模式匹配规则集合文件编译为符合FPGA读写规律的二进制规则库文件;
步骤2:将编译好的二进制规则库文件加载到FPGA的QDR SRAM,该规则库包括状态跳转表和状态信息表两部分;
步骤3:系统初始化后开始接收数据包,当前系统状态号初始化为0;
步骤4:判断接收到的新的数据包是否需要匹配;
步骤5:取出0状态的状态信息,包括最大及最小有效字符、是否命中的标志位、状态跳转表的位置基地址,放入当前状态信息中;
步骤6:取一个需要匹配的字符;
步骤7:根据当前状态信息的内容判断取的字符是否在最小字符和最大字符之间;
步骤8:根据当前状态信息中的状态跳转表的位置基址和字符计算该字符对应的跳转表的地址;
步骤9:根据步骤8得到的状态跳转表的地址,取出下一状态号作为新的当前状态号;
步骤10:根据取到的状态号来计算存放当前状态信息项的状态信息地址;
步骤11:根据步骤10得到的状态信息表的地址,取出相应的状态信息放入当前状态信息中;
步骤12:根据得到的状态信息判断输入的字符是否匹配;
步骤13:记录匹配的结果;
步骤14:判断收到的数据包是否全部完成匹配;
步骤15:取下一个字符;
步骤16:重复执行步骤7到步骤14;
步骤17:当整个数据包匹配结束后,把匹配结果与原始的数据包重新组合成新的数据包;
步骤18:把数据包转发出去,然后初始化当前的状态号为0,开始新的数据包匹配。
而且,所述步骤4中接收到的新的数据包需要匹配则执行所述步骤5。
而且,所述步骤4中接收到的新的数据包不需要匹配,则执行所述步骤18。
而且,所述步骤7中根据当前状态信息的内容取的字符不在最小字符和最大字符之间,则跳转到所述步骤6取下一个字符。
而且,所述步骤7中根据当前状态信息的内容取的字符在最小字符和最大字符之间,则执行所述步骤8。
而且,所述步骤8的根据当前状态信息中的状态跳转表的位置基址和字符计算该字符对应的跳转表地址的方法为:
Position(跳转表地址)=状态跳转表的位置基址+(最大字符-最小字符)×一个状态跳转条目占用的字节数。
而且,所述步骤10的根据取到的状态号来计算存放当前状态信息项的状态信息地址的方法为:
Position(状态信息地址)=状态信息表基地址+当前状态号×每个状态信息条目占用的字节数
而且,所述步骤12根据得到的状态信息判断输入的字符如果匹配则执行步骤13,如果不匹配则执行步骤14;
而且,所述步骤14中收到的数据包如果没有全部完成匹配,则执行步骤15,如果已全部完成匹配,则执行步骤17。
尽管已通过参照实施例子具体的示出并描述了本发明,但本领域的技术人员将理解,可在其中做出各种形式和细节上的改变,而没有背离本发明的精神和范围。例如,可使用计算机编程软件、固件或硬件的任意组合来实现本发明。作为实践本发明或构造根据本发明的设备的预备步骤,典型地,根据本发明的计算机编程代码(软件或固件)将被存储在一个或多个及其可读存储介质中,如固定(硬)驱动器、磁盘、光盘、磁带、诸如ROM和PROM的半导体存储器等,由此产生根据本发明的产品。通过直接从诸如硬盘、RAM等的存储装置执行代码、通过将代码从存储装置复制到另一个存储装置、或通过传送用于远程执行的代码,而使用包含计算机编程代码的产品。可通过组合具有用来运行代码的适当的标准计算机硬件的、包含代码的一个或多个机器可读存储装置,而产生用户实践本发明的方法。用户实践本发明的设备可为一个或多个计算机和存储系统,其包含或具有对根据本发明而编码的计算机程序(多个)的网络访问。

Claims (3)

1.一种基于现场可编程门阵列的高速模式匹配方法,其特征在于,包括如下步骤:
步骤1:依据动态扩充AC算法中跳转函数goto方法及对规则库压缩方法将输入的模式匹配规则集合文件编译为符合FPGA读写规律的二进制规则库文件;其中,所述动态扩充AC算法中跳转函数goto方法包括:首先构造一个初始的goto函数,再根据这个初始的goto函数构造failure函数,在构造failure函数过程中根据多模式匹配的AC算法来动态地扩充goto函数来构造出完整地goto函数和failure函数;
所述多模式匹配的AC算法根据所有的输入模式构造一个状态表,当状态表是一个严格单向的状态表时,完整的goto函数就是该方法得到的最终结果;否则,构造failure函数,在AC算法上采用穷举的方式查找回溯过程,从阶数1开始找起,直到遍历所有状态;其中,所述回溯过程为在非确定性有限状态机NFA中failure函数的一个状态回指的过程,表明了从状态0到该状态的路径上的字符串包含了从状态0到其他状态的字符串;
所述规则库压缩方法包括:将可能发生非0状态的最小和最大字符之间的状态变化信息保存;
步骤2:将编译好的二进制规则库文件加载到FPGA的四倍速数据速率静态随机存储器QDR SRAM,该规则库包括状态跳转表和状态信息表两部分;
步骤3:系统初始化后开始接收数据包,当前系统状态号初始化为0;
步骤4:判断接收到的新的数据包是否需要匹配;若需要匹配,则转至步骤5);否则,则转至步骤16);
步骤5:取出0状态的状态信息,包括最大及最小有效字符、是否命中的标志位、状态跳转表的位置基地址,放入当前状态信息中;
步骤6:取一个需要匹配的字符;
步骤7:根据当前状态信息的内容判断取的字符是否在最小字符和最大字符之间;若是,则转至步骤8);否则,转至所述步骤6)取下一个需要匹配的字符;
步骤8:根据当前状态信息中的状态跳转表的位置基地址和字符计算该字符对应的状态跳转表的地址;
步骤9:根据所述步骤8得到的状态跳转表的地址,取出下一状态号作为新的当前状态号;
步骤10:根据取到的状态号来计算存放当前状态信息项的状态信息表的地址;
步骤11:根据所述步骤10得到的状态信息表的地址,取出相应的状态信息放入当前状态信息中;
步骤12:根据得到的状态信息判断输入的字符是否匹配;若是,则转至步骤13);否则,则转至步骤14);
步骤13:记录匹配的结果;
步骤14:判断收到的数据包是否全部完成匹配;若是,则转至步骤15);否则,则转至所述步骤6)取下一个需要匹配的字符;
步骤15:当整个数据包匹配结束后,把匹配结果与原始的数据包重新组合成新的数据包;
步骤16:把数据包转发出去,然后初始化当前的状态号为0,开始新的数据包匹配。
2.根据权利要求1所述的基于现场可编程门阵列的高速模式匹配方法,其特征在于,所述步骤8的根据当前状态信息中的状态跳转表的位置基地址和字符计算该字符对应的状态跳转表地址的方法为:
状态跳转表地址=状态跳转表的位置基地址+(最大字符-最小字符)×一个状态跳转条目占用的字节数。
3.根据权利要求1所述的基于现场可编程门阵列的高速模式匹配方法,其特征在于,所述步骤10的根据取到的状态号来计算存放当前状态信息项的状态信息表的地址的方法为:
存放当前状态信息项的状态信息表的地址=状态信息表基地址+当前状态号×每个状态信息条目占用的字节数。
CN200810241135A 2008-12-30 2008-12-30 基于现场可编程门阵列的高速模式匹配算法 Expired - Fee Related CN101442540B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200810241135A CN101442540B (zh) 2008-12-30 2008-12-30 基于现场可编程门阵列的高速模式匹配算法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200810241135A CN101442540B (zh) 2008-12-30 2008-12-30 基于现场可编程门阵列的高速模式匹配算法

Publications (2)

Publication Number Publication Date
CN101442540A CN101442540A (zh) 2009-05-27
CN101442540B true CN101442540B (zh) 2012-09-05

Family

ID=40726779

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200810241135A Expired - Fee Related CN101442540B (zh) 2008-12-30 2008-12-30 基于现场可编程门阵列的高速模式匹配算法

Country Status (1)

Country Link
CN (1) CN101442540B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106776456A (zh) * 2017-01-18 2017-05-31 中国人民解放军国防科学技术大学 基于fpga+npu的高速正则表达式匹配混合系统及方法

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101707513B (zh) * 2009-11-30 2015-10-21 曙光信息产业(北京)有限公司 基于正则表达式的深度包检测方法及设备
CN101827095B (zh) * 2010-04-06 2012-10-24 北京网康科技有限公司 一种基于回车换行快速协议解析的方法及设备
CA2739762C (en) * 2010-05-20 2015-06-23 Accenture Global Services Limited Rule merging in system for monitoring adherence by developers to a software code development process
CN101853301A (zh) 2010-05-25 2010-10-06 华为技术有限公司 正则表达式匹配的方法和系统
CN103186640B (zh) * 2011-12-31 2016-05-25 百度在线网络技术(北京)有限公司 采用基于ac算法的正则匹配的流量过滤方法及装置
CN103957012B (zh) * 2014-04-18 2017-06-06 华为技术有限公司 一种dfa矩阵的压缩方法及装置
CN104216980B (zh) * 2014-07-24 2017-08-04 上海英方软件股份有限公司 一种文件系统序列化操作的分类方法
KR102092721B1 (ko) * 2016-03-23 2020-04-23 포그혼 시스템스 인코포레이티드 실시간 데이터플로우 프로그래밍에서 패턴 구동형 반응의 구성
CN106067039B (zh) * 2016-05-30 2019-01-29 桂林电子科技大学 基于决策树剪枝的模式匹配方法
CN106453131B (zh) * 2016-11-03 2019-06-28 瑞斯康达科技发展股份有限公司 一种匹配器生成的方法和设备
CN107273177B (zh) * 2017-06-28 2020-08-04 中国信息安全测评中心 一种基于跳转表定位arm固件装载基址的方法和装置
CN110968537B (zh) * 2018-09-28 2021-02-02 方一信息科技(上海)有限公司 一种基于pcie ssd的fpga搜索匹配方法
CN110865970B (zh) * 2019-10-08 2021-06-29 西安交通大学 一种基于fpga平台的压缩流量模式匹配引擎及模式匹配方法
CN110955683B (zh) * 2019-11-28 2024-01-09 苏州雄立科技有限公司 一种基于正则表达式的数据流查找方法、装置及系统
CN113157655A (zh) * 2020-01-22 2021-07-23 阿里巴巴集团控股有限公司 一种数据压缩、解压方法、装置、电子设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003100650A1 (en) * 2002-05-21 2003-12-04 Washington University Reprogrammable hardware for examining network streaming data to detect redefinable patterns and define responsive processing
CN101013441A (zh) * 2007-02-12 2007-08-08 杭州华为三康技术有限公司 确定性有限自动机生成方法和装置及索引方法和索引系统
CN101154228A (zh) * 2006-09-27 2008-04-02 西门子公司 一种分段模式匹配方法及其装置
CN101286988A (zh) * 2008-04-18 2008-10-15 北京启明星辰信息技术股份有限公司 一种并行多模式匹配的方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003100650A1 (en) * 2002-05-21 2003-12-04 Washington University Reprogrammable hardware for examining network streaming data to detect redefinable patterns and define responsive processing
CN101154228A (zh) * 2006-09-27 2008-04-02 西门子公司 一种分段模式匹配方法及其装置
CN101013441A (zh) * 2007-02-12 2007-08-08 杭州华为三康技术有限公司 确定性有限自动机生成方法和装置及索引方法和索引系统
CN101286988A (zh) * 2008-04-18 2008-10-15 北京启明星辰信息技术股份有限公司 一种并行多模式匹配的方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106776456A (zh) * 2017-01-18 2017-05-31 中国人民解放军国防科学技术大学 基于fpga+npu的高速正则表达式匹配混合系统及方法
CN106776456B (zh) * 2017-01-18 2019-06-18 中国人民解放军国防科学技术大学 基于fpga+npu的高速正则表达式匹配混合系统及方法

Also Published As

Publication number Publication date
CN101442540A (zh) 2009-05-27

Similar Documents

Publication Publication Date Title
CN101442540B (zh) 基于现场可编程门阵列的高速模式匹配算法
Yuan et al. Emotion-cause pair extraction as sequence labeling based on a novel tagging scheme
Yerima et al. Mobile botnet detection: A deep learning approach using convolutional neural networks
Sun et al. Attention-based machine learning model for smart contract vulnerability detection
Li et al. Boosting training for PDF malware classifier via active learning
Shobana et al. A novel approach to detect IoT malware by system calls using Deep learning techniques
Fang et al. Detecting webshell based on random forest with fasttext
Hsieh et al. A high-throughput DPI engine on GPU via algorithm/implementation co-optimization
Vinayakumar et al. A deep-dive on machine learning for cyber security use cases
Ding et al. Recurrent graph syntax encoder for neural machine translation
Wang et al. Malicious code classification based on opcode sequences and textCNN network
Alharthi et al. A real-time deep-learning approach for filtering Arabic low-quality content and accounts on Twitter
Liu et al. Multi-scale semantic deep fusion models for phishing website detection
Ariyadasa et al. Detecting phishing attacks using a combined model of LSTM and CNN
Lan et al. MEMBER: A multi-task learning model with hybrid deep features for network intrusion detection
Wunderlich et al. Comparison of system call representations for intrusion detection
Fang et al. Effective method for detecting malicious PowerShell scripts based on hybrid features☆
Liu et al. Fewm-hgcl: Few-shot malware variants detection via heterogeneous graph contrastive learning
Hu et al. Cross-site scripting detection with two-channel feature fusion embedded in self-attention mechanism
Yong et al. Web behavior detection based on deep neural network
CN103166942A (zh) 一种恶意代码的网络协议解析方法
Kang et al. Fast malware family detection method using control flow graphs
Hoang et al. A novel distributed machine learning model to detect attacks on edge computing network
Stamp Living-off-the-land abuse detection using natural language processing and supervised learning
CN115860117A (zh) 基于攻防行为的mdata知识抽取方法及其系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: BEIJING CHANGXUN HENGXING NETWORKING TECHNOLOGY CO

Free format text: FORMER OWNER: BEIJING QQ TECHNOLOGY CO.,LTD.

Effective date: 20100329

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20100329

Address after: 100037 Beijing City, Xicheng District Fuwai Street No. 2 Wantong New World Plaza B block 8 layer

Applicant after: Beijing Chang Xing Star Network Technology Co.,Ltd.

Address before: 100037 Beijing City, Xicheng District Fuwai Street No. 2 Wantong New World Plaza B block 8 layer

Applicant before: BEIJING QQ TECHNOLOGY Co.,Ltd.

ASS Succession or assignment of patent right

Owner name: HEFEI HOT INFORMATION SCIENCE AND TECHNOLOGY CO.,

Free format text: FORMER OWNER: BEIJING CHANGXUN HENGXING NETWORK TECHNOLOGY CO., LTD.

Effective date: 20100622

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 100037 8/F, BLOCK B, WANTONG XINSHIJIE PLAZA, NO.2, FUWAI STREET, XICHENG DISTRICT, BEIJING TO: 230088 ROOM 320, MINCHUANG CENTER, NO.605, HUANGSHAN ROAD, HIGH-TECH. ZONE, HEFEI CITY, ANHUI PROVINCE

TA01 Transfer of patent application right

Effective date of registration: 20100622

Address after: 320 room 230088, center of 605 people's road, Mount Huangshan Road, hi tech Zone, Anhui, Hefei

Applicant after: HEFEI HAOTE INFORMATION TECHNOLOGY Co.,Ltd.

Address before: 100037 Beijing City, Xicheng District Fuwai Street No. 2 Wantong New World Plaza B block 8 layer

Applicant before: Beijing Chang Xing Star Network Technology Co.,Ltd.

C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: LI JIANGUANG

Free format text: FORMER OWNER: HEFEI HAOTE INFORMATION TECHNOLOGY CO., LTD.

Effective date: 20121226

Owner name: SHI JINZHONG

Effective date: 20121226

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 230088 HEFEI, ANHUI PROVINCE TO: 100043 SHIJINGSHAN, BEIJING

TR01 Transfer of patent right

Effective date of registration: 20121226

Address after: 100043 Beijing city Shijingshan District yamen Street No. 98

Patentee after: Li Jianguang

Patentee after: Shi Jinzhong

Address before: 320 room 230088, center of 605 people's road, Mount Huangshan Road, hi tech Zone, Anhui, Hefei

Patentee before: HEFEI HAOTE INFORMATION TECHNOLOGY Co.,Ltd.

ASS Succession or assignment of patent right

Free format text: FORMER OWNER: SHI JINZHONG

Effective date: 20130304

Owner name: HAOYOU MINGDI (TIANJIN) TECHNOLOGY CO., LTD.

Free format text: FORMER OWNER: LI JIANGUANG

Effective date: 20130304

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 100043 SHIJINGSHAN, BEIJING TO: 300457 HANGU, TIANJIN

TR01 Transfer of patent right

Effective date of registration: 20130304

Address after: 300457, room 4, building 19, No. 4401 West Ring Road, Tianjin Development Zone

Patentee after: Uict (Tianjin) Science & Technology Co.,Ltd.

Address before: 100043 Beijing city Shijingshan District yamen Street No. 98

Patentee before: Li Jianguang

Patentee before: Shi Jinzhong

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120905

CF01 Termination of patent right due to non-payment of annual fee