一种基于FPGA网卡的具有预匹配规则的入侵检测方法技术

技术编号:35292251 阅读:16 留言:0更新日期:2022-10-22 12:38
本申请提供一种基于FPGA网卡的具有预匹配规则的入侵检测方法,步骤包括:基于预匹配提取方法从原始规则集中获得预匹配规则集,并以二进制文件形式下发到FPGA网卡;FPGA网卡将收到的网络报文与预匹配规则集中的预匹配规则进行匹配,若能被匹配到时,则将该网络报文标记为预风险报文;当网络报文为预风险报文时,经过捕包和解码处理后,将预风险报文与原始规则集中的原始规则进行匹配,若匹配到则对该预风险报文进行报警,确定为风险报文。本申请降低了CPU使用,提高了检测效率。提高了检测效率。提高了检测效率。

【技术实现步骤摘要】
一种基于FPGA网卡的具有预匹配规则的入侵检测方法


[0001]本申请涉及信息技术安全领域,尤其涉及一种基于FPGA网卡的具有预匹配规则的入侵检测方法。

技术介绍

[0002]随着信息安全建设的加快,入侵检测系统作为网络安全基础防护手段,已经得到广泛应用。与此同时,伴随着信息化的快速发展,网络流量不断增加,一方面对入侵检测系统的性能要求越来越高,另一方面由于CPU处理能力日趋接近技术上限,因此依靠提高CPU性能来满足高性能入侵检测系统的策略难以持续。
[0003]近年来,FPGA逐渐在人工智能、机器学习等
得到应用,例如 CN201910257501.0、CN201910103644.6、CN201910257511.4、 CN201910104592.4等人工智能领域应用FPGA的相关专利, CN201810820317.8、CN201810980841.1、CN201610283789.5等机器学习领域应用FPGA的相关专利。相对而言,FPGA在信息安全领域,特别是在入侵检测方向研究和应用较少。
[0004]现有技术中的入侵检测系统大致包括三大模块,即捕包模块、解码模块、匹配模块,其中匹配模块负责规则匹配,如图1所示。研究表明,匹配模块是整个入侵检测系统的性能瓶颈,大约会消耗50%以上的CPU处理时间,因此提升入侵检测系统整体性能的关键是提升匹配模块的处理能力。影响匹配模块处理能力的主要因素包括规则的规模、规则匹配算法、流量大小等,其中流量大小对匹配模块的处理能力影响很大,因为在实际网络环境中,90%以上的网络流量是不会匹配到规则产生告警的,因此,我们需要一种降低传递给匹配模块的流量大小,减轻匹配模块的负担,从而提升入侵检测系统的性能的检测方法。

技术实现思路

[0005]为了解决问题,本申请提供一种基于FPGA网卡的具有预匹配规则的入侵检测方法,步骤包括:
[0006]S1,基于预匹配提取方法从原始规则集中获得预匹配规则集,并以二进制文件形式下发到FPGA网卡;
[0007]S2,FPGA网卡将收到的网络报文与预匹配规则集中的预匹配规则进行匹配,若能被匹配到时,则将该网络报文标记为预风险报文;
[0008]S3,当网络报文为预风险报文时,经过捕包和解码处理后,将预风险报文与原始规则集中的原始规则进行匹配,若匹配到则对该预风险报文进行报警,确定为风险报文。
[0009]其中,在步骤S1中,所述预匹配提取方法的步骤为:
[0010]S11,将已经获得的预匹配规则与当前进行预匹配提取的原始规则进行匹配;
[0011]若已经获得的预匹配规则包含在该原始规则中时,则将匹配到的内容作为该原始规则的预匹配规则;
[0012]若已经获得的预匹配规则不包含在该原始规则中时,则从原始规则包含的原始字
符串中提取出最优过滤子串作为该条原始规则对应的预匹配规则。
[0013]其中,在步骤S11中,提取最优过滤子串的方法包括:
[0014]S111,建立白名单;
[0015]S112,设置原始规则包含的原始字符串共有t个字符,从原始字符串第 1个字符开始至第t

n个字符为止,依次向后选取长度为n个字符的子串,共得到t

n组子串,分别计算t

n组子串中字符的熵值,选取其中最大熵值的子串;
[0016]S113,将最大熵值的子串与白名单进行匹配:
[0017]当该子串不包含在白名单中时,将该子串作为最优过滤子串;
[0018]当该子串包含在白名单中时,则在剩余子串中选取最大熵值的子串再次与白名单进行匹配,直到获得不在白名单中的最大熵值的子串时,将该子串作为最优过滤子串。
[0019]其中,在步骤S111中,还包括:白名单的建立步骤包括:
[0020]预设白名单,测试预设白名单的内容与原始规则的匹配次数,按照匹配次数从高到低进行排序后,依次得到与原始报文的匹配率,将匹配率大于匹配率阈值的内容添加入白名单中。
[0021]其中,在步骤S113中,还包括:
[0022]当单条原始规则中包含两个或两个以上的具有逻辑与关系的子规则时,对每个子规则提取最优过滤子串,在提取到的子规则的最优过滤子串中,将整体熵值最大的最优过滤子串作为该原始规则的预匹配规则。
[0023]其中,在步骤S11后,还包括步骤S12:在对所有原始规则提取完预匹配规则后,对提取到的预匹配规则的集合进行优化。
[0024]其中,对提取到的预匹配规则的集合进行优化的步骤S12包括:
[0025]S121,将提取到的预匹配规则集合F1按照长度从小到大进行排序,进行去重去包含,得到新的集合F2;
[0026]S122,将集合F2作为优化后的预匹配规则集,与当前进行预匹配提取的原始规则进行匹配,转入步骤S11。
[0027]本申请实现的有益效果如下:
[0028]本申请实现了一种从入侵检测规则提取预匹配规则算法,本专利技术对入侵检测系统的性能有较大幅度提升,能够降低传递给匹配模块的流量大小,减轻匹配模块的负担,降低CPU处理时间,同时,预匹配规则能够有效识别攻击报文。本申请提高了检测效率。
附图说明
[0029]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域技术人员来讲,还可以根据这些附图获得其他的附图。
[0030]图1为现有技术中入侵检测系统工作原理图。
[0031]图2为本申请基于FPGA网卡预匹配规则的入侵检测系统工作原理图。
[0032]图3为本申请中基于FPGA网卡的过滤规则集提取逻辑流程图。
具体实施方式
[0033]下面结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0034]本专利技术提出一种基于FPGA网卡预匹配规则的入侵检测系统,即利用 FPGA网卡实现规则预匹配,当流量经过FPGA网卡时,对流量进行预匹配,只有匹配到规则的流量才会经过捕包、解码、匹配完整的处理流程。其工作原理如图2所示。
[0035]由于日常网络流量中大部分的流量为正常流量,能够匹配命中预匹配规则集的报文比例很低,通常在5%以下,因此设计重点在于降低传递给匹配模块的流量,减轻匹配模块的负担,同时,能够保证预匹配规则能够有效识别攻击报文。
[0036]具体流程方法如图3所示,首先,预匹配规则提取模块基于一定算法从原始规则集中提取出预匹配规则集,并以二进制文件形式下发到FPGA网卡的计算模块中。同时原始规则集也会被匹配模块加载。
[0037]本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于FPGA网卡的具有预匹配规则的入侵检测方法,其特征在于,步骤包括:S1,基于预匹配提取方法从原始规则集中获得预匹配规则集,并以二进制文件形式下发到FPGA网卡;S2,FPGA网卡将收到的网络报文与预匹配规则集中的预匹配规则进行匹配,若能被匹配到时,则将该网络报文标记为预风险报文;S3,当网络报文为预风险报文时,经过捕包和解码处理后,将预风险报文与原始规则集中的原始规则进行匹配,若匹配到则对该预风险报文进行报警,确定为风险报文。2.如权利要求1所述的基于FPGA网卡的具有预匹配规则的入侵检测方法,在步骤S1中,所述预匹配提取方法的步骤为:S11,将已经获得的预匹配规则与当前进行预匹配提取的原始规则进行匹配;若已经获得的预匹配规则包含在该原始规则中时,则将匹配到的内容作为该原始规则的预匹配规则;若已经获得的预匹配规则不包含在该原始规则中时,则从原始规则包含的原始字符串中提取出最优过滤子串作为该条原始规则对应的预匹配规则。3.如权利要求2所述的基于FPGA网卡的具有预匹配规则的入侵检测方法,在步骤S11中,提取最优过滤子串的方法包括:S111,建立白名单;S112,设置原始规则包含的原始字符串共有t个字符,从原始字符串第1个字符开始至第t

n个字符为止,依次向后选取长度为n个字符的子串,共得到t

n组子串,分别计算t

n组子串中字符的熵值,选取其中最大熵值的子串;S113,将最大熵值的子串与白名...

【专利技术属性】
技术研发人员:李永泉刘超王飞黄晓东柴忠
申请(专利权)人:北京网御星云信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1