CN109768981A - 一种在sdn架构下基于机器学习的网络攻击防御方法和系统 - Google Patents
一种在sdn架构下基于机器学习的网络攻击防御方法和系统 Download PDFInfo
- Publication number
- CN109768981A CN109768981A CN201910050826.1A CN201910050826A CN109768981A CN 109768981 A CN109768981 A CN 109768981A CN 201910050826 A CN201910050826 A CN 201910050826A CN 109768981 A CN109768981 A CN 109768981A
- Authority
- CN
- China
- Prior art keywords
- message
- network attack
- information
- network
- equipment
- 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
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开一种基于机器学习的网络攻击防御方法和系统,利用机器学习训练一个网络攻击识别模型,然后将该模型部署在SDN控制器上,对由交换机的上传的报文利用机器学习模型进行检测,根据检测结果做出相应的防御措施,最终达到了对99.97%网络攻击的成功防御的效果。
Description
技术领域
本发明属于网络安全技术领域,尤其涉及一种在SDN架构下基于机器学习的网络攻击防御方法和系统。
背景技术
随着网络技术的发展,互联网让人们的生活越来越便捷,但是随之而来的网络安全问题暴露在人们眼前。在传统网络中都将防火墙作为安全的第一道的防线,但是由于网络攻击者的技术和手段的快速提升,网络攻击更加难以防御,对网络的防卫也必须采用一种细粒度、适应性强的手段。
SDN是一种新型的网络架构,设计理念是将网络的控制平面与数据转发层面分离,并实现可编程化控制。SDN架构通常分为三层,最上层为应用层,包括不同的业务和应用;控制层主要负责处理数据资源的编排,维护网络拓扑,信息状态等;数据转发层负责基于流表的数据处理,转发和状态收集。在SDN架构下可以通过深层次的数据包分析,实现更加灵活的更新流量策略,在复杂的网络环境中可以实现更高级的网络监控,为细粒度的网络攻击识别提供了基础,并且SDN的可编程性为在网络攻击识别中应用机器学习模块提供了良好的接口。
在网络攻击防御系统中,至关重要的一步是对网络攻击的检测,已有的检测方案为:采用SDN控制器流表分析和KNN算法,来完成异常流量的检测。流量进入OVS交换机时首先查看交换机上的流表,有匹配项执行相应的行动,比如转发操作;如果没有匹配的表项,则将报文发送给SDN控制器,由SDN控制器生成流表并发送给交换机。SDN控制器还可以随时获取交换机上的流表信息,通过分析流表信息,可以得知网络该段时间内有没有遭到DDoS攻击。
现有的技术方案下,在进行网络攻击检测时,是基于网络流量的平均每个流中的报文数,平均每个流中的字节数,平均每个流表项的持续时间,交互流的比率,非交互流的增速,不同端口的增速等特征对网络流量进行分类,判定哪些网络流量属于网络攻击。但是这些特征的获取都是在网络流结束以后,得出的检测结果无法在真实网络中应用。
因此,在目前的技术方案中,即使是依据上述网络流量特征判断出哪些网络流量属于网络攻击,但是所检测的网络流已经结束,检测结果已经没有意义了。于是,研究一种能够实时检测网络流量的系统方法是十分必要的。
发明内容
本发明主要在SDN架构下设计了一套基于机器学习的网络攻击防御方法和系统,解决在复杂网络下的网络攻击问题。在本发明中,首先利用机器学习训练一个网络攻击识别模型,然后将该模型部署在SDN控制器上,对由交换机的上传的报文利用机器学习模型进行检测,根据检测结果做出相应的防御措施,最终达到了对99.97%网络攻击的成功防御的效果。为了解决网络流量检测的实时性问题,本发明在特征选取时并不使用只有当网络流量结束时才能获取的特征,同时为了提高对网络攻击识别的准确率,本发明设计了一个报文信息库,用来存储历史报文信息,并且通过历史报文和当前报文的联系作为新的特征对网络攻击进行识别,这样既解决了对网络攻击识别的实时性问题,又通过新的统计特征的加入而缓解了特征不足的问题。
为实现上述目的,本发明采用如下的技术方案:
一种基于机器学习的网络攻击防御方法,利用机器学习训练一个网络攻击识别模型,然后将该模型部署在SDN控制器上,对由交换机的上传的报文利用机器学习模型进行检测,根据检测结果做出相应的防御措施,具体为:首先,构造一个深度全连接网络来作为网络攻击检测模型,并在此模型中设置接收的统计特征的数量(即输入维度值)和输出参数数量(即输出维度值);设置输入维度为17,代表当前报文所具有的17个特征,包含报文基本属性特征和当前报文与历史报文的统计特征两类,如协议类型、目标主机网络服务类型、连接正常或错误的状态;设置输出维度为11,代表1种正常报文和10种攻击报文;同时模型中的激活函数使用“sigmoid”,隐藏层数设为3;使用L2正则化损失函数并使用反向传播算法更新神经网络参数;使用NSL-KDD数据集作为训练集来训练该模型;网络攻击防御方法具体处理流程包含:
1)报文进入OVS交换机时,首先查看交换机上的流表,有匹配项执行相应的行动,比如转发操作;如果没有匹配的表项,则将报文发送PacketIn消息给SDN控制器;
2)SDN控制器接受到消息后,判断是否为PacketIn消息,如果是PacketIn消息则解析报文的数据域,解析出源、目的IP、MAC、端口号信息;
3)根据解析出的源、目的设备信息,在设备管理器中查询是否存在源、目的设备,若都存在则将报文信息录入报文信息库中,若至少有一个设备不存在则下发流表丢弃该报文;
4)根据报文信息库里的信息得出当前报文的6个基础特征和11个统计特征;
5)将基础特征和统计特征输入网络攻击检测模型中判断是否为攻击报文;
6)若判断当前报文为攻击报文则下发流表丢弃报文,并对该报文的发送主机进行违规计数,若违规次数超过设定阈值下发流表屏蔽该主机;
7)若判断当前报文为正常报文,则查询该报文目的地址所连接的交换机端口,下发流表转发报文。
一种基于机器学习的网络攻击防御系统包括:伪造报文检测模块、网络攻击检测模块、网络攻击处理模块;其中,伪造报文检测模块工作流程为:
1)设备管理器从Packet-in报文中获取设备信息,通过设备的IP、MAC、VLAN和与交换机相连的端口来唯一确定一台设备;设备管理器将设备的信息维护在实时设备表中,并设置一个过期时间,在设备信息过期后则将设备信息从实时设备表中删除;
2)对控制器收到解析出的源、目的设备信息,在设备管理器中查询是否存在源、目的设备,若都存在则将报文信息录入报文信息库中,若至少有一个设备不存在则下发流表丢弃该报文;
网络攻击检测模块工作流程为:
1)根据报文信息库里的信息得出当前报文的6个基础特征和11个统计特征;
2)将基础特征和统计特征输入网络攻击检测模型中判断是否为攻击报文;
网络攻击处理模块工作流程为:
1)当前报文为攻击报文则下发流表丢弃报文,并对该报文的发送主机进行违规计数;
2)当主机的违规次数超过设定阈值下发流表屏蔽该主机。
附图说明
图1网络攻击防御处理流程;
图2伪造报文检测流程;
图3网络攻击检测流程;
图4网络攻击处理流程。
具体实施方式
本发明针对现有的网络安全问题,设计了一套基于机器学习的网络攻击防御方法和系统,通过机器学习训练的网络攻击识别模型对网络中存在的攻击行为进行有效的识别并对网络攻击做出相应的防御措施。
首先,构造一个深度全连接网络来作为网络攻击检测模型,并在此模型中设置接收的统计特征的数量(即输入维度值)和输出参数数量(即输出维度值)。本发明设置输入维度为17,代表当前报文所具有的17个特征,包含报文基本属性特征和当前报文与历史报文的统计特征两类,如协议类型、目标主机网络服务类型、连接正常或错误的状态等,具体见表2所示。设置输出维度为11,代表1种正常报文和10种攻击报文。同时,本模型中的激活函数使用“sigmoid”,隐藏层数设为3。为了避免过拟合,使用L2正则化损失函数并使用反向传播算法更新神经网络参数。使用NSL-KDD数据集作为训练集来训练该模型。
网络攻击防御方法具体处理流程如图1所示:
8)报文进入OVS交换机时,首先查看交换机上的流表,有匹配项执行相应的行动,比如转发操作;如果没有匹配的表项,则将报文发送PacketIn消息给SDN控制器。
9)SDN控制器接受到消息后,判断是否为PacketIn消息,如果是PacketIn消息则解析报文的数据域,解析出源、目的IP、MAC、端口号等信息。
10)根据解析出的源、目的设备信息,在设备管理器中查询是否存在源、目的设备,若都存在则将报文信息录入报文信息库中,若至少有一个设备不存在则下发流表丢弃该报文。
11)根据报文信息库里的信息得出当前报文的6个基础特征和11个统计特征,分别如表1和表2所示。
12)将基础特征和统计特征输入网络攻击检测模型中判断是否为攻击报文。
13)若判断当前报文为攻击报文则下发流表丢弃报文,并对该报文的发送主机进行违规计数,若违规次数超过设定阈值下发流表屏蔽该主机。
14)若判断当前报文为正常报文,则查询该报文目的地址所连接的交换机端口,下发流表转发报文。
表1基础特征表
srcIP | 源IP地址 |
dstIP | 目的IP地址 |
srcPort | 源端口号 |
dstPort | 目的端口号 |
urgent | 紧急指针,该值为1时表示该报文为紧急报文 |
sumLength | 报文长度 |
表2统计特征表
本发明设计的网络攻击防御系统包含3个主要模块:伪造报文检测模块、网络攻击检测模块、网络攻击处理模块。
其中,伪造报文检测模块的步骤如图2所示:
3)设备管理器从Packet-in报文中获取设备信息,通过设备的IP、MAC、VLAN和与交换机相连的端口来唯一确定一台设备。设备管理器将设备的信息维护在实时设备表中,并设置一个过期时间,在设备信息过期后则将设备信息从实时设备表中删除。
4)对控制器收到解析出的源、目的设备信息,在设备管理器中查询是否存在源、目的设备,若都存在则将报文信息录入报文信息库中,若至少有一个设备不存在则下发流表丢弃该报文。
网络攻击检测模块的步骤如图3所示:
3)根据报文信息库里的信息得出当前报文的6个基础特征和11个统计特征。
4)将基础特征和统计特征输入网络攻击检测模型中判断是否为攻击报文。
网络攻击处理模块的步骤如图4所示:
3)当前报文为攻击报文则下发流表丢弃报文,并对该报文的发送主机进行违规计数。
4)当主机的违规次数超过设定阈值下发流表屏蔽该主机。
本发明的有益效果:
1.本发明提出了一套基于机器学习的网络攻击防御系统,利用机器学习的方式对网络攻击进行学习得到的识别模型对网络攻击进行识别并做出相应的防御措施,其优势在于,能够实时对网络报文进行检测,并通过与历史报文的统计特征提高网络攻击识别的准确率。
2.本发明设计了伪造报文检测方法。该方法基于SDN控制器获得全网的拓扑视图,进一步设计实现了对伪造报文的检测处理。
3.本发明提出了通过建立实时报文库来获取当前报文统计特征的方法,其解决了报文特征实时性的问题。
4.本发明提出了主机违规屏蔽机制。
Claims (2)
1.一种在SDN架构下基于机器学习的网络攻击防御方法,其特征在于,利用机器学习训练一个网络攻击识别模型,然后将该模型部署在SDN控制器上,对由交换机的上传的报文利用机器学习模型进行检测,根据检测结果做出相应的防御措施,具体为:首先,构造一个深度全连接网络来作为网络攻击检测模型,并在此模型中设置接收的统计特征的数量(即输入维度值)和输出参数数量(即输出维度值);设置输入维度为17,代表当前报文所具有的17个特征,包含报文基本属性特征和当前报文与历史报文的统计特征两类,如协议类型、目标主机网络服务类型、连接正常或错误的状态;设置输出维度为11,代表1种正常报文和10种攻击报文;同时模型中的激活函数使用“sigmoid”,隐藏层数设为3;使用L2正则化损失函数并使用反向传播算法更新神经网络参数;使用NSL-KDD数据集作为训练集来训练该模型;网络攻击防御方法具体处理流程包含:
1)报文进入OVS交换机时,首先查看交换机上的流表,有匹配项执行相应的行动,比如转发操作;如果没有匹配的表项,则将报文发送PacketIn消息给SDN控制器;
2)SDN控制器接受到消息后,判断是否为PacketIn消息,如果是PacketIn消息则解析报文的数据域,解析出源、目的IP、MAC、端口号信息;
3)根据解析出的源、目的设备信息,在设备管理器中查询是否存在源、目的设备,若都存在则将报文信息录入报文信息库中,若至少有一个设备不存在则下发流表丢弃该报文;
4)根据报文信息库里的信息得出当前报文的6个基础特征和11个统计特征;
5)将基础特征和统计特征输入网络攻击检测模型中判断是否为攻击报文;
6)若判断当前报文为攻击报文则下发流表丢弃报文,并对该报文的发送主机进行违规计数,若违规次数超过设定阈值下发流表屏蔽该主机;
7)若判断当前报文为正常报文,则查询该报文目的地址所连接的交换机端口,下发流表转发报文。
2.一种在SDN架构下基于机器学习的网络攻击防御系统,其特征在于,包括:伪造报文检测模块、网络攻击检测模块、网络攻击处理模块;其中,伪造报文检测模块工作流程为:
1)设备管理器从Packet-in报文中获取设备信息,通过设备的IP、MAC、VLAN和与交换机相连的端口来唯一确定一台设备;设备管理器将设备的信息维护在实时设备表中,并设置一个过期时间,在设备信息过期后则将设备信息从实时设备表中删除;
2)对控制器收到解析出的源、目的设备信息,在设备管理器中查询是否存在源、目的设备,若都存在则将报文信息录入报文信息库中,若至少有一个设备不存在则下发流表丢弃该报文;
网络攻击检测模块工作流程为:
1)根据报文信息库里的信息得出当前报文的6个基础特征和11个统计特征;
2)将基础特征和统计特征输入网络攻击检测模型中判断是否为攻击报文;
网络攻击处理模块工作流程为:
1)当前报文为攻击报文则下发流表丢弃报文,并对该报文的发送主机进行违规计数;
2)当主机的违规次数超过设定阈值下发流表屏蔽该主机。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910050826.1A CN109768981B (zh) | 2019-01-20 | 2019-01-20 | 一种在sdn架构下基于机器学习的网络攻击防御方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910050826.1A CN109768981B (zh) | 2019-01-20 | 2019-01-20 | 一种在sdn架构下基于机器学习的网络攻击防御方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109768981A true CN109768981A (zh) | 2019-05-17 |
CN109768981B CN109768981B (zh) | 2021-02-02 |
Family
ID=66454553
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910050826.1A Active CN109768981B (zh) | 2019-01-20 | 2019-01-20 | 一种在sdn架构下基于机器学习的网络攻击防御方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109768981B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111082992A (zh) * | 2019-12-23 | 2020-04-28 | 超讯通信股份有限公司 | 基于深度学习的sdn网络数据包的识别方法 |
CN111224970A (zh) * | 2019-12-31 | 2020-06-02 | 中移(杭州)信息技术有限公司 | Sdn网络系统、网络攻击防御方法、设备及存储介质 |
CN111935063A (zh) * | 2020-05-28 | 2020-11-13 | 国网电力科学研究院有限公司 | 一种终端设备异常网络访问行为监测系统及方法 |
CN113411350A (zh) * | 2021-07-28 | 2021-09-17 | 广东省大湾区集成电路与系统应用研究院 | 防御ddos攻击的网络系统 |
CN113487010A (zh) * | 2021-05-21 | 2021-10-08 | 国网浙江省电力有限公司杭州供电公司 | 基于机器学习的电网网络安全事件分析方法 |
CN114268484A (zh) * | 2021-12-17 | 2022-04-01 | 北京天融信网络安全技术有限公司 | 恶意加密流量检测方法、装置、电子设备及存储介质 |
CN114866291A (zh) * | 2022-04-18 | 2022-08-05 | 浙江大学 | SDN下基于深度强化学习的DDoS防御系统及方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106534133A (zh) * | 2016-11-17 | 2017-03-22 | 浙江工商大学 | 一种sdn中基于深度学习的ddos防御装置及方法 |
CN106570597A (zh) * | 2016-11-14 | 2017-04-19 | 广州大学 | 一种sdn架构下基于深度学习的内容流行度预测方法 |
US20180109557A1 (en) * | 2016-10-17 | 2018-04-19 | Foundation Of Soongsil University Industry Cooperation | SOFTWARE DEFINED NETWORK CAPABLE OF DETECTING DDoS ATTACKS USING ARTIFICIAL INTELLIGENCE AND CONTROLLER INCLUDED IN THE SAME |
CN107979607A (zh) * | 2014-12-17 | 2018-05-01 | 蔡留凤 | 适于网络安全的软件定义的网络架构及其工作方法 |
CN108282497A (zh) * | 2018-04-28 | 2018-07-13 | 电子科技大学 | 针对SDN控制平面的DDoS攻击检测方法 |
CN108833430A (zh) * | 2018-06-29 | 2018-11-16 | 华中科技大学 | 一种软件定义网络的拓扑保护方法 |
CN109005157A (zh) * | 2018-07-09 | 2018-12-14 | 华中科技大学 | 一种软件定义网络中DDoS攻击检测与防御方法与系统 |
-
2019
- 2019-01-20 CN CN201910050826.1A patent/CN109768981B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107979607A (zh) * | 2014-12-17 | 2018-05-01 | 蔡留凤 | 适于网络安全的软件定义的网络架构及其工作方法 |
US20180109557A1 (en) * | 2016-10-17 | 2018-04-19 | Foundation Of Soongsil University Industry Cooperation | SOFTWARE DEFINED NETWORK CAPABLE OF DETECTING DDoS ATTACKS USING ARTIFICIAL INTELLIGENCE AND CONTROLLER INCLUDED IN THE SAME |
CN106570597A (zh) * | 2016-11-14 | 2017-04-19 | 广州大学 | 一种sdn架构下基于深度学习的内容流行度预测方法 |
CN106534133A (zh) * | 2016-11-17 | 2017-03-22 | 浙江工商大学 | 一种sdn中基于深度学习的ddos防御装置及方法 |
CN108282497A (zh) * | 2018-04-28 | 2018-07-13 | 电子科技大学 | 针对SDN控制平面的DDoS攻击检测方法 |
CN108833430A (zh) * | 2018-06-29 | 2018-11-16 | 华中科技大学 | 一种软件定义网络的拓扑保护方法 |
CN109005157A (zh) * | 2018-07-09 | 2018-12-14 | 华中科技大学 | 一种软件定义网络中DDoS攻击检测与防御方法与系统 |
Non-Patent Citations (1)
Title |
---|
李传煌等: "SDN下基于深度学习混合模型的DDoS攻击检测与防御", 《通信学报》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111082992A (zh) * | 2019-12-23 | 2020-04-28 | 超讯通信股份有限公司 | 基于深度学习的sdn网络数据包的识别方法 |
CN111224970A (zh) * | 2019-12-31 | 2020-06-02 | 中移(杭州)信息技术有限公司 | Sdn网络系统、网络攻击防御方法、设备及存储介质 |
CN111935063A (zh) * | 2020-05-28 | 2020-11-13 | 国网电力科学研究院有限公司 | 一种终端设备异常网络访问行为监测系统及方法 |
CN111935063B (zh) * | 2020-05-28 | 2023-11-21 | 国网电力科学研究院有限公司 | 一种终端设备异常网络访问行为监测系统及方法 |
CN113487010A (zh) * | 2021-05-21 | 2021-10-08 | 国网浙江省电力有限公司杭州供电公司 | 基于机器学习的电网网络安全事件分析方法 |
CN113487010B (zh) * | 2021-05-21 | 2024-01-05 | 国网浙江省电力有限公司杭州供电公司 | 基于机器学习的电网网络安全事件分析方法 |
CN113411350A (zh) * | 2021-07-28 | 2021-09-17 | 广东省大湾区集成电路与系统应用研究院 | 防御ddos攻击的网络系统 |
CN113411350B (zh) * | 2021-07-28 | 2023-02-24 | 广东省大湾区集成电路与系统应用研究院 | 防御ddos攻击的网络系统 |
CN114268484A (zh) * | 2021-12-17 | 2022-04-01 | 北京天融信网络安全技术有限公司 | 恶意加密流量检测方法、装置、电子设备及存储介质 |
CN114866291A (zh) * | 2022-04-18 | 2022-08-05 | 浙江大学 | SDN下基于深度强化学习的DDoS防御系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109768981B (zh) | 2021-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109768981A (zh) | 一种在sdn架构下基于机器学习的网络攻击防御方法和系统 | |
CN106921666B (zh) | 一种基于协同理论的DDoS攻击防御系统及方法 | |
CN105429977B (zh) | 基于信息熵度量的深度包检测设备异常流量监控方法 | |
CN102271068B (zh) | 一种dos/ddos攻击检测方法 | |
CN102315974B (zh) | 基于层次化特征分析的tcp、udp流量在线识别方法和装置 | |
CN104618377B (zh) | 基于NetFlow的僵尸网络检测系统与检测方法 | |
CN106357673B (zh) | 一种多租户云计算系统DDoS攻击检测方法及系统 | |
CN107231384A (zh) | 一种面向5g网络切片的DDoS攻击检测防御方法及系统 | |
CN102271091B (zh) | 一种网络异常事件分类方法 | |
CN103078897B (zh) | 一种实现Web业务细粒度分类与管理的系统 | |
CN104836702A (zh) | 一种大流量环境下主机网络异常行为检测及分类方法 | |
CN104660582B (zh) | DDoS识别、防护和路径优化的软件定义的网络架构 | |
CN106209843A (zh) | 一种面向Modbus协议的数据流异常分析方法 | |
CN110324323B (zh) | 一种新能源厂站涉网端实时交互过程异常检测方法及系统 | |
CN109391599A (zh) | 一种基于https流量特征分析的僵尸网络通讯信号的检测系统 | |
CN103457909B (zh) | 一种僵尸网络检测方法及装置 | |
CN105187437B (zh) | 一种sdn网络拒绝服务攻击的集中式检测系统 | |
CN106685984A (zh) | 一种基于数据包捕获技术的网络威胁分析系统及方法 | |
CN105071985A (zh) | 一种服务器网络行为描述方法 | |
CN106341418A (zh) | Dns分布式反射型拒绝服务攻击检测、防御方法与系统 | |
CN107222491A (zh) | 一种基于工业控制网络变种攻击的入侵检测规则创建方法 | |
CN104092588B (zh) | 一种基于SNMP与NetFlow结合的网络异常流量检测方法 | |
CN109768952A (zh) | 一种基于可信模型的工控网络异常行为检测方法 | |
CN102611713A (zh) | 基于熵运算的网络入侵检测方法和装置 | |
KR102083028B1 (ko) | 네트워크 침입탐지 시스템 |
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 |