一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种面向DPI缓存丢失攻击的防御方法、计算机及存储介质与流程

2021-12-13 00:43:00 来源:中国专利 TAG:

一种面向dpi缓存丢失攻击的防御方法、计算机及存储介质
技术领域
1.本技术涉及一种攻击防御方法,尤其涉及一种面向dpi缓存丢失攻击的防御方法、计算机及存储介质,属于智能防御技术领域。


背景技术:

2.ddos攻击因成本低、攻击效果明显等特点,是互联网用户面临的最常见、影响较大的网络安全威胁,其在国家间网络战,学术界、企业界以及黑客界等均有大量人员参与攻防对抗。算法复杂度攻击是典型的应用层ddos攻击,该攻击通过精心设计报文,使得处理应用层数据的算法始终运行在最坏时间复杂度上,从而消耗大量系统时空资源,迫使dpi停止检查部分或全部流量。
3.作为网络安全的第一道防线,深度报文检测系统(dpi)是缓存攻击的重要目标。攻击者使用探测手段获取部分模式作为先验知识,然后,根据常用的模式匹配算法修改已知模式部分字符作为攻击样本,最后,通过大量重放攻击样本实施攻击。网络犯罪分子实施缓存攻击,可能会摧毁dpi,随着系统的崩溃或合法流量下降,攻击者随后针对受dpi保护的服务器,发送大量垃圾流量或者特定设计的攻击数据。
4.dpi缓存丢失攻击是针对模式匹配模块发起的算法复杂度攻击,现有的防御方法主要有优化模式匹配算法,改进正则表达式匹配的攻击检测算法等,现有的防御方法存在dpi系统受到攻击时,处理严重延迟或丢包的技术问题,而且这些防御方法都是聚焦算法本身,没有利用多核的硬件特征。本发明将从多核架构的基础上,采用将正常流量和攻击流量进行多核调度的方式防御dpi缓存丢失攻击。


技术实现要素:

5.在下文中给出了关于本发明的简要概述,以便提供关于本发明的某些方面的基本理解。应当理解,这个概述并不是关于本发明的穷举性概述。它并不是意图确定本发明的关键或重要部分,也不是意图限定本发明的范围。其目的仅仅是以简化的形式给出某些概念,以此作为稍后论述的更详细描述的前序。
6.鉴于此,本发明为了解决现有技术存在的dpi系统受到攻击时,处理严重延迟或丢包的技术问题,本发明提供了一种面向dpi缓存丢失攻击的防御方法、计算机及存储介质方案。
7.一种面向dpi多核的缓存丢失攻击的防御方法,包括以下步骤:
8.步骤一、系统启动,运行在正常模式下,所有线程为常规线程,输入流量,启动基于i级和ii级的两级阈值攻击检测方法,设置cpu压力阈值p,启动cpu压力监控;
9.步骤二、根据步骤一所述的攻击检测方法识别输入的流量是否存在攻击,若识别存在攻击,执行步骤三,若识别不存在攻击,继续执行当前步骤;
10.步骤三、系统切换到紧急模式,检查常规线程中的cpu压力情况,若某个常规线程的cpu压力超过阈值p,则将压力超过阈值的常规线程转换为攻击线程,将攻击流反馈至负
载调度模块,执行步骤四,否则返回步骤二继续识别输入的流量是否存在攻击;
11.步骤四、将常规线程中的攻击流量调度到攻击线程的交换队列,攻击线程中的非攻击流量调度到常规线程的交换队列,执行步骤五;
12.步骤五、检查各线程中的cpu压力情况,当常规线程平均压力小,攻击线程压力很大时,增加一个常规线程,并将常规线程转换为攻击线程,根据流类型交换攻击线程和常规线程之间的报文;当常规线程平均压力增大,攻击线程压力变小时,减少一个攻击线程,将攻击线程转换为常规线程,取消两个线程之间的报文交换;若所有线程压力都小于阈值时,系统切换到正常模式,执行步骤二。
13.优选的,步骤一所述基于i级和ii级的两级阈值攻击检测方法的具体方法是,包括以下步骤:
14.步骤一一、重构模式匹配算法自动机,选择≥4层的所有节点,为每个选择的节点增加被访问次数t、i级阈值l1和ii级阈值l2后执行步骤二;
15.步骤一二、自动机接收待匹配数据t,将i级阈值l1阈值节点比例p1和ii级阈值l2阈值节点比例p2设置为0,匹配指针指向t的首字符,扫描当前字符,执行步骤三;
16.步骤一三、统计节点访问次数;判断节点访问次数是否超过i级阈值l1,若当前节点访问次数超过i级阈值l1时,执行步骤四;若当前节点访问次数未超过i级阈值l1时,将当前节点访问次数与ii级阈值l2比较,若当前节点访问次数超过ii级阈值l2时,执行步骤五,若当前节点访问次数未超过ii级阈值l2将匹配指针指向t的下一个字符,扫描下一个字符,执行当前步骤;
17.步骤一四、计算超过i级阈值l1节点访问比例p1;若当前节点访问次数超过节点访问比例p1识别当前节点访问为攻击;若当前节点访问次数未超过节点访问比例p1,返回步骤三;
18.步骤一五、计算超过ii级阈值l2节点访问比例p2;若当前节点访问次数超过节点访问比例p2识别当前节点访问为攻击;若当前节点访问次数未超过节点访问比例p2,返回步骤三。
19.优选的,步骤一一所述设置i级阈值l1的具体方法是,i级阈值取正常流量经过一定时间后每个节点的最大值;
20.l
1i
=max{n
i
}。
21.优选的,步骤一一所述设置ii级阈值l2的具体方法是:
22.l
2i
=(1 m)
×
l
1i
,where 0<m<2
23.其中,m表示预先设置的阈值系数。
24.优选的,步骤一四所述计算超过i级阈值l1的节点访问比例p1的具体方法是:
[0025][0026]
其中,t表示节点的访问次数,k表示设置的阈值节点数,阈值节点应设置在低频访问节点,在真实流量下,ac自动机的高频访问节点在前5层,前3层访问最多,为了防止假阴性率高,将前3层作为高频访问节点,两级阈值设置在≥4层的所有节点。
[0027]
优选的,步骤一五所述计算超过ii级阈值l2的节点访问比例p2的具体方法是:
[0028]
where p2<p1[0029]
其中,t表示节点的访问次数,k表示设置的阈值节点数,阈值节点应设置在低频访问节点,在真实流量下,ac自动机的高频访问节点在前5层,前3层访问最多,为了防止假阴性率高,将前3层作为高频访问节点,两级阈值设置在≥4层的所有节点。
[0030]
一种计算机,包括存储器和处理器,存储器存储有计算机程序,所述的处理器执行所述计算机程序时实现一种面向dpi缓存丢失攻击的防御方法的步骤。
[0031]
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现一种面向dpi缓存丢失攻击的防御方法。
[0032]
本发明的有益效果如下:本发明提出一种面向dpi缓存丢失攻击的防御方法,基于多核的缓存攻击建立防御机制:在资源有限的情况下,利用多核的并行特性,重新调度将攻击流从正常流中分离出来,并指定攻击线程来处理攻击流。这样既可以保证正常流的业务处理,又可以记录部分攻击流以及攻击特征分析与溯源,解决了现有技术存在的dpi系统受到攻击时,处理严重延迟或丢包的技术问题。
附图说明
[0033]
此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
[0034]
图1为本发明实施例所述防御方法流程意图;
[0035]
图2为本发明实施例所述线程交换示意图;
[0036]
图3为本发明实施例所述缓存攻击模型;
[0037]
图4为本发明实施例所述基于多核防御方法架构示意图;
[0038]
图5为本发明实施例所述模式匹配算法扫描结构示意图。
具体实施方式
[0039]
为了使本技术实施例中的技术方案及优点更加清楚明白,以下结合附图对本技术的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本技术的一部分实施例,而不是所有实施例的穷举。需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。
[0040]
实施例1、参照图1

图5,说明本实施方式,本实施例的一种面向dpi多核的缓存丢失攻击的防御方法,本发明针对缓存攻击,提出了基于i级和ii级的两级阈值攻击检测方法和基于多核的缓存攻击防御方法。
[0041]
缓存攻击模型包括两个攻击向量,如图3所示,攻击向量一的目标是dpi系统,效果是使其消耗大量时空资源,导致处理严重延迟或丢包,攻击向量二的目标是dpi系统保护的内网资源,效果是在攻击向量一的基础上将蠕虫、病毒、木马等传输到受害者。本发明主要针对攻击向量一的攻击及防御。
[0042]
构建攻击数据
[0043]
1、攻击者通过公开数据集或社会工程方法获取一些dpi系统的部分模式集,作为先验知识。
[0044]
2、根据不同的模式匹配算法,对先验知识进行预处理,预处理的结果为攻击数据的候选集。预处理的方法为将已获得的模式按模式匹配算法扫描,将扫描的最后一个字符去掉或替换成其它字符。举例如下:ac算法扫描的最后一个字符是模式的最后一个字符,将其直接删除。如图5所述。
[0045]
一种面向dpi多核的缓存丢失攻击的防御方法,包括以下步骤:
[0046]
步骤一、系统启动,运行在正常模式下,所有线程为常规线程,输入流量,启动基于i级和ii级的两级阈值攻击检测方法,设置cpu压力阈值p,启动cpu压力监控;
[0047]
所述i级和ii级的两级阈值攻击检测方法为实施例1所述的一种两级阈值攻击检测方法;
[0048]
步骤二、根据步骤一所述的攻击检测方法识别输入的流量是否存在攻击,若识别存在攻击,执行步骤三,若识别不存在攻击,继续执行当前步骤;
[0049]
步骤三、系统切换到紧急模式,检查常规线程中的cpu压力情况,若某个常规线程的cpu压力超过阈值p,则将压力超过阈值的常规线程转换为攻击线程,将攻击流反馈至负载调度模块,执行步骤四,否则返回步骤二继续识别输入的流量是否存在攻击;
[0050]
步骤四、将常规线程中的攻击流量调度到攻击线程的交换队列,攻击线程中的非攻击流量调度到常规线程的交换队列,执行步骤五;
[0051]
步骤五、检查各线程中的cpu压力情况,当常规线程平均压力小,攻击线程压力很大时,增加一个常规线程,并将常规线程转换为攻击线程,根据流类型交换攻击线程和常规线程之间的报文;当常规线程平均压力增大,攻击线程压力变小时,减少一个攻击线程,将攻击线程转换为常规线程,取消两个线程之间的报文交换;若所有线程压力都小于阈值时,系统切换到正常模式,执行步骤二。
[0052]
系统有两种运行状态:正常模式和紧急模式。当系统在正常模式下运行时,所有线程都是常规线程,并且流量的处理方式与一般的nids相同。一旦攻击检测模块发送攻击反馈,系统立即切换到紧急模式,此时,选择一个cpu压力小的常规线程转换为攻击线程,当常规线程压力较小,攻击线程压力大时,增加一个攻击线程,当常规线程和攻击线程压力都在阈值以下时,取消攻击线程,系统切换到正常模式。线程自动切换示例如图2所示。
[0053]
具体的,步骤一所述基于i级和ii级的两级阈值攻击检测方法的具体方法是,包括以下步骤:
[0054]
步骤一一、重构模式匹配算法自动机,选择≥4层的所有节点,为每个选择的节点增加被访问次数t、i级阈值l1和ii级阈值l2后执行步骤二;
[0055]
步骤一二、自动机接收待匹配数据t,将i级阈值l1阈值节点比例p1和ii级阈值l2阈值节点比例p2设置为0,匹配指针指向t的首字符,扫描当前字符,执行步骤三;
[0056]
步骤一三、统计节点访问次数;判断节点访问次数是否超过i级阈值l1,若当前节点访问次数超过i级阈值l1时,执行步骤四;若当前节点访问次数未超过i级阈值l1时,将当前节点访问次数与ii级阈值l2比较,若当前节点访问次数超过ii级阈值l2时,执行步骤五,若当前节点访问次数未超过ii级阈值l2将匹配指针指向t的下一个字符,扫描下一个字符,执行当前步骤;
[0057]
步骤一四、计算超过i级阈值l1节点访问比例p1;若当前节点访问次数超过节点访问比例p1识别当前节点访问为攻击;若当前节点访问次数未超过节点访问比例p1,返回步骤
三;
[0058]
步骤一五、计算超过ii级阈值l2节点访问比例p2;若当前节点访问次数超过节点访问比例p2识别当前节点访问为攻击;若当前节点访问次数未超过节点访问比例p2,返回步骤三。
[0059]
具体的,步骤一一所述设置i级阈值l1的具体方法是,i级阈值取正常流量经过一定时间后每个节点的最大值;
[0060]
l
1i
=max{n
i
}。
[0061]
具体的,步骤一一所述设置ii级阈值l2的具体方法是:
[0062]
l
2i
=(1 m)
×
l
1i
,where 0<m<2
[0063]
其中,m表示预先设置的阈值系数。
[0064]
具体的,步骤一四所述计算超过i级阈值l1的节点访问比例p1的具体方法是:
[0065][0066]
其中,t表示节点的访问次数,k表示设置的阈值节点数,阈值节点应设置在低频访问节点,在真实流量下,ac自动机的高频访问节点在前5层,前3层访问最多,为了防止假阴性率高,将前3层作为高频访问节点,两级阈值设置在≥4层的所有节点。
[0067]
具体的,步骤一五所述计算超过ii级阈值l2的节点访问比例p2的具体方法是:
[0068]
where p2<p1[0069]
其中,t表示节点的访问次数,k表示设置的阈值节点数,阈值节点应设置在低频访问节点,在真实流量下,ac自动机的高频访问节点在前5层,前3层访问最多,为了防止假阴性率高,将前3层作为高频访问节点,两级阈值设置在≥4层的所有节点。
[0070]
一种面向dpi多核的缓存丢失攻击的防御方法的工作原理:基于多核的算法复杂度攻击防御框架如图4所示,将所有业务线程逻辑上划分为常规线程和攻击线程。流量经负载调度模块分发给常规线程,常规线程运行常用模式匹配算法进行模式匹配。当攻击检测模块检测到缓存攻击时,将攻击流下发给负载调度模块,其将攻击后续流转移到攻击线程处理。常规线程和攻击线程的数量可以根据cpu的压力情况进行自动切换,同时,将自己的线程变更后的类型反馈给负载调度模块,在负载调度模块对反馈确认前,线程间已经收到的报文需要进行交换,避免报文的丢失。
[0071]
本发明的计算机装置可以是包括有处理器以及存储器等装置,例如包含中央处理器的单片机等。并且,处理器用于执行存储器中存储的计算机程序时实现上述的基于creo软件的可修改由关系驱动的推荐数据的推荐方法的步骤。
[0072]
所称处理器可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field

programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0073]
所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作
系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
[0074]
计算机可读存储介质实施例
[0075]
本发明的计算机可读存储介质可以是被计算机装置的处理器所读取的任何形式的存储介质,包括但不限于非易失性存储器、易失性存储器、铁电存储器等,计算机可读存储介质上存储有计算机程序,当计算机装置的处理器读取并执行存储器中所存储的计算机程序时,可以实现上述的基于creo软件的可修改由关系驱动的建模数据的建模方法的步骤。
[0076]
所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read

only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
[0077]
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献