CN113709110A - 一种软硬结合的入侵检测系统及方法 - Google Patents

一种软硬结合的入侵检测系统及方法 Download PDF

Info

Publication number
CN113709110A
CN113709110A CN202110852723.4A CN202110852723A CN113709110A CN 113709110 A CN113709110 A CN 113709110A CN 202110852723 A CN202110852723 A CN 202110852723A CN 113709110 A CN113709110 A CN 113709110A
Authority
CN
China
Prior art keywords
message
tcam
matching
rule
hit
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.)
Granted
Application number
CN202110852723.4A
Other languages
English (en)
Other versions
CN113709110B (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.)
Shenzhen Forward Industrial Co Ltd
Original Assignee
Shenzhen Forward Industrial 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 Shenzhen Forward Industrial Co Ltd filed Critical Shenzhen Forward Industrial Co Ltd
Priority to CN202110852723.4A priority Critical patent/CN113709110B/zh
Publication of CN113709110A publication Critical patent/CN113709110A/zh
Application granted granted Critical
Publication of CN113709110B publication Critical patent/CN113709110B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种软硬结合的入侵检测系统,包括网络接口卡、FPGA、三态内容寻址存储器TCAM和CPU,还提出一种基于该系统的入侵检测方法,利用FPGA对引入的网络流量进行报文解析,并将解析之后的报文发送至TCAM,利用TCAM对步骤S2中获取的报文的内容进行初次规则匹配,并将命中规则的匹配结果反馈至FPGA,将命中规则的报文根据其源目IP地址进行hash分流,并将其发送至CPU进行二次规则匹配,通过上述方式,利用TCAM头尾表项匹配,让CPU流管理模块不用将一条流的全部报文进行缓存,只有在命中头尾表项情况下,才全部缓存,不命中头尾表项情况下,只缓存当前报文。大大节约了设备内存,降低了流重组的开销,提升了设备整体处理性能。

Description

一种软硬结合的入侵检测系统及方法
技术领域
本发明涉及网络安全领域,具体涉及一种软硬结合的入侵检测系统及方法。
背景技术
随着网络带宽和流量的不断提升,通过软件实现的IDS在性能上难以满足要求,如何快速将报文信息与特征库中的内容进行比较从而发现攻击行为成为影响整个系统性能的关键。
随着新型网络入侵手段的不断涌现,IDS特征库的复杂性也不断提高,特征库的日益复杂带来处理复杂性的不断提高。由于各种新型网络入侵手段的不断涌现,IDS的规则数目也不断增加。由于规则匹配算法的时间和空间复杂度与规则集大小密切相关,因此IDS特征库的扩充带来了严重的计算复杂性问题。
IDS实现的将报文内容跟特征库比对功能需要借助DPI(deep packetinspection,深度报文检测)技术来实现。DPI是为了发现隐藏在报文负载中的特征,这些特征可能是应用层协议、病毒、蠕虫等。深度报文检测通常将报文或流的负载部分与特征库中的规则集进行匹配,判断负载是否符合规则集中的某些规则特征,因此DPI是IDS最核心的功能,也是整个系统的性能瓶颈所在。
发明内容
针对现有技术中的上述不足,本发明提供了一种软硬结合的入侵检测系统及方法。
为了达到上述发明目的,本发明采用的技术方案为:
一种软硬结合的入侵检测系统,包括:网络接口卡、FPGA、三态内容寻址存储器TCAM和CPU,其中,
所述网络接口卡用于引入网络流量,并将引入的网络流量发送给FPGA;
所述FPGA用于对所述网络接口卡引入的网络流量进行报文解析和分流,并将报文发送至所述三态内容寻址存储器进行初次规则匹配,同时记录三态内容寻址存储器的匹配结果并将其发送至CPU;
所述三态内容寻址存储器TCAM用于对所述FPGA送达的报文进行初次规则匹配,并反馈匹配结果;
所述CPU用于根据报文规则提取TCAM的匹配项表并通过FPGA下发至TCAM,同时对FPGA和TCAM的匹配结果进行二次规则匹配。
上述方案的有益效果是,网络上大部分的报文是不会命中规则的,利用FPGA和TCAM实现了初次匹配,CPU不用对所有报文进行规则检测,只需要对初次匹配命中的报文进行二次匹配,大大提高了CPU的处理能力。
还提出一种软硬结合的系统入侵检测方法,包括如下步骤:
S1、构建软硬结合的入侵检测系统并对TCAM进行匹配表项配置;
S2、利用FPGA对引入的网络流量进行报文解析,并将解析之后的报文发送至TCAM;
S3、利用TCAM对步骤S2中获取的报文的源目IP地址及报文内容进行初次规则匹配,并将命中规则的匹配结果反馈至FPGA;
S4、FPGA将命中规则的报文根据其源目IP地址进行hash分流,并将其发送至CPU进行二次规则匹配;
S5、对进行二次规则匹确定命中规则的报文进行警告。
上述方案的有益效果是,跟上面的有益效果一样,整个方案都是为了提高系统的检测性能。
进一步的,所述步骤S1中对TCAM进行匹配表项配置的具体方法为:
S11、从特征库内容中的每一条规则中选取一个特征串,作为TCAM的原始表项,若所提取的特征串大于8字节,则提取其中8字节的内容作为TCAM的原始表项;
S12、将步骤S11中得到的原始表项进行扩展,得到扩展后的匹配表项;
S13、对原始表项进行扩展,得到头匹配表项和尾匹配表项。
上述进一步方案的有益效果是,扩展匹配表项是为了实现初次匹配,提高性能。扩展头尾匹配表项,是为了解决特征串跨报文的情况,命中头尾表项后,通过CPU的流重组功能,将同一条流的多个报文重组后再进行检测,可以提高检测准确率。
进一步的,所述步骤S12具体包括:
S121、将步骤S11选取的长度为n且n≤8的特征串从TCAM的第0字节开始放入TCAM中并将其掩码设置为0,同时将剩余16-n字节的表项填充任意字符并将其掩码设置为1;
S122、将步骤S11选取的特征串从TCAM表项的第i字节开始放入TCAM中,按照步骤S121的方式填充剩余字节,并依次位移直至表项尾,得到扩展后的匹配表项。
上述进一步方案的有益效果是,对一个特征串可以生成多个TCAM表项以扩大匹配范围。
进一步的,所述步骤S13具体包括:
S131、将步骤S11选取的特征串从TCAM表项的第16-n+1字节开始放入TCAM中并将其掩码设置为0,同时剩余的字节依次放入当前TCAM表项中,并将特征串的最后1字节的内容放入下一TCAM表项中的第1个字节,按照步骤S121的方法将当前TCAM表项和下一TCAM表项中剩余位置填充并将掩码设置为1;
S132、对步骤S131中当前TCAM表项中的特征串依次位移直至特征串的第一字节位移当前TCAM表项的最后一字节,并将依次位移之后的超出当前TCAM表项的特征串放入下一TCAM表项中;
S131、将当前TCAM表项作为尾匹配表项并将下一TCAM表项作为头匹配表项。
上述进一步方案的有益效果是,通过添加头尾匹配表项实现对攻击特征串跨越一个甚至多个报文的检测。
进一步的,所述步骤S2中FPGA对报文解码的过程为,解析出报文的源目IP地址并解析出报文的四层负载。
进一步的,所述步骤S3具体包括:
S31、提取报文负载的前16字节并送往TCAM进行检测并记录匹配的规则ID;
S32、依次将步骤S31中提取报文向右移动8字节,提取移动后的16字节送往TCAM检测直至报文结束;
S33、提取报文负载的头16字节和尾16字节分别进行TCAM的头匹配和尾匹配,并去掉其中重复匹配的规则ID;
S34、将初次匹配命中规则的报文做标记发送至FPGA,并由FPGA记录初次匹配命中的规则。
上述进一步方案的有益效果是,可以将一定不命中规则报文和可能命中规则的报文区分开,一定不命中规则的报文上送到CPU后,只需要经过简单的处理就可以,可能命中规则的报文,需要经过CPU的再次匹配进行进一步的确认。同时可以解决特征串跨越一个甚至多个报文的问题。
进一步的,所述步骤S4具体包括:
S41、FPGA将接收到的初次匹配命中规则的报文上传至CPU;
S42、CPU对步骤S41上传的报文进行二层、三层和四层解析,得到报文的四层负载,并对初次匹配结果进行解析,得到报文命中的规则;
S43、对经过步骤S42解析的报文进行流处理管理;
S44、CPU从TCAM结果中进行具体任意规则的匹配,确定报文是否命中该规则;
S45、对确定命中规则的报文进行警告。
上述进一步方案的有益效果是,纯软件实现的IDS,在进行DPI处理时,需要先用多模式匹配算法进行初次匹配,确定报文可能命中的规则,再进行某一具体规则的匹配。由于经过了TCAM表项的匹配,在CPU进行DPI处理时,不用进行初次匹配确定报文可能命中的规则ID,直接从TCAM的结果中获取,进行某一条具体规则的匹配,最终确定报文是否命中了规则。
进一步的,所述步骤S43具体包括:
S431、对经过步骤S42处理的报文进行分片报文的重组,对其中非分片报文进行流管理,将五元组相同的报文划分为同一条流;
S432、将没有命中头匹配表项及尾匹配表项的报文存储在流表上,缓存该报文时将之前的报文清除;对命中头匹配表项及尾匹配表项的报文,将该条流上所有的报文进行缓存同时进行分片报文重组;对没有命中任何表项的报文进行舍弃。
上述进一步方案的有益效果是,利用TCAM头尾表项匹配,让CPU流管理模块不用将一条流的全部报文进行缓存,只有在命中头尾表项情况下,才全部缓存,不命中头尾表项情况下,只缓存当前报文。大大节约了设备内存,降低了流重组的开销,提升了设备整体处理性能。
附图说明
图1为本发明一种软硬结合的入侵检测系统结构示意图。
图2为本发明实施例TCAM表项查找原理示意图。
图3为本发明一种软硬结合的入侵检测方法流程示意图。
图4为本发明实施例TCAM表项扩展示意图。
图5为本发明实施例特征串头尾表项的生成示意图。
具体实施方式
下面对本发明的具体实施方式进行描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
一种软硬结合的入侵检测系统,如图1所示,包括:网络接口卡、FPGA、三态内容寻址存储器TCAM和CPU,其中,
所述网络接口卡用于引入网络流量,并将引入的网络流量发送给FPGA;
所述FPGA用于对所述网络接口卡引入的网络流量进行报文解析和分流,并将报文发送至所述TCAM进行初次规则匹配,同时记TCAM的匹配结果并将其发送至CPU;
所述三态内容寻址存储器TCAM用于对所述FPGA送达的报文进行初次规则匹配,并反馈匹配结果;
所述CPU用于根据报文规则提取TCAM的匹配项表并通过FPGA下发至TCAM,同时对FPGA和TCAM的匹配结果进行二次规则匹配。
本实施例里,一个TCAM表项由表项值和掩码组成,最多为144bit,下面以五元组表项查找为例,说明TCAM的工作原理,为了描述简单,只选择五元组中的源IP匹配进行说明,如图2所示,现在要确定报文的源IP是否为192.168.0.1,按照bit配置TCAM表项图所示,掩码为0表示该位需要进行表现匹配,为1表示该位不需要匹配,TCAM表项的每一位都匹配成功后,表项才算匹配成功。利用TCAM的此特性,可以用来进行忽略大小写的规则匹配。
匹配时,先提取报文源IP,送往TCAM表项中进行匹配,如果报文源IP为192.168.0.1,则TCAM返回匹配成功,其他情况返回匹配失败。如果掩码低8bit修改为全1,则表示该表项低8位不需要匹配,此时输入192.168.0.2也返回成功。
基于上述系统及系统原理,提出一种软硬结合的系统入侵检测方法,如图3所示,包括如下步骤:
S1、构建软硬结合的入侵检测系统并对TCAM进行匹配表项配置;
TCAM表项由CPU进行配置,配置内容根据特征库的内容来确定,包括如下具体规则:
一条规则往往包含一个或者多个特征串,CPU根据特征库内容,从每一条规则中选取一个特征串出来,作为TCAM原始表项;
将TCAM原始表项进行扩展,固定TCAM表项为16byte,如果特征串大于8byte,则从特征串中提取8byte作为TCAM表项。假设“abcdefgh”为特征串,经过扩展后的TCAM表项如图4所示,具体的方式为:
S11、从特征库内容中的每一条规则中选取一个特征串,作为TCAM的原始表项,若所提取的特征串大于8字节,则提取其中8字节的内容作为TCAM的原始表项;
S12、将步骤S11中得到的原始表项进行扩展,得到扩展后的匹配表项;
在本实施例里,对原始表项的扩展包括如下步骤:
S121、将步骤S11选取的长度为n且n≤8的特征串从TCAM的第0字节开始放入TCAM中并将其掩码设置为0,同时将剩余16-n字节的表项填充任意字符并将其掩码设置为1。如图4所示,后(16-n)byte的表项填充任意字符,掩码设置为1,表示不需要匹配。图4表项中,“*”表示该位不需要匹配。
将步骤S11选取的特征串从TCAM表项的第i字节开始放入TCAM中,按照步骤S121的方式填充剩余字节,并依次位移直至表项尾,得到扩展后的匹配表项。
这样就将一条长度为n byte的特征串,扩展为了(16-n+1)条TCAM串。
S13、对原始表项进行扩展,得到头匹配表项和尾匹配表项。
有时特征串会跨越一个甚至多个报文,假定攻击特征为“abcdefgh”,“abcd”位于第一个报文尾部,而“efgh”位于第二个报文头部,单纯的单个报文检测,往往检测不出报文是否匹配规则,需要将第一个报文、第二个报文甚至多个报文一起组合之后再进行检测,才能检测出是否匹配规则。为了解决这一问题,在TCAM表项中加入了头匹配表项和尾匹配表项,用于特征串可能跨报文的情况。报文负载的头16字节单独匹配头表项,报文负载的尾16字节匹配尾表项,命中头尾表项的报文打上特殊标记上送到CPU后,由CPU进行重组检测。如图5所示,具体的方式为:
S131、将步骤S11选取的特征串从TCAM表项的第16-n+1字节开始放入TCAM中并将其掩码设置为0,同时剩余的字节依次放入当前TCAM表项中,并将特征串的最后1字节的内容放入下一TCAM表项中的第1个字节,按照步骤S121的方法将当前TCAM表项和下一TCAM表项中剩余位置填充并将掩码设置为1;
S132、对步骤S131中当前TCAM表项中的特征串依次位移直至特征串的第一字节位移当前TCAM表项的最后一字节,并将依次位移之后的超出当前TCAM表项的特征串放入下一TCAM表项中;
S131、将当前TCAM表项作为尾匹配表项并将下一TCAM表项作为头匹配表项。
S2、利用FPGA对引入的网络流量进行报文解析,并将解析之后的报文发送至TCAM;
S3、利用TCAM对步骤S2中获取的报文的源目IP地址及报文内容进行初次规则匹配,并将命中规则的匹配结果反馈至FPGA;
在本实施例里,经过CPU对TCAM表项的配置,可以保证每一条规则都有一个特征串在TCAM表项中,报文经过TCAM进行初次匹配后,可以很容易得出报文可能会命中哪一条规则。由于网络报文中,绝大部分的报文都不会命中特征库中的规则,通过TCAM初次匹配,可以将一定不命中规则报文和可能命中规则的报文区分开,一定不命中规则的报文上送到CPU后,只需要经过简单的处理就可以,可能命中规则的报文,需要经过CPU的再次匹配进行进一步的确认,最终确定报文是否命中规则。具体方式为:
S31、提取报文负载的前16字节并送往TCAM进行检测并记录匹配的规则ID;
S32、依次将步骤S31中提取报文向右移动8字节,提取移动后的16字节送往TCAM检测直至报文结束;
S33、提取报文负载的头16字节和尾16字节分别进行TCAM的头匹配和尾匹配,并去掉其中重复匹配的规则ID;
S34、将初次匹配命中规则的报文做标记发送至FPGA,并由FPGA记录初次匹配命中的规则。
S4、FPGA将命中规则的报文根据其源目IP地址进行hash分流,并将其发送至CPU进行二次规则匹配,本实施例里,CPU二次匹配的流程包括:报文解码、流管理、DPI处理以及告警处理,具体包括如下步骤:
S41、FPGA将接收到的初次匹配命中规则的报文上传至CPU;
S42、CPU对步骤S41上传的报文进行二层、三层和四层解析,得到报文的四层负载,并对初次匹配结果进行解析,得到报文命中的规则;
S43、对经过步骤S42解析的报文进行流处理;
报文解码主要实现两个功能:
1、报文二层,三层和四层信息的解析,最终解析出报文的四层负载。
2、TCAM初次匹配结果的解析,解析出报文可能会命中哪些规则ID。
S43、对经过步骤S42解析的报文进行流处理管理;
流管理主要实现如下功能:
1.分片报文的重组。
2.非分片报文进行流管理的处理,五元组相同的报文划分为同一条流。
3.对于没有命中头尾TCAM表项的报文,只需要将当前报文存储在流表上,便于后续处理,不需要存储所有报文,缓存当前报文时,将之前缓存的报文清除即可。对于纯软件实现的IDS,一般需要将一条流的所有报文缓存下来,重组后再进行检测,防止特征串跨报文的情况。
4.对于命中了头尾TCAM表项的报文,需要将本条流的所有报文进行缓存并重组检测。
5.对于没有命中任何表项的报文,在流管理处理后,可以直接丢弃,不进行后续的处理。
在本实施例里,重组包括分片报文重组和流重组,分片报文重组是无条件的,所有分片报文都需要经过分片重组流程。流重组是有条件的,命中头尾表项之后的数据才进行流重组。
分片重组是根据报文的IP头中的标识和分片偏移进行的。其中标识字段用于区分分片报文是否来源于同一段数据的不同分片,标识相同表示是属于同一个分片。分片偏移用于标识该分片位于所有分片中的哪一片。
划分为同一条流的方法为,提取报文中的五元组,即是源、目IP,源、目端口,协议号,五元组相同的报文视为同一条流。当报文命中头尾匹配表项后,会将当前报文所在的流进行重组操作。
S44、CPU从TCAM结果中进行任意规则的匹配,确定报文是否命中该规则。
纯软件实现的IDS,在进行DPI处理时,需要先用多模式匹配算法(如AC算法)进行初次匹配,确定报文可能命中的规则,再进行某一具体规则的匹配。由于经过了TCAM表项的匹配,在CPU进行DPI处理时,不用进行初次匹配确定报文可能命中的规则ID,直接从TCAM的结果中获取,进行某一条具体规则的匹配,最终确定报文是否命中了规则。
S5、对进行二次规则匹确定命中规则的报文进行警告。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。

Claims (9)

1.一种软硬结合的入侵检测系统,其特征在于,包括:网络接口卡、FPGA、三态内容寻址存储器TCAM和CPU,其中,
所述网络接口卡用于引入网络流量,并将引入的网络流量发送给FPGA;
所述FPGA用于对所述网络接口卡引入的网络流量进行报文解析和分流,并将报文发送至所述三态内容寻址存储器进行初次规则匹配,同时记录三态内容寻址存储器的匹配结果并将其发送至CPU;
所述三态内容寻址存储器TCAM用于对所述FPGA送达的报文进行初次规则匹配,并反馈匹配结果;
所述CPU用于根据特征库的规则提取TCAM的匹配项表并通过FPGA下发至TCAM,同时对FPGA和TCAM的匹配结果进行二次规则匹配。
2.一种基于权利要求1所述入侵检测系统的入侵检测方法,其特征在于,包括如下步骤:
S1、构建软硬结合的入侵检测系统并对三态内容寻址存储器进行匹配表项配置;
S2、利用FPGA对引入的网络流量进行报文解析,并将解析之后的报文发送至TCAM;
S3、利用TCAM对步骤S2中获取报文的报文内容进行初次规则匹配,并将命中规则的匹配结果反馈至FPGA;
S4、FPGA将命中规则的报文根据其源目IP地址进行hash分流,并将其发送至CPU进行二次规则匹配;
S5、对进行二次规则匹确定命中规则的报文进行警告。
3.根据权利要求2所述的入侵检测方法,其特征在于,所述步骤S1中对TCAM进行匹配表项配置的具体方法为:
S11、从特征库内容中的每一条规则中选取一个特征串,作为TCAM的原始表项,若所提取的特征串大于8字节,则提取其中8字节的内容作为TCAM的原始表项;
S12、将步骤S11中得到的原始表项进行扩展,得到扩展后的匹配表项;
S13、对原始表项进行扩展,得到头匹配表项和尾匹配表项。
4.根据权利要求3所述的入侵检测方法,其特征在于,所述步骤S12具体包括:
S121、将步骤S11选取的长度为n且n≤8的特征串从TCAM的第0字节开始放入TCAM中并将其掩码设置为0,同时将剩余16-n字节的表项填充任意字符并将其掩码设置为1;
S122、将步骤S11选取的特征串从TCAM表项的第i字节开始放入TCAM中,按照步骤S121的方式填充剩余字节,并依次位移直至表项尾,得到扩展后的匹配表项。
5.根据权利要求4所述的入侵检测方法,其特征在于,所述步骤S13具体包括:
S131、将步骤S11选取的特征串从TCAM表项的第16-n+1字节开始放入TCAM中并将其掩码设置为0,同时剩余的字节依次放入当前TCAM表项中,并将特征串的最后1字节的内容放入下一TCAM表项中的第1个字节,按照步骤S121的方法将当前TCAM表项和下一TCAM表项中剩余位置填充并将掩码设置为1;
S132、对步骤S131中当前TCAM表项中的特征串依次位移直至特征串的第一字节位移当前TCAM表项的最后一字节,并将依次位移之后的超出当前TCAM表项的特征串放入下一TCAM表项中;
S131、将当前TCAM表项作为尾匹配表项并将下一TCAM表项作为头匹配表项。
6.根据权利要求5所述的入侵检测方法,其特征在于,所述步骤S2中FPGA对报文解码的过程为,解析出报文的源目IP地址并解析出报文的四层负载。
7.根据权利要求6所述的入侵检测方法,其特征在于,所述步骤S3具体包括:
S31、提取报文负载的前16字节并送往TCAM进行检测并记录匹配的规则ID;
S32、依次将步骤S31中提取报文向右移动8字节,提取移动后的16字节送往TCAM检测直至报文结束;
S33、提取报文负载的头16字节和尾16字节分别进行TCAM的头匹配和尾匹配,并去掉其中重复匹配的规则ID;
S34、将初次匹配命中规则的报文做标记发送至FPGA,并由FPGA记录初次匹配命中的规则。
8.根据权利要求7所述的入侵检测方法,其特征在于,所述步骤S4具体包括:
S41、FPGA将接收到的初次匹配命中规则的报文以及未命中的报文上传至CPU;
S42、CPU对步骤S41上传的报文进行二层、三层和四层解析,得到报文的四层负载,并对初次匹配结果进行解析,得到报文命中的规则;
S43、对经过步骤S42解析的报文进行流处理管理;
S44、对命中初次匹配的报文,CPU从TCAM结果中进行任意规则的匹配,确定报文是否命中该规则。
9.根据权利要求8所述的入侵检测方法,其特征在于,所述步骤S43具体包括:
S431、对经过步骤S42处理的报文进行分片报文的重组,对其中非分片报文进行流管理处理,将五元组相同的报文划分为同一条流;
S432、将没有命中头匹配表项及尾匹配表项的报文存储在流表上,缓存该报文时将之前的报文清除;对命中头匹配表项及尾匹配表项的报文,将该条流上所有的报文进行缓存同时进行流重组;对没有命中任何表项的报文进行舍弃。
CN202110852723.4A 2021-07-27 2021-07-27 一种软硬结合的入侵检测系统及方法 Active CN113709110B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110852723.4A CN113709110B (zh) 2021-07-27 2021-07-27 一种软硬结合的入侵检测系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110852723.4A CN113709110B (zh) 2021-07-27 2021-07-27 一种软硬结合的入侵检测系统及方法

Publications (2)

Publication Number Publication Date
CN113709110A true CN113709110A (zh) 2021-11-26
CN113709110B CN113709110B (zh) 2023-07-21

Family

ID=78650596

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110852723.4A Active CN113709110B (zh) 2021-07-27 2021-07-27 一种软硬结合的入侵检测系统及方法

Country Status (1)

Country Link
CN (1) CN113709110B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113973019A (zh) * 2021-12-27 2022-01-25 北京安博通科技股份有限公司 一种网络病毒检测方法及网络设备
CN114124822A (zh) * 2021-11-29 2022-03-01 杭州迪普信息技术有限公司 报文匹配处理装置及方法
CN114422623A (zh) * 2022-01-17 2022-04-29 山西省信息通信网络技术保障中心 一种基于指令序列的车联网异常流量识别方法及装置
CN115225327A (zh) * 2022-06-17 2022-10-21 北京启明星辰信息安全技术有限公司 一种基于fpga网卡的具有预匹配规则的入侵检测方法
CN115278684A (zh) * 2022-07-26 2022-11-01 上海欣诺通信技术股份有限公司 一种基于dpi技术的5g信令攻击监测方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040205360A1 (en) * 2003-04-14 2004-10-14 Norton Marc A. Methods and systems for intrusion detection
WO2014127605A1 (zh) * 2013-02-21 2014-08-28 烽火通信科技股份有限公司 基于哈希表和tcam表的mac地址硬件学习方法及系统
CN105337991A (zh) * 2015-11-23 2016-02-17 湖南戎腾网络科技有限公司 一种一体化的报文流查找与更新方法
CN110851672A (zh) * 2019-11-13 2020-02-28 天津光电通信技术有限公司 一种基于tcam实现多命中的方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040205360A1 (en) * 2003-04-14 2004-10-14 Norton Marc A. Methods and systems for intrusion detection
WO2014127605A1 (zh) * 2013-02-21 2014-08-28 烽火通信科技股份有限公司 基于哈希表和tcam表的mac地址硬件学习方法及系统
CN105337991A (zh) * 2015-11-23 2016-02-17 湖南戎腾网络科技有限公司 一种一体化的报文流查找与更新方法
CN110851672A (zh) * 2019-11-13 2020-02-28 天津光电通信技术有限公司 一种基于tcam实现多命中的方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114124822A (zh) * 2021-11-29 2022-03-01 杭州迪普信息技术有限公司 报文匹配处理装置及方法
CN114124822B (zh) * 2021-11-29 2024-04-26 杭州迪普信息技术有限公司 报文匹配处理装置及方法
CN113973019A (zh) * 2021-12-27 2022-01-25 北京安博通科技股份有限公司 一种网络病毒检测方法及网络设备
CN114422623A (zh) * 2022-01-17 2022-04-29 山西省信息通信网络技术保障中心 一种基于指令序列的车联网异常流量识别方法及装置
CN114422623B (zh) * 2022-01-17 2022-11-18 山西省信息通信网络技术保障中心 一种基于指令序列的车联网异常流量识别方法及装置
CN115225327A (zh) * 2022-06-17 2022-10-21 北京启明星辰信息安全技术有限公司 一种基于fpga网卡的具有预匹配规则的入侵检测方法
CN115225327B (zh) * 2022-06-17 2023-10-27 北京启明星辰信息安全技术有限公司 一种基于fpga网卡的具有预匹配规则的入侵检测方法
CN115278684A (zh) * 2022-07-26 2022-11-01 上海欣诺通信技术股份有限公司 一种基于dpi技术的5g信令攻击监测方法和装置
CN115278684B (zh) * 2022-07-26 2024-02-13 上海欣诺通信技术股份有限公司 一种基于dpi技术的5g信令攻击监测方法和装置

Also Published As

Publication number Publication date
CN113709110B (zh) 2023-07-21

Similar Documents

Publication Publication Date Title
CN113709110A (zh) 一种软硬结合的入侵检测系统及方法
KR101034389B1 (ko) 패킷 내 시그니처 위치에 따른 시그니처 검색 방법
US7110540B2 (en) Multi-pass hierarchical pattern matching
Liu et al. A fast string-matching algorithm for network processor-based intrusion detection system
CN109617931B (zh) 一种SDN控制器的DDoS攻击防御方法及防御系统
US9270643B2 (en) State-transition based network intrusion detection
KR101334583B1 (ko) 심볼 패턴에 입력 심볼 스트림을 정합하기 위한 방법 및 장치
US7853578B1 (en) High-performance pattern matching
KR20140061359A (ko) 앵커링된 패턴들
KR101098747B1 (ko) 반전 패턴 부합을 사용하는 네트워크 메시지 프로세싱
US20180083770A1 (en) Detecting encoding attack
TW201501556A (zh) 用於唯一枚舉解析樹中的路徑的裝置和方法
CN112532642B (zh) 一种基于改进Suricata引擎的工控系统网络入侵检测方法
US20170142136A1 (en) Method and apparatus for detecting network attacks and generating attack signatures based on signature merging
KR100770357B1 (ko) 시그너처 해싱을 이용하여 시그너처 매칭 회수를 줄이는고성능 침입 방지 시스템 및 그 방법
Najam et al. Speculative parallel pattern matching using stride-k DFA for deep packet inspection
EP2633396A1 (en) Pattern detection
CN107682266B (zh) 流表项的匹配方法及装置、计算机可读存储介质
CN113810337A (zh) 用于网络报文去重的方法、装置、以及存储介质
US10742602B2 (en) Intrusion prevention
JP4263718B2 (ja) 通信処理装置及び通信処理方法
Liu et al. A fast pattern-match engine for network processor-based network intrusion detection system
Chen et al. Ac-suffix-tree: Buffer free string matching on out-of-sequence packets
CN106416150B (zh) 一种路由查询方法和网络设备
WO2012083748A1 (zh) 一种基于深度包检测的协议跨包检测方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant