CN104023000A - 一种网络入侵检测方法 - Google Patents

一种网络入侵检测方法 Download PDF

Info

Publication number
CN104023000A
CN104023000A CN201310400424.2A CN201310400424A CN104023000A CN 104023000 A CN104023000 A CN 104023000A CN 201310400424 A CN201310400424 A CN 201310400424A CN 104023000 A CN104023000 A CN 104023000A
Authority
CN
China
Prior art keywords
state
transition table
character
data
tlv triple
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
Application number
CN201310400424.2A
Other languages
English (en)
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to CN201310400424.2A priority Critical patent/CN104023000A/zh
Publication of CN104023000A publication Critical patent/CN104023000A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提出了一种网络入侵检测方法,其包括以下步骤:A)捕获网络中的数据包;B)对所捕获的数据包进行全协议栈解析,得到协议变量,即原始报文数据包的各协议层数据;C)通过确定性有限状态机将正则表达式规则集编译成DFA状态转换表,对DFA状态转换表进行压缩;D)将步骤2解析后的数据写入压缩后的DFA状态转换表做匹配;E)输出匹配结果。本发明通过对数据包进行全协议栈解析,大大提高了解码速度,满足实时解码要求,并减少了对服务器内存的需求;本发明还通过DFA状态转移表实现高速报文匹配,能够对存在的威胁进行准确检测和防御,准确识别并清除高级逃逸技术。

Description

一种网络入侵检测方法
技术领域
本发明涉及网络安全技术领域,尤其涉及一种网络入侵检测方法。
背景技术
网络入侵检测作为目前最主要的主动网络安全措施之一,它通过对计算机和网络资源上的恶意网络连接进行识别和响应,有效地补充和完善了诸如访问控制、数据加密、防火墙、病毒防范等安全措施,提高了信息安全基础结构的完整性,已成为信息系统安全解决方案中不可或缺的环节。
高级隐遁技术(AET,Advanced Evasion Technique)、隐遁攻击的叠加网络力量(cyber‐force)渗透到各国政治斗争的计算机攻击的案例略见不鲜,最近发生的韩国银行计算机网络故障、美国的纽约时报和华尔街日报受到的攻击足以说明这种情况。显然黑客的攻击手段和能力已经发生了质的变化,根据Garter的报告,从2011年来,网络防御的能力已经远远滞后于攻击的手段。而高级隐遁技术(AET)毫无疑问对IDS/IPS厂商来说是尤为头疼的技术难题,从NSS Lab公布的最新的IPS测试标准《NSS_Labs_ips group testmethodology v6.2》中单独增加了AET的测试(4.15章节部分)可以看出对AET的重视程度。
防火墙和IPS是网络中核心的安全保障设备,防火墙通常根据数据流端口、地址、协议等进行数据的过滤,而IPS则进一步进行数据包的深度检测。为了真正的理解和检测网络数据包,IPS则需要深度理解数据流所采用的协议。表面上如果彻底分析透数据流的协议格式就足够了,但事实证明并非如此。早在1998年,来自Secure Network公司的Tim Newsham和Thomas Ptacek发表了有关如何穿透IDS/IPS的技术文章《插入、隐遁和拒绝服务攻击:避开网络入侵检测》。近两年,国内相关的研究,总参某研究所的徐金伟研究员曾就AET发表过多篇文章。常用的AET手段有:字符串混淆、加密和隧道技术、碎片技术和协议的违规四种。
针对高级隐遁攻击应当考虑新的拦截模式,单纯的特征库匹配模式不再能够完全达到拦截目的,因此,本发明将提出一种全新的网络入侵检测方法,该方法将大大提高网络的安全系数。
发明内容
为了克服现有技术的缺陷,本发明的目的在于提出一种能够提高网络安全系数的网络入侵检测方法。
为实现上述目的,本发明所述的网络入侵检测方法,其包含如下具体步骤:
A)捕获网络中的数据包;
B)对所捕获的数据包进行全协议栈解析,得到协议变量,即原始报文数据包的各协议层数据;
C)通过确定性有限状态机将正则表达式规则集编译成DFA状态转换表,对DFA状态转换表进行压缩;
D)将步骤B解析后的数据写入压缩后的DFA状态转换表做匹配;
E)输出匹配结果。
进一步地,所述步骤B中进行全协议栈解析是指按照协议的层次划分从底到顶逐层进行解析,即对包括应用层协议在内的所有协议数据进行重组后,再进一步继续进行解析。
进一步地,对所述协议数据进行重组的具体步骤包括:
从捕获的原始数据包中提取与IP协议相关的描述特征,分析其中的数据报文;
对分析后的数据报文按照其规范进行重新拼装,并保存到特定的内存结构中。
进一步地,所述步骤C中,对DFA状态转换表进行压缩的具体步骤包括:
对DFA状态转换表的每一行,将转换状态相同的输入字符分为同一组;
对DFA状态转换表的每一行,将分在同一组的相邻或邻近的输入字符及其转换状态用三元组信息来表示,该三元组信息为起始字符,位图和转换状态;
对DFA状态转换表的每一行,当分在同一组的输入字符不能被单个所述三元组信息编码时,由多个所述三元组来编码;
对DFA状态转换表的每一行,如果其包含的所述三元组的个数不超过预设的阀值,则该状态行用上述三元组编码的方式存放在高速存储器中;否则,该状态行不压缩,用一维线性数组的方式存储在片外DRAM中;
对状态值重新映射,使得存放三元组的高速存储器中存放的状态值都小于片外DRAM存放的状态值;将片外DRAM存放的状态值中的极小值作为分界值。
进一步地,所述起始字符为分组内最小的输入字符;
所述位图以二进制表示,计算该组各个输入字符相对于起始字符的偏移值,将位图上与这些偏移值相对应的比特位置为1,其余比特位置为0。
进一步地,所述步骤D的具体方法包括:
4a)以DFA状态转换表的起始状态和报文首字符作为起始输入;
4b)如果该状态是终结状态则结束匹配;如果状态值小于所述分界值,则执行步骤4c查找存放三元组的高速存储器;否则,执行步骤4d查找片外DRAM;
4c)根据一维线性数组索引的方式,从存放三元组的高速存储器中读出该状态行的所有三元组编码,将每一个三元组编码中位图比特偏移值置1的字符与该输入字符进行匹配;如果匹配到,则取该字符所在三元组的转移状态和报文的下个字符作为输入,执行步骤4b;如果没有匹配到任何三元组,则匹配失败并结束;
4d)根据二维线性数组索引的方式,从片外DRAM中读取对应的转移状态;如果有转移状态,则取该转移状态和报文的下个字符作为输入,执行步骤4b;如果没有转移状态,则匹配失败并结束。
与现有技术相比,本发明的有益效果在于:
本发明通过对数据包进行全协议栈解析,可以有效地提高网络入侵监测分析的速度;能够大大节省匹配事件时间,降低误报率,提高准确率;当出现网络事件新特征和在关注特殊网络数据特征时,可以在不升级应用程序的前提下,迅速地把这些特征增加到含有NIDS事件库的特征数据模块中,达到报警的目的;还可以通过灵活的用户可定义接口,实现了特征数据模块的更新与程序无关,确保了NIDS系统对安全事件的快速响应,以及用户可现场定制特征事件的能力。
此外,本发明基于DFA状态转移表的稀疏和相近输入字符转移状态相同这两个特征,采用起始字符、位图、转移状态的三元组编码方式,能够有效的压缩DFA状态转移表,从而将压缩部分放入高速存储器中,有效减少了片外DRAM存储空间的需求。并且DFA状态转移表存放在高速存储器中也有利于硬件实现高速报文匹配。
附图说明
图1是本发明中经过全协议栈解析后的结构示意图;
图2是一个基于并行处理的IP协议及其数据还原方法流程图;
图3是实施发明的典型应用环境;
图4是IP重组后的输出实例。
图5是本发明对DFA状态转换表进行压缩以及与数据进行匹配部分的硬件结构示意图。
具体实施方式
下面结合附图对本发明的方法做进一步详细的说明。
本发明所述的网络入侵检测的方法,其包含如下具体步骤:
第一步,捕获网络中的数据包;
第二步,对所捕获的数据包进行全协议栈解析,得到协议变量,即原始报文数据包的各协议层数据;
第三步,通过确定性有限状态机将正则表达式规则集编译成DFA状态转换表,对DFA状态转换表进行压缩;
第四步,将第二步解析后的数据写入压缩后的DFA状态转换表做匹配;
第五步,输出匹配结果。
第二步的具体实现过程如下:
全协议栈解析是指按照协议的层次划分从底到顶逐层进行解析,对包括应用层协议在内的所有协议数据进行重组后,再进一步继续进行解析。
其实施过程是发送一系列相关的原始报文数据包至本地网络中,并包含如下的原始数据。相应说明如下表1所示:
表1
其中,上表中的协议变量是为了记录相应的数据域说明的特征数据,[string.12]=ISS是表明在ICMP(INTERNET CoNTROL MESSAGEPROTOCOL:网际控制信息协议)数据区的偏移量为12字节处的字符串变量为“ISS”;
该解析系统包含有:
协议解析模块:用于对该原始报文数据包进行协议解析;
协议数据缓冲区模块:用于存储各层协议数据;
特征数据模块:用于存储特征数据;
在启动本发明的检测方法时,对该解析系统进行初始化,即从所述的特征数据模块中读取相关的协议数据、运算类型、运算变量名、运算变量值、特征事件返回值变量等特征数据,并存储至计算机的内存储器中;该特征数据对“Ping ISS”扫描特征事件而言,具体为:协议变量(数据)是icmp_type和[string.12]、运算类型是字符串和整数操作类型、运算变量名是等于操作(=)和包含操作(^)、运算变量值是字符串ISS和整数值8、特征事件返回值变量的名称是“长度”,相应的协议变量是“icmp_length”。
该解析方法的具体步骤如下:
对如上表1中的原始报文数据包进行协议解析,得到该原始报文数据包的各层协议数据。
协议解析模块对如上表1中所述的原始报文数据包进行协议解析,如图1所示是本发明所述的协议解析后的结构示意图。协议解析是按照网络协议的层次划分循序渐进的,其从底到顶逐层进行,并将解析后的协议数据赋值给协议变量,即存储到协议数据缓冲区模块,如将“8”赋值给“ICMP_type”,将“ISS”赋值给“[String.12]”等。
对包括应用层协议在内的所有协议数据进行重组的系统,包括:
网络报文捕获装置,用于获取传输在网络中的全部网络报文数据;
网络报文存取装置,用于将捕获的网络报文按照特定规律存储到特定的数据结构中,在实施协议分析和重组时能够对报文进行快速的存取;
IP协议分析与重组装置,用于分析捕获后的原始网络报文,分析其中的IP协议特征,并根据其特征将报文分配到网络报文存取装置中;
应用层数据通知装置,用于当IP协议数据重组完毕后,通知应用层程序对其中的数据进行分析和处理,支持网络管理与信息安全应用。
如图2所示,对包括应用层协议在内的所有协议数据进行重组的具体方法包括如下步骤:
1.原始网络报文捕获平台
为实现在高速、大流量网络环境下实现网络报文的完整捕获,本发明在实施中采用了基于零拷贝的报文捕获技术,零拷贝的实现技术如下:
零拷贝实现了数据报从网络设备到用户程序空间传递的过程中,减少数据拷贝次数,减少系统调用,实现CPU的零参与,彻底消除CPU在这方面的负载。
实现零拷贝用到的最主要技术是DMA数据传输技术和内存区域映射技术。传统的网络数据报处理,需要经过网络设备到操作系统内存空间,系统内存空间到用户应用程序空间两次拷贝过程,同时还需要经历用户向系统发出的系统调用。
零拷贝技术首先利用DMA技术将网络数据报直接传递到系统内核预先分配的地址空间中,避免CPU的参与;同时,将系统内核中存储数据报的内存区域映射到检测程序的应用程序空间,还有一种方式是在用户空间建立缓冲区,并将其映射到内核空间,类似于linux系统下的kiobuf技术,检测程序直接对这块内存进行访问,从而减少了系统内核向用户空间的内存拷贝,同时减少了系统调用的开销。
2.网络数据报文快速存取
本发明采用基于Hash链表的二维缓冲区结构。Hash表具有计算简单、定位速度快的优点。Hash值利用IP报文中的四元组数据(源、目的IP地址,源、目的端口),通过设计适当的Hash函数来生成。
缓冲区的内存管理策略采用动态与静态相结合的思想,既能保证较高的存取速度,同时也具有较高的系统资源利用率。缓冲区采用二维逻辑结构,即不需要为从报文捕获系统采集到的数据另外分配内存空间用以组织缓冲区,而是直接采用内存指针的关系建立链表,这种策略极大地减小了系统的存储开销,加快了存取速度。
3.IP协议数据并行重组
(1)多线程组织策略
大流量网络环境下单位时间内产生的网络数据会很大,同时网络数据之间或多或少存在着关系;此外单系统的线程资源也是有限的。因此采用特定策略的多线程并行重组方案才能满足需求。
本发明采用线程池技术组织协议重组线程。在应用程序启动之后,立即创建一定数量的线程(N1),放入空闲队列中。这些线程都是处于阻塞状态,不消耗CPU资源,但占用较小的内存空间。当任务到来后,缓冲池选择一个空闲线程,把任务传入此线程中运行。当N1个线程都在处理任务后,缓冲池自动创建一定数量的新线程,用于处理更多的任务。在任务执行完毕后线程也不退出,而是继续保持在池中等待下一次的任务。当系统比较空闲时,大部分线程都一直处于暂停状态,线程池自动销毁一部分线程,回收系统资源。这种策略缩减了频繁创建线程带来的系统开销,同时也避免了大流量数据所致的线程数量过多而导致系统崩溃的缺陷。
(2)线程同步方案
当系统将某链接数据报交给一个线程去处理时,由于同一个链接的所有数据报都会由同一个线程处理,所以在处理线程还没有处理完成上一个数据报时主数据报分配线程要陷入等待。同理如果处理线程上没有数据时同样也要进行等待主数据报分配线程通知。为了避免线程进入忙等占用CPU资源,本发明使用两组互斥量来完成主数据报分配线程和数据报处理线程的同步。
在主数据报分配线程中首先锁定相应的参数互斥量,如果此时该数据报处理线程正在处理数据报则主数据报分配线程会等待解锁,当处理线程处理完成后会解锁该互斥量使主数据报分配线程继续执行,当锁定了参数互斥量后就对参数进行赋值这时再解锁处理线程,处理线程便会进行数据的处理。
4.IP并行重组状态通知
选择适当的时机与方式通知应用层程序是一个重要的问题,在本发明中使用交换的概念进行通知作为数据处理单元。一次交换就是客户端和服务端的一次通信,即客户端发送数据和服务端对本次数据的回复共同构成一次交换。
每一次交换会进行三次通知,第一次是这次交换刚建立时,也就是服务器端刚收到客户端第一个有效数据报时,此时通知状态为IP_SWAP_CLIENT;第二次是客户端收到服务器端第一个数据报时,此时通知状态为IP_SWAP_SERVER;第三次通知状态为IP_SWAP_FINISH会在以下几种情况时发生:
(1)服务器端的ACK发生变化时。
(2)收到RST数据报。
(3)收到FIN数据报。
(4)链接超时。
5.实施例场景与结果描述
为了验证本发明的有效性,我们搭建了典型应用环境,图3为实施例的典型应用环境。IP协议分析与重组服务器的硬件环境为两个Intel(R)Xeon(R)CPU,主频为2G;内存容量为2G;软件环境为操作系统为Red Hat4.1.1-52,内核版本为2.6.21。
具体实施方式为采用IPdump应用程序录制流经网络出入口的数据,形成数据文件。另选一台机器,运行IPreplay应用程序,通过不同的速度向运行协议分析与重组程序的机器进行回放,观察协议栈的行为,表1和表2分别为协议栈处理纯HTTP流量数据以及混合流量数据在不同回放速度下表现出的性能。图4为实际网络协议分析程序调用本发明接口实现的还原输出。
本实施例可以说明无论是在性能还是正确性方面,本发明都适用于利用单节点计算资源平台上(处理器数量不大于2)针对大流量网络环境下实施协议还原。
第三步和第四步的具体实现方法如下:表1示出了现有的采用标准二维线性数组存储格式的DFA状态转移表。
如表1所示,横坐标0~255是输入字符(8比特宽,共256个),纵坐标S(0)~S(N)是状态。每一行表示该状态下,对应每个输入字符的转移状态。如果输入字符没有转移状态,就表示匹配失败并结束。根据二维线性数组寻址方式,使用(状态,输入字符)作为索引从DFA状态转移表找到转移状态。
通过对许多正则表达式转换成的DFA状态转移表的分析,可以发现两个特征:a)表是稀疏的,即相当大部分(状态,输入字符)是没有转移状态的;b)对同一个状态,许多相邻或邻近的输入字符的转移状态是相同的。基于上述两个特征,本发明采用位图编码方式来对DFA状态转移表进行压缩。
表2示出了采用本发明位图编码压缩存储格式的DFA状态转移表:
为了实现从表1压缩至表2,本发明具体的压缩方法如下:
步骤1)对每个状态行,将输入字符分组,转移状态相同的输入字符分为同一组。
步骤2)对每个状态行,把分在同一组的转移状态相同的、且相邻的或邻近的输入字符及转移状态用(起始字符,位图,转移状态)三元组来表示。
起始字符为分组内最小的输入字符。位图以二进制表示,低比特位在右边。计算该组的输入字符相对于起始字符的偏移值,将位图上与这些偏移值相对应的比特位置1,其余比特位置0。
步骤3)由于位图的宽度是固定的,可以是4~16个比特。因此对每个状态行,当分在同一组的输入字符不能被单个(起始字符,位图,转移状态)三元组编码时,可以由多个三元组来编码。最终形成每个状态行由1个或多个(起始字符,位图,转移状态)三元组来编码的格式。
步骤4)对每个状态行,如果上述三元组的个数不超过某个预设的阀值(比如8或16),则该状态行用上述三元组编码的方式存储在片内SRAM中;否则,该状态行不压缩,用一维线性数组的方式存储在片外DRAM中。
经过上述压缩步骤,可以将DFA状态转移表的可压缩部分存放在片内SRAM中,不可压缩部分放在片外DRAM中。
步骤5)同时,对状态值重新映射,使得片内SRAM中存放的DFA状态值都小于片外DRAM存放的DFA状态值。这样只需和一个分界值(即片外DRAM存放的状态值中的极小值)比较大小即可区分状态是存放在片内SRAM中,还是存放在片外DRAM中。
下面通过一个实际的例子来对本发明的压缩方法进行具体说明。
表3示出了一个实际的未经压缩的实际DFA状态转移表片段。
如表3所示,在当前状态是16时,输入字符5、7、8、11对应的转移状态是17,输入字符6、9、10、12对应的转移状态是23,其它输入字符没有转移状态。
首先对该状态行按转移状态对输入字符分组,即输入字符5、7、8、11作为一个分组,输入字符6、9、10、12作为另一个分组,起始字符分别为分组内最小的输入字符5及6。
将分组内每个输入字符减去起始字符得到偏移值,将位图的该偏移位置的比特位置为1,位图的其它比特位置为0。比如对于输入字符为5、7、8、11的分组,起始字符为5,分别对每个字符计算偏移值为5-5=0,7-5=2,8-5=3,11-5=6。则位图的0,2,3,6比特位置为1,得到01001101(位图以二进制表示,低比特位在右边,即最右边是第0比特,最左边是第7比特)。对于输入字符为6、9、10、12的分组,也采用同样的方法形成位图。
该DFA状态转移表经过位图压缩三元组(起始字符,位图,转移状态)编码压缩后,状态16对应的行最终可以编码成如下两个三元组:(5,01001101,17)、(6,01011001,23),存放在片内SRAM中。
假设每个状态值占用4个字节,则原始的DFA状态转移表的每个状态行占用的字节为:4*256=1024个。
假设位图字段占用一个字节,每个三元组占用6个字节,每行固定三元组个数为8,则使用本发明位图压缩三元组编码的DFA状态转移表的每个状态行占用的字节为:8*6=48个。存储空间需求大为减少。
与上述压缩相应的,本发明具体的报文匹配方法如下:
步骤6)以DFA状态转移表的起始状态和报文首字符作为起始输入。
步骤7)如果该状态是终结状态,则结束匹配;如果状态值小于分界值,则执行步骤8查找片内SRAM;否则,执行步骤9查找片外DRAM。
步骤8)根据一维线性数组索引的方式,从片内SRAM中读出该状态行的所有三元组编码,将每一个三元组编码中位图比特偏移值置1的字符与该报文字符进行匹配;如果匹配到,则取该字符所在三元组的转移状态和报文的下个字符作为输入,执行步骤7;如果没有匹配到任何三元组,则匹配失败并结束。
步骤9)根据二维线性数组索引的方式,从片外DRAM中读取对应的转移状态;如果有转移状态,则取该转移状态和报文的下个字符作为输入,执行步骤7;如果没有转移状态,则匹配失败并结束。
图5为实现本发明压缩匹配部分的硬件结构示意图。如图5所示,CPU将正则表达式规则集转换成DFA状态转移表,并使用本专利发明的位图编码方式压缩,将压缩部分写入ASIC/FPGA片内SRAM中,未压缩部分写入ASIC/FPGA片外DRAM中。具体压缩步骤同上述技术方案所描述。ASIC/FPGA内存控制器完成SRAM和DRAM的读写时序控制。
ASIC/FPGA报文匹配模块负责将报文去匹配存放在片内SRAM和片外DRAM中的DFA状态转移表。具体报文匹配步骤同上述技术方案所描述。
需要注意的是,本发明中经压缩后的三元组不但可以存放在片内高速存储器(如SRAM)中,也可以存放在片外高速存储器中。而且该高速存储器除采用SRAM外,也可选用速度在现有DRAM以上的其他形式的存储器,以及将来经过技术革新的新一代高速DRAM。
以上所述的仅是本发明的优选实施方式,本发明不限于以上实施例。可以理解,本领域技术人员在不脱离本发明的精神和构思的前提下直接导出或联想到的其他改进和变化,均应认为包含在本发明的保护范围之内。

Claims (6)

1.一种网络入侵检测方法,其特征在于,包括以下步骤: 
A)捕获网络中的数据包; 
B)对所捕获的数据包进行全协议栈解析,得到协议变量,即原始报文数据包的各协议层数据; 
C)通过确定性有限状态机将正则表达式规则集编译成DFA状态转换表,对DFA状态转换表进行压缩; 
D)将步骤B解析后的数据写入压缩后的DFA状态转换表做匹配; 
E)输出匹配结果。 
2.如权利要求1所述的方法,其特征在于,所述步骤B中,进行全协议栈解析是指按照协议的层次划分从底到顶逐层进行解析,即对包括应用层协议在内的所有协议数据进行重组后,再进一步继续进行解析。 
3.如权利要求2所述的方法,其特征在于,所述步骤B中,对协议数据进行重组的具体步骤包括: 
从捕获的原始数据包中提取与IP协议相关的描述特征,分析其中的数据报文; 
对分析后的数据报文按照其规范进行重新拼装,并保存到特定的内存结构中。 
4.如权利要求1所述的方法,其特征在于,所述步骤C中,对DFA状态转换表进行压缩的具体步骤包括: 
对DFA状态转换表的每一行,将转换状态相同的输入字符分为同一组; 
对DFA状态转换表的每一行,将分在同一组的相邻或邻近的输入字符及其转换状态用三元组信息来表示,该三元组信息为起始字符,位图和转换状态; 
对DFA状态转换表的每一行,当分在同一组的输入字符不能被单个所述三元组信息编码时,由多个所述三元组来编码; 
对DFA状态转换表的每一行,如果其包含的所述三元组的个数不超过预设的阀值,则该状态行用上述三元组编码的方式存放在高速存储器中;否则,该状态行不压缩,用一维线性数组的方式存储在片外DRAM中; 
对状态值重新映射,使得存放三元组的高速存储器中存放的状态值都小于片外DRAM存放的状态值;将片外DRAM存放的状态值中的极小值作为分界值。 
5.如权利要求4所述的方法,其特征在于, 
所述起始字符为分组内最小的输入字符; 
所述位图以二进制表示,计算该组各个输入字符相对于起始字符的偏移值,将位图 上与这些偏移值相对应的比特位置为1,其余比特位置为0。 
6.如权利要求1所述的方法,其特征在于,所述步骤D的具体方法包括: 
4a)以DFA状态转换表的起始状态和报文首字符作为起始输入; 
4b)如果该状态是终结状态则结束匹配;如果状态值小于所述分界值,则执行步骤4c查找存放三元组的高速存储器;否则,执行步骤4d查找片外DRAM; 
4c)根据一维线性数组索引的方式,从存放三元组的高速存储器中读出该状态行的所有三元组编码,将每一个三元组编码中位图比特偏移值置1的字符与该输入字符进行匹配;如果匹配到,则取该字符所在三元组的转移状态和报文的下个字符作为输入,执行步骤4b;如果没有匹配到任何三元组,则匹配失败并结束; 
4d)根据二维线性数组索引的方式,从片外DRAM中读取对应的转移状态;如果有转移状态,则取该转移状态和报文的下个字符作为输入,执行步骤4b;如果没有转移状态,则匹配失败并结束。 
CN201310400424.2A 2013-09-05 2013-09-05 一种网络入侵检测方法 Pending CN104023000A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310400424.2A CN104023000A (zh) 2013-09-05 2013-09-05 一种网络入侵检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310400424.2A CN104023000A (zh) 2013-09-05 2013-09-05 一种网络入侵检测方法

Publications (1)

Publication Number Publication Date
CN104023000A true CN104023000A (zh) 2014-09-03

Family

ID=51439571

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310400424.2A Pending CN104023000A (zh) 2013-09-05 2013-09-05 一种网络入侵检测方法

Country Status (1)

Country Link
CN (1) CN104023000A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106850559A (zh) * 2016-12-26 2017-06-13 中国科学院计算技术研究所 一种可扩展的网络协议解析系统及方法
CN110546640A (zh) * 2017-04-25 2019-12-06 华为技术有限公司 用于深度数据包分析的分级模式匹配
CN113014385A (zh) * 2021-03-25 2021-06-22 黑龙江大学 一种双网口硬件网络数据加密系统及方法
CN118400199A (zh) * 2024-06-27 2024-07-26 杭州迪普科技股份有限公司 一种多尺度白快黑慢的快速攻击流量筛查方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1450757A (zh) * 2002-10-11 2003-10-22 北京启明星辰信息技术有限公司 网络入侵监测的方法和系统
US20070195714A1 (en) * 2000-04-13 2007-08-23 Schales Douglas L Network data packet classification and demultiplexing
CN101488960A (zh) * 2009-03-04 2009-07-22 哈尔滨工程大学 基于并行处理的tcp协议及其数据还原装置及方法
CN101605018A (zh) * 2009-06-17 2009-12-16 中兴通讯股份有限公司 一种基于流的深度报文检测协议解码方法、设备及系统
CN102075430A (zh) * 2011-01-25 2011-05-25 无锡网芯科技有限公司 深度报文检测dfa状态转移表的压缩与报文匹配方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070195714A1 (en) * 2000-04-13 2007-08-23 Schales Douglas L Network data packet classification and demultiplexing
CN1450757A (zh) * 2002-10-11 2003-10-22 北京启明星辰信息技术有限公司 网络入侵监测的方法和系统
CN101488960A (zh) * 2009-03-04 2009-07-22 哈尔滨工程大学 基于并行处理的tcp协议及其数据还原装置及方法
CN101605018A (zh) * 2009-06-17 2009-12-16 中兴通讯股份有限公司 一种基于流的深度报文检测协议解码方法、设备及系统
CN102075430A (zh) * 2011-01-25 2011-05-25 无锡网芯科技有限公司 深度报文检测dfa状态转移表的压缩与报文匹配方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106850559A (zh) * 2016-12-26 2017-06-13 中国科学院计算技术研究所 一种可扩展的网络协议解析系统及方法
CN110546640A (zh) * 2017-04-25 2019-12-06 华为技术有限公司 用于深度数据包分析的分级模式匹配
CN110546640B (zh) * 2017-04-25 2021-09-07 华为技术有限公司 用于深度数据包分析的分级模式匹配
CN113014385A (zh) * 2021-03-25 2021-06-22 黑龙江大学 一种双网口硬件网络数据加密系统及方法
CN113014385B (zh) * 2021-03-25 2023-09-01 黑龙江大学 一种双网口硬件网络数据加密系统
CN118400199A (zh) * 2024-06-27 2024-07-26 杭州迪普科技股份有限公司 一种多尺度白快黑慢的快速攻击流量筛查方法

Similar Documents

Publication Publication Date Title
CN103685224A (zh) 网络入侵检测方法
KR101409921B1 (ko) 스위치 asic 내에 라인-레이트 애플리케이션 인식을 통합하기 위한 시스템 및 방법
TWI662426B (zh) 分布式流式資料處理的方法和裝置
CN103475653A (zh) 网络数据包的检测方法
CN102045305B (zh) 一种多媒体资源传播的监测追踪方法和系统
CN105989061B (zh) 一种滑动窗口下多维数据重复检测快速索引方法
CN109684052B (zh) 事务分析方法、装置、设备及存储介质
CN103491069A (zh) 网络数据包的过滤方法
CN114363064B (zh) 一种物联网业务适配的动态数据加密策略系统
CN104579974A (zh) 面向ndn中名字查找的哈希布鲁姆过滤器及数据转发方法
CN104023000A (zh) 一种网络入侵检测方法
CN107040405B (zh) 网络环境下被动式多维度主机指纹模型构建方法及其装置
CN107294966A (zh) 一种基于内网流量的ip白名单构建方法
CN103685222A (zh) 基于确定性有穷状态自动机的数据匹配检测方法
CN103685221A (zh) 网络入侵检测方法
Las-Casas et al. A big data architecture for security data and its application to phishing characterization
CN105871803A (zh) 基于流量的网络状态快速感知系统
CN101030897B (zh) 一种入侵检测中模式匹配的方法
Aldwairi et al. n‐Grams exclusion and inclusion filter for intrusion detection in Internet of Energy big data systems
CN118041660A (zh) 一种高速大规模并发全量网络流量入侵检测方法及系统
CN103501302A (zh) 一种蠕虫特征自动提取的方法及系统
CN117951341A (zh) 基于区块链的业务处理方法、装置、设备、介质及产品
Wang et al. A copyright protection method for wireless sensor networks based on digital watermarking
CN117971963A (zh) 一种私域分布式数据协同装备
Elsen et al. goProbe: a scalable distributed network monitoring solution

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20140903