CN115589326B - FIN的LDoS攻击实时检测与缓解方法 - Google Patents
FIN的LDoS攻击实时检测与缓解方法 Download PDFInfo
- Publication number
- CN115589326B CN115589326B CN202211308258.9A CN202211308258A CN115589326B CN 115589326 B CN115589326 B CN 115589326B CN 202211308258 A CN202211308258 A CN 202211308258A CN 115589326 B CN115589326 B CN 115589326B
- Authority
- CN
- China
- Prior art keywords
- programmable switch
- ldos attack
- flow
- data
- ldos
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 40
- 238000011897 real-time detection Methods 0.000 title claims abstract description 21
- 238000001514 detection method Methods 0.000 claims abstract description 86
- 238000012549 training Methods 0.000 claims abstract description 17
- 230000000116 mitigating effect Effects 0.000 claims abstract description 14
- 239000013598 vector Substances 0.000 claims abstract description 14
- 230000004913 activation Effects 0.000 claims abstract description 8
- 239000006185 dispersion Substances 0.000 claims abstract description 8
- 230000007547 defect Effects 0.000 claims abstract description 6
- 230000000737 periodic effect Effects 0.000 claims abstract description 6
- 238000011144 upstream manufacturing Methods 0.000 claims description 15
- 238000004364 calculation method Methods 0.000 claims description 13
- 238000012360 testing method Methods 0.000 claims description 9
- 238000010367 cloning Methods 0.000 claims description 8
- 230000006870 function Effects 0.000 claims description 8
- 238000012545 processing Methods 0.000 claims description 8
- 230000009471 action Effects 0.000 claims description 7
- 238000003062 neural network model Methods 0.000 claims description 7
- 230000002776 aggregation Effects 0.000 claims description 5
- 238000004220 aggregation Methods 0.000 claims description 5
- 238000010606 normalization Methods 0.000 claims description 4
- 238000004458 analytical method Methods 0.000 claims description 3
- 238000013528 artificial neural network Methods 0.000 claims description 3
- 238000002790 cross-validation Methods 0.000 claims description 3
- 230000007123 defense Effects 0.000 claims 3
- 238000005070 sampling Methods 0.000 description 10
- 210000002569 neuron Anatomy 0.000 description 8
- 230000009466 transformation Effects 0.000 description 7
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000013500 data storage Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 239000003550 marker Substances 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000002730 additional effect Effects 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 238000004451 qualitative analysis Methods 0.000 description 1
- 238000004445 quantitative analysis Methods 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1458—Denial of Service
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
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
本发明公开了FIN的LDoS攻击实时检测与缓解方法,属于网络安全领域。其中所述的方法为:收集可编程交换机中采集的流量特征数据,特征包括TCP流量分布熵与TCP数据包数;基于定长前缀匹配实现近似对数运算中结果的小数部分估计、基于广义二项式展开实现近似指数运算,并基于前二者实现除法运算,克服可编程交换机指令缺陷;将收集的特征数据训练LDoS攻击检测模型,基于最长前缀匹配的离差标准化、激活函数与VLIW架构的并行化向量内积操作实现可编程交换机中LDoS攻击检测模型部署;基于有限状态机定义部署于数据平面的LDoS攻击缓解程序,使用基于草图存储的周期性每流字节统计定位攻击流。本发明所述方法能完全部署于数据平面,对LDoS攻击的检测与缓解更加及时。
Description
技术领域
本发明属于计算机网络安全领域,具体涉及FIN的LDoS攻击实时检测与缓解方法,其中,FIN全称为Fully In-Network,译为完全位于网络内部,表示该实时检测与缓解方法完全部署于网络内部的一系列转发设备中,即该实时检测与缓解方法完全部署于数据平面。
背景技术
拒绝服务(DoS)攻击包括了任何通过合法的方式使服务器不能向合法的用户提供服务的手段,DoS攻击至今一直严重危害着网络的安全。如今出现了一种DoS攻击的变种,慢速拒绝服务(LDoS)攻击,它周期性地发送时间短、强度大的脉冲,对网络协议下的一些机制进行破坏,具有不亚于DoS攻击的破坏性,同时具有强隐蔽性和低能耗性,常发生于瓶颈链路中。
传统的软件定义网络(SDN)将网络中的控制逻辑与数据转发逻辑进行解耦,其整体的架构包含控制平面与数据平面,其允许管理员在控制平面进行编程,而数据平面只作出简单的转发动作。控制平面通过定期采样数据平面中的网络流量,处理与分析网络流量数据,发掘其内在的形态与分布特征。因此,传统的SDN中能够有效地检测与缓解具有强隐蔽性LDoS攻击,但现有的一些基于传统SDN的LDoS攻击检测与缓解方法均存在由于控制平面与数据平面通信时延而导致的响应不及时的问题。
可编程数据平面的出现,使数据平面与控制平面一样,具有可编程能力。Programming Protocol-Independent Packet Processors作为主流的数据平面编程语言,简称P4数据平面编程语言,其通过模块化编程来描述数据平面中可编程交换机的处理逻辑,可编程交换机包括Intel旗下的搭载Tofino系列芯片的可编程以太网交换机ASIC与用于软件仿真的Behavioral Model Version 2软件可编程交换机。
可编程交换机的处理逻辑包括6个模块,分别是:解析器、校验和验证、入口流水线、出口流水线、计算校验和、逆解析器。对于每一个进入可编程交换机的数据包,解析器模块通过有限状态转换的形式,自底向上地层次解析数据包中具有的协议首部,比如初始状态下是对数据链路层的以太网协议进行解析,其上层协议可以是网络层中的ipv4协议抑或是ipv6协议,则其拥有两种可能的下一状态,每一种可能的上层协议被解析,都对应一次状态转移。解析结束后,数据包具有的所有协议首部以向量形式的数据结构进行存储,该数据结构实例称为Packet Headers Vector,简称PHV,作为可编程交换机内部处理的直接对象。在对数据包进行校验和验证之后,PHV进入入口流水线模块中处理,紧接着进入出口流水线模块中处理,在入口流水线模块与出口流水线模块中包含一系列Match-Action Table,用于条件匹配并执行匹配到的动作。PHV处理结束之后重新计算校验和,进入逆解析器模块,将处理后的PHV与数据包负载合并后进入可编程交换机队列等待被发出,通过P4数据平面编程语言可对以上6个模块进行编程。
发明内容
本发明针对现有的基于传统SDN的LDoS攻击检测与缓解方法响应不及时的缺点,提出了FIN的LDoS攻击实时检测与缓解方法,其中,FIN全称为Fully In-Network,译为完全位于网络内部,表示该实时检测与缓解方法完全部署于网络内部的一系列转发设备中,即该实时检测与缓解方法完全部署于数据平面。该方法致力于降低数据平面与控制平面之间的通信时延,利用可编程数据平面的优势,提出将LDoS攻击检测模型与LDoS攻击缓解程序直接部署于数据平面中的可编程交换机,从根本上降低了数据平面与控制平面的通信时延。
本发明针对LDoS攻击具有强隐蔽性的特点,选取了合适的流量特征用于LDoS攻击检测模型的预训练。通过分析遭受LDoS攻击时与正常状态下瓶颈链路中的流量分布情况,发现当遭受LDoS攻击时,TCP流量分布情况体现出十分不均匀的特点,区别于正常状态下TCP流量的近似均匀分布。信息论指出,当一个随机事件中每一种情况发生的可能性趋于相同时,意味着此时难以评估出哪一种情况相比于其他情况更容易发生,即此时的不确定性越高,那么可以得出,正常状态下的TCP流量分布带有的不确定性比攻击发生时更高。因此,TCP流量分布的不确定性能够判定是否发生了LDoS攻击。为了度量TCP流量分布的不确定性,通过以下的信息熵公式对其进行数学量化。
其中,InformationEntropy表示信息熵,pi代表一个具体随机变量取值为i时的概率。
由于信息熵度量的方式与数学形式上的随机事件发生的概率直接相关,因此为了将原先对TCP流量分布情况的定性分析转化为使用信息熵量化的定量分析,将对其进一步描述为具体的随机事件。考虑总体流量下的一段数据包序列,将其进行等长划分为n个子序列,其编号分别为0,1,...,n-2,n-1。定义离散随机变量为X,其可能的取值为子序列的编号,并且X满足以下公式所示的概率分布。
其中CurTCPnum(i)代表了第i个子序列含有的TCP数据包个数,而TCPTot代表了整个数据包序列中TCP数据包的总数。
根据上述的数学形式表述,定义TCP流量分布熵,使用TCP流量分布熵作为LDoS攻击检测模型输入中的一项流量特征,将TCP流量分布熵记作TCPDEntropy,计算TCP流量分布熵的公式如下所示,其是信息熵公式对于特定的随机变量下的变式。
另外,单位时间内TCP数据包数量降低是LDoS攻击的直接的效果,因此选择TCP数据包数作为LDoS攻击检测模型输入的第二项流量特征。综上,针对LDoS攻击产生的效果,选取了两项流量特征用于LDoS攻击检测模型的训练,分别是TCP流量分布熵与TCP数据包数。
本发明针对可编程交换机中实时流量特征数据采集的问题,根据具体需要的两项流量特征,包括TCP流量分布熵与TCP数据包数,制定了每数据包操作的流量特征数据采集流程。首先,该两项特征均是聚合特征,需要通过一段数据包序列的全部信息进行计算,因此,对于进入可编程交换机的数据包总体序列,按照数据包数量进行划分检测窗口,每个检测窗口结束时将得到聚合的两项流量特征数据。其次,TCP流量分布熵的计算以离散随机变量的分布为前提,需将一整段数据包序列再次均等划分为若干离散的数据包子序列,因此,将检测窗口划分为若干采样窗口,则此时采样窗口即为一段自定义长度的数据包序列,而检测窗口即为一段自定义长度的采样窗口序列。最后,每数据包的流量特征数据采集采用可编程交换机中寄存器进行有状态存储。流量特征数据采集具体流程如下:
1)当前进入的数据包位于采样窗口中且非窗口末端数据包。判断当前数据包的PHV是否含有TCP协议首部,如果有,则当前采样窗口的TCP数据包数的计数值加1。
2)当前进入的数据包是采样窗口末端数据包。首先,需要完成上面一种情况的所有操作。其次,取出当前采样窗口的TCP数据包数,使用如下公式计算。
TCPDEntropyV+=log2(CurTCPnum)·CurTCPnum
TCPTot+=CurTCPnum
其中TCPDEntropyV代表TCPDEntropy中求和计算部分的中间变量,每一次采样窗口结束均会对它进行累加,直到一个检测窗口当中最后一个采样窗口的累加计算完毕,TCPDEntropyV计算完毕,而CurTCPnum代表当前采样窗口的TCP数据包数,TCPTot代表当前检测窗口的TCP数据包数。
3)当前进入的数据包是检测窗口末端数据包。首先,需要完成上面两种情况的所有操作。其次,取出当前检测窗口的TCP数据包数TCPTot与求和计算部分的中间变量TCPDEntropyV,使用以下公式计算TCPDEntropy。
本发明针对可编程交换机中缺乏数据存储类型的问题,与指令集中缺乏对数运算、指数运算与除法运算而无法进行聚合特征计算的问题,对于前者,提出对无符号数进行定点标记,规定无符号数的后Decprecision位为小数位。对于后者,提出了基于定长前缀匹配的方式实现可编程交换机中对数运算结果中小数部分的估计,进而实现可编程交换机中近似对数运算,另外,基于广义二项式展开实现了近似指数运算,并在近似对数运算与近似指数运算的基础上实现了可编程交换机中的近似除法运算。具体的实现细节如下:
1.近似对数运算。对于一个给定的操作数x,其通过对数运算后的计算结果可以分为整数部分与小数部分,将操作数x以二进制位串的形式表示,根据二进制与十进制之间的转化规则,求取整数部分的问题转化为求取x的二进制位串中有效最高位的下标即最高位1的下标的问题。由于可编程交换机中无法执行迭代操作,通过迭代遍历获取任意二进制位串最高有效位下标的传统方法不适用。因此提出了一种仅基于可编程交换机支持的位运算实现的方法,用于获取任意二进制位串最高有效位下标。考虑到该问题下的一种特殊情况,即当二进制位串的每一位均为1时,相比一般情况下能够体现出一种新的数学性质,即最高位1的下标等于二进制位串中所有1的计数值,如下公式所示,其中MaxIndex即为最高位1的下标。
MaxIndex=statisticForOne(x)-1,x=11...1
将该特殊情况下用于求取最高位1所在下标的方法推广到任意二进制位串。此时对于任意的二进制位串,将其进行变换操作,具体操作内容是将任意二进制位串中最高位1之后的每一位都置为1,并将该操作记作T。由于最高位1的下标是在变换操作T执行过程中不发生变化的,通过计数经过变换操作T之后的二进制位串中1的个数,仍然能求取该位串在进行变换操作T之前的最高位1的下标。于是求取任意二进制位串中最高位1的下标,可以通过统计经过变换操作T之后的二进制位串中1的总个数。在进行变换操作T的过程中,给定一个位宽为n的二进制位串xn-1...xmxm-1...x1x0,其中xm=1(2),当前能够确定的是,置为1的比特位数为1,此时将原二进制位串右移1位,得到的结果与原二进制位串按位析取,那么此时置为1的比特位数变为2,即xmxm-1=11(2),接着将析取后的二进制位串右移2位后,得到的结果再与其本身继续析取,以此类推,实现变换操作T。最终通过快速的计数算法,诸如汉明权重算法统计执行变换操作T之后的二进制位串中1的个数,得到MaxIndex的值,也就是对数运算中整数部分的值,完成对数运算中整数部分的计算,整数部分的值是可确定的。
对数运算的小数部分Resultdec,可以通过运算结果减去结果中整数部分得到,如下公式所示。
由于x的值任意选取带来的不确定性,小数部分只能通过估计的方式计算,因此,提出了一种基于定长前缀匹配的小数部分估计。定长前缀的首位即是操作数x的二进制位串中固定的首位1,定义定长前缀的长度为Kbit+1,此时通过前缀的聚类能将无限范围下的操作数x投影到离散的一系列区间中。首先,将操作数中除定长前缀部分外置零后得到进而小数部分精确值/>可以使用/>进行估计。接着,将/>与2MaxIndex同时进行算数右移(MaxIndex+1-(Kbit+1))位,分数线的上方现在仅是一个长度为Kbit+1的定长前缀位串,而分数线下方也由原先根据x取值不同而无法确定的2MaxIndex变为了/>其中是人为拟定的一个定值,进而估计值被表示为/>如下公式所示。
最终,对于任意操作数进行对数运算时的小数部分都将由该操作数x中Kbit+1长度的前缀决定。其中用于查询的离散值需要进行预先计算,在获取到用于匹配的一系列离散值之后,通过使用二叉树查询的方式得到与前缀相匹配的小数部分估计值,整合整数部分与小数部分得到近似对数运算的结果,以上方法能够使用可编程交换机提供的指令集以及数据存储类型进行实现,将近似对数运算记作LogES2(x)。
2.近似指数运算。基于广义二项式展开的方式,如下公式所示,对近似指数运算进行了实现。
通过以下公式,将次幂x划分为整数部分int与小数部分dec。
2x=2int×2dec,int+dec=x
计算2int仅需通过位运算实现,而对于2dec的计算,其结果非整数,因此其需要使用定点标记的方法,预置无符号类型的2dec后Decprecision位为小数位。将2dec左移Decprecision位,即将其进行2的指数放大,如下公式所示。
float(i)=iamplified=i<<Decprecision
其中i代表任意取值,float(i)代表i的定点标记表示,iamplified代表i进行2的指数放大的结果。
次幂x即操作数x,其小数部分dec的定点标记表示可以通过定点标记表示下的操作数x减去定点标记表示下的操作数x的整数部分得到,如下公式所示。
decamplified=xamplified-intamplified
将广义二项展开的等式两边所有元素同时进行2的指数倍放大,得到定点标记表示形式的广义二项展开式,如下公式所示。此时计算得到2dec的定点标记表示,接着与2int相乘,得到2x的定点标记表示。以上方法能够使用可编程交换机提供的指令集以及数据存储类型进行实现,将近似指数运算记作ExpES2(x)。
3.近似除法运算。在近似对数运算与近似指数运算的基础上通过将除法运算等价为指数运算与对数运算的嵌套实现了数据平面中的近似除法运算,如下公式所示。其中近似除法运算记作DivisionES(x,y)。
本发明针对可编程交换机向外传递信息的问题,提出以特定方式将信息附加在克隆数据包向外传递。其中特定方式指的是,得益于P4数据平面编程语言的协议无关特性,进行自定义数据包协议首部,在该协议首部中定义特定字段用于存储要携带的信息,在克隆数据包从可编程交换机中发出前,设置该协议首部有效,并设置协议首部中的字段值为所要携带的信息。
本发明针对现有的基于传统SDN的LDoS攻击检测与缓解方法响应不及时的缺点,提出了FIN的LDoS攻击实时检测与缓解方法,具体包括四个步骤:收集可编程交换机中采集的流量特征数据、预训练LDoS攻击检测模型、部署LDoS攻击检测模型于数据平面实现实时检测、部署LDoS攻击缓解程序于数据平面实现缓解。
1.收集可编程交换机中采集的流量特征数据。对瓶颈链路下游的可编程交换机初始载入基于P4数据平面编程语言编写的可执行程序,该程序包含每数据包操作的流量特征数据采集流程,在整个网络运行中,可编程交换机将实时地自动地进行数据采集与特征聚合,在每一个检测窗口结束时,将会通过克隆原语克隆当前检测窗口中最后一个数据包,将聚合好的流量特征数据,包括TCP流量分布熵TCPDEntropy与TCP数据包数TCPTot,使用自定义协议首部携带二者,并附加在克隆数据包后,从指定的可编程交换机端口发出,该端口的编号通过向可编程交换机添加镜像会话指定,连接该端口至服务器,服务器中运行网络封包分析软件Wireshark进行持续监听,捕获从该端口前来的附加有特征数据的克隆数据包,在收集结束之后,网络封包分析软件以pcap文件的格式,导出所有已捕获的、附加有特征数据的克隆数据包,使用libpcap所提供的应用程序编程接口对pcap文件进行处理,对每一个克隆数据包进行协议首部字段解析,每个克隆数据包被解析后,获得一条对应的流量特征数据记录,最终整合每一条记录得到用于LDoS攻击检测模型训练的数据集,该数据集中的每一条记录包括两项特征,分别是TCP数据包数量分布熵与TCP数据包数,以及监督学习所需的标签,其中,标签1代表瓶颈链路中遭受了LDoS攻击,标签0代表瓶颈链路中未遭受LDoS攻击。
2.预训练LDoS攻击检测模型。将流量特征数据集进行离差标准化,通过k折交叉验证的方式,首先将标准化后的数据集均匀划分为k份,接着将其中某一份作为训练集输入到二分类神经网络中进行训练得到一个LDoS攻击检测模型,剩余k-1份作为测试集对该LDoS攻击检测模型进行k-1次测试,最终选择在k-1次测试下平均正确率最高的LDoS攻击检测模型,记录本次模型参数,用于之后LDoS攻击检测模型在数据平面中的部署。
3.部署LDoS攻击检测模型于数据平面实现实时检测。该LDoS攻击检测模型部署于瓶颈链路下游的可编程交换机,对第一个步骤中载入的程序进行扩展;在包含每数据包操作的流量特征数据采集流程基础上,添加了匹配可编程交换机处理能力的二分类神经网络模型的运行流程,其中基于P4数据平面编程语言重新实现了二分类神经网络模型运行流程中的基本操作,使这些基本操作能够克服可编程交换机中指令缺陷与满足数据包线速转发,并设置其中参数为第二个步骤中得到的模型参数;重新编译程序并载入瓶颈链路下游的可编程交换机后,实现LDoS攻击检测模型于数据平面的部署;该运行流程中主要包括三个基本操作,均实现在可编程交换机的入口流水线模块,分别是:基于最长前缀匹配的离差标准化与激活函数,以及基于VLIW架构的并行化向量内积操作,具体实现如下:
1)通过将检测窗口下聚合的特征值与其离差标准化结果之间的映射关系,在误差允许范围内,聚合成一系列离散的最长前缀匹配表项,同理,在误差允许范围内,将连续分布的激活函数中输入与输出的映射关系也通过一系列离散的最长前缀匹配表项进行表示,使用两个Match-Action Table分别存储自动离差标准化与激活函数的最长前缀匹配表项。
2)对于二分类神经网络模型中的单个神经元中的向量内积操作,将其抽象为一系列的双操作数的乘法模块与加法模块。在第一阶段,两个向量中对应维度的值两两相乘,此时对应了若干个乘法模块,这些模块将并行执行乘法操作。在第二阶段,将一系列乘法模块输出的结果,两两输入到加法模块,加法模块的输出结果依旧两两输入加法模块,直到此时只有单个加法模块进行输出,该输出即是并行化的向量内积操作的结果。该并行化的向量内积操作基于Very Long Instruction Word并行架构实现,简称VLIW并行架构,该架构内置于Match-Action Table的底层实现中,因此在若干个Match-Action Table的基础上,实现并行化的向量内积操作,其中单个乘法模块或者加法模块对应单个Match-ActionTable。最终模型输出LDoS攻击检测的标签,标签1代表瓶颈链路中遭受了LDoS攻击,标签0代表瓶颈链路中未遭受LDoS攻击,实现LDoS攻击的实时检测。
4.部署LDoS攻击缓解程序于数据平面实现缓解。该LDoS攻击缓解程序部署于瓶颈链路上游的可编程交换机。部署了LDoS攻击检测模型的下游可编程交换机在每个检测窗口完成检测后,通过克隆原语克隆数据包,使用自定义协议首部携带LDoS攻击检测的标签,并附加在克隆数据包上,发送给瓶颈链路上游的可编程交换机。瓶颈链路上游的可编程交换机中部署了LDoS攻击缓解程序,该程序通过有限状态机的形式描述并基于P4数据平面编程语言编写,其中一共包含三种状态,分别是链路安全状态、防御状态与防御退出状态,具体的状态转换过程如下:
1)初始时,瓶颈链路上游的可编程交换机处于链路安全状态,在链路安全状态下,位于瓶颈链路上游的可编程交换机不作出额外动作,只执行正常转发。在链路安全状态下,如果接收到的LDoS攻击检测的标签为0,指示当前未发生LDoS攻击,则保持链路安全状态;当接收到的LDoS攻击检测的标签为1,指示当前发生了LDoS攻击,则进入防御状态。
2)在防御状态下,位于瓶颈链路上游的可编程交换机作出LDoS攻击缓解动作,开启周期性每流字节统计进行攻击流定位,以源IP地址与目的IP地址为流标识划分不同流;每流字节统计值的存储基于草图实现,草图是一种概率数据结构,在可编程交换机中使用多个有状态寄存器组成的阵列实现,并使用了多个不同的哈希函数进行流标识映射,防止哈希碰撞。由于LDoS攻击流是周期性的突发脉冲流,在脉冲时间结束后保持静默,导致攻击流的字节统计值在相邻的每流字节统计周期之间较高概率出现明显差异。因此,当属于某条流的数据包进入了位于瓶颈链路上游的可编程交换机,将当前每流字节统计周期内该流的字节统计值与上一个每流字节统计周期内该流的字节统计值进行比对,当二者的变化量超过设定的阈值时,程序认定该流为攻击流,加入可编程交换机本地维护的丢包列表并对属于该流的数据包进行丢弃操作,从而达到LDoS攻击缓解的目的。在防御状态下,如果接收到的LDoS攻击检测的标签为1,指示当前依然存在LDoS攻击,则保持防御状态;当接收到的LDoS攻击检测的标签为0,指示当前未发生LDoS攻击,则进入防御退出状态。
3)在防御退出状态下,依旧作出周期性的每流字节统计动作,进一步判别攻击流是否真正地消失;当一段时间内任意两个相邻的每流字节统计周期下,所有流的字节统计值的变化量均未超过设定阈值,则此时可以认为缓解结束,并在下一次接收的LDoS攻击检测的标签为0时,跳转进入链路安全状态,此时LDoS攻击缓解完成,释放丢包列表中标记的攻击流;而当接收到的LDoS攻击检测的标签为1,指示LDoS攻击依然存在,则重新进入防御状态,继续进行LDoS攻击缓解。
有益效果
该LDoS攻击实时检测与缓解方法,在不影响可编程交换机线速转发的情况下,完全部署于数据平面,从根本上降低了数据平面与控制平面频繁通信导致的往返时延,对LDoS攻击的检测与缓解更加及时。
附图说明
图1为收集可编程交换机中采集的流量特征数据的流程图。收集结束后得到用于LDoS攻击检测模型训练的数据集。
图2为可编程交换机中二分类神经网络模型运行的流程图。可编程交换机在每一个检测窗口结束时,按照模型的运行流程进行一系列操作,包括基于最长前缀匹配的离差标准化与激活函数,以及基于VLIW架构的并行化向量内积操作。运行流程结束后,输出LDoS攻击检测标签。
图3为预训练LDoS攻击检测模型的流程图。
图4为FIN的LDoS攻击实时检测与缓解方法的部署与运行流程图。
具体实施方式
下面结合附图对本发明进一步说明。
图1为收集可编程交换机中采集的流量特征数据的流程图。在开启SDN网络的运行后,可编程交换机将实时地自动地进行数据采集与特征聚合,包括计算TCP流量分布熵TCPDEntropy与TCP数据包数TCPTot,在每一个检测窗口结束时,将会通过克隆原语克隆当前检测窗口中最后一个数据包,将聚合好的流量特征数据作为自定义协议首部中的字段,并附加在克隆数据包上,从指定的可编程交换机端口发出,该端口的编号通过向可编程交换机添加镜像会话指定,连接该端口至服务器,服务器中运行网络封包分析软件Wireshark进行持续监听,捕获从该端口前来的附加有特征数据的克隆数据包,在收集结束之后,网络封包分析软件以pcap文件的格式,导出所有已捕获的、附加有特征数据的克隆数据包,使用libpcap所提供的应用程序编程接口,对每一个克隆数据包进行协议首部字段解析,每个克隆数据包被解析后,获得一条对应的流量特征数据记录,最终整合每一条记录得到用于LDoS攻击检测模型训练的数据集。
图2为可编程交换机中二分类神经网络模型运行的流程图。可编程交换机在每一个检测窗口结束时,将会执行该流程。首先,将检测窗口内聚合的特征值,包括TCP流量分布熵TCPDEntropy与TCP数据包数TCPTot,进行基于最长前缀匹配的离差标准化,得到一个二维向量。接着,通过并行化的向量内积操作计算隐藏层神经元的输入值,在隐藏层神经元中,输入值在基于最长前缀匹配的激活函数的映射下,得到隐藏层神经元的输出值。最后,再次通过并行化的向量内积操作计算输出层神经元的输入值,在输出层神经元中,输入值在基于最长前缀匹配的激活函数的映射下,得到输出层神经元输出值。输出层神经元的输出值再次经过阈值判定,得到每个检测窗口的LDoS攻击检测标签。
图3为预训练LDoS攻击检测模型的流程图。将流量特征数据集进行离差标准化,通过k折交叉验证的方式将标准化后的数据集均匀划分为k份,将其中某一份作为训练集输入到二分类神经网络中进行训练得到一个LDoS攻击检测模型,剩余k-1份作为测试集对该LDoS攻击检测模型进行k-1次测试,最终选择在k-1次测试下平均正确率最高的LDoS攻击检测模型,记录本次模型参数。
图4为FIN的LDoS攻击实时检测与缓解方法的部署与运行流程图。该实时检测与缓解方法的部署包括以下四个步骤:收集可编程交换机中采集的流量特征数据、预训练LDoS攻击检测模型、部署LDoS攻击检测模型于数据平面实现实时检测、部署LDoS攻击缓解程序于数据平面实现缓解。在执行以上四个步骤后,完成FIN的LDoS攻击实时检测与缓解方法的部署。此时运行SDN网络,瓶颈链路上游的可编程交换机将会在每一个检测窗口结束时进行LDoS攻击检测,并发送LDoS攻击检测标签给瓶颈链路上游的可编程交换机;瓶颈链路上游的可编程交换机在初始链路安全状态下,收到LDoS攻击检测标签为1时,进入防御状态执行LDoS攻击缓解动作,开启周期性的每流字节统计定位攻击流,并将攻击流加入丢包列表,之后将会丢弃属于攻击流的数据包,达到缓解目的;收到LDoS攻击检测标签为0时,保持链路安全状态。在防御状态下,收到LDoS攻击检测标签为1时,保持防御状态;收到LDoS攻击检测标签为0时,进入防御退出状态,并保持周期性的每流字节统计,用于判定攻击流是否真正地消失。在防御退出状态下,收到LDoS攻击检测标签为1时或者某条流在相邻周期间的字节统计变化量超过了阈值,则回退至防御状态;如果在一段预设时间内周期性的每流字节统计变化量均正常,则在下一次收到LDoS攻击检测标签为0时,进入链路安全状态,缓解结束。
Claims (2)
1.FIN的LDoS攻击实时检测与缓解方法,其特征在于,FIN全称为Fully In-Network,译为完全位于网络内部,表示该实时检测与缓解方法完全部署于网络内部的一系列转发设备中,即该实时检测与缓解方法完全部署于数据平面,该实时检测与缓解方法包括以下几个步骤:
步骤1、收集可编程交换机中采集的流量特征数据:对瓶颈链路下游的可编程交换机初始载入基于P4数据平面编程语言编写的可执行程序,该程序包含每数据包操作的流量特征数据采集流程,在整个网络运行中,可编程交换机将实时地自动地进行数据采集与特征聚合,在每一个检测窗口结束时,将会通过克隆原语克隆当前检测窗口中最后一个数据包,将聚合好的流量特征数据,包括TCP流量分布熵与TCP数据包数,作为自定义协议首部的字段附加在克隆数据包后,从指定的可编程交换机端口发出,在该端口处使用网络封包分析软件捕获一系列的克隆数据包并导出,接着再对这些克隆数据包进行协议首部字段解析,每个克隆数据包被解析后,获得一条对应的流量特征数据记录,最终整合所有记录,得到用于训练LDoS攻击检测模型的流量特征数据集;
步骤2、预训练LDoS攻击检测模型:将流量特征数据集进行离差标准化,通过k折交叉验证的方式,首先将标准化后的数据集均匀划分为k份,接着将其中某一份作为训练集输入到二分类神经网络中进行训练得到一个LDoS攻击检测模型,剩余k-1份作为测试集对该LDoS攻击检测模型进行k-1次测试,最终选择在k-1次测试下平均正确率最高的LDoS攻击检测模型,记录本次模型参数,用于之后LDoS攻击检测模型在数据平面中的部署;
步骤3、部署LDoS攻击检测模型于数据平面实现实时检测:该LDoS攻击检测模型部署于瓶颈链路下游的可编程交换机,对步骤1中载入的程序进行扩展;在包含每数据包操作的流量特征数据采集流程基础上,添加了匹配可编程交换机处理能力的二分类神经网络模型的运行流程,其中基于P4数据平面编程语言重新实现了二分类神经网络模型运行流程中的基本操作,使这些基本操作能够克服可编程交换机中指令缺陷与满足数据包线速转发,并设置其中参数为步骤2中得到的模型参数;重新编译程序并载入瓶颈链路下游的可编程交换机后,实现LDoS攻击检测模型于数据平面的部署;该运行流程中主要包括三个基本操作,均实现在可编程交换机的入口流水线模块,分别是:基于最长前缀匹配的离差标准化与激活函数,以及基于VLIW架构的并行化向量内积操作;在LDoS攻击检测模型每次运行结束后,输出LDoS攻击检测的标签,标签1代表瓶颈链路中遭受了LDoS攻击,标签0代表瓶颈链路中未遭受LDoS攻击,最终实现LDoS攻击的实时检测;
步骤4、部署LDoS攻击缓解程序于数据平面实现缓解:该LDoS攻击缓解程序部署于瓶颈链路上游的可编程交换机,部署了LDoS攻击检测模型的下游可编程交换机在每个检测窗口完成检测后,通过克隆原语克隆数据包,使用自定义协议首部携带LDoS攻击检测的标签,并附加在克隆数据包上,发送给瓶颈链路上游的可编程交换机;瓶颈链路上游的可编程交换机中部署了LDoS攻击缓解程序,该程序通过有限状态机的形式描述并基于P4数据平面编程语言编写,其中一共包含三种状态,分别是链路安全状态、防御状态与防御退出状态,主要的LDoS攻击缓解动作在瓶颈链路上游的可编程交换机进入防御状态时执行,包括基于草图存储的周期性每流字节统计,其用于定位攻击流,在定位到攻击流后将其加入瓶颈链路上游的可编程交换机本地维护的丢包列表,对属于攻击流的数据包进行丢弃,最终实现LDoS攻击的缓解。
2.根据权利要求1中所述的LDoS攻击实时检测与缓解方法,其特征在于,步骤1中TCP流量分布熵与TCP数据包数的计算单位为单个检测窗口内的数据包序列;TCP流量分布熵基于信息熵定义,描述的是一段数据包序列中TCP流量分布的不确定性;将宏观的TCP流量分布,使用随机变量的概率分布进行量化描述;具体为:对于一段数据包序列,均等划分为若干子序列,定义随机变量为子序列的编号,该随机变量的概率分布定义为子序列的TCP数据包数与总体序列的TCP数据包数的比值,将该随机变量的概率分布用于描述宏观的TCP流量分布,代入信息熵公式计算TCP流量分布熵;其中,TCP流量分布熵的计算涉及对数运算与除法运算,由于可编程交换机中指令缺陷,无法进行对数运算与除法运算,因此,基于定长前缀匹配的方式实现了可编程交换机中对数运算结果中小数部分的估计,进而实现可编程交换机中近似对数运算,基于广义二项式展开实现了可编程交换机中的近似指数运算,在近似对数运算与近似指数运算的基础上,通过将除法运算等价为指数运算与对数运算的嵌套,实现了可编程交换机中的近似除法运算,最终使得可编程交换机中能够计算TCP流量分布熵。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211308258.9A CN115589326B (zh) | 2022-10-25 | 2022-10-25 | FIN的LDoS攻击实时检测与缓解方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211308258.9A CN115589326B (zh) | 2022-10-25 | 2022-10-25 | FIN的LDoS攻击实时检测与缓解方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115589326A CN115589326A (zh) | 2023-01-10 |
CN115589326B true CN115589326B (zh) | 2024-04-19 |
Family
ID=84782538
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211308258.9A Active CN115589326B (zh) | 2022-10-25 | 2022-10-25 | FIN的LDoS攻击实时检测与缓解方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115589326B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102281295A (zh) * | 2011-08-06 | 2011-12-14 | 黑龙江大学 | 一种缓解分布式拒绝服务攻击的方法 |
CN111917800A (zh) * | 2020-08-14 | 2020-11-10 | 王志东 | 基于协议的外置授权系统及授权方法 |
WO2021227322A1 (zh) * | 2020-05-13 | 2021-11-18 | 南京邮电大学 | 一种SDN环境DDoS攻击检测防御方法 |
CN114021135A (zh) * | 2021-11-15 | 2022-02-08 | 湖南大学 | 一种基于R-SAX的LDoS攻击检测与防御方法 |
-
2022
- 2022-10-25 CN CN202211308258.9A patent/CN115589326B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102281295A (zh) * | 2011-08-06 | 2011-12-14 | 黑龙江大学 | 一种缓解分布式拒绝服务攻击的方法 |
WO2021227322A1 (zh) * | 2020-05-13 | 2021-11-18 | 南京邮电大学 | 一种SDN环境DDoS攻击检测防御方法 |
CN111917800A (zh) * | 2020-08-14 | 2020-11-10 | 王志东 | 基于协议的外置授权系统及授权方法 |
CN114021135A (zh) * | 2021-11-15 | 2022-02-08 | 湖南大学 | 一种基于R-SAX的LDoS攻击检测与防御方法 |
Non-Patent Citations (2)
Title |
---|
LDoS Attack Detection Based on ASNNC-OFA Algorithm;Xinmeng Li Et.AL;《2021 IEEE Wireless Communications and Networking Conference (WCNC)》;20210505;全文 * |
基于数据包分析的网络攻击诊断研究;马之力;智勇;张驯;闫晓斌;党倩;袁晖;朱小琴;;网络空间安全;20160710(07);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN115589326A (zh) | 2023-01-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110519290B (zh) | 异常流量检测方法、装置及电子设备 | |
WO2018103453A1 (zh) | 检测网络的方法和装置 | |
US8483056B2 (en) | Analysis apparatus and method for abnormal network traffic | |
US8327443B2 (en) | MDL compress system and method for signature inference and masquerade intrusion detection | |
Zhang et al. | Low-rate DoS attack detection using PSD based entropy and machine learning | |
US10523693B2 (en) | System and method for real-time tuning of inference systems | |
Janabi et al. | Overhead reduction technique for software-defined network based intrusion detection systems | |
CN113556253A (zh) | 预测交换机端口实时流量的方法、系统、设备和存储介质 | |
EP1780955A1 (en) | Monitoring method and apparatus of processing of a data stream with high rate/flow | |
Hameed et al. | IoT traffic multi-classification using network and statistical features in a smart environment | |
CN110300008A (zh) | 一种确定网络设备的状态的方法及装置 | |
CN110138681B (zh) | 一种基于tcp报文特征的网络流量识别方法及装置 | |
CN115589326B (zh) | FIN的LDoS攻击实时检测与缓解方法 | |
US11102082B1 (en) | System and method for inferring operating systems using transmission control protocol fingerprints | |
Salah | Queuing analysis of network firewalls | |
Labonne et al. | Predicting bandwidth utilization on network links using machine learning | |
Rhohim et al. | Denial of Service Traffic Validation Using K-Fold Cross Validation on Software Defined Network | |
CN114362972B (zh) | 一种基于流量摘要和图采样的僵尸网络混合检测方法及系统 | |
WO2021147371A1 (zh) | 故障检测方法、装置及系统 | |
KR20210060180A (ko) | 네트워크의 이상 감지 방법 및 장치 | |
Mestry et al. | Deep learning-Based Real-time malicious network traffic detection system for Cyber-Physical Systems | |
Kempa | Time-dependent queue-size distribution in the finite GI/M/1 model with AQM-type dropping | |
Nie et al. | A reconstructing approach to end‐to‐end network traffic based on multifractal wavelet model | |
Wang et al. | Neural network based online flow classifier implemented by fpga in optical DCN | |
CN115580490B (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 |