CN101848222B - 互联网深度报文检测方法和装置 - Google Patents

互联网深度报文检测方法和装置 Download PDF

Info

Publication number
CN101848222B
CN101848222B CN 201010185634 CN201010185634A CN101848222B CN 101848222 B CN101848222 B CN 101848222B CN 201010185634 CN201010185634 CN 201010185634 CN 201010185634 A CN201010185634 A CN 201010185634A CN 101848222 B CN101848222 B CN 101848222B
Authority
CN
China
Prior art keywords
message
filter
matching
filter window
tagged word
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
CN 201010185634
Other languages
English (en)
Other versions
CN101848222A (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.)
Fiberhome Telecommunication Technologies Co Ltd
Original Assignee
Wuhan FiberHome 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 Wuhan FiberHome Networks Co Ltd filed Critical Wuhan FiberHome Networks Co Ltd
Priority to CN 201010185634 priority Critical patent/CN101848222B/zh
Publication of CN101848222A publication Critical patent/CN101848222A/zh
Application granted granted Critical
Publication of CN101848222B publication Critical patent/CN101848222B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种互联网深度报文检测方法和装置,该方法首先通过布鲁姆过滤器对互联网报文的报文内容依次分段进行过滤,发现疑似攻击报文的可疑内容部分时,送给匹配单元进行匹配;疑似攻击报文中的可疑部分分别同匹配单元中的TCAM中存储的若干特征字进行并行匹配,并获得是否为攻击报文的判断结果,当判断结果表明为非攻击性的报文时,则继续通过布鲁姆过滤器对其余的报文内容进行分段过滤;否则丢弃该报文并生成告警。本发明,通过布鲁姆过滤器对非攻击报文和攻击报文的非特征字内容进行过滤,只将可疑的攻击报文的可疑部分送给匹配单元进行匹配检测,从而加快特征字匹配速率,大大降低功耗。

Description

互联网深度报文检测方法和装置
技术领域
本发明涉及互联网网络入侵检测技术,特别是涉及互联网深度报文检测方法和装置。
背景技术
伴随着计算机网络技术和互联网技术的飞速发展,网络攻击和入侵事件与日俱增,特别是近两年,政府部门、军事机构、金融机构、企业的计算机网络频遭黑客袭击。随着网络安全风险系数的不断提高,曾经作为最主要的安全防范手段的防火墙,已经不能满足人们对网络安全的需求,作为对防火墙及其有益的补充,网络入侵检测系统(NIDS:Network Intrusion DetectionSystem)能够帮助网络系统快速发现网络攻击的发生,提高了信息安全基础结构的完整性。
NIDS利用互联网深度报文检测(DPI:Deep Packet Inspection)技术将网络报文的内容与过滤规则库中的特征字进行匹配以检测蠕虫、病毒和各种攻击行为。为了适应当前互联网越来越快的网络速率,开发高速DPI系统已成为当前技术研发的重中之重。开发高速DPI系统面临的挑战主要表现在:(1)过滤规则里面的特征字越来越多,由于病毒、蠕虫和各种攻击行为的增加,目前DPI系统需要将每个报文和数千个特征字进行匹配;(2)特征字在报文中出现的位置不固定,需要采取逐字节比较的方法,这一点是和浅度报文检测(SPI:Shallow Packet Inspection)只检测网络报文头部是完全不同的,SPI中需要检测的报文头部具有确定的位置和固定的结构;(3)特征字越来越复杂,有精确字符串特征字、组合特征字等,需要利用正则表达式来表示特征模式;(4)网络接口速率也越来越高,千兆接口已经普及到网络的边缘,网络的汇聚和核心已经到10Gbps甚至更高。因此,传统基于软件的特征字匹配方法无法满足目前高速接口线速DPI处理的要求,而基于硬件ASIC和FPGA的特征字匹配方法虽然可以满足高速接口线速DPI的要求,但是,却面临规则库扩展升级困难的问题。
针对上述问题,基于TCAM(Ternary Content Addressable Memory)三态内容寻址存储器的特征字匹配算法成为目前网络入侵检测最主要的技术。基于TCAM的特征字匹配算法将特征字按照特征字长度降序存储在TCAM中,特征字长度不足TCAM位宽的,在尾部补通配状态*,匹配时,在一个TCAM时钟周期内,选取和TCAM宽度相同的报文内容作为检测窗口,将检测窗口内的内容输入TCAM进行匹配,输出匹配的最长的特征字,同时检测窗口向报文尾部方向滑动一个字节,如果TCAM时钟周期以4ns计算,则可以达到8bit/4ns=2Gbps的DPI检测速率。上述方法对于特征字长度不大于TCAM位宽是合适的,对于大于TCAM位宽的长特征字和组合特征字,需要采取特征字切割的方法,并且对存放在TCAM中的特征字进行分类:简单特征字、前缀特征字、后缀特征字,根据匹配的特征字类型和之前存储的部分匹配结果来做出是否为完整的特征字匹配的结论。
在此基础上,检测窗口跳跃技术进一步提高了基于TCAM深度报文检测的速率,该技术中,每次检测窗口不是向报文尾部滑动一个字节,而是跳跃若干个字节,这是一种空间换时间的实现方法,具体实现方法为,设定每次跳跃的字节数为j,每个特征字P被扩展为j个特征字P0、P1、…Pj-1,其中P0=P,P1为P右移一个字节并且在左边补上通配*,将这j个扩展的特征字放置在TCAM中,匹配时如果P出现在检测窗口偏移为0到j-1的位置都可被检测到,因此,下次检测窗口可以直接跳跃j个字节开始下一轮的匹配,这样,每个字节是8比特,检测速率可到(8bit×j)/4ns,如果j取5,则可以到10Gbps的DPI检测速率。
同基于ASIC和FPGA特征字匹配方法相比,基于TCAM的特征字匹配方法在匹配速率、实现难度等方面具有很大的优势,但是,这种方法也存在一些缺点。(1)、成本较高,TCAM的每比特三态特性存储和比较需要采用16个晶体管,而SRAM只需要6个;(2)、功耗较高,TCAM的每次比较需要驱动所有存储单元的电路实现并行比较,因此造成功耗居高不下,相同容量的TCAM功耗约为SRAM的150倍,而在采用了检测窗口跳跃技术后,表项将扩张到原先的j倍,功耗进一步加大,从而使跳跃字节数j受到一定的限制。
发明内容
本发明所要解决的技术问题是解决互联网深度报文检测装置成本较高、功耗较高的问题。
为了解决上述技术问题,本发明所采用的技术方案是提供一种互联网深度报文检测方法,包括以下步骤:
A100、通过布鲁姆过滤器对互联网报文的报文内容依次分段进行过滤,当在当前段报文内容中发现疑似攻击报文的可疑内容部分时,则将该报文送给匹配单元进行匹配认定,否则对下一段报文内容进行过滤,到最后一段仍没有发现可疑内容则直接转发该报文;
A200、将疑似攻击报文中的可疑部分分别同匹配单元中的TCAM中存储的若干特征字进行并行匹配,从而获得该疑似攻击报文是否为攻击报文的判断结果,当判断结果表明该可疑的攻击报文为非攻击性的报文时,则转步骤A100对其余的报文内容进行分段过滤;否则丢弃该报文并生成告警。
上述方法中,步骤A100包括以下步骤:
A101、将已知的用于表征攻击报文的n个特征字,根据特征字长度,分成L个不同的子集,每个子集内特征字长度相同,每个子集的特征字个数为ni,对每个子集通过k个哈希函数计算分别生成对应的L个布鲁姆过滤器,每个布鲁姆过滤器均具有mi个比特位,其中mi>ni
A102、以用于表征攻击报文的特征字中最长的特征字长度作为布鲁姆过滤器的过滤窗口大小;
A103、设置一个长度为L个比特的匹配向量数组,并将其所有比特位初始化为0;
A104、确定过滤窗口在报文中的偏移位置;
A105、对过滤窗口中的报文内容进行检测,具体为,对每种特征字长度,用步骤A101中的k个哈希函数对过滤窗口Wb中报文内容进行计算,并分别将计算结果与步骤A101生成的布鲁姆过滤器中的每一个bit位进行比对,若二者相同则将匹配向量中对应该长度的的相应位置1;
A106、以匹配向量中的所有比特位是否均为0为依据获得该过滤窗口中的报文内容是否为疑似攻击报文中的可疑内容部分的判断结果,当判断结果表明其为可疑内容部分时,转A108;否则转A107;
A107、过滤窗口向报文尾部滑动一个或多个字节,同时偏移起始位置增加相应的一个或多个字节,通过判断该偏移起始位置是否等于报文长度减去过滤窗口的值,而获得过滤窗口是否到达报文末尾的判断结果,当判断结果表明过滤窗口到达报文末尾时,则将该报文直接转发,否则转步骤A104;
A108、将该报文输出至匹配单元进行匹配认定。
上述方法中,步骤A200包括以下步骤:
A201、将过滤窗口中的报文内容与匹配单元中的TCAM中存储的若干特征字进行并行匹配;
A202、判断是否成功匹配某个特征字,若成功匹配,则转A203;否则转步骤A107;
A203、丢弃该报文并生成告警。
步骤A200中,如果存在多个包含关系的特征字时,最长的特征字在TCAM中的存放地址位于其他特征字的前面,并选择最长的特征字进行匹配。
本发明还提供了一种互联网深度报文检测装置,包括报文截取单元、第一过滤单元、第一仲裁单元、第二匹配单元、第一执行单元和第二执行单元。
报文截取单元通过预设的过滤窗口截取互联网报文中的一段内容;
第一过滤单元中设有k个哈希函数计算单元、L个布鲁姆过滤器、第一比较单元和第一仲裁单元,每个鲁姆过滤器均具有m个比特位,用于表征攻击报文的已知n个特征字按照长度不同被分成L个子集,每个子集的特征字个数为ni,通过k个哈希函数计算单元计算后,分别将对应布鲁姆过滤器中的相应比特位置1,其中mi>ni;报文截取单元的过滤窗口截取出的互联网报文中的一段内容,对每种特征字长度,分别通过k个哈希函数计算单元进行计算,第一比较单元分别将该计算结果与布鲁姆过滤器中的每个比特位进行比对,如果计算结果与某个布鲁姆过滤器中的所有比特位相同,则将匹配向量中对应该长度的比特位置1;
第一仲裁单元,以匹配向量中的所有比特位是否均为0,获得该过滤窗口中的报文内容是否为疑似攻击报文中的可疑内容部分的判断结果,当判断结果表明其为可疑内容部分时,即存在非0值时,将该报文送往第二匹配单元;否则将该报文送往第一执行单元;
第二匹配单元中设有TCAM存储单元、第二比较单元和第二仲裁单元,TCAM存储单元中存放有用于表征攻击报文的多个不同长度特征字,第二比较单元将报文截取器截取出的互联网报文中的一段内容分别与TCAM存储单元中的特征字进行匹配,第二仲裁单元根据匹配结果是否一致获得该报文是否为攻击报文的判断结果,当判断结果表明该报文为非攻击报文时,将该报文送往第一执行单元;否则,将该报文送往第二执行单元。
第一执行单元,用于将其收到的报文直接转发;
第二执行单元,用于将收到的报文丢弃并生成告警信息。
上述装置中,第一过滤单元中还设有报文截取单元滑动装置、过滤窗口偏移累加器和第三比较单元,过滤窗口偏移累加器的初始值为0,报文截取单元滑动装置在匹配向量生成后,将过滤窗口向报文尾部滑动一个或多个字节时相应地增加一个或多个字节,同时,过滤窗口偏移累加器相应地增加一个或多个字节;第三比较单元以过滤窗口偏移累加器的值与报文长度减去过滤窗口之后的值是否相等为依据,获得过滤窗口是否滑动到报文末尾的判断结果,当判断结果表明滑动到报文末尾时,将该报文送往第一执行单元,否则将过滤窗口向报文尾部滑动一个或多个字节,同时过滤窗口偏移累加器相应地增加一个或多个字节。
上述装置中,所述过滤窗口的大小等于用于表征攻击报文的特征字中最长的特征字长度。
上述装置中,具有包含关系的多个特征字中,最长的特征字在TCAM中的存放地址位于其他特征字的前面。
上述装置中,所述第一过滤单元采用SRAM来实现布鲁姆过滤器。
本发明的优势在于:通过布鲁姆过滤器对非攻击报文和攻击报文的非特征字内容进行过滤,只将可疑的攻击报文的可疑部分送给匹配单元进行匹配检测,由于布鲁姆过滤器采用哈希运算,因此,要求的存储空间很小,硬件实现容易,可以采用功耗低、容量小、速度快的片内多端口SRAM实现,在整个网络流量中,攻击特征字在网络报文中出现的概率是非常小的,因此绝大部分正常报文在第一过滤单元被过快速的过滤掉,只有少量可疑报文被送给第二匹配单元的TCAM进行处理,从而加快特征字匹配速率,大大降低功耗。
附图说明
图1为布鲁姆过滤器的表示和查询方法;
图2为本发明互联网深度报文检测装置的结构示意图;
图3为本发明互联网深度报文检测方法的流程图。
具体实施方式
针对基于TCAM的特征字匹配方法存在跳跃字节数受限和功耗高的问题,本发明提供了一种互联网深度报文检测方法和装置,该方法采用布鲁姆过滤器(Bloom Filter)结合TCAM进行互联网深度报文的检测。本发明出发点是:网络报文中的大部分报文为不包含攻击特征字的普通报文,可以直接跳过无需进行TCAM特征字检测,即使是攻击报文,大部分报文内容也是非特征字内容,这部分内容也可以直接跳过而无需进行TCAM特征字检测,通过布鲁姆过滤器对非攻击报文和攻击报文的非特征字内容进行过滤,只将可疑的攻击报文的可疑部分送TCAM进行检测,一方面可以加速特征字匹配跳跃,另一方面可以大大的降低功耗。
布鲁姆过滤器是一种非常简洁的信息表示和查询方法,可以用于表示集合并且完成元素是否在集合的查询。布鲁姆过滤器需要的空间很小,每个元素只需要几个比特就可完成表示,并且和元素本身长度无关,因此可以用低功耗、容量小、速度快的片内多端口SRAM实现。对于元素是否在集合的查询,布鲁姆过滤器有可能会产生假阳性(False Positive)判断,也就是将不是集合的元素判断为在集合中,因此需要在后续做进一步的判定,布鲁姆过滤器不会产生假阴性(False Negative)判断,也就是不会将本该属于集合的元素判断为不在集合中而产生漏检。布鲁姆过滤器的优势在于,在保持存储空间非常小的情形下假阳性的概率非常小。对于n个元素的集合S={x1,x2,…,xn},布鲁姆过滤器采用m比特的数组B[0..m-1]来表示,初始时,所有比特位都为0,对每个元素x采用k个独立的哈希函数h1、h2、…hk作用于x产生分布在0到m-1的k个哈希位置,相应位置的比特位被置为1,如图1所示,元素x1、x2被哈希映射到3个比特位,注意比特位3同时被x1和x2所置位。
在查询某个元素是否在集合内时,同样将k个哈希函数作用在于该元素产生k个比特位置,如果某个比特位置为0,则此元素肯定不在该集合内,如图1中的y2,如果k个比特位置都为1,则判断此元素在此集合中,如图1中的y1由于比特位置有可能被其他元素所置位,有可能是一个假阳性判断,假阳性的概率f计算公式为:
f=(1-e-kn/m)k    (1)
给定n,通过选择m和k可以使得假阳性概率减到最小,当k=(m/n)ln 2时,f取最小值f=(1/2)k,比值(m/n)可以理解为每个元素占据的比特位数,m只和需要表示的元素的个数相关,而和元素本身的长度无关,可以看出随着哈希函数的增加,假阳性的概率呈指数递减。哈希函数和元素长度相关,在本发明中对于某个长度的特征字集合,我们需要一个相应的布鲁姆过滤器,如果有L个不同的特征字长度,则需要L个布鲁姆过滤器。
图1为布鲁姆过滤器的表示和查询方法,采用m比特初始为0的数组B[0..m-1]来表示n个元素的集合S={x1,x2,…,xn},对集合里面的每个元素xt,调用k个独立的哈希函数h1、h2、…、hk得到k个比特位置h1(xt)、h2(xt)、…、hk(xt),相应位置的比特位被置位,对集合里面所有的元素完成哈希函数和置位,就完成了集合的表示。
对元素的查询同样需要进行k个哈希函数的计算,如果某比特位为0,则该元素肯定不在该集合中,如果所有k个比特位都为1,则元素被判定为在集合中,但有可能是一个假阳性判断,需要额外进一步确认。
基于上述原理,本发明提出的互联网深度报文检测方法包括以下两个步骤:
A100、通过布鲁姆过滤器对互联网报文的报文内容依次分段进行过滤,当在当前段报文内容中发现疑似攻击报文的可疑内容部分时,则将该报文送给匹配单元进行匹配认定,否则对下一段报文内容进行过滤,到最后一段仍没有发现可疑内容则直接转发该报文;
A200、将疑似攻击报文中的可疑部分分别同匹配单元中的TCAM中存储的若干特征字进行并行匹配,从而获得该疑似攻击报文是否为攻击报文的判断结果,当判断结果表明该可疑的攻击报文为非攻击性的报文时,则转步骤A100对其余的报文内容进行分段过滤;否则丢弃该报文并生成告警。
下面结合图3对互联网深度报文检测方法进行详细的说明:
步骤A100包括以下步骤:
A101、将已知的用于表征攻击报文的n个特征字(比如病毒特征字、攻击特征字),根据特征字长度,分成L个不同的子集,每个子集内特征字长度相同,对每个子集通过k个哈希函数计算分别生成对应的L个布鲁姆过滤器,每种长度的攻击特征字都需要一个单独的布鲁姆过滤器,每个布鲁姆过滤器均具有m个比特位,其中m>n。
A102、以用于表征攻击报文的特征字中最长的特征字长度作为布鲁姆过滤器的过滤窗口大小Wb
A103、设置一个长度为L个比特的匹配向量数组Match_Vector[0,1,…,L-1],并将其所有比特位初始化为0;
A104、确定过滤窗口Wb在报文中的偏移起始位置Offsetb,初始时,偏移起始位置Offsetb在报文的起始处,偏移值为0;
A105、对过滤窗口Wb中的报文内容进行检测,具体为,对每种特征字长度,用步骤A101中的k个哈希函数对过滤窗口Wb中报文内容进行计算,并分别将计算结果与步骤A101生成的布鲁姆过滤器中的每一个bit位进行比对,若二者相同则将匹配向量中对应该长度的Match_Vector[0,1,…,L-1]中的相应位置1;
A106、以匹配向量Match_Vector[0,1,…,L-1]中的所有比特位是否均为0为依据获得该过滤窗口中的报文内容是否为疑似攻击报文中的可疑内容部分的判断结果,当判断结果表明其为可疑内容部分时,转A108;否则转A107;
A107、过滤窗口Wb向报文尾部滑动一个或多个字节,同时偏移起始位置Offsetb增加相应的一个或多个字节,通过判断该偏移起始位置Offsetb是否等于报文长度减去过滤窗口Wb的值,而获得过滤窗口Wb是否到达报文末尾的判断结果,当判断结果表明过滤窗口Wb到达报文末尾时,则将该报文直接转发,否则转步骤A104;
A108、将该报文输出至匹配单元进行匹配认定。
匹配单元的匹配认定包括以下步骤:
A201、将过滤窗口Wb中的报文内容与匹配单元中的TCAM中存储的若干特征字进行并行匹配;
A202、判断是否成功匹配某个特征字,若成功匹配,则转A203;否则转步骤A107;
在该步骤中,TCAM中可能存在多个不同长度的特征字,可能都会匹配,比如报文内容为abc,有2个攻击特征字abc、ab存放在TCAM中,则abc和ab都会匹配,需要进行仲裁判断选择,一般选择最长匹配结果,也就是位于TCAM低地址位的匹配结果,比如,特征字abc的存放地址会在特征字ab的存放地址的前面,优先选择abc,因为abc包含ab,匹配abc肯定匹配ab,反之则不一定。
A203、丢弃该报文并生成告警。
本发明还提供了一种互联网深度报文检测装置,如图2所示,该检测装置包括报文截取单元、第一过滤单元、第二匹配单元和第一、第二执行单元。
报文截取单元通过预设的过滤窗口Wb截取互联网报文中的一段内容,该过滤窗口Wb的大小等于用于表征攻击报文的特征字中最长的特征字长度;
第一过滤单元中设有k个哈希函数计算单元、L个布鲁姆过滤器、第一比较单元和第一仲裁单元。每个鲁姆过滤器均具有mi个比特位,用于表征攻击报文的已知n个特征字,根据特征字长度,分成L个不同的子集,每个子集内特征字长度相同,每个子集的特征字个数为ni,对每个子集通过k个哈希函数计算单元计算后,分别将对应布鲁姆过滤器中的相应比特位置1,其中mi>ni
报文截取单元的过滤窗口Wb截取出的互联网报文中的一段内容,对每种特征字长度,分别通过k个哈希函数计算单元进行计算,第一比较单元分别将该计算结果与布鲁姆过滤器中的每个比特位进行比对,如果计算结果与布鲁姆过滤器中的所有比特位相同,则将匹配向量中Match_Vector[0,1,…,L-1]对应该长度的比特位置1。
第一仲裁单元以匹配向量Match_Vector[0,1,…,L-1]中的所有比特位是否均为0,获得该过滤窗口中的报文内容是否为疑似攻击报文中的可疑内容部分的判断结果,当判断结果表明其为可疑内容部分时(存在非0值),将该报文送往第二匹配单元;否则将该报文送往第一执行单元。
第一过滤单元中还设有报文截取单元滑动装置、过滤窗口偏移累加器和第三比较单元,过滤窗口偏移累加器的初始值为0,报文截取单元滑动装置在匹配向量Match_Vector[0,1,…,L-1]生成后,将过滤窗口Wb向报文尾部滑动一个或多个字节时相应地增加一个或多个字节,同时,过滤窗口偏移累加器相应地增加一个或多个字节。第三比较单元以过滤窗口偏移累加器的值与报文长度减去过滤窗口之后的值是否相等为依据,获得过滤窗口是否滑动到报文末尾的判断结果,当判断结果表明滑动到报文末尾时,将该报文送往第一执行单元,否则将过滤窗口Wb向报文尾部滑动一个或多个字节,同时过滤窗口偏移累加器相应地增加一个或多个字节。
第二匹配单元中设有TCAM存储单元、第二比较单元和第二仲裁单元,TCAM存储单元中存放有用于表征攻击报文的多个不同长度特征字,第二比较单元将报文截取器截取出的互联网报文中的一段内容分别与TCAM存储单元中的特征字进行匹配,第二仲裁单元根据匹配结果是否一致获得该报文是否为攻击报文的判断结果,当判断结果表明该报文为非攻击报文时,将该报文送往第一执行单元;否则,将该报文送往第二执行单元。
第一执行单元将其收到的报文直接转发,第二执行单元将收到的报文丢弃并生成告警信息。
本发明不局限于上述最佳实施方式,任何人应该得知在本发明的启示下作出的结构变化,凡是与本发明具有相同或相近的技术方案,均落入本发明的保护范围之内。

Claims (6)

1.互联网深度报文检测方法,其特征在于包括以下步骤:
A100、通过布鲁姆过滤器对互联网报文的报文内容依次分段进行过滤,当在当前段报文内容中发现疑似攻击报文的可疑内容部分时,则将该报文送给匹配单元进行匹配认定,否则对下一段报文内容进行过滤,到最后一段仍没有发现可疑内容则直接转发该报文;
A200、将疑似攻击报文中的可疑部分分别同匹配单元中的TCAM中存储的若干特征字进行并行匹配,从而获得该疑似攻击报文是否为攻击报文的判断结果,当判断结果表明该可疑的攻击报文为非攻击性的报文时,则转步骤A100对其余的报文内容进行分段过滤;否则丢弃该报文并生成告警;
步骤A100包括以下步骤:
A101、将已知的用于表征攻击报文的n个特征字,根据特征字长度,分成L个不同的子集,每个子集内特征字长度相同,每个子集的特征字个数为ni,对每个子集通过k个哈希函数计算分别生成对应的L个布鲁姆过滤器,每个布鲁姆过滤器均具有mi个比特位,其中mi>ni
A102、以用于表征攻击报文的特征字中最长的特征字长度作为布鲁姆过滤器的过滤窗口大小;
A103、设置一个长度为L个比特的匹配向量数组,并将其所有比特位初始化为0;
A104、确定过滤窗口在报文中的偏移位置;
A105、对过滤窗口中的报文内容进行检测,具体为,对每种特征字长度,用步骤A101中的k个哈希函数对过滤窗口Wb中报文内容进行计算,并分别将计算结果与步骤A101生成的布鲁姆过滤器中的每一个bit位进行比对,若二者相同则将匹配向量中对应该长度的的相应位置1;
A106、以匹配向量中的所有比特位是否均为0为依据获得该过滤窗口中的报文内容是否为疑似攻击报文中的可疑内容部分的判断结果,当判断结果表明其为可疑内容部分时,转A108;否则转A107;
A107、过滤窗口向报文尾部滑动一个或多个字节,同时偏移起始位置增加相应的一个或多个字节,通过判断该偏移起始位置是否等于报文长度减去过滤窗口的值,而获得过滤窗口是否到达报文末尾的判断结果,当判断结果表明过滤窗口到达报文末尾时,则将该报文直接转发,否则转步骤A104;
A108、将该报文输出至匹配单元进行匹配认定;
步骤A200中,如果存在多个包含关系的特征字时,最长的特征字在TCAM中的存放地址位于其他特征字的前面,并选择最长的特征字进行匹配。
2.如权利要求1所述的互联网深度报文检测方法,其特征在于,步骤A200包括以下步骤:
A201、将过滤窗口中的报文内容与匹配单元中的TCAM中存储的若干特征字进行并行匹配;
A202、判断是否成功匹配某个特征字,若成功匹配,则转A203;否则转步骤A107;
A203、丢弃该报文并生成告警。
3.互联网深度报文检测装置,其特征在于包括:
报文截取单元,通过预设的过滤窗口截取互联网报文中的一段内容;
第一过滤单元,该第一过滤单元中设有k个哈希函数计算单元、L个布鲁姆过滤器、第一比较单元和第一仲裁单元,每个鲁姆过滤器均具有mi个比特位,用于表征攻击报文的已知n个特征字按照长度不同被分成L个子集,每个子集的特征字个数为ni,通过k个哈希函数计算单元计算后,分别将对应布鲁姆过滤器中的相应比特位置1,其中mi>ni;报文截取单元的过滤窗口截取出的互联网报文中的一段内容,对每种特征字长度,分别通过k个哈希函数计算单元进行计算,第一比较单元分别将该计算结果与布鲁姆过滤器中的每个比特位进行比对,如果计算结果与某个布鲁姆过滤器中的所有比特位相同,则将匹配向量中对应该长度的比特位置1;
第一仲裁单元,以匹配向量中的所有比特位是否均为0,获得该过滤窗口中的报文内容是否为疑似攻击报文中的可疑内容部分的判断结果,当判断结果表明其为可疑内容部分时,即存在非0值时,将该报文送往第二匹配单元;否则将该报文送往第一执行单元;
第二匹配单元,该第二匹配单元中设有TCAM存储单元、第二比较单元和第二仲裁单元,TCAM存储单元中存放有用于表征攻击报文的多个不同长度特征字,且具有包含关系的多个特征字中,最长的特征字在TCAM中的存放地址位于其他特征字的前面,第二比较单元将报文截取器截取出的互联网报文中的一段内容分别与TCAM存储单元中的特征字进行匹配,第二仲裁单元根据匹配结果是否一致获得该报文是否为攻击报文的判断结果,当判断结果表明该报文为非攻击报文时,将该报文送往第一执行单元;否则,将该报文送往第二执行单元。
第一执行单元,用于将其收到的报文直接转发;
第二执行单元,用于将收到的报文丢弃并生成告警信息。
4.如权利要求3所述的互联网深度报文检测装置,其特征在于,第一过滤单元中还设有报文截取单元滑动装置、过滤窗口偏移累加器和第三比较单元,过滤窗口偏移累加器的初始值为0,报文截取单元滑动装置在匹配向量生成后,将过滤窗口向报文尾部滑动一个或多个字节时相应地增加一个或多个字节,同时,过滤窗口偏移累加器相应地增加一个或多个字节;
第三比较单元以过滤窗口偏移累加器的值与报文长度减去过滤窗口之后的值是否相等为依据,获得过滤窗口是否滑动到报文末尾的判断结果,当判断结果表明滑动到报文末尾时,将该报文送往第一执行单元,否则将过滤窗口向报文尾部滑动一个或多个字节,同时过滤窗口偏移累加器相应地增加一个或多个字节。
5.如权利要求3所述的互联网深度报文检测装置,其特征在于,所述过滤窗口的大小等于用于表征攻击报文的特征字中最长的特征字长度。
6.如权利要求3、4、或5所述的互联网深度报文检测装置,其特征在于所述第一过滤单元采用SRAM来实现布鲁姆过滤器。
CN 201010185634 2010-05-28 2010-05-28 互联网深度报文检测方法和装置 Expired - Fee Related CN101848222B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201010185634 CN101848222B (zh) 2010-05-28 2010-05-28 互联网深度报文检测方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201010185634 CN101848222B (zh) 2010-05-28 2010-05-28 互联网深度报文检测方法和装置

Publications (2)

Publication Number Publication Date
CN101848222A CN101848222A (zh) 2010-09-29
CN101848222B true CN101848222B (zh) 2013-05-01

Family

ID=42772682

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201010185634 Expired - Fee Related CN101848222B (zh) 2010-05-28 2010-05-28 互联网深度报文检测方法和装置

Country Status (1)

Country Link
CN (1) CN101848222B (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102014065A (zh) * 2010-12-10 2011-04-13 中兴通讯股份有限公司 报文包头的解析方法、包头解析预处理装置和网络处理器
CN102163221A (zh) * 2011-04-02 2011-08-24 华为技术有限公司 模式匹配方法和装置
CN102158362B (zh) * 2011-04-18 2015-05-06 中兴通讯股份有限公司 实现网络信息监管的方法、系统及装置
CN102546299B (zh) * 2012-01-09 2014-07-16 北京锐安科技有限公司 一种在大流量下进行深度包检测的方法
CN103248609A (zh) * 2012-02-06 2013-08-14 同方股份有限公司 一种端到端的数据检测系统、装置和方法
CN103248530B (zh) * 2012-02-09 2015-12-16 深圳市恒扬科技股份有限公司 一种基于浮动位置的特征字分流检测方法及装置
CN103780463B (zh) * 2014-02-28 2017-06-06 中国联合网络通信集团有限公司 数据测试方法和装置
US10348684B2 (en) 2016-09-01 2019-07-09 Hewlett Packard Enterprise Development Lp Filtering of packets for packet types at network devices
CN108768984B (zh) * 2018-05-17 2020-02-21 西安电子科技大学 基于现场可编程门阵列的检测入侵装置及方法
CN111526134B (zh) * 2020-04-13 2022-04-01 杭州迪普信息技术有限公司 一种报文检测系统、方法及装置
CN113051568A (zh) * 2021-03-29 2021-06-29 深信服科技股份有限公司 一种病毒检测方法、装置、电子设备及存储介质
CN113051566B (zh) * 2021-03-29 2023-07-14 深信服科技股份有限公司 一种病毒检测方法、装置、电子设备及存储介质
CN114422389B (zh) * 2022-02-24 2023-09-12 成都北中网芯科技有限公司 一种基于哈希和硬件加速的高速实时网络数据监测方法
CN114598616A (zh) * 2022-05-09 2022-06-07 上海飞旗网络技术股份有限公司 一种解决实时海量数据的高效模式匹配方法
CN114610958B (zh) * 2022-05-10 2022-08-30 上海飞旗网络技术股份有限公司 一种传输资源的处理方法、装置及电子设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101359325A (zh) * 2007-08-01 2009-02-04 北京启明星辰信息技术有限公司 一种快速内容分析的多关键词匹配方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7673041B2 (en) * 2005-11-01 2010-03-02 Intel Corporation Method to perform exact string match in the data plane of a network processor

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101359325A (zh) * 2007-08-01 2009-02-04 北京启明星辰信息技术有限公司 一种快速内容分析的多关键词匹配方法

Also Published As

Publication number Publication date
CN101848222A (zh) 2010-09-29

Similar Documents

Publication Publication Date Title
CN101848222B (zh) 互联网深度报文检测方法和装置
Jin et al. SwiftIDS: Real-time intrusion detection system based on LightGBM and parallel intrusion detection mechanism
CN105429963B (zh) 基于Modbus/Tcp的入侵检测分析方法
US9336239B1 (en) System and method for deep packet inspection and intrusion detection
CN101267313B (zh) 泛洪攻击检测方法及检测装置
EP3831034B1 (en) Method, device, and system for network traffic analysis
EP2684314B1 (en) Methods and systems for full pattern matching in hardware
CN102546299A (zh) 一种在大流量下进行深度包检测的方法
Kim et al. Real-time network intrusion detection using deferred decision and hybrid classifier
CN103324886A (zh) 一种网络攻击检测中指纹库的提取方法和系统
Khoei et al. Residual convolutional network for detecting attacks on intrusion detection systems in smart grid
CN104519056B (zh) 一种基于双跳跃的单模式匹配方法
CN101030897B (zh) 一种入侵检测中模式匹配的方法
CN114143035B (zh) 知识图谱推荐系统的对抗攻击方法、系统、设备及介质
CN102546293B (zh) 基于哈希比特串复用的高速网络流量网络地址测量方法
CN102685098B (zh) 一种乱序数据包流免重组多模式匹配方法
Wu et al. Detection of improved collusive interest flooding attacks using BO-GBM fusion algorithm in NDN
CN108141372B (zh) 检测对移动网络的攻击的系统、方法和计算机可读介质
Chen et al. Ac-suffix-tree: Buffer free string matching on out-of-sequence packets
CN103746991B (zh) 云计算网络中的安全事件分析方法及系统
CN101272386B (zh) 一种前缀匹配算法
CN100477668C (zh) 用于高速网络超连接主机检测中的流抽样装置和方法
Wang et al. Feature selection for malicious traffic detection with machine learning
Prakosa et al. Using Optimized focal loss for imbalanced dataset on network intrusion detection system
CN102904890A (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: 20170413

Address after: 430074 East Lake high tech Development Zone, Hubei Province, No. 6, No., high and new technology development zone, No. four

Patentee after: FIBERHOME TELECOMMUNICATION TECHNOLOGIES Co.,Ltd.

Address before: East Lake high tech city of Wuhan province Hubei Dongxin road 430074 No. 5 East optical communication industry building in Wuhan Fenghuo Network Co Ltd

Patentee before: WUHAN FIBERHOME NETWORKS Co.,Ltd.

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

Granted publication date: 20130501

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