CN113660209A - 一种基于sketch与联邦学习的DDoS攻击检测系统及应用 - Google Patents

一种基于sketch与联邦学习的DDoS攻击检测系统及应用 Download PDF

Info

Publication number
CN113660209A
CN113660209A CN202110805021.0A CN202110805021A CN113660209A CN 113660209 A CN113660209 A CN 113660209A CN 202110805021 A CN202110805021 A CN 202110805021A CN 113660209 A CN113660209 A CN 113660209A
Authority
CN
China
Prior art keywords
sketch
data
attack
model
information
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
CN202110805021.0A
Other languages
English (en)
Other versions
CN113660209B (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.)
Shanghai Industrial Control Safety Innovation Technology Co ltd
East China Normal University
Original Assignee
Shanghai Industrial Control Safety Innovation Technology Co ltd
East China Normal University
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 Shanghai Industrial Control Safety Innovation Technology Co ltd, East China Normal University filed Critical Shanghai Industrial Control Safety Innovation Technology Co ltd
Priority to CN202110805021.0A priority Critical patent/CN113660209B/zh
Publication of CN113660209A publication Critical patent/CN113660209A/zh
Application granted granted Critical
Publication of CN113660209B publication Critical patent/CN113660209B/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/1441Countermeasures against malicious traffic
    • H04L63/1458Denial of Service
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • 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
    • H04L63/1416Event detection, e.g. attack signature detection
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing 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)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Evolutionary Computation (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Medical Informatics (AREA)
  • Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种基于sketch与联邦学习的DDoS攻击检测系统,所述攻击检测系统包括一种时序多维sketch,包括四个维度:第一个维度记录数据流的数据包数量,第二个维度记录数据流的总大小信息,第三个维度记录当前时间区间内CPU的累计利用率,第四个维度使用摩尔投票算法记录众数流的ID与计数信息;所述攻击检测系统利用联邦学习的分布式特性降低分布式控制器中模型部署的复杂度,提升系统维护的效率。

Description

一种基于sketch与联邦学习的DDoS攻击检测系统及应用
技术领域
本发明属于计算机系统技术领域,涉及一种基于sketch与联邦学习的DDoS攻击检测系统及应用。
背景技术
DDoS攻击因为攻击成本低,对被攻击方的损害大,近年来发展越来越猖獗。DDoS攻击通过使用大量傀儡机同时发送大量虚假请求来耗尽系统资源,从而导致系统无法响应正常的用户请求,造成服务瘫痪或者网络瘫痪。DDoS攻击检测对于网络安全防护具有重要意义,但是目前的一些DDoS攻击检测方法如基于sketch的heavy-hitter特征提取方法和基于机器学习的方法通常需要大量的开销。通过sketch的heavy-hitter特征提取方法时,sketch记录数据流的数量信息,为了记录heavy-hitter数据流,需要辅助的数据结构小根堆来记录数据流的唯一标识和流的计数信息。考虑极端情况下所有数据包的计数都相同,这时记录所有的heavy-hitter将会出现大量的内存开销,可能影响可编程交换机的正常转发功能。基于机器学习的DDoS攻击检测有两种方案,一是导出数据流的特征,进行离线检测,但该检测方法通常无法实时检测当前网络中的数据流是否存在DDoS攻击,只能为事后预防提供信息。另一种方案是基于数据流特征的在线检测,该方法通过将每个数据包的特征输入机器学习模型来推断数据流是否是攻击数据流。通过该方法进行检测时,需要消耗网络设备的大量计算资源,当网络中瞬时出现大量的数据流时,该方法可能导致设备无法提供服务。
发明内容
为了解决现有技术存在的不足,本发明的目的是提供一种基于sketch与联邦学习的DDoS攻击检测系统。本发明涉及软件定义网络领域的DDoS攻击检测问题,在考虑现有技术存在的问题的前提下设计了一种时序多维sketch,并结合了机器学习技术,两种方法的结合保证了内存开销的确定性,并且降低了仅使用基于数据流特征机器学习的计算开销,保证了系统的稳定性。因为结合了时序多维sketch与联邦学习技术,降低了传统仅通过sketch或机器学习方法的计算和存储开销。
本发明设计了一种时序多维sketch,利用多维时序sketch记录数据平面中可编程交换机一段时间内数据流的统计信息。在此基础上,本发明首先使用基于sketch的机器学习技术分析时序sketch是否存在DDoS攻击,当存在DDoS攻击时,从多维时序sketch中提取可疑流,然后使用基于流特征的机器学习技术判断可疑流是否是攻击数据流。对于攻击流生成过滤规则下发到数据平面的交换机中,自动过滤攻击数据流,从而防御网络中的DDoS攻击。如图1所示系统主要分为四个部分,分别是系统的搭建,多维时序sketch生成,联邦学习分析,攻击统计与模型维护。后三个部分的功能按照软件定义网络的划分原则,系统主要部署在三个平面,分别是应用平面、控制平面和数据平面。
本发明提出了一种基于sketch与联邦学习的DDoS攻击检测系统,所述攻击检测系统中应用的sketch为一种时序多维sketch,包括四个维度:第一个维度记录数据流的数据包数量,第二个维度记录数据流的总大小信息,第三个维度记录当前时间区间内CPU的累计利用率,第四个维度使用摩尔投票算法记录众数流的ID与计数信息;
所述攻击检测系统利用联邦学习的分布式特性降低分布式控制器中模型部署的复杂度,提升系统维护的效率。
所述攻击检测系统部署在软件定义网络中的数据平面、控制平面与应用平面;
具体地,所述数据平面中部署系统的数据流的特征提取,数据流过滤,多维时序sketch等生成功能;当数据包到达交换机时,交换机提取数据包的五元组信息生成数据流标识字符串;系统中的过滤器自动过滤攻击数据流,没有被过滤的数据流添加到多维sketch中,每隔一个时间周期生成时序多维sketch发送到控制器;所述五元组信息是指:源IP、源端口、目的IP、目的端口、协议类型;
所述控制平面使用基于sketch的联邦学习技术分析时序多维sketch中记录的数据流信息是否存在DDoS攻击流信息;如果不存在DDoS攻击无需执行后序流程,如果存在DDoS攻击,则从多维时序sketch的第四维度提取可疑数据流,使用基于数据流特征的联邦学习技术判断数据流是否是DDoS攻击数据流;如果有攻击数据流,则生成过滤规则,下发到数据平面,并将攻击数据流的信息上传到应用平面;
所述应用平面部署攻击信息统计功能和联邦学习模型聚合分发功能;所述攻击信息统计功能负责攻击数据的记录与统计信息可视化;所述联邦学习模型聚合分发功能在模型训练过程中执行联邦平均算法聚合模型并分发聚合后的模型;在模型部署过程中将模型部署到应用平面,模型将被自动分发到各个控制平面中。
本发明所述攻击检测系统的实施方式包括两个部分,一个是联邦学习框架的搭建,一个是攻击检测系统的应用,具体如下:
1)联邦学习框架的搭建
步骤S1、联邦学习框架搭建。框架搭建使用Syft工具包。Syft工具包是一个由开源组织openMind开发的面向隐私保护的机器学习框架。
进一步地,在Syft框架中设置联邦学习的步骤如下:
步骤S101、首先定义联邦学习模型,指定所述联邦学习模型的层数,以及每一层的类型。
所述模型层数类型包括输入层、卷积层、池化层、全连接层、Relu激活层、log_soft_max函数层、输出层等。
在本发明中,考虑到交换机设备的算力有限,设计了一个如图2所示的简单神经网络模型。该网络模型的输入是3维的时序sketch视图(最后一维使用RNN处理),使用三个2*2的卷积核进行步长为1的卷积,卷积的结果输入Relu激活函数,接着使用2*2的池化核进行步长为2的池化,然后再使用六个2*2的卷积核进行步长为1的卷积,卷积的结果输入Relu激活函数,然后使用2*2的池化核进行步长为2的池化,池化的结果输入第一层全连接网络,之后输入Relu激活函数,再输入第二层全连接网络,结果输入到log_soft_max函数中最后得到计算输出。
在如图3所示的基于数据流特征的神经网络模型中,输入层是1*15的数据流特征向量,然后数据经过RNN层输入全连接层1,全连接层1的输出结果输入到Relu激活函数中,其输出输入到全连接层2,得到的计算结果输入log_softmax层中,计算得到分类结果为攻击数据流和非攻击数据流。
步骤S102、定义联邦学习模型的训练计划,设置联邦学习模型网络的参数,定义loss函数与梯度下降算法以及联邦学习模型训练的步骤;所述模型网络的参数包括卷积核大小、卷积核步径。
本发明使用交叉熵损失函数计算loss,其计算方式如下:
Figure BDA0003166014180000031
其中class是确定真实类别的索引,x是输入向量,i是输入向量的索引,loss(x,class)即为x向量在真实class下的loss的计算结果。
目标函数J(θ)关于参数θ的梯度将是损失函数(loss function)上升最快的方向。最小化loss需要将参数沿着梯度相反的方向前进一个步长实现loss的下降,参数更新公式如下:
Figure BDA0003166014180000032
其中
Figure BDA0003166014180000033
是θ的梯度,η是步长。
步骤S103、定义联邦学习模型的聚合方法,进行联邦平均算法的实现,并启动聚合服务。所述联邦学习模型聚合使用联邦平均算法执行模型聚合过程,其目标函数定义如下:
Figure BDA0003166014180000034
其中,Pk表示存储在第k个设备中训练样本,所述训练样本的数量是nk=|Pk|,f(w)表示目标函数,n表示参与终端的总数量,函数fi(w)表示来自于第i个参与终端的目标函数,下标i表示索引;
步骤S104、设置参与终端即部署在控制平面的控制器的任务监听服务,当监听到任务时,参与终端选择执行任务或者拒绝。当选择拒绝任务时不进行任何操作,当选择执行任务时,本地数据经过卷积神经网络的卷积、池化得到特征,然后输入全连接层分类,计算得到分类结果(存在DDoS攻击和不存在DDoS攻击)。分类结果将会与训练数据集的真实结果比对,计算loss并进行反向传播,优化器根据当前的梯度优化网络的参数。训练结束时当前的参与终端通知聚合服务器,报告模型的每一层的权重参数。
步骤S105、使用公开的DDoS训练数据和运营商提供的攻击数据训练基于sketch与联邦学习的DDoS攻击检测系统。
2)攻击检测系统的应用方法
S2、数据包特征提取与时序sketch生成。所述数据包特征提取与所述时序sketch生成功能部署在数据平面的可编程交换机中。其步骤主要包括攻击流过滤,数据流特征提取,sketch生成与时序sketch计算等。其中,所述多维时序sketch的数据结构是一个由多个二维数组是一个d行w列的数组组成的多维数组结构,每一维度有一个二维数组组成,每一维度的每一行对应一个哈希函数,即每一维度的每一行通过一组哈希确定对应的索引,其中哈希函数使用两个md5计算函数嵌套实现,每个哈希函数映射的范围是[0,w].
其步骤具体如下:
步骤S201、数据流特征字符串提取。数据流特征提取直接提取当前数据包中的五元组{源IP,源端口,目的IP,目的端口,协议类型},并将五元组的内容按照源IP,源端口,目的IP,目的端口,协议类型的顺序组成字符串。
步骤S202、攻击流过滤。将步骤S201中提取的数据包特征字符串作为ID输入过滤器,如果该ID被过滤器中的规则拦截,则该数据包是攻击数据包,将该数据包丢弃。如果该ID没有被过滤器中的规则拦截,将进行后续处理。
步骤S203、更新时序多维sketch记录数据包信息。将步骤S201中的数据流特征字符串输入sketch中,更新多维sketch记录数据包的相关信息。在第一维度更新当前流的数据包的数量信息,第二维度更新当前数据流的数据包的总大小,第三维度记录更新系统的CPU利用率的累计值,第四维度更新当前数据流的流ID与计数信息。在更新第四维度的信息时,使用摩尔投票算法更新流ID与计数信息。
步骤S204、时序sketch导出。在时刻t1时初始化一个新的sketch,如果当前的时刻t2-t1大于预先设置的阈值threshold时,将原sketch序列化导出,上传到控制平面,并利用一个空的sketch替换原sketch。
S3、DDoS攻击判断与攻击防御。在控制平面,将多维时序sketch的信息输入到基于sketch的机器学习模型中,进行推断,获取攻击推断结果。如果基于sketch的机器学习模型推断当前的sketch中存在攻击,那么进行sketch分析,获取sketch中的可疑流。将可疑流输入基于数据包特征的机器学习模型中,判断是否是攻击流,如果是攻击流,那么生成一条过滤规则,下发到数据平面。
其步骤具体如下:
步骤S301、使用基于sketch的机器学习方法处理sketch数据。将序列化的sketch数据输入基于sketch的机器学习模型,前三个维度的信息使用卷积神经网络处理,第四维度的信息使用RNN网络处理,最终输入全连接网络进行分类,推断是否存在DDoS攻击。如果存在DDoS攻击进入步骤S302。
步骤S302、分析并获取sketch中的可疑流。遍历sketch中第四维度记录的流ID信息,将所有遍历到的流ID作为可疑流输入基于数据包特征的机器学习模型。
步骤S303、使用基于数据流特征的联邦机器学习判断数据流是否为攻击流。将所有的可疑流输入基于数据流特征的机器学习模型,该模型使用如图4所示的RNN和全连接网络推断数据流是否是攻击流,如果是攻击流,那么将信息上传到应用平面进行信息统计,并且生成一条过滤规则下发到数据平面。
S4、模型维护与攻击信息统计数据计算。所述模型维护与所述攻击信息统计数据计算功能部署在应用平面。所述模型维护功能主要负责模型训练过程中的模型聚合与模型分发,以及在模型部署后的模型信息维护。所述统计信息计算主要负责全网的攻击信息的分析与记录。
其步骤具体如下:
S401、模型聚合与模型分发。在联邦学习训练过程中,使用联邦平均算法聚合控制平面的多个模型,生成新的模型,然后将模型分发到控制器中。在模型部署后进行模型维护时,直接将模型分发到分布式的控制器,替换旧模型。
S402、攻击信息统计数据计算。攻击信息统计数据计算主要计算来自与每个控制器的攻击流的数量,生成可视化统计信息。
本发明相比于已有的基于sketch或基于机器学习的DDoS攻击检测方法有以下创新:
本发明使用联邦学习作为机器学习的框架,联邦学习技术的分布式特征降低了模型维护与模型训练过程中的复杂度,模型可以集中聚合与分发。本发明结合了sketch技术与机器学习技术,通过两者的结合无需使用小根堆等额外辅助数据结构来记录额外的heavy-hitter信息,保证系统的空间开销处于确定的状态。无需将每个数据包的特征输入机器学习作为分类特征,降低了机器学习运算的时间开销。同时本发明使用两种不同的机器学习方式来进行不同粒度的检测,提升了检测的效率与准确性。
附图说明
图1是本发明DDoS攻击检测方法流程图。
图2是本发明多维时序sketch的结构。
图3是本发明基于sketch的联邦机器学习模型。
图4是本发明sketch第四维度基于数据流特征的联邦机器学习模型。
图5为本发明实施例的具体实施方式图。
具体实施方式
结合以下具体实施例和附图,对本发明作进一步的详细说明。实施本发明的过程、条件、实验方法等,除以下专门提及的内容之外,均为本领域的普遍知识和公知常识,本发明没有特别限制内容。
本发明公开了一种基于联邦学习与sketch技术的DDoS攻击检测系统。所述攻击检测系统包括一种时序多维sketch,用来记录网络中一段时间序列中的数据流。使用联邦学习技术分析每个时间周期多维sketch记录的信息。如果时序多维sketch记录的信息被推断出有DDoS攻击,那么将提取sketch中的可疑流,然后进一步的使用基于数据流特征的机器学习技术判断可疑流是否是攻击流,如果确定网络流是攻击流,那么将生成对于该流的过滤规则下发到数据平面的交换机中,自动丢弃对应的攻击数据包。
系统的部署实施主要分成两个部分,第一部分是联邦学习框架的搭建,第二部分是系统流程的执行。系统的具体实施方式如下:
S1.联邦学习框架搭建。框架搭建使用Syft工具包。Syft工具包是一个由开源组织openMind开发的面向隐私保护的机器学习框架。在Syft框架中设置联邦学习的步骤如下:
步骤S101、首先定义联邦学习模型,指定所述联邦学习模型的层数,以及每一层的类型。
所述模型层数类型包括输入层、卷积层、池化层、全连接层、Relu激活层、log_soft_max函数层、输出层等。
在本发明中,考虑到交换机设备的算力有限,设计了一个如图3所示的简单神经网络模型。该网络模型的输入是3维的sketch视图(最后一维使用RNN处理),使用三个2*2的卷积核进行步长为1的卷积,卷积的结果输入Relu激活函数,接着使用2*2的池化核进行步长为2的池化,然后再使用六个2*2的卷积核进行步长为1的卷积,卷积的结果输入Relu激活函数,然后使用2*2的池化核进行步长为2的池化,池化的结果输入第一层全连接网络,之后输入Relu激活函数,再输入第二层全连接网络,结果输入到log_soft_max函数中最后得到计算输出。
在如图4所示的基于数据流特征的神经网络模型中,输入层是1*15的数据流特征向量,然后数据经过RNN层输入全连接层1,全连接层1的输出结果输入到Relu激活函数中,其输出输入到全连接层2,得到的计算结果输入log_softmax层中,计算得到分类结果为攻击数据流和非攻击数据流。
步骤S102、定义联邦学习模型的训练计划,设置联邦学习模型网络的参数,定义loss函数与梯度下降算法以及训练的步骤。
本发明使用交叉熵损失函数计算loss,其计算方式如下:
Figure BDA0003166014180000071
其中class是确定真实类别的索引,x是输入向量,i是输入向量的索引,loss(x,class)即为x向量在真实class下的loss的计算结果。
目标函数J(θ)关于参数θ的梯度将是损失函数(loss function)上升最快的方向。最小化loss需要将参数沿着梯度相反的方向前进一个步长实现loss的下降,参数更新公式如下:
Figure BDA0003166014180000072
其中
Figure BDA0003166014180000073
是θ的梯度,η是步长。
步骤S103、定义聚合方法,进行联邦平均算法的实现,并启动聚合服务。
步骤S104、设置参与终端即部署在控制平面的控制器的任务监听服务,当监听到任务时,参与终端选择执行任务或者拒绝。当选择拒绝任务时不进行任何操作,当选择执行任务时,本地数据经过卷积神经网络的卷积、池化得到特征,然后输入全连接层分类,计算得到存在DDoS攻击和不存在DDoS攻击的分类结果。分类结果将会与训练数据集的真实结果比对,计算loss并进行反向传播,优化器根据当前的梯度优化网络的参数。训练结束时当前的参与终端通知聚合服务器,报告模型的每一层的权重参数。
步骤S105、使用公开的DDoS训练数据和运营商提供的攻击数据训练基于sketch与联邦学习的DDoS攻击检测系统。
S2.数据包特征提取与时序sketch生成。数据包特征提取与时序sketch生成功能部署在数据平面的可编程交换机中。其步骤主要包括攻击流过滤,数据流特征提取,sketch生成与时序sketch计算。
其步骤如下:
步骤S201、数据流特征字符串提取。数据流特征提取直接提取当前数据包中的五元组{源IP,源端口,目的IP,目的端口,协议类型},并将五元组的内容按照源IP,源端口,目的IP,目的端口,协议类型的顺序组成字符串。
步骤S202、攻击流过滤。将步骤S201中提取的数据包特征字符串作为ID输入过滤器,如果该ID被过滤器中的规则拦截,则该数据包是攻击数据包,将该数据包丢弃。如果该ID没有被过滤器中的规则拦截,将进行后续处理。
步骤S203、更新时序多维sketch记录数据包信息。将步骤S201中的数据流特征字符串输入sketch中,更新多维sketch记录数据包的相关信息。在第一维度更新当前流的数据包的数量信息,第二维度更新当前数据流的数据包的总大小,第三维度记录更新系统的CPU利用率的累计值,第四维度更新当前数据流的流ID与计数信息。在更新第四维度的信息时,使用摩尔投票算法更新流ID与计数信息。
步骤S204、时序sketch导出。在时刻t1时初始化一个新的sketch,如果当前的时刻t2-t1大于预先设置的阈值threshold时,将原sketch序列化导出,上传到控制平面,并利用一个空的sketch替换原sketch。
S3.DDoS攻击判断与攻击防御。在控制平面,将多维时序sketch的信息输入到基于sketch的机器学习模型中,进行推断,获取攻击推断结果。如果基于sketch的机器学习模型推断当前的sketch中存在攻击,那么进行sketch分析,获取sketch中的可疑流。将可疑流输入基于数据包特征的机器学习模型中,判断是否是攻击流,如果是攻击流,那么生成一条过滤规则,下发到数据平面。
步骤S301、使用基于sketch的机器学习方法处理sketch数据。将序列化的sketch数据输入基于sketch的机器学习模型,前三个维度的信息使用卷积神经网络处理,第四维度的信息使用RNN网络处理,最终输入全连接网络进行分类,推断是否存在DDoS攻击。如果存在DDoS攻击进入步骤S302。
步骤S302、分析并获取sketch中的可疑流。遍历sketch中第四维度记录的流ID信息,将所有遍历到的流ID作为可疑流输入基于数据包特征的机器学习模型。
步骤S303、使用基于数据流特征的联邦机器学习判断数据流是否为攻击流。将所有的可疑流输入基于数据流特征的机器学习模型,该模型使用如图4所示的RNN和全连接网络推断数据流是否是攻击流,如果是攻击流,那么将信息上传到应用平面进行信息统计,并且生成一条过滤规则下发到数据平面。
S4.模型维护与攻击信息统计数据计算。模型维护与攻击信息统计数据计算功能部署在应用平面。模型维护功能主要负责模型训练过程中的模型聚合与模型分发,以及在模型部署后的模型信息维护。统计信息计算主要负责全网的攻击信息的分析与记录。
其步骤如下:
S401.模型聚合与模型分发。在联邦学习训练过程中,使用联邦平均算法聚合控制平面的多个模型,生成新的模型,然后将模型分发到控制器中。在模型部署后进行模型维护时,直接将模型分发到分布式的控制器,替换旧模型。
S402.攻击信息统计数据计算。攻击信息统计数据计算主要计算来自与每个控制器的攻击流的数量,生成可视化统计信息。
实施例
本实施例将使用一个如图5所示具体的实施例展示系统的具体实施方式。在实施过程中,交换机中提取数据流的特征,并进行数据流过滤,然后生成时序sketch。时序sketch的信息周期性的传输到位于控制平面的控制器中,控制器进行基于sketch的机器学习推断,如果当前周期的sketch存在攻击,那么分析其sketch的内容,然后提取可疑数据流。对可疑的数据流使用基于数据流特征的机器学习进行推断。如果推断出数据流中有攻击,那么生成一条过滤规则,否则不进行其他处理。其具体实施过程如下:
S1在本实施例中使用Syft工具包进行联邦学习框架搭建。Syft工具包是一个由开源组织openMind开发的面向隐私保护的机器学习框架。在Syft框架中设置联邦学习的步骤如下:
步骤S101.首先定义模型。在本发明中,考虑到交换机设备的算力有限,设计了一个如图3所示的简单神经网络模型。该网络模型的输入是3维的sketch视图(最后一维使用RNN处理),使用三个2*2的卷积核进行步长为1的卷积,卷积的结果输入Relu激活函数,接着使用2*2的池化核进行步长为2的池化,然后再使用六个2*2的卷积核进行步长为1的卷积,卷积的结果输入Relu激活函数,然后使用2*2的池化核进行步长为2的池化,池化的结果输入第一层全连接网络,之后输入Relu激活函数,再输入第二层全连接网络,结果输入到log_soft_max函数中最后得到计算输出。RNN网络模型的输入是1*15的数据流特征向量,一个输入样例如下:[源IP(4个字节),源端口,目的IP(4个字节),目的端口,协议类型,数据包大小,源数据包数量,目标数据包数量,目标数据包总大小]。然后数据经过RNN层进行处理,设置RNN层的隐藏层大小为64,层数为一层,然后将数据输入全连接层,经过Relu激活函数,然后输入第二个全连接层,最后输入log_softmax层,最后输出层输出分类结果为攻击数据流或非攻击数据流。
步骤S102.定义训练计划,设置网络的参数,定义loss函数为交叉熵损失函数设置优化算法为梯度下降算法,设置训练的epoch为10000,设置学习率为0.001。
步骤S103.定义聚合方法为联邦平均算法,进行联邦平均算法的实现,并启动聚合服务。
步骤S104.设置参与终端的任务监听服务,当监听到任务时,参与终端选择执行任务或者拒绝。当选择拒绝任务时不进行任何操作,当选择执行任务时,本地数据经过卷积神经网络的卷积、池化得到特征,然后输入全连接层分类,计算得到存在DDoS攻击和不存在DDoS攻击的分类结果。分类结果将会与训练数据集的真实结果比对,计算loss并进行反向传播,优化器根据当前的梯度优化网络的参数。训练结束时当前的参与终端通知聚合服务器,报告模型的每一层的权重参数。
步骤S105.使用训练数据训练基于sketch机器学习模型与基于数据流特征的机器学习。训练数据集来自于共享数据集ISCXIDS2012。该数据集包含从2010年6月11日到2010年6月17日共七天的数据,其中本文主要使用了14/6/2010、15/6/2010、17/6/2010三天中的数据。14/6/2010中的数据中包含HTTP Denial ofService攻击,15/6/2010中的数据中包含Distributed Denial ofService攻击,17/6/2010中的数据包含Brute Force SSH攻击。
S2.数据包特征提取与时序sketch生成。数据包特征提取与时序sketch生成功能部署在数据平面的可编程交换机中。其步骤主要包括攻击流过滤,数据流特征提取,sketch生成与时序sketch计算。
其步骤如下:
步骤S201.数据流特征字符串提取。数据流特征提取直接提取当前数据包中的五元组{源IP,源端口,目的IP,目的端口,协议类型},并将五元组的内容按照源IP,源端口,目的IP,目的端口,协议类型的顺序组成字符串。
步骤S202.攻击流过滤。将步骤S201中提取的数据包特征字符串作为ID输入过滤器,如果该ID被过滤器中的规则拦截,则该数据包是攻击数据包,将该数据包丢弃。如果该ID没有被过滤器中的规则拦截,将进行后续处理。
步骤S203.更新时序多维sketch记录数据包信息。将步骤S201中的数据流特征字符串输入sketch中,更新多维sketch记录数据包的相关信息。在第一维度更新当前流的数据包的数量信息,第二维度更新当前数据流的数据包的总大小,第三维度记录更新系统的CPU利用率的累计值,第四维度更新当前数据流的流ID与计数信息。在更新第四维度的信息时,使用摩尔投票算法更新流ID与计数信息。
步骤S204.时序sketch导出。在时刻t1时初始化一个新的sketch,如果当前的时刻t2-t1大于预先设置的阈值threshold时,将原sketch序列化导出,其过程如下:
sketchinterval[i][j]=sketcht2[i][j]-sketcht1[i][j],(1≤i≤d-1,1≤j≤w)
将时序sketch上传到控制平面,并利用一个空的sketch替换原sketch。其中,i是sketch中桶(bucket即sketch的一个存放数据的单元)在sketch的第i行,j是sketch中桶在sketch的第j列,d是sketch的行数,w是sketch的列数。
S3.DDoS攻击判断与攻击防御。在控制平面,将多维时序sketch的信息输入到基于sketch的机器学习模型中,进行推断,获取攻击推断结果。如果基于sketch的机器学习模型推断当前的sketch中存在攻击,那么进行sketch分析,获取sketch中的可疑流。将可疑流输入基于数据包特征的机器学习模型中,判断是否是攻击流,如果是攻击流,那么生成一条过滤规则,下发到数据平面,设置数据平面的过滤规则。
步骤S301.使用基于sketch的机器学习方法处理sketch数据。将序列化的sketch数据输入基于sketch的机器学习模型,前三个维度的信息使用卷积神经网络处理,第四维度的信息使用RNN网络处理,最终输入全连接网络进行分类,推断是否存在DDoS攻击。如果存在DDoS攻击进入步骤S302。
步骤S302.分析并获取sketch中的可疑流。遍历sketch中第四维度记录的流ID信息,将所有遍历到的流ID作为可疑流,然后使用sketch计算来自源IP的数据流的数量,发往目的IP的数据流的数量,以及发往目的IP的数据流的大小,生成如下所示的:
[源IP(4个字节),源端口,目的IP(4个字节),目的端口,协议类型,数据包大小,源数据包数量,目标数据包数量,目标数据包总大小]的特征向量,输入基于数据包特征的机器学习模型。
步骤S303.使用基于数据流特征的联邦机器学习判断数据流是否为攻击流。将所有的可疑流输入基于数据流特征的机器学习模型,该模型使用如图4所示的RNN和全连接网络推断数据流是否是攻击流,如果是攻击流,那么将信息上传到应用平面进行信息统计,并且生成一条过滤规则下发到数据平面。
S4.模型维护与攻击信息统计数据计算。模型维护与攻击信息统计数据计算功能部署在应用平面。模型维护功能主要负责模型训练过程中的模型聚合与模型分发,以及在模型部署后的模型信息维护。统计信息计算主要负责全网的攻击信息的分析与记录。
其步骤如下:
S401.模型聚合与模型分发。在联邦学习训练过程中,使用联邦平均算法聚合控制平面的多个模型,生成新的模型,然后将模型分发到控制器中。在模型部署后进行模型维护时,直接将模型分发到分布式的控制器,替换旧模型。
S402.攻击信息统计数据计算。攻击信息统计数据计算主要计算来自与每个控制器的攻击流的数量,生成可视化统计信息。
本发明的保护内容不局限于以上实施例。在不背离本发明构思的精神和范围下,本领域技术人员能够想到的变化和优点都被包括在本发明中,并且以所附的权利要求书为保护范围。

Claims (7)

1.一种基于sketch与联邦学习的DDoS攻击检测系统,其特征在于,所述攻击检测系统中应用的sketch为一种时序多维sketch,包括四个维度:第一个维度记录数据流的数据包数量,第二个维度记录数据流的总大小信息,第三个维度记录当前时间区间内CPU的累计利用率,第四个维度使用摩尔投票算法记录众数流的ID与计数信息;
所述攻击检测系统利用联邦学习的分布式特性降低分布式控制器中模型部署的复杂度,提升系统维护的效率。
2.如权利要求1所述的攻击检测系统,其特征在于,所述攻击检测系统部署在软件定义网络中的数据平面、控制平面与应用平面;
所述数据平面中部署系统的数据流的特征提取,数据流过滤,多维时序sketch生成功能;当数据包到达交换机时,交换机提取数据包的五元组信息生成数据流标识字符串;系统中的过滤器自动过滤攻击数据流,没有被过滤的数据流添加到多维sketch中,每隔一个时间周期生成时序多维sketch发送到控制器;所述五元组信息是指:源IP、源端口、目的IP、目的端口、协议类型;
所述控制平面使用基于sketch的联邦学习技术分析时序多维sketch中记录的数据流信息是否存在DDoS攻击流信息;如果不存在DDoS攻击无需执行后序流程,如果存在DDoS攻击,则从多维时序sketch的第四维度提取可疑数据流,使用基于数据流特征的联邦学习技术判断数据流是否是DDoS攻击数据流;如果有攻击数据流,则生成过滤规则,下发到数据平面,并将攻击数据流的信息上传到应用平面;
所述应用平面部署攻击信息统计功能和联邦学习模型聚合分发功能;所述攻击信息统计功能负责攻击数据的记录与统计信息可视化;所述联邦学习模型聚合分发功能在模型训练过程中执行联邦平均算法聚合模型并分发聚合后的模型;在模型部署过程中将模型部署到应用平面,模型将被自动分发到各个控制平面中。
3.一种如权利要求1或2所述攻击检测系统的构建方法,其特征在于,所述构建方法利用Syft工具包搭建联邦学习框架,具体包括如下步骤:
步骤一、定义攻击检测系统的联邦学习模型,指定所述联邦学习模型的层数,以及每一层的类型;所述模型层数类型包括输入层、卷积层、池化层、全连接层、Relu激活层、log_soft_max函数层、输出层;
步骤二、定义联邦学习模型的训练计划,设置联邦学习模型网络的参数,定义loss函数与梯度下降算法以及联邦学习模型训练的步骤;所述模型网络的参数包括卷积核大小、卷积核步径;
所述loss通过交叉熵损失函数计算,其计算方式如下:
Figure FDA0003166014170000021
其中class是确定真实类别的索引,x是输入向量,i是输入向量的索引,loss(x,class)即为x向量在真实class下的loss的计算结果;
目标函数J(θ)关于参数θ的梯度是损失函数上升最快的方向,通过将参数沿着梯度相反的方向前进一个步长实现loss的下降并使loss最小化,参数更新公式如下:
Figure FDA0003166014170000022
其中
Figure FDA0003166014170000023
是θ的梯度,η是步长;
步骤三、定义联邦学习模型的聚合方法,进行联邦平均算法的实现,并启动聚合服务;所述联邦学习模型聚合使用联邦平均算法执行模型聚合过程,其目标函数定义如下:
Figure FDA0003166014170000024
其中,Pk表示存储在第k个设备中训练样本,所述训练样本的数量是nk=|Pk|,f(w)表示目标函数,n表示参与终端的总数量,函数fi(w)表示来自于第i个参与终端的目标函数,下标i表示索引;
步骤四、设置参与终端的任务监听服务,当监听到任务时,参与终端选择执行任务或者拒绝;所述参与终端是指部署在控制平面的控制器;当选择拒绝时不进行任何操作;当选择执行任务时,本地数据经过卷积神经网络的卷积、池化得到特征,然后输入全连接层分类,计算得到存在DDoS攻击和不存在DDoS攻击的两种分类结果;分类结果将会与训练数据集的真实结果比对,计算loss并进行反向传播,优化器根据当前的梯度优化网络的参数;训练结束时当前的参与终端通知聚合服务器,报告模型每一层的权重参数,包括输入层、卷积层、池化层、全连接层、Relu激活层、log_soft_max函数层、输出层的权重;
步骤五、使用公开的DDoS训练数据和运营商提供的攻击数据训练基于sketch与联邦学习的DDoS攻击检测系统。
4.一种如权利要求1或2所述的攻击检测系统的应用方法,其特征在于,所述应用方法包括如下步骤:
步骤1、数据包特征提取与时序sketch生成:所述数据包特征提取与所述时序sketch生成功能部署在数据平面的可编程交换机中;具体包括攻击流过滤,数据流特征提取,sketch生成与多维时序sketch计算;其中,所述多维时序sketch的数据结构是一个由多个二维数组是一个d行w列的数组组成的多维数组结构,每一维度由一个二维数组组成,每一维度的每一行对应一个哈希函数即每一维度的每一行通过一组哈希确定对应的索引,其中哈希函数使用两个md5计算函数嵌套实现,每个哈希函数映射的范围是[0,w];
步骤2、DDoS攻击判断与攻击防御:在控制平面,将多维时序sketch的信息输入到基于sketch的机器学习模型中,进行推断,获取攻击推断结果;如果基于sketch的机器学习模型推断当前的sketch中存在攻击,那么进行sketch分析,获取sketch中的可疑流,将可疑流输入基于数据包特征的机器学习模型中,判断是否是攻击流,如果是攻击流,那么生成一条过滤规则,下发到数据平面;
步骤3、模型维护与攻击信息统计数据计算:所述模型维护与所述攻击信息统计数据计算功能部署在应用平面;所述模型维护功能负责模型训练过程中的模型聚合与模型分发,以及在模型部署后的模型信息维护;所述统计信息计算负责全网的攻击信息的分析与记录。
5.如权利要求4所述的应用方法,其特征在于,步骤1中,所述数据包特征提取与时序sketch生成具体包括如下步骤:
步骤1.1、数据流特征字符串提取:数据流特征提取直接提取当前数据包中的五元组{源IP,源端口,目的IP,目的端口,协议类型},并将五元组的内容按照源IP,源端口,目的IP,目的端口,协议类型的顺序组成字符串;
步骤1.2、攻击流过滤:将步骤1.1中提取的数据流特征字符串作为ID输入过滤器,如果该ID被过滤器中的规则拦截,则该数据包是攻击数据包,将该数据包丢弃;如果该ID没有被过滤器中的规则拦截,将进行后续处理;
步骤1.3、更新时序多维sketch记录数据包信息:将步骤1.1中的数据流特征字符串输入sketch中,更新多维sketch记录数据包的相关信息;在第一维度更新当前流的数据包的数量信息,第二维度更新当前数据流的数据包的总大小,第三维度记录更新系统的CPU利用率的累计值,第四维度更新当前数据流的流ID与计数信息;在更新第四维度的信息时,使用摩尔投票算法更新流ID与计数信息;
步骤1.4、时序sketch导出:在时刻t1时初始化一个新的sketch,如果当前的时刻t2-t1大于预先设置的阈值threshold时,将原sketch序列化导出,上传到控制平面,并利用一个空的sketch替换原sketch。
6.如权利要求4所述的应用方法,其特征在于,步骤2中,所述DDoS攻击判断与攻击防御具体包括如下步骤:
步骤2.1、使用基于sketch的机器学习方法处理sketch数据:将序列化的sketch数据输入基于sketch的机器学习模型,前三个维度的信息使用卷积神经网络处理,第四维度的信息使用RNN网络处理,最终输入全连接网络进行分类,推断是否存在DDoS攻击;如果存在DDoS攻击进入步骤2.2;
步骤2.2、分析并获取sketch中的可疑流:遍历sketch中第四维度记录的流ID信息,将所有遍历到的流ID作为可疑流输入基于数据包特征的机器学习模型;
步骤2.3、使用基于数据流特征的联邦机器学习判断数据流是否为攻击流:将所有的可疑流输入基于数据流特征的机器学习模型,该模型使用RNN和全连接网络推断数据流是否是攻击流,如果是攻击流,那么将信息上传到应用平面进行信息统计,并且生成一条过滤规则下发到数据平面。
7.如权利要求4所述的应用方法,其特征在于,步骤3中,所述模型维护与攻击信息统计数据计算具体包括如下步骤:
步骤3.1、模型聚合与模型分发:在联邦学习训练过程中,使用联邦平均算法聚合控制平面的多个模型,生成新的模型,然后将模型分发到控制器中;在模型部署后进行模型维护时,直接将模型分发到分布式的控制器,替换旧模型;
步骤3.2、攻击信息统计数据计算:攻击信息统计数据计算用于计算来自与每个控制器的攻击流的数量,生成可视化统计信息。
CN202110805021.0A 2021-07-16 2021-07-16 一种基于sketch与联邦学习的DDoS攻击检测系统及应用 Active CN113660209B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110805021.0A CN113660209B (zh) 2021-07-16 2021-07-16 一种基于sketch与联邦学习的DDoS攻击检测系统及应用

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110805021.0A CN113660209B (zh) 2021-07-16 2021-07-16 一种基于sketch与联邦学习的DDoS攻击检测系统及应用

Publications (2)

Publication Number Publication Date
CN113660209A true CN113660209A (zh) 2021-11-16
CN113660209B CN113660209B (zh) 2023-04-25

Family

ID=78489424

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110805021.0A Active CN113660209B (zh) 2021-07-16 2021-07-16 一种基于sketch与联邦学习的DDoS攻击检测系统及应用

Country Status (1)

Country Link
CN (1) CN113660209B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114978720A (zh) * 2022-05-26 2022-08-30 沈阳理工大学 一种分布式拒绝服务攻击可视化表征的智能检测方法
CN115102763A (zh) * 2022-06-22 2022-09-23 北京交通大学 基于可信联邦学习多域DDoS攻击检测方法与装置
CN117424762A (zh) * 2023-12-19 2024-01-19 广东省科技基础条件平台中心 一种ddos攻击检测方法、介质及设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107566206A (zh) * 2017-08-04 2018-01-09 华为技术有限公司 一种流量测量方法、设备及系统
CN108123931A (zh) * 2017-11-29 2018-06-05 浙江工商大学 一种软件定义网络中的DDoS攻击防御装置及方法
CN110049061A (zh) * 2019-04-29 2019-07-23 南京邮电大学 高速网络上轻量级DDoS攻击检测装置及检测方法
CN112308157A (zh) * 2020-11-05 2021-02-02 浙江大学 一种面向决策树的横向联邦学习方法
CN112953910A (zh) * 2021-01-28 2021-06-11 西安电子科技大学 基于软件定义网络的DDoS攻击检测方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107566206A (zh) * 2017-08-04 2018-01-09 华为技术有限公司 一种流量测量方法、设备及系统
CN108123931A (zh) * 2017-11-29 2018-06-05 浙江工商大学 一种软件定义网络中的DDoS攻击防御装置及方法
CN110049061A (zh) * 2019-04-29 2019-07-23 南京邮电大学 高速网络上轻量级DDoS攻击检测装置及检测方法
CN112308157A (zh) * 2020-11-05 2021-02-02 浙江大学 一种面向决策树的横向联邦学习方法
CN112953910A (zh) * 2021-01-28 2021-06-11 西安电子科技大学 基于软件定义网络的DDoS攻击检测方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
张心语等: "隐私保护的加密流量检测研究", 《网络与信息安全学报》 *
王璐璐;张鹏;闫峥;周晓康;: "机器学习训练数据集的成员推理综述" *
王璐璐等: "机器学习训练数据集的成员推理综述", 《网络空间安全》 *
胡逸文等: "无线信道预测:联邦学习与集中式学习的通信开销", 《信号处理》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114978720A (zh) * 2022-05-26 2022-08-30 沈阳理工大学 一种分布式拒绝服务攻击可视化表征的智能检测方法
CN114978720B (zh) * 2022-05-26 2023-06-20 沈阳理工大学 一种分布式拒绝服务攻击可视化表征的智能检测方法
CN115102763A (zh) * 2022-06-22 2022-09-23 北京交通大学 基于可信联邦学习多域DDoS攻击检测方法与装置
CN117424762A (zh) * 2023-12-19 2024-01-19 广东省科技基础条件平台中心 一种ddos攻击检测方法、介质及设备
CN117424762B (zh) * 2023-12-19 2024-03-19 广东省科技基础条件平台中心 一种ddos攻击检测方法、介质及设备

Also Published As

Publication number Publication date
CN113660209B (zh) 2023-04-25

Similar Documents

Publication Publication Date Title
CN109981691B (zh) 一种面向SDN控制器的实时DDoS攻击检测系统与方法
CN113660209B (zh) 一种基于sketch与联邦学习的DDoS攻击检测系统及应用
US10404732B2 (en) System and method for automated network monitoring and detection of network anomalies
CN105553998B (zh) 一种网络攻击异常检测方法
CN111224940B (zh) 一种嵌套在加密隧道中的匿名服务流量关联识别方法及系统
CN113347156B (zh) 一种网站指纹防御的智能流量混淆方法、系统及计算机存储介质
CN108632269A (zh) 基于c4.5决策树算法的分布式拒绝服务攻击检测方法
US11706114B2 (en) Network flow measurement method, network measurement device, and control plane device
CN108718297A (zh) 基于BP神经网络的DDoS攻击检测方法、装置、控制器及介质
CN112468347A (zh) 一种云平台的安全管理方法、装置、电子设备及存储介质
KR20210115991A (ko) 시계열 데이터 분석을 이용한 네트워크 이상징후 탐지 방법 및 장치
CN114531273A (zh) 一种防御工业网络系统分布式拒绝服务攻击的方法
Zhao Network intrusion detection system model based on data mining
CN114866485A (zh) 一种基于聚合熵的网络流量分类方法及分类系统
CN114281676A (zh) 针对工控私有协议的黑盒模糊测试方法及系统
CN112953910B (zh) 基于软件定义网络的DDoS攻击检测方法
CN113612657A (zh) 一种异常http连接的检测方法
Wang et al. SDN traffic anomaly detection method based on convolutional autoencoder and federated learning
CN115842636A (zh) 一种基于时序特征的网络异常行为监测方法以及装置
CN113645215A (zh) 异常网络流量数据的检测方法、装置、设备及存储介质
CN111431752B (zh) 一种基于自适应流量控制的安全探测方法
CN117014182A (zh) 一种基于lstm的恶意流量检测方法及装置
TWI704782B (zh) 骨幹網路異常流量偵測方法和系統
CN116155581A (zh) 一种基于图神经网络的网络入侵检测方法与装置
CN115277178A (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