CN101414914B - 数据内容过滤方法与装置、有限状态自动机及其构造装置 - Google Patents

数据内容过滤方法与装置、有限状态自动机及其构造装置 Download PDF

Info

Publication number
CN101414914B
CN101414914B CN2008102273205A CN200810227320A CN101414914B CN 101414914 B CN101414914 B CN 101414914B CN 2008102273205 A CN2008102273205 A CN 2008102273205A CN 200810227320 A CN200810227320 A CN 200810227320A CN 101414914 B CN101414914 B CN 101414914B
Authority
CN
China
Prior art keywords
subcharacter
data message
sign indicating
finite
state automata
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
Application number
CN2008102273205A
Other languages
English (en)
Other versions
CN101414914A (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.)
Beijing Zhigu Tech Co Ltd
Original Assignee
Beijing Star Net Ruijie Networks 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 Beijing Star Net Ruijie Networks Co Ltd filed Critical Beijing Star Net Ruijie Networks Co Ltd
Priority to CN2008102273205A priority Critical patent/CN101414914B/zh
Publication of CN101414914A publication Critical patent/CN101414914A/zh
Application granted granted Critical
Publication of CN101414914B publication Critical patent/CN101414914B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种数据内容过滤方法与装置、有限状态自动机及其构造装置,其中,方法包括:有限状态自动机接收数据报文,所述有限状态自动机由特征码分解得到的子特征码构造生成;有限状态自动机对接收到的数据报文与构造生成该有限状态自动机的所有子特征码进行匹配查询并输出查询结果;根据查询结果,当数据报文与构造生成有限状态自动机的其中一个特征码有预设值以上的子特征码相同时,对数据报文进行拦截处理。本发明实施例可以实现对疑似病毒的过滤,在不增加特征码库的存储容量与搜索特征码库所需要的开销、时间的情况下,避免疑似病毒对网络的安全威胁。

Description

数据内容过滤方法与装置、有限状态自动机及其构造装置
技术领域
本发明涉及数据内容过滤技术,尤其是一种数据内容过滤方法与装置、有限状态自动机及其构造装置。 
背景技术
Aho-Corasick算法是一种高效的多关键词匹配算法。利用Aho-Corasick算法进行关键词匹配时,先构造三个函数:GOTO、FAILURE与OUTPUT函数,然后利用这三个函数构造一个涵盖所有查询关键字的有限状态自动机(Deterministic Finite State Automaton,以下简称:DFA)。被搜索特征码库中的每个字符逐个输入到DFA中,当某个查询关键字被命中时,DFA就会输出搜索结果报告。 
以下以网络防毒墙的蠕虫病毒过滤为例,对Aho-Corasick算法进行介绍。假设存在4个蠕虫病毒,其特征码分别是:HE、SHE、HIS和HERS。利用GOTO、FAILURE与OUTPUT函数构造得到的一个网络防毒墙的DFA如下表1所示。 
表1  DFA 
  
当前状态 输入字符 下一状态
0 H 1
0 S 3
0 其它字符 0
1 E 2
1 I 6
1 H 1
1 S 3
1 其它字符 0
3,7,9 H 4
  
3,7,9 S 3
3,7,9 其它字符 0
2,5 R 8
2,5 H 1
2,5 S 3
2,5 其它字符 0
6 S 7
6 H 1
6 其它字符 0
4 E 5
4 I 6
4 H 1
4 S 3
4 其它字符 0
8 S 9
8 H 1
8 其它字符 0
如下表2所示,为利用表1所示DFA进行搜索的一个输出结果。 
表2  DFA的输出结果 
  
状态 输出
2 HE命中
5 SHE,HE命中
7 HIS命中
9 HERS命中
其它状态 无输出
表1所示DFA的初始状态为状态“0”。若输入字符“H”后,DFA的状态变为“1”。若输入字符“S”字符,则DFA进入状态“3”。若输入其它字符,则DFA保持状态“0”。在DFA处于状态“1”时,若输入字符“E”,则DFA进入状态“2”,且输出“HE命中”的搜索结果报告。 
根据表1和表2,假设某个网络报文携带的数据是“SHISHE”,这六个字符将按顺序逐个输入到网络防毒墙的DFA。DFA的初始状态是状态“0”,接收到输入的字符“S”后,DFA进入状态“3”。再接收到输入的字符“H” 后,DFA进入状态“4”。“I”输入后,DFA进入状态“6”。“S”的输入使DFA进入状态“7”,并输出“HIS命中”,接着“H”和“E”的输入,使DFA进入状态“5”,并输出“SHE,HE命中”。 
由于被搜索特征码库的每个字符在DFA中触发一次且仅一次状态转换,因此,Aho-Corasick算法的复杂度仅与被搜索特征码库的长度有关,而与查询关键字的数目及长度都无关。因此,在网络数据流内容过滤的算法层面上,Aho-Corasick是迄今为止最快的算法,在网络防毒墙的应用上具有明显的优势。 
但是,现有的Aho-Corasick算法只支持精确匹配,即:只能根据特征码库与构造的DFA查询出与被搜索特征码库中的特征码精确匹配的病毒,而无法查找与被搜索特征码库中的特征码近似匹配的疑似病毒,因此,根据现有的Aho-Corasick算法无法避免疑似病毒对网络的安全威胁。若需要根据现有的Aho-Corasick算法避免疑似病毒对网络的安全威胁,就需要将疑似病毒的特征码全部录入特征码库并据此构造DFA,然后根据构造的DFA进行特征码库搜索与病毒匹配,这无疑增加了特征码库的存储容量,并且增加了搜索特征码库所需要的开销与时间。 
发明内容
本发明实施例的目的是:提供一种数据内容过滤方法与装置、有限状态自动机及其构造装置,实现对疑似病毒的过滤,在不增加特征码库的所需的存储容量与搜索特征码库所需的开销、时间的情况下,避免疑似病毒对网络的安全威胁。 
为解决上述技术问题,本发明实施例提供的一种数据内容过滤方法,包括: 
有限状态自动机接收数据报文,所述有限状态自动机由特征码分解得到的子特征码构造生成;
所述有限状态自动机对接收到的数据报文与构造生成该有限状态自动机的所有子特征码进行匹配查询并输出查询结果; 
根据所述查询结果,当所述数据报文与构造生成所述有限状态自动机的其中一个特征码有预设值以上的子特征码相同时,对所述数据报文进行拦截处理。 
本发明实施例提供的一种有限状态自动机,由特征码分解得到的子特征码构造生成,所述有限状态自动机包括: 
接收模块,用于接收数据报文; 
第一查询模块,用于对接收到的数据报文与构造生成所述有限状态自动机的所有子特征码进行匹配查询并输出查询结果,该查询结果用于由数据报文处理装置根据所述查询结果,当所述数据报文与构造生成所述有限状态自动机的其中一个特征码有预设值以上的子特征码相同时,对所述数据报文进行拦截处理。 
本发明实施例提供的一种有限状态自动机构造装置,包括: 
所述数据报文处理装置用于根据所述查询结果,当所述数据报文与构造生成所述有限状态自动机的其中一个特征码有预设值以上的子特征码相同时,对所述数据报文进行拦截处理。 
本发明上述实施例提供的数据内容过滤方法与装置、有限状态自动机及其构造装置中,有限状态自动机由特征码分解得到的子特征码构造生成,接收到数据报文后,有限状态自动机通过对该数据报文与构造生成该有限状态自动机的所有子特征码进行匹配查询,根据有限状态自动机的查询结果,可以在数据报文与构造生成有限状态自动机的其中一个特征码有预设值以上的子特征码相同时,对该数据报文进行拦截处理,从而实现对疑似病毒的过滤,避免了疑似病毒对网络的安全威胁。由于每个特征码组中特征码之间的相似度都达到预设值,有限状态自动机仅需要从每个特征码组中分别选取的一个特征码分解得到的子特征码构造生成,因此,有限状态自动机存储的、用于数据内容过滤的特征码库仅包括每个特征码组中一个特征码的子特征码,与现有技术相比,大大减少了有限状态自动机占用的系统存储资源和系统初始化过程中构造有限状态自动机的时间开销,以及减少了搜索特征码库所需的开销与时间。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。 
附图说明
图1为本发明数据内容过滤方法一个实施例的流程图; 
图2为本发明数据内容过滤方法另一个实施例的流程图; 
图3为本发明的构造生成DFA实施例的流程图; 
图4为本发明DFA实施例的结构示意图; 
图5为本发明DFA构造装置一个实施例的结构示意图; 
图6为本发明DFA构造装置另一个实施例的结构示意图; 
图7为本发明数据内容过滤装置一个实施例的结构示意图; 
图8为本发明数据内容过滤装置另一个实施例的结构示意图; 
图9为本发明数据内容过滤装置又一个实施例的结构示意图; 
图10为本发明数据内容过滤装置再一个实施例的结构示意图; 
图11为本发明数据内容过滤装置还一个实施例的结构示意图。
具体实施方式
本发明实施例可以根据特征码之间的相似度对特征码库中的特征码进行分组,将相似度达到预设值的特征码划分为一个特征码组,并从每一组中选取一个特征码,以选择出的所有特征码的子特征码为基础,构造生成DFA,通过该DFA对接收到的数据报文进行匹配查询,从而实现对疑似病毒的过滤,避免了疑似病毒对网络的安全威胁。本发明实施例的一个特征码库为由所有蠕虫病毒的特征码构成的特征码库。 
如图1所示,为本发明数据内容过滤方法一个实施例的流程图,其包括以下步骤: 
步骤101,DFA接收数据报文。其中的DFA由分别从每个特征码组中选取的一个特征码分解得到的子特征码构造生成,每个特征码组中特征码之间的相似度达到一个预设值,例如:70%,该预设值可以根据经验数值设定。 
步骤102,DFA对接收到的数据报文与构造生成该DFA的所有子特征码进行匹配查询并输出查询结果。 
步骤103,根据查询结果,当所述数据报文与构造生成DFA的其中一个特征码有另外一个预设值以上的子特征码相同时,对该数据报文进行拦截处理。该步骤103中的预设值可以与步骤101中的预设值相同或不同。 
具体地,对数据报文进行拦截处理可以是直接丢弃数据报文;或者,生成并显示病毒警报,以及根据用户针对该病毒警报发送的处理指示信息放行或丢弃数据报文。 
根据步骤102的查询结果,当所述数据报文的子特征码与构造生成DFA的任何一个特征码的子特征码中相同子特征码的数量都小于所述预设值时,放行数据报文。 
如图2所示,为本发明数据内容过滤方法另一个实施例的流程图,其包括以下步骤:
步骤201,DFA接收数据报文。其中的DFA由分别从每个特征码组中选取的一个特征码分解得到的子特征码构造生成,每个特征码组中特征码之间的相似度达到一个预设值,例如:70%,该预设值可以根据经验数值设定。 
步骤202,DFA对接收到的数据报文与构造生成该DFA的所有子特征码进行匹配查询并输出查询结果。 
步骤203,根据查询结果,当所述数据报文与构造生成DFA的其中一个特征码有另外一个预设值以上的子特征码相同时,生成并显示病毒警报与对该数据报文的处理提示。 
步骤204,接收用户根据该病毒警报发送的处理指示信息,并根据该处理指示信息对数据报文进行相应处理,即:放行或丢弃该数据报文。 
根据图2所示的实施例,在步骤204中,接收用户根据该病毒警报发送的处理指示信息时,还可以接收用户根据该病毒警报发送的设置信息,并根据该设置信息的内容对将该数据报文中携带的发送方地址进行相应处理。若该设置信息的内容为将该数据报文中携带的发送方地址加入信任区,则将该数据报文中携带的发送方地址存储在放行区。若该设置信息的内容为阻止该数据报文中携带的发送方地址发送的数据报文,则将该数据报文中携带的发送方地址存储在丢弃区。相应的,在步骤201之前,防毒设备接收到数据报文时,可以先查询其中携带的发送方地址是否存储在放行区或丢弃区,若存储在放行区或丢弃区,则对发送方地址存储在放行区或丢弃区的新数据报文相应进行放行或丢弃;若既不存储在放行区也不存储在丢弃区,则将该数据报文发送给DFA,通过图2所示的实施例对该数据报文进行内容过滤处理。 
在本发明图1与图2所述实施例之前,可以先构造生成DFA。如图3所示,为本发明的构造生成DFA实施例的流程图,其包括以下步骤: 
步骤301,确定子特征码长度,并根据该子特征码长度分别将特征码 库中的各特征码分解为一个由多个子特征码组成的子特征码组。 
例如:确定子特征码长度为W,根据子特征码长度W分别将特征码库中的各特征码分解为一个由L-W+1个子特征码组成的子特征码组,其中,L为特征码长度,L、W为大于1的整数。 
步骤302,以子特征码为单位对各子特征码组进行比较,将相似度达到一个预设值的特征码设置为一个特征码组。 
步骤303,分别从各特征码组中选择一个特征码,由选择出的所有特征码的子特征码集合为基础,构造生成DFA。 
在步骤301中,将特征码分别分解为子特征码组后,还可以分析分解成的各子特征码组之间是否存在相同的子特征码,在子特征码组之间存在相同的子特征码时,增加子特征码长度,例如:将子特征码长度增加1,根据增加后的子特征码长度重新对特征码库中的各特征码进行分解,并分析重新分解成的各子特征码组之间是否还存在相同的子特征码,若仍存在,则再增加子特征码长度并重新对特征码库中的各特征码进行分解,直到各子特征码组之间不存在相同的子特征码时,执行步骤302。 
在上述数据内容过滤方法实施例中,对数据报文进行拦截处理后,还可以统计数据报文的拦截处理结果与病毒数据报文的拦截情况,在将合法数据报文识别为病毒报文,使得在拦截的数据报文中非病毒数据报文数量超过一定比例时,即:拦截的假病毒数据报文较多时,为了避免拦截合法数据报文对正常业务造成影响,或者由于过多向用户发送病毒警报而影响用户的正常工作,可以提高所述一个预设值或增加子特征码长度,并通过图3所示的实施例,根据提高后的预设值重新对特征码库中的特征码进行分组,或根据增加后的子特征码长度,重新构造生成DFA。在后续的实施例中,根据重新构造生成DFA对接收到的数据报文进行匹配查询。当匹配查询的灵敏度较低,在超过一定数量的病毒数据报文未被拦截而当作合法数据报文放行时,为了保证网络的安全性,可以降低所述一个预设值或 减小子特征码长度,并通过图3所示的实施例,根据降低后的预设值重新对特征码库中的特征码进行分组,或根据减小后的子特征码长度,重新构造生成DFA。在后续的实施例中,根据重新构造生成DFA对接收到的数据报文进行匹配查询。 
以下以网络防毒墙应用为例,对本发明构造生成DFA进行说明。假设一个已知的网络蠕虫病毒的特征码是AAAABBBBCCCCDDDDE。基于特征码AAAABBBBCCCCDDDDE,生成L-W+1个子特征码,其中L为AAAABBBBCCCCDDDDE的字符长度,值为17。W为子特征码的长度,可根据实际情况确定与调整,本实施例中W的值定为8。据此生成的10个子特征码。如下表3所示,为将特征码AAAABBBBCCCCDDDDE分解成的子特征码组,其包括1-10共10个子特征码。 
表3  特征码AAAABBBBCCCCDDDDE的子特征码组 
Figure G2008102273205D00091
用以上10个子特征码替代AAAABBBBCCCCDDDDE,构造网络防毒墙的DFA,当网络数据流中含有AAAABBBBCCCCDDDDE时,以上10个子特征码都会被命中,即命中率为100%。假设另一个尚未被网络防毒墙所知的网络蠕虫病毒的特征码为AFFABBBBCCCCDDDDE,网络防毒墙把疑似病毒相似度门槛值设置为70%及以上。将 AFFABBBBCCCCDDDDE输入DFA后,上表3中第4-10个子特征码会被命中,命中率达到70%,网络防毒墙据此对该网络数据流进行拦截处理,直接丢弃,或者向用户发出病毒警报,由用户决定是否执行拦截操作。因此,以子特征码替代AAAABBBBCCCCDDDDE,可以实现对疑似病毒的过滤。 
本发明实施例中,由于DFA由分别从每个特征码组中选取的一个特征码分解得到的子特征码构造生成,每个特征码组中特征码之间的相似度达到一个预设值,接收到数据报文后,DFA通过对该数据报文与构造生成该DFA的所有子特征码进行匹配查询,根据DFA的查询结果,可以在数据报文与构造生成DFA的其中一个特征码有另外一个预设值以上的子特征码相同时,对该数据报文进行拦截处理,从而实现对疑似病毒的过滤,避免了疑似病毒对网络的安全威胁。另外,由于每个特征码组中特征码之间的相似度都达到所述一个预设值,DFA仅需要从每个特征码组中分别选取的一个特征码分解得到的子特征码构造生成,不需要根据现有的病毒特征码库中的所有特征码生成,因此,大大减少了系统初始化过程中构造DFA的时间开销以及DFA占用的系统存储资源,以及减少了搜索特征码库所需的开销与时间。 
如图4所示,为本发明DFA实施例的结构示意图。该实施例的DFA可用于实现本发明上述实施例中DFA的相应功能,其由分别从每个特征码组中选取的一个特征码分解得到的子特征码构造生成,每个特征码组中特征码之间的相似度达到一个预设值。该实施例的DFA包括接收模块401与第一查询模块402。其中,接收模块401用于接收数据报文。第一查询模块402用于对接收模块401接收到的数据报文与构造生成DFA的所有子特征码进行匹配查询并输出查询结果。 
如图5所示,为本发明DFA构造装置一个实施例的结构示意图。该实施例的明DFA构造装置可用于构造生成本发明上述实施例所需的DFA。其包 括分解模块501、分组模块502与构造模块503。其中,分解模块501用于根据预先确定的子特征码长度,分别将特征码库中的各特征码分解为一个由多个子特征码组成的子特征码组。分组模块502用于以子特征码为单位,对分解模块501分解得到的各子特征码组进行比较,将相似度达到所述一个预设值的特征码设置为一个特征码组。构造模块503用于分别从分组模块502分组的各特征码组中选择一个特征码,由选择出的所有特征码的子特征码集合为基础,构造生成DFA。 
如图6所示,为本发明DFA构造装置另一个实施例的结构示意图。与图5所示的实施例相比,该实施例的DFA构造装置还包括分析模块504,用于分析分解模块501分解得到的各子特征码组之间是否存在相同的子特征码,在子特征码组之间存在相同的子特征码时,增加子特征码长度,并在各子特征码组之间不存在相同的子特征码时,指示分解模块501根据增加后的子特征码长度分别将特征码库中的各特征码分解为一个由多个子特征码组成的子特征码组。 
如图7所示,为本发明数据内容过滤装置一个实施例的结构示意图。该实施例的数据内容过滤装置可用于实现本发明图1或图2所示数据内容过滤方法实施例的流程。其包括DFA601与数据报文处理装置602。其中,DFA601由分别从每个特征码组中选取的一个特征码分解得到的子特征码构造生成,每个特征码组中特征码之间的相似度达到一个预设值,用于接收数据报文,对接收到的数据报文与构造生成该DFA的所有特征码进行匹配查询并输出查询结果。数据报文处理装置602用于根据DFA601输出的查询结果,当数据报文与构造生成DFA的其中一个特征码有另外一个预设值以上的子特征码相同时,对数据报文进行拦截处理,该;另外一个预设值可以与所述一个预设值相同或不同。具体地,对数据报文进行拦截处理可以是直接丢弃数据报文;或者,生成并显示病毒警报,以及根据用户针对该病毒警报发送的处理指示信息放行或丢弃数据报文。另外,当所 述数据报文的子特征码与构造生成DFA的任何一个特征码的子特征码中相同子特征码的数量都小于所述另外一个预设值时,可以放行数据报文。 
如图8所示,为本发明数据内容过滤装置另一个实施例的结构示意图。与图7所示的实施例相比,该实施例的DFA包括接收模块401与第一查询模块402,数据报文处理装置包括比较模块701与处理模块702。其中,接收模块401用于接收数据报文。第一查询模块402用于对接收模块401接收到的数据报文与构造生成DFA的所有子特征码进行匹配查询并输出查询结果。比较模块701用于根据第一查询模块402输出的查询结果,比较数据报文的子特征码中与构造生成DFA的各特征码的子特征码相同的子特征码数量是否大于或等于所述另外一个预设值,并输出比较结果。处理模块702用于根据比较模块701输出的比较结果,在数据报文与构造生成DFA的其中一个特征码有另外一个预设值以上的子特征码相同时,对数据报文进行拦截处理;在数据报文与构造生成DFA的任何一个特征码中相同子特征码数量都小于另外一个预设值时,放行数据报文。 
如图9所示,为本发明数据内容过滤装置又一个实施例的结构示意图。与图8所示的实施例相比,该实施例中,处理模块702包括第一丢弃单元801,用于根据比较模块701输出的比较结果,在数据报文与构造生成DFA的其中一个特征码有所述另外一个预设值以上的子特征码相同时,丢弃数据报文;在数据报文与构造生成DFA的任何一个特征码中相同子特征码数量都小于所述另外一个预设值时,放行数据报文。 
如图10所示,为本发明数据内容过滤装置再一个实施例的结构示意图。与图8所示的实施例相比,该实施例中,处理模块702包括报警单元802、接收单元803与第二丢弃单元804。其中,报警单元802用于根据比较模块701输出的比较结果,在数据报文与构造生成DFA的其中一个特征码有另外一个预设值以上的子特征码相同时,生成并显示病毒警报,以提示用户该数据报文为病毒。接收单元803用于接收用户根据病毒警报发送的 处理指示信息。第二丢弃单元804用于根据接收单元803接收到的处理指示信息,放行或丢弃与构造生成DFA的其中一个特征码有另外一个预设值以上的子特征码相同的数据报文,以及在数据报文与构造生成DFA的任何一个特征码中相同子特征码数量都小于另外一个预设值时,放行数据报文。 
如图11为本发明数据内容过滤装置还一个实施例的结构示意图。与图10所示的实施例相比,该实施例的数据报文处理装置还包括存储模块703与第二查询模块704。处理模块702接收用户根据病毒警报发送的处理指示信息时,还接收用户针对该病毒警报发送的设置信息。相应的,存储模块703用于根据用户发送的设置信息,将放行或丢弃的数据报文中携带的发送方地址相应存储在放行区或丢弃区。第二查询模块704用于接收数据报文,并查询接收到的接收到的数据报文中的发送方地址是否存储在放行区或丢弃区,若存储在放行区,则指示处理模块702放行该数据报文;若存储在丢弃区,则指示处理模块702丢弃该数据报文;若既不存储在放行区也不存储在丢弃区,则将数据报文发送给DFA中的接收模块401。 
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。 
本发明实施例实现对疑似病毒的过滤,避免了疑似病毒对网络的安全威胁;并且,DFA仅需要从每个特征码组中分别选取的一个特征码分解得到的子特征码构造生成,不需要根据特征码库中的所有特征码生成,因此,大大减少了有限状态自动机占用的系统存储资源和系统初始化过程中构造有限状态自动机的时间开销,以及减少了搜索特征码库所需的开销与时间。
最后所应说明的是:以上实施例仅用以说明本发明的技术方案,而非对本发明作限制性理解。尽管参照上述较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解:其依然可以对本发明的技术方案进行修改或者等同替换,而这种修改或者等同替换并不脱离本发明技术方案的精神和范围。

Claims (16)

1.一种数据内容过滤方法,其特征在于,包括:
有限状态自动机接收数据报文,所述有限状态自动机由特征码分解得到的子特征码构造生成;
所述有限状态自动机对接收到的数据报文与构造生成该有限状态自动机的所有子特征码进行匹配查询并输出查询结果;
根据所述查询结果,当所述数据报文与构造生成所述有限状态自动机的其中一个特征码有预设值以上的子特征码相同时,对所述数据报文进行拦截处理。
2.根据权利要求1所述的数据内容过滤方法,其特征在于,对所述数据报文进行拦截处理包括:直接丢弃所述数据报文;或者,生成并显示病毒警报,以及根据接收到的处理指示信息放行或丢弃所述数据报文。
3.根据权利要求2所述的数据内容过滤方法,其特征在于,根据接收到的处理指示信息放行或丢弃所述数据报文时,还根据用户发送的设置信息,将所述数据报文中携带的发送方地址存储在放行区或丢弃区;
所述有限状态自动机接收数据报文之前,还包括:
查询接收到的数据报文中的发送方地址是否存储在放行区或丢弃区,若存储在放行区或丢弃区,则对发送方地址存储在放行区或丢弃区的新数据报文相应进行放行或丢弃;若既不存储在放行区也不存储在丢弃区,则将所述数据报文发送给所述有限状态自动机。
4.根据权利要求1所述的数据内容过滤方法,其特征在于,根据所述查询结果,当所述数据报文与构造生成所述有限状态自动机的任何一个特征码中相同子特征码的数量都小于预设值时,放行所述数据报文。
5.根据权利要求1至4任意一项所述的数据内容过滤方法,其特征在于,还包括:
确定子特征码长度,并根据子特征码长度分别将特征码库中的各特征 码分解为一个由多个子特征码组成的子特征码组;
以子特征码为单位对各子特征码组进行比较,将相似度达到另一预设值的特征码设置为一个特征码组;
分别从各特征码组中选择一个特征码,由选择出的所有特征码的子特征码集合为基础,构造生成所述有限状态自动机。
6.根据权利要求5所述的数据内容过滤方法,其特征在于,所述确定子特征码长度,并根据子特征码长度分别将特征码库中的各特征码分解为一个由多个子特征码组成的子特征码组具体为:
确定子特征码长度W,并根据子特征码长度W分别将特征码库中的各特征码分解为一个由L-W+1个子特征码组成的子特征码组,其中,L为特征码长度,L、W为大于1的整数。
7.根据权利要求5所述的数据内容过滤方法,其特征在于,所述根据子特征码长度分别将特征码库中的各特征码分解为一个由多个子特征码组成的子特征码组后,还包括:
分析各子特征码组之间是否存在相同的子特征码,在子特征码组之间存在相同的子特征码时,增加子特征码长度,并根据增加后的子特征码长度分别将特征码库中的各特征码分解为一个由多个子特征码组成的子特征码组,直到各子特征码组之间不存在相同的子特征码时,执行所述以子特征码为单位对各子特征码组进行比较的操作。
8.根据权利要求5所述的数据内容过滤方法,其特征在于,还包括:
统计数据报文的拦截处理结果与病毒数据报文的拦截情况,在拦截的数据报文中非病毒数据报文数量超过一定比例时,提高所述另一预设值或增加子特征码长度,并根据提高后得到的又一预设值或增加后的子特征码长度重新构造生成有限状态自动机;
在超过一定数量的病毒数据报文未被拦截时,降低所述另一预设值或减小子特征码长度,并根据降低后的再一预设值或减小后的子特征码长度 重新构造生成有限状态自动机。
9.一种有限状态自动机,其特征在于,所述有限状态自动机由特征码分解得到的子特征码构造生成,所述有限状态自动机包括:
接收模块,用于接收数据报文;
第一查询模块,用于对接收到的数据报文与构造生成所述有限状态自动机的所有子特征码进行匹配查询并输出查询结果,该查询结果用于由数据报文处理装置根据所述查询结果,当所述数据报文与构造生成所述有限状态自动机的其中一个特征码有预设值以上的子特征码相同时,对所述数据报文进行拦截处理。
10.根据权利要求9所述的有限状态自动机,其特征在于,所述有限状态自动机由一种有限状态自动机构造装置构造生成,该有限状态自动机构造装置包括:
分解模块,用于根据确定的子特征码长度,分别将特征码库中的各特征码分解为一个由多个子特征码组成的子特征码组;
分组模块,用于以子特征码为单位对各子特征码组进行比较,将相似度达到另一预设值的特征码设置为一个特征码组;
构造模块,用于分别从各特征码组中选择一个特征码,由选择出的所有特征码的子特征码集合为基础,构造生成所述有限状态自动机。
11.根据权利要求10所述的有限状态自动机,其特征在于,该有限状态自动机构造装置还包括:
分析模块,用于分析所述分解模块分解得到的各子特征码组之间是否存在相同的子特征码,在子特征码组之间存在相同的子特征码时,增加子特征码长度,并在各子特征码组之间不存在相同的子特征码时,指示所述分解模块根据增加后的子特征码长度分别将特征码库中的各特征码分解为一个由多个子特征码组成的子特征码组。
12.一种数据内容过滤装置,包括有限状态自动机与数据报文处理装 置,其特征在于,所述有限状态自动机由特征码分解得到的子特征码构造生成,用于接收数据报文,对接收到的数据报文与构造生成该有限状态自动机的所有子特征码进行匹配查询并输出查询结果;
所述数据报文处理装置用于根据所述查询结果,当所述数据报文与构造生成所述有限状态自动机的其中一个特征码有预设值以上的子特征码相同时,对所述数据报文进行拦截处理。
13.根据权利要求12所述的数据内容过滤装置,其特征在于,所述有限状态自动机包括:
接收模块,用于接收数据报文;
第一查询模块,用于对接收到的数据报文与构造生成所述有限状态自动机的所有子特征码进行匹配查询并输出查询结果。
14.根据权利要求13所述的数据内容过滤装置,其特征在于,所述数据报文处理装置包括:
比较模块,用于根据所述查询结果,比较所述数据报文的子特征码中与构造生成所述有限状态自动机的各特征码的子特征码相同的子特征码数量是否大于或等于所述预设值,并输出比较结果;
处理模块,用于根据所述比较结果,在所述数据报文与构造生成所述有限状态自动机的其中一个特征码有预设值以上的子特征码相同时,对所述数据报文进行拦截处理;在所述数据报文与构造生成所述有限状态自动机的任何一个特征码中相同子特征码的数量都小于预设值时,放行所述数据报文。
15.根据权利要求14所述的数据内容过滤装置,其特征在于,所述处理模块包括:
第一丢弃单元,用于根据所述比较结果,在所述数据报文与构造生成所述有限状态自动机的其中一个特征码有预设值以上的子特征码相同时,丢弃所述数据报文;当所述数据报文与构造生成所述有限状态自动机的任 何一个特征码中相同子特征码的数量都小于预设值时,放行所述数据报文;
或者,所述处理模块包括:
报警单元,用于根据所述比较结果,在所述数据报文与构造生成所述有限状态自动机的其中一个特征码有预设值以上的子特征码相同时,生成并显示病毒警报;
接收单元,用于接收根据所述病毒警报发送的处理指示信息;
第二丢弃单元,用于根据所述处理指示信息放行或丢弃与构造生成所述有限状态自动机的其中一个特征码有预设值以上的子特征码相同的数据报文,以及在所述数据报文与构造生成所述有限状态自动机的任何一个特征码中相同子特征码的数量都小于预设值时,放行所述数据报文。
16.根据权利要求15所述的数据内容过滤装置,其特征在于,所述数据报文处理装置还包括:
存储模块,用于根据用户发送的设置信息,将放行或丢弃的数据报文中携带的发送方地址相应存储在放行区或丢弃区;
第二查询模块,用于接收数据报文,并查询接收到的数据报文中的发送方地址是否存储在放行区或丢弃区,若存储在放行区,则指示所述处理模块放行该数据报文;若存储在丢弃区,则指示所述处理模块丢弃该数据报文;若既不存储在放行区也不存储在丢弃区,则将所述数据报文发送给所述接收模块。 
CN2008102273205A 2008-11-26 2008-11-26 数据内容过滤方法与装置、有限状态自动机及其构造装置 Active CN101414914B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008102273205A CN101414914B (zh) 2008-11-26 2008-11-26 数据内容过滤方法与装置、有限状态自动机及其构造装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008102273205A CN101414914B (zh) 2008-11-26 2008-11-26 数据内容过滤方法与装置、有限状态自动机及其构造装置

Publications (2)

Publication Number Publication Date
CN101414914A CN101414914A (zh) 2009-04-22
CN101414914B true CN101414914B (zh) 2012-01-25

Family

ID=40595247

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008102273205A Active CN101414914B (zh) 2008-11-26 2008-11-26 数据内容过滤方法与装置、有限状态自动机及其构造装置

Country Status (1)

Country Link
CN (1) CN101414914B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108959514A (zh) * 2018-06-27 2018-12-07 中国建设银行股份有限公司 一种数据处理方法及装置

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101794218B (zh) * 2009-11-25 2012-02-01 北京航空航天大学 一种基于知识库并支持复杂产品先进制造系统的语义soa集成方法
CN101820444B (zh) * 2010-03-24 2012-05-02 北京航空航天大学 一种基于描述信息匹配相似度的资源服务匹配与搜索方法
CN101944121B (zh) * 2010-09-20 2012-05-30 北京星网锐捷网络技术有限公司 有限状态自动机生成方法、关键字匹配方法及装置和设备
CN103136473B (zh) * 2011-11-29 2017-07-04 姚纪卫 检测计算机病毒的方法和装置
CN102790704A (zh) * 2011-11-29 2012-11-21 北京安天电子设备有限公司 抗特征压界的数据包检测方法及装置
CN102902918B (zh) * 2012-08-06 2015-08-19 杭州创聚科技有限公司 一种基于复合特征码的恶意文件检测方法
CN102902928B (zh) * 2012-09-21 2017-02-15 杭州迪普科技有限公司 一种网页防篡改方法及装置
CN103188268B (zh) * 2013-03-29 2016-08-10 华为技术有限公司 一种识别攻击性报文的方法和装置
CN107528826A (zh) * 2017-07-25 2017-12-29 北京长亭科技有限公司 网络攻击的检测方法及装置、终端设备和计算机存储介质
CN107395599A (zh) * 2017-07-25 2017-11-24 北京长亭科技有限公司 网络攻击的检测方法及装置、终端设备和计算机存储介质
CN107426211B (zh) * 2017-07-25 2020-08-14 北京长亭未来科技有限公司 网络攻击的检测方法及装置、终端设备和计算机存储介质
CN107689962B (zh) * 2017-09-25 2021-03-19 深圳市盛路物联通讯技术有限公司 一种数据流过滤方法及系统
CN112671801B (zh) * 2021-01-12 2022-10-28 哈尔滨财富通科技发展有限公司 一种网络安全检测方法和系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1567118A (zh) * 2004-03-29 2005-01-19 四川大学 一种计算机病毒检测和识别系统及方法
US6985845B1 (en) * 2000-09-26 2006-01-10 Koninklijke Philips Electronics N.V. Security monitor of system runs software simulator in parallel
CN1744607A (zh) * 2005-10-10 2006-03-08 广东省电信有限公司研究院 一种阻断蠕虫攻击的系统和方法
CN1783838A (zh) * 2005-10-21 2006-06-07 清华大学 基于有状态过滤引擎的高速分组检测方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6985845B1 (en) * 2000-09-26 2006-01-10 Koninklijke Philips Electronics N.V. Security monitor of system runs software simulator in parallel
CN1567118A (zh) * 2004-03-29 2005-01-19 四川大学 一种计算机病毒检测和识别系统及方法
CN1744607A (zh) * 2005-10-10 2006-03-08 广东省电信有限公司研究院 一种阻断蠕虫攻击的系统和方法
CN1783838A (zh) * 2005-10-21 2006-06-07 清华大学 基于有状态过滤引擎的高速分组检测方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108959514A (zh) * 2018-06-27 2018-12-07 中国建设银行股份有限公司 一种数据处理方法及装置
CN108959514B (zh) * 2018-06-27 2021-02-26 中国建设银行股份有限公司 一种数据处理方法及装置

Also Published As

Publication number Publication date
CN101414914A (zh) 2009-04-22

Similar Documents

Publication Publication Date Title
CN101414914B (zh) 数据内容过滤方法与装置、有限状态自动机及其构造装置
US11818170B2 (en) Detection of phishing campaigns based on deep learning network detection of phishing exfiltration communications
US9495539B2 (en) Method and system for protection against information stealing software
US8959634B2 (en) Method and system for protection against information stealing software
US9130986B2 (en) Method and system for protection against information stealing software
Bagui et al. Using machine learning techniques to identify rare cyber‐attacks on the UNSW‐NB15 dataset
US10114934B2 (en) Calculating consecutive matches using parallel computing
US20060191008A1 (en) Apparatus and method for accelerating intrusion detection and prevention systems using pre-filtering
CN106470214B (zh) 攻击检测方法和装置
EP2499806A2 (en) System and method for protecting specified data combinations
EP2210369A2 (en) A method and apparatus for detection of information transmission abnormalities
EP3206133B1 (en) Information security apparatus and methods for credential dump authenticity verification
CN107122657B (zh) 一种防御sql注入攻击的数据库代理装置
CA2718594A1 (en) Method and system for protection against information stealing software
CN102737119A (zh) 统一资源定位符的查找方法、过滤方法和相关设备及系统
US10291632B2 (en) Filtering of metadata signatures
Liu et al. Owleye: An advanced detection system of web attacks based on hmm
Hao et al. AutoMal: automatic clustering and signature generation for malwares based on the network flow
KR100656340B1 (ko) 비정상 트래픽 정보 분석 장치 및 그 방법
Tan et al. Web Application Anomaly Detection Based On Converting HTTP Request Parameters To Numeric
Wang et al. Meta-IDS: Meta-Learning Automotive Intrusion Detection Systems with Adaptive and Learnable
Yao et al. Anomaly Detection on Network Traffic
TWI569165B (zh) The method of grouping external sites through proxy logs
CN113535763A (zh) 一种面向大数据的安全认证的密文检索方法
CN116319289A (zh) 一种基于Modsecurity日志的安全规则处理方法

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
ASS Succession or assignment of patent right

Owner name: BEIJING Z-GOOD TECHNOLOGY SERVICE CO., LTD.

Free format text: FORMER OWNER: BEIJING XINGWANG RUIJIE NETWORK TECHNOLOGIES CO., LTD.

Effective date: 20140624

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

Free format text: CORRECT: ADDRESS; FROM: 100036 HAIDIAN, BEIJING TO: 100085 HAIDIAN, BEIJING

TR01 Transfer of patent right

Effective date of registration: 20140624

Address after: 100085 Beijing city Haidian District No. 33 Xiaoying Road 1 1F06 room

Patentee after: BEIJING ZHIGU TECHNOLOGY SERVICES CO., LTD.

Address before: 100036 Beijing Haidian District City 33 Fuxing Road Cuiwei East 1106

Patentee before: Beijing Xingwang Ruijie Network Technologies Co., Ltd.

EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20090422

Assignee: Beijing Xingwang Ruijie Network Technologies Co., Ltd.

Assignor: BEIJING ZHIGU TECHNOLOGY SERVICES CO., LTD.

Contract record no.: 2014990000764

Denomination of invention: Method and apparatus for filtrating data content, finite state automata and conformation apparatus

Granted publication date: 20120125

License type: Common License

Record date: 20140923

LICC Enforcement, change and cancellation of record of contracts on the licence for exploitation of a patent or utility model