CN104333487A - 一种面向实时网络数据流的高效事件匹配方法 - Google Patents
一种面向实时网络数据流的高效事件匹配方法 Download PDFInfo
- Publication number
- CN104333487A CN104333487A CN201410609250.5A CN201410609250A CN104333487A CN 104333487 A CN104333487 A CN 104333487A CN 201410609250 A CN201410609250 A CN 201410609250A CN 104333487 A CN104333487 A CN 104333487A
- Authority
- CN
- China
- Prior art keywords
- real
- network data
- xfa
- data flow
- time network
- 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.)
- Pending
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种面向实时网络数据流的高效事件匹配方法,本发明主要针对现在常用现有XFA方法在匹配实时网络数据流时存在高的内存消耗,大的储存空间和长的匹配时间等方面存在的问题,提出了一种通过在XFA(扩展自动机)中开始状态边上增加一些判断命令,生成HFA(高效自动机),以减少XFA中不必要迁移路径和迁移状态,从而实现一种实时网络数据流的高效事件匹配方法,大大提高了事件在实时网络数据流上匹配能力。本发明改进了当前基于XFA方法在实时网络数据流上的事件模式匹配方法,对现有的数据流中事件模式匹配技术做了扩展,使其能够更加高效地在实时网络数据流上完成事件匹配工作。
Description
技术领域
本发明涉及网络安全领域,更具体地,涉及一种面向实时网络数据流的高效事件匹配方法。
背景技术
随着计算机技术、互联网技术发展,网络资源共享技术成熟,网络安全问题已经日益成为国家、国防及国民经济中重要问题。事件匹配算法作为深度包检测中的重要关键技术,它主要通过扫描网络中数据包,识别出与特征规则集匹配的数据包,从而实现实时监测网络流量,检查和阻止网络功能,以保证日常网络安全目的。当前,实时网络数据流中事件匹配技术面临着如下一些新的挑战:(1)处理实时性。网络带宽和流量高速增长导致了网络***中需处理数据流量需求增大,实时处理大流量的网络数据流要求网络数据流处理中事件匹配算法具有快速匹配能力。(2)数据复杂性。由于传统的精确字符串已无法精确描述当前的网络攻击特征,需要提供更加精确和复杂的规则描述方法,从而增加数据复杂性。(3)种类规模性。目前网络安全***中需要关注的特征规则集增长迅速,己达到几千乃至上万种的规模,导致网络中数据种类呈现大规模性。总之,随着网络中特征规则集的快速增长,网络数据流呈现大流量性,复杂性和规模性特征。由于当前基于实时网络数据中事件匹配算法缺乏可伸缩性,无法适应当前的高速网络匹配需求,急需开展一种基于实时网络数据中高性事件匹配方法。
目前关于实时网络数据中事件匹配方法主面研究,主要开展了有确定型有限自动机(Deterministic Finite Automata,DFA)、非确定型有限自动机(Nondeterministic Finite Automata,NFA)和基于扩展有限自动机(eXtended FiniteAutomaton,XFA))等方面相关方法研究。但由于DFA具有大的存储空间和高的内存开销等缺点,NFA存在匹配速度慢等不足,因而限制它们广泛在实时网络数据流中的匹配应用。基于扩展有限自动机(eXtended Finite Automaton,XFA)方法,其作为当前在的实时网络数据流中使用最为广泛匹配方法,主要通过采用辅助变量替代额外DFA状态去记录部分匹配结果,并使用操作命令去检查匹配是否成功,从而消除DFA状态空间***问题,达到显著减少DFA中存储空间目的,从而在一定程度上提升了其在实时网络数据流中匹配能力。但由于XFA存在冗余迁移边的问题,不仅消耗巨大存储空间,而且增加额外的存储器访问次数和匹配时间,从而限制了其广泛使用。
发明内容
本发明主要针对上述XFA方法在匹配实时网络数据流时存在高的内存消耗,大的储存空间和长的匹配时间等方面的问题,提出了一种面向实时网络数据流的高效事件匹配方法。该方法是通过在XFA的开始状态边上增加一些额外判断命令,生成HFA(高效自动机),以减少XFA中不必要迁移路径和迁移状态,从而实现改善XFA在匹配实时网络数据流时存在问题,改进了当前实时网络数据流上基于自动机模式的事件检测方法,对现有的事件检测技术进行扩展,使其能够比较高效地在海量实时网络数据流上完成事件匹配工作,大大提高了事件在实时网络数据流中匹配能力。
为实现上述目的,本发明采用了如下技术方案:
一种面向实时网络数据流的高效事件匹配方法,包括以下步骤:
S1.按照给定的事件模式匹配表达式建立相应扩展自动机XFA,在XFA的开始状态边上通过增加判断指今,减少XFA中不必要迁移路径和迁移状态,生成相应的高效自动机HFA;
S2.在HFA中初始化所有辅助变量Bit1为0;
S3.根据当前开始状态值,含有辅助变量的判断命令和输入特征值选择下一步执行路径;
S4.根据当前状态值和输入特征值确定下一步转换状态;
S5.当匹配进程达到部分预设目标时,设置辅助变量Bit1为1去记录当前匹配状态;当匹配进程完全达到模式表达式全部预设目标时,将执行相应的匹配完成操作并更新相应的辅助变量Bit1为0,否则重复进行步骤S3,S4的操作,直到匹配工作结束;
S6.从匹配进程中读取相应的匹配结果。
在步骤S1中首先需要根据事件模式匹配表达式先建立相对应的XFA,然后再通过通过增加判断指今,减少XFA中不必要迁移路径和迁移状态,生成相应的HFA。
在步骤S2中,匹配开始前需要初始化辅助变量Bit1为0,以满足接下来路径选择和转换状态选择操作。
在步骤S3中,下一步执行路径的选择需要同时依据当前开始状态值,含有辅助变量判断命令和输入特征值三者值共同确定。
在步骤S4中,下一步转换状态的选择需要同时根据当前状态值和输入特征值两者值共同确定。
在步骤S5中,需要根据当前匹配进程到达状态确定执行如下操作中之一:设置辅助变量值,执行相应匹配完成操作及更新相应的辅助变量值和重新执行步骤S3,S4的操作。
本发明的有益效果是:所提出的一种面向实时网络数据流的高效事件匹配方法,采用了通过在XFA中开始状态边上增加一些额外判断命令,生成HFA,以减少XFA中不必要迁移路径和迁移状态,从而实现一种在实时网络数据流上基于HFA高效事件匹配方法,克服现常用XFA方法上在匹配实时网络数据流时存在高的内存消耗,大的储存空间和长的匹配时间等的缺点,大大提高了事件在实时网络数据流上的匹配能力。本发明改进了当前实时网络数据流中基于自动机的事件模式检测方法,对现有的事件流检测技术做了扩展,使其能够在实时网络数据流中完成更好事件匹配工作,
附图说明
图1是本发明的方法工作过程图。
图2是基于(.*abc.*def)模式表达式的XFA路径匹配图。
图3是基于(.*abc.*def)模式表达式本发明算法路径匹配图。
图4是本发明与现有DFA,XFA方法在内存消耗方面比较示意图。
图5是本发明与现有DFA,XFA方法匹配时间消耗方面比较示意图。
具体实施方式
下面结合附图对本发明做进一步的描述,但本发明的实施方式并不限于此。
本实施例对一种面向实时网络数据流的高效事件匹配方法的具体匹配过程进行详细的说明。在实例中通过使用Snort2Bro转换工具转换到Snort源成FTP,HTTP集作为测试规则集和测试数据流。
实验测试的指标主要为:匹配时内存消耗,存储空间和存匹配时间三方面,实验比较方法为:DFA和XFA。
本实施例检测过程按照图1所示的流程图进行,它主要分成:初始化操作,建立HFA功能,HFA匹配功能和读匹配结果四个部分。以(.*abc.*def)为例,其具体实现步骤可分为如下:
A.按照给定的模式匹配表达式(.*abc.*def)建立对应XFA(见图1),在XFA中通过增加判断命令,生成相应的HFA,减少了XFA中不必要迁移路径和迁移状态(见图2);
B.在HFA中初始化所有辅助变量Bit1为0;
C.通过当前开始状态值(P),基于辅助变量判断命令if(!bit 1)和输入特征值(a)确定是否选择执行路径
D.根据当前状态值(Q)和输入特征值(a or b)确定选择下一转换状态。
E.当输入特征值为(b)即不是a时,转换到R状态进行;当输入特征值为(a)时,转换到Q状态;当输入特征值既不是a或b时,转换到P状态进行。当匹配进程达到部分预定的目标时,此时进程将设置辅助变量Bit1为1去记录当前状态。当匹配进程达到全部模式表达式全部匹配操作时将执行相应的匹配操作(match operation)并更新对应的辅助变量Bit1为0。否则跳到步骤C,进行步骤C,D的判断操作,进行上述操作直到匹配工作结束;
F.从匹配进程中读取相应的匹配结果。
图4是本发明与现有DFA,XFA方法在内存消耗方面比较示意图。实验中使用Snort作为测试源,并使用变换工具Snort2Bro转换Snort为FTP,HTTP作为规则集进行测试。从图4可以看到,在相同测试条件下,相比DFA和XFA方法,本发明方法可以分别节约65%和40%的内存占用率,极大提高了内存利用率。分析其主要原因在于本发明方法通过在XFA中的开始状态边上增加一些判断命令,生成HFA,可节省了许多执行不必要迁移路径和状态迁移操作时内存消耗,从而实现改善DFA和XFA匹配上述数据流中存在问题。
图5是本发明与现有DFA,XFA方法在匹配时间消耗方面比较示意图。实验中使用Snort作为测试源,并使用变换工具Snort2Bro转换Snort为FTP,HTTP作为规则集进行测试。从图5可以看到,在相同测试条件下,相比XFA方法,本发明方法可以节约大约12%匹配时间;而有着相似于DFA方法的匹配速度。分析上述主要原因在于:相比XFA方法,本发明方法通过在XFA中开始状态边上增加一些判断命令,生成HFA,可节省去了许多执行不必要迁移路径和状态迁移时花费匹配操作时间;相比DFA方法,尽管DFA中每一个匹配过程都有着确定性过状态,但是经过我们改进后HFA,减少许多执行不必要迁移路径和状态迁移时操作,在整体匹配时间上可与DFA方法性能相当。
表1是本实施例方法实验时使用到主要一些实验工具和参数;
表1
参数名称 | 参数值 |
测试数据源 | Snort |
测试数据源中规则集 | FTP,HTTP |
对比指标 | memory access,storage space,matching time |
对比方法 | DFA,XFA,HFA |
转换工具 | Snort2Bro |
FTP规则集数目 | 82 |
HTTP规则集数目 | 443 |
表2
表2是本实施例与现有DFA,XFA方法在存储空间方面实验数据。在本实验中,本实施例方法主要从状态数目,迁移边数目,指今数目,总的存储空间等方面进行比较,从而去说明本发明算法性能。从表2可以看出,相比DFA与XFA方法,本实施例所公开的方法在存储空间使用方面有着明显提高,分别达到了节约95%和45%的存储空间率。分析其主要原因在于本发明方法提出的HFA,通过在XFA中开始状态边上增加一些判断命令,省去许多不必要迁移路径和状态迁移,因而节省了存储上述许多存储不必要迁移路径和状态迁移的消耗空间。
以上所述的本发明的实施方式,并不构成对本发明保护范围的限定。任何在本发明的精神原则之内所作出的修改、等同替换和改进等,均应包含在本发明的权利要求保护范围之内。
Claims (1)
1.一种面向实时网络数据流的高效事件匹配方法,其特征在于,包括以下步骤:
S1.按照给定的事件模式匹配表达式建立相应扩展自动机XFA,在XFA的开始状态边上通过增加判断指今,减少XFA中不必要迁移路径和迁移状态,生成相应的高效自动机HFA;
S2.在HFA中初始化所有辅助变量Bit1为0;
S3.根据当前开始状态值,含有辅助变量的判断命令和输入特征值选择下一步执行路径;
S4.根据当前状态值和输入特征值确定下一步转换状态。
S5.当匹配进程达到部分预设目标时,设置辅助变量Bit1为1去记录当前匹配状态;当匹配进程完全达到模式表达式全部预设目标时,将执行相应的匹配完成操作并更新相应的辅助变量Bit1为0,否则重复进行步骤S3,S4的操作,直到匹配工作结束;
S6.从匹配进程中读取相应的匹配结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410609250.5A CN104333487A (zh) | 2014-10-31 | 2014-10-31 | 一种面向实时网络数据流的高效事件匹配方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410609250.5A CN104333487A (zh) | 2014-10-31 | 2014-10-31 | 一种面向实时网络数据流的高效事件匹配方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104333487A true CN104333487A (zh) | 2015-02-04 |
Family
ID=52408145
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410609250.5A Pending CN104333487A (zh) | 2014-10-31 | 2014-10-31 | 一种面向实时网络数据流的高效事件匹配方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104333487A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110096504A (zh) * | 2019-03-29 | 2019-08-06 | 北京奇安信科技有限公司 | 流式事件特征匹配方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102073530A (zh) * | 2010-12-17 | 2011-05-25 | 国家计算机网络与信息安全管理中心 | 一种多条正则表达式的增量分组方法 |
CN102156748A (zh) * | 2011-04-22 | 2011-08-17 | 湖南大学 | 基于字母表压缩的扩展有限自动机构造方法 |
CN102184197A (zh) * | 2011-04-22 | 2011-09-14 | 湖南亿谷信息科技发展有限公司 | 基于智能有限自动机的正则表达式匹配方法 |
CN103166802A (zh) * | 2011-12-12 | 2013-06-19 | ***通信集团湖南有限公司 | 一种确定有限自动机的构建方法及装置 |
-
2014
- 2014-10-31 CN CN201410609250.5A patent/CN104333487A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102073530A (zh) * | 2010-12-17 | 2011-05-25 | 国家计算机网络与信息安全管理中心 | 一种多条正则表达式的增量分组方法 |
CN102156748A (zh) * | 2011-04-22 | 2011-08-17 | 湖南大学 | 基于字母表压缩的扩展有限自动机构造方法 |
CN102184197A (zh) * | 2011-04-22 | 2011-09-14 | 湖南亿谷信息科技发展有限公司 | 基于智能有限自动机的正则表达式匹配方法 |
CN103166802A (zh) * | 2011-12-12 | 2013-06-19 | ***通信集团湖南有限公司 | 一种确定有限自动机的构建方法及装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110096504A (zh) * | 2019-03-29 | 2019-08-06 | 北京奇安信科技有限公司 | 流式事件特征匹配方法及装置 |
CN110096504B (zh) * | 2019-03-29 | 2021-08-20 | 奇安信科技集团股份有限公司 | 流式事件特征匹配方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Jiang et al. | Relation extraction with multi-instance multi-label convolutional neural networks | |
US10810210B2 (en) | Performance and usability enhancements for continuous subgraph matching queries on graph-structured data | |
CN102857493A (zh) | 内容过滤方法和装置 | |
CN102193948A (zh) | 特征匹配方法和装置 | |
CN110086643A (zh) | 一种风险识别方法、终端及存储介质 | |
CN107229575A (zh) | 缓存性能的评估方法及装置 | |
CN110018811A (zh) | Cache数据处理方法以及Cache | |
Zhou et al. | DMaC: Distributed monitoring and checking | |
CN102201948A (zh) | 用于网络入侵检测***的快速匹配方法 | |
CN104021073B (zh) | 一种基于指针分析的软件漏洞检测方法 | |
CN104253754B (zh) | 一种acl快速匹配的方法和设备 | |
US9690873B2 (en) | System and method for bit-map based keyword spotting in communication traffic | |
CN106202110A (zh) | 数据质量检测的方法和装置 | |
CN104333487A (zh) | 一种面向实时网络数据流的高效事件匹配方法 | |
CN104243243A (zh) | 一种用于生成协议测试序列的方法 | |
US10229223B2 (en) | Mining relevant approximate subgraphs from multigraphs | |
Hu et al. | Software implementation of aes-128: Side channel attacks based on power traces decomposition | |
Wu et al. | Learning to rank using query-level regression | |
Liu et al. | A lightweight anomaly mining algorithm in the Internet of Things | |
Yuan et al. | Test case generation based on program invariant and adaptive random algorithm | |
CN103297293B (zh) | 报文检测方法及装置 | |
US9916086B2 (en) | Content-addressable memory device | |
Zhou et al. | S-box pooling: towards more efficient side-channel security evaluations | |
CN107229574A (zh) | 缓存及其控制方法 | |
CN107248929B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150204 |
|
RJ01 | Rejection of invention patent application after publication |