精华内容
下载资源
问答
  • SDN环境下DDoS攻击检测算法研究,贾静怡,时忆杰,软件定义网络(Software Defined Networking, SDN)通过解耦转发和控制平面,提供灵活的网络管理。SDN的安全问题中,最紧急和最难解决的安全�
  • DDoS检测系统 旨在使用机器学习技术和SDN来检测和缓解DDoS攻击的...Mota和A.Passito,“使用NOX / OpenFlow进行轻量级DDoS泛洪攻击检测”,IEEE本地计算机网络会议,丹佛,CO,2010年,第408-415页。 doi : PDF : :
  • 针对SDN安全中的外部DDoS攻击问题进行研究,提出了一种基于深度学习混合模型的DDoS攻击检测方法——DCNN-DSAE。该方法在构建深度学习模型时,输入特征除了从数据平面提取的21个不同类型的字段外,同时设计了能够区分...
  • 基于SDN的DDoS攻击检测技术的研究,赵智勇,辛阳,软件定义网络(SDN)是一种新型的网络架构,核心优点是转发与控制相分离,并且用户可以自定义控制器。分布式拒绝服务攻击(DDoS)��
  • 为了准确检测这种攻击的存在,提出了基于条件熵和 GHSOM(growing hierarchical SOM)神经网络的 DDoS 攻击检测方法MBCE&G 。首先,依据此DDoS的阶段性特征,定位了网络中的受损交换机以发现可疑攻击流;然后,依据...
  • 1.1 什么是SDN 软件定义网络(英语:software-defined networking,缩写作 SDN)是一种新型网络架构。它利用OpenFlow协议将路由器的控制平面(control plane)从数据平面(data plane)中分离,改以软件方式实现。该...

    1、概述

    1.1 什么是SDN

    软件定义网络(英语:software-defined networking,缩写作 SDN)是一种新型网络架构。它利用OpenFlow协议将路由器的控制平面(control plane)从数据平面(data plane)中分离,改以软件方式实现。该架构可使网络管理员在不更动硬件设备的前提下,以中央控制方式用程序重新规划网络,为控制网络流量提供了新方案,也为核心网络和应用创新提供了良好平台。Facebook与Google都在他们的数据中心中使用OpenFlow协议,并成立了开放网络基金会来推动这个技术。

    1.2 什么是mininet

    Mininet是一个强大的网络仿真平台,通过这个平台,我们可以很方便的模拟真实环境中的网络操作与架构。特别是SDN,在真实网络中进行相关的网络实验有一定难度,自然需要一个仿真平台可以学习这种新型的网络架构,而Mininet就应运而生,承担了这个光荣而艰巨的使命。
    Mininet自带交换机(switchs)、主机(hosts)、控制器(controllers),同时,在mininet上可以安装OpenvSwitch、多种控制器(NOX\POX\RYU\Floodlight\OpenDaylight等),同时,Mininet可以运行在多种操作系统上(windows\linux\Mac OS),具有很强的系统兼容性。最令人兴奋的一点是:在Mininet上进行的实验,可以无缝的移到真实的环境中去

    在这里插入图片描述

    1.3 什么是RYU

    RYU是一款基于python的控制器,你可用Ryu实现各种想要实现的网络功能,它可以下发或接收流表进行各种路由运算。

    2 实验流程

    2.1 构建拓扑

    构建的拓扑图

    在这里插入图片描述
    实验代码进行解决

    在这里插入图片描述

    命令解释

    sudo:以管理员权限运行,因为mininet要调用内核的东西
    mn:就是mininet的命令简写
    --controller=remote:使用远程的控制器
    ip,port:控制器的ip和端口
    --topo:指定拓扑类型,single 就是单一拓扑,就是最简单的交换机下面接主机,后面的3 表示,三台主机。
    

    当你看到 mininet> 标识符,表示拓扑创建完成,我们可以输入一些指令查看网络拓扑。
    nodes 指令显示节点信息:
    links 指令显示节点信息:
    在这里插入图片描述

    2.2 ryu控制器配置

    通过ryu-manager命令启动ryu控制器,并且打开ofctl_rest.py和simple_switch.py,作为交换机的转发规则,因为之后要用到restAPI,即控制器的北向接口(postamn连接使用),所以需要打开ofctl_rest.py。

    在这里插入图片描述

    2.3 sFlow-RT 使用

    安装sFlow-RT,命令wget http://www.inmon.com/products/sFlow-RT/sflow-rt.tar.gz,然后解压到当前目录下,输入命令cd sflow-rt,然后启动:./start.sh,看到下列信息证明启动成功。其中 6343 是sFlow Collector 的默认端口,8008 则是 sFlow 的WebUI端口。(注意:执行sflow-rt需要先配置好jdk,否则会报Java不存在的错误)

    在这里插入图片描述
    其中 6343 是sFlow Collector 的默认端口,8008 则是 sFlow 的WebUI端口
    在这里插入图片描述

    其中sFlow-RT的ddos-blackhole(https://github.com/sflow-rt/ddos-blackhole

    配置sFlow Agent
    我们需要在虚拟交换机配置sFlow Agent,这样sFlow Collector 才能收集到流量信息进行分析和呈现。
    键入以下指令部署sFlow Agent :

    在这里插入图片描述
    指令说明:

    1)agent:监控 eth0 网卡产生的流量;
    2)target:sFlow-RT的IP,默认端口6343;
    3)bridge:需要开启sFlow的网桥;
    4)sampling:采样率,表示每隔N个Packet就取样一次
    5)polling:轮询时间,每隔N秒polling一次
    提示:如果有N个网桥,就需要执行N次部署 sFlowAgent
    的指令,我们本次实验中只有一个网桥,所以执行一次就可以了。

    通过如下指令可以查看已经配置的 sFlow Agent信息:

    在这里插入图片描述
    使用命令ip link,可以查看虚拟交换机端口与端口编号的映射,可以看见s1 交换机对应的编号是7:在这里插入图片描述
    接下来,查看sFlow Agent 是否配置成功,我们可以通过其WebUI进行查看,在浏览器中输入网址localhost:8008/html/index.html,可以看见各项监控状态。
    在这里插入图片描述

    展开全文
  • 针对云环境中2类典型的分布式拒绝服务(DDoS)攻击问题,提出一种基于软件定义网络架构的DDoS攻击检测与防御方案——SDCC。SDCC综合使用链路带宽和数据流这2种检测方式,利用基于置信度过滤(CBF)的方法计算数据...
  • 针对DoS/DDoS的攻击检测算法大多应用于攻击的目的端,只能实现检测效果、并不能缓解攻击的问题,提出利用SDN架构的集中控制等特点,在攻击的源头实现流量实时监控,使用源IP防伪、接入层异常检测、链路流量异常检测...
  • SDN环境下基于机器学习算法的DDoS攻击检测模型.pdf
  • 为了有效地识别DDoS攻击,提出了一种SDN环境下基于BP神经网络的DDoS攻击检测方法。该方法获取OpenFlow交换机的流表项,分析SDN环境下DDoS攻击特性,提取出与攻击相关的流表匹配成功率、流表项速率等六个重要特征;...
  • SDN下基于深度学习混合模型的DDoS攻击检测与防御.pdf
  • 基于混合特征向量选取策略的SVM的SDN交换机DDoS攻击检测,李雪,黎淑兰,软件定义网络(Software-Defined Networking, SDN)技术把原有的网络封闭体系,革新为数据平面、控制平面和应用平面。实现了网络的可编程,�
  • 双滑动窗口攻击检测过程4. 双滑动窗口检测攻击脉冲 1. 引言 tcp的拥塞控制: 参考博客1 参考博客2 针对TCP的拥塞控制的LDoS攻击介绍: 主要利用 了TCP 拥塞控制算法中的超时重传和加增减乘两种自适应机制,利用具有...

    1. 引言

    tcp的拥塞控制:
    参考博客1
    参考博客2
    针对TCP的拥塞控制的LDoS攻击介绍:
    主要利用 了TCP 拥塞控制算法中的超时重传和加增减乘两种自适应机制,利用具有 周期性短时高速脉冲特点的攻击流量造成正常TCP 流量的周期性丢包,制造不同程度的网络拥塞状况, 从而不断触发TCP的超时重传和加增减乘两种自适 应机制,使得正常TCP发送端的拥塞控制窗口一直 处于很小的状态。

    2. 流量信息采集

    SDN网络中,控制器通过周期性轮询获取交换机统计信息,利用统计信息计算出每个流或每个端口的实时速率等信息。
    例如利用统计信息计算单条流的速率信息:
    在这里插入图片描述
    bn 为第 n 次轮询时flow_stats_reply消息中byte_ count字段的值,表示到目前为止,该条流表已经处理过的字节数, tn 为第 n 次轮询时,根据 flow_stats_ reply消息中Duration_sec和Duration_nsec字段的值 计算出的时间,代表当前流表已经存在的时间。
    LDOS持续时间短,如果保持高轮询频率压力大,所以提出基于端口流量异常的自适应轮询机制
    当检测到端口流量异常,加快轮询频率。

    LDOS是短时高速脉冲,发生攻击时,瓶颈链路上的交换机或者路由器的端口流量会出现流入和流出不平衡现象
    在这里插入图片描述
    正常情况下,△p很小,如果收到攻击,△p的值会瞬间增大,根据△p的值可以调整自适应轮询机制。

    3. 双滑动窗口攻击检测过程

    利用SDN网络可以对单条流进行统计的优势, 将混合流分解成多个单条流进行分析,从而将攻击 流与正常流区分开。这样,LDoS攻击的检测问题就 变为周期性脉冲流量的检测问题。
    双滑动窗口检测法主要用于 突发信号检测
    设计两个相邻的长度都为L的 窗口,假设两个窗口分别为 A 和 B ,当两个窗口在接 收到的信号上进行滑动时,落入到两个窗口内的信号 能量分别为 EA 和 EB .
    在这里插入图片描述
    当两个窗口内都只包含白噪 声时,两个窗口能量的比值 m(n)接近于1。当突发信 号进入窗口 B 时,m(n)的值随之增大,当突发信号正好完全进入窗口 B 中时,m(n) 的值达到最大值 Max 。
    在这里插入图片描述

    4. 双滑动窗口检测攻击脉冲

    在两个 窗口内对采样值进行平滑处理,减小单个突发采样 点对判决结果的影响,只有连续多个高速率的采样 值才会被判定为攻击脉冲流量

    1 设定参数。设定采样时间为 t,滑动窗 口 A 和滑动窗口 B 的长度皆为 N,若采样的时间间隔为 τ, L 为攻击脉冲的长度,则滑动窗口的长度 N 可以设定 为 L/τ 。

    2 对每条流的速率进行单独采样,利用如下公式计 算每条流的速率。
    在这里插入图片描述

    1. 窗口随着采样值的不断增加而滑动,当 n≥ 2N 时,分别计算两个滑动窗口内所有采样值的和,计算采样和比值,若 Ai(n)为0,为了保证 mi(n) 存在,令 mi(n)=Bi(n)。
      在这里插入图片描述
      在这里插入图片描述

    4 若 mi(n)>mi(n-1),则说明此时还有较大的采 样值进入窗口 B,此时继续滑动窗口。若 mi(n)≤ mi(n-1),则此时的 mi(n-1)即为的 Max 值, 接下来对 mi(n-1)进行判断。

    5 若 mi(n-1)大于设定的阈值 λ,则此时有连 续多个较大的采样值出现,即可认为此时出现一个 异常脉冲。

    6 若在设定的采样时间 t 内,异常脉冲的数量 超过设定的阈值 k,则可判定该条流 i 为攻击流

    检测过程如下图:
    在这里插入图片描述
    在这里插入图片描述


    参考文献
    [1]颜通,白志华,高镇,等.SDN环境下的LDoS攻击检测与防御技术[J].计算机科学与探索,2020(4):566-577.

    展开全文
  • back@back:~$ sudo mn --controller=remote,ip=127.0.0.1,port=6653 --topo=single,3 2.3 DDoS 攻击检测 1) 启动sFlow-RT 保持Mininet 运行的终端,再新开一个终端窗口,输入如下指令,启动sFlow-RT。 back@back:~...

    开始是在合天做的这个实验,想要本地复现,搭建本地环境。需要用到

    工具: floodlight, mininet (安装完整版),Sflow-RT

    需要用到java,ant ,curl ,等等

    ubuntu14.04(我自己用的就是这个版本)启动floodlight

    back@back:~$ cd floodlight/

    back@back:~/floodlight$ java -jar target/floodlight.jar

    Floodlight 的WebUI端口是8080,我们可以用浏览器访问它

    2)构建拓扑

    保持 Floodlight 运行的终端,再新开一个终端窗口,输入如下指令,构建我们所需的拓扑结构。

    back@back:~$ sudo mn --controller=remote,ip=127.0.0.1,port=6653 --topo=single,3

    2.3 DDoS 攻击检测

    1) 启动sFlow-RT

    保持Mininet 运行的终端,再新开一个终端窗口,输入如下指令,启动sFlow-RT。

    back@back:~$ cd desktop/

    back@back:~/desktop$ cd sflow-rt/sflow-rt/

    back@back:~/desktop/sflow-rt/sflow-rt$ ./start.sh

    2 ) 配置sFlow Agent

    我们需要在虚拟交换机配置sFlow Agent,这样sFlow Collector 才能收集到流量信息进行分析和呈现。

    键入以下指令部署sFlow Agent :

    back@back:~$ sudo ovs-vsctl -- --id=@sflow create sflow agent=eth0 target=\"127.0.0.1:6343\" sampling=10 polling=20 -- -- set bridge s1 sflow=@sflow

    通过如下指令可以查看已经配置的 sFlow Agent信息:

    back@back:~$ sudo ovs-vsctl list sflow

    输入ip link 指令可以查看,虚拟交换机端口与端口编号的映射

    可以看到s1 交换机对应的编号是4,交换机连接host1的端口对应的编号是5,依次类推。

    查看sFlow Agent 是否配置成功,我们可以通过其WebUI进行查看:localhost:8008/app/flow-trend/html/index.html

    点击页面上的 Apps选项, 再点击flow-trend选项localhost:8008/app/flow-trend/html/index.html

    然后分别在Keys,Value,Filter列填入:ipsource,ipdestination,stack;bytes;留空 ,然后点击右面的 Submit (√)提交-------,之后,将自动转到图形化流量监控页面

    然后切换到mininet 控制台窗口,使用如下指令,打开 Host1,和Host2的终端:

    mininet> xterm h1 h2

    然后在 Host1 上启动一个 http 服务

    python -m SimpleHTTPServer 80&

    在 Host2 上 ping Host1

    然后去观察流量, 可以看到,流量很正常,在 Host2 终端中可以按 Ctrl+c,停止ping。可以试试访问一下 Host1的HTTP服务。

    2)DDoS攻击检测

    接下来,我们进行DDoS 模拟攻击,在 mininet 终端中执行,h2 ping -f h1 ,-f 参数的意思就是 Ping Flood ,模拟 Flood Attack。

    h2 ping –f h1

    再去观察交换机流量

    2.4 DDoS 攻击防御

    打开一个系统终端,输入如下指令,调用Floodlight 的API 查询现有流表

    back@back:~$ curl -X GET \

    > http://127.0.0.1:8080/wm/staticflowpusher/list/00:00:00:00:00:00:01/json

    返回为空:

    1)添加流表操作

    然后我们添加一条静态流表,为了方便操作和查看,新建一个 ddos.json 的文件,将流表内容写入到这个文件,然后通过 API 进行提交,文件内容如下:

    执行下列指令,下发流表Drop数据包:

    back@back:~$curl-X POST -d @ddos.json http://127.0.0.1:8080/wm/staticflowpusher/json

    返回“Entry pushed”,表示流表下发成功,再次查询流表:

    2)观察流量

    切换到 sFlow 这边查看流量:

    发现流表下发之后,流量迅速下降,h1向h2泛洪的数据包迅速的被完全Drop掉了。

    切换到 h2 的终端,访问 h1的web服务

    同样无法访问了。这是因为我们下发的流表是把所有的数据包都Drop掉了。这并不是我们想要的效果,等下我们再来解决这个问题。

    3)删除流表

    执行以下指令删除刚刚下发的流表:

    back@back:~$ curl -X DELETE -d '{"name":"flow-mod-dropt"}' \

    > http://127.0.0.1:8080/wm/staticflowpusher/json

    再次观察流量:

    攻击的数据包流表又恢复了。

    4)DROP指定流量

    改造需要下发的流表,让OpenFlowSwitch 只Drop掉 ICMP的流量,不影响正常的HTTP服务。修改内容如下:

    "eth_type":"0x0800",

    "ip_proto":"0x01",

    添加了两个字段,eth_type: 指定以太网类型为ipv4,ip_proto:指定协议类型为ICMP。

    再次下发流表:

    back@back:~$curl-X POST -d @ddos.json http://127.0.0.1:8080/wm/staticflowpusher/json

    此时再观察流量和访问 h1 的HTTP服务

    可以发现,流量下降到正常,但HTTP服务依然可以访问,没有受到影响。

    3、总结

    通过SDN技术,我们可以对网络流量进行实时监控,提取,分析,并能够及时的对流量进行调整比如QoS,负载均衡,DDoS流量过滤等。

    展开全文
  • 这是一个有关将机器学习模型应用于软件定义网络中的DDoS攻击检测的存储库。 先决条件 通过以下pip3 install -r requirements.txt所需的软件包: pip3 install -r requirements.txt 请注意,该程序是使用Python 3.x...
  • 针对这一问题,结合软件定义网络集中管控、动态管理的优势和分布式拒绝服务攻击特点,引入双向流量概念,提出了攻击检测四元组特征,并利用增长型分层自组织映射算法对网络流中提取的四元组特征向量快速准确地分析并...
  • SDN概述一些废话和导航SDN概述网络系统的生命周期网络系统的亚健康问题传统的网络规划和设计的不足和根本原因管理平面、控制平面、数据平面的联系SDN的三层架构新一代网络架构最后一些废话 一些废话和导航 初次接触...

    一些废话和导航

    初次接触SDN,也是第一次写CSDN博客,若文章有幸被您阅读,请多多指正,一万个感谢,THANKS [/比心]
    画了个小小的思维导图(如下)作为主线,梳理SDN概述,内容包括网络系统的生命周期、网络系统的问题、传统网络架构规划和设计的不足及根本原因、SDN三层架构、新一代网络架构。
    思维导图

    SDN概述

    网络系统的生命周期

    1. 需求调研: 包括对互联范围、互联规模、拟承载的应用的需求调研
    2. 规划设计: 包括对网络架构和拓扑、IP和路由、安全和Qos策略的规划和设计;注意在这个过程中要体现一定的冗余性,以便为未来的规模和业务扩展流下弹性空间
    3. 部署实施: 根据规划与设计方案进行落地;上架、配置、联通设备以及集成、上线、测试系统
    4. 运行维护: 通过网络状态的监控与管理,发现并排除网络故障与隐患,确保网络系统可靠有效得运行

    网络系统的亚健康问题

    随着网络需求越来越复杂,网络应用的增多,技术的进步,网络系统的稳定性得到一定程度的保证,灵活性逐渐超越稳定性成为人们网络系统的新要求,网络系统的亚健康问题也暴露出来:
    多元、多变的网络上层应用与业务和相对稳定的网络架构设计以及系统运维之间的矛盾

    传统的网络规划和设计的不足和根本原因

    传统的网络架构是基于应用需求相对明确和稳定的情况下设计,进行预设,是相对稳定的;尽管强调冗余设计,但调整与应对的空间相对有限,人工为主自动为辅,分布式网络架构中网络设备类型、厂家来源的多样性,调整的难度和复杂度非常大;其根本原因是:

    1. 传统网络及其设备的只可配置、不可编程
    2. 网络的分布式控制与管理架构方面,网络的部署、配置与管理需要落到每台设备上去手动完成

    管理平面、控制平面、数据平面的联系

    每台设备上紧耦合三个平面:

    1. 管理平面: 配置和管理网络设备提供用户访问界面或接口,如命令行界面或图形界面
    2. 控制平面: 预置不同网络支持和功能的支持,根据管理平面传入的配置与管理指令,生成相应的控制表
    3. 数据平面: 根据控制平面相关控制表给出的信息,进行具体的报文处理或转发
      ———————————————分割线————————————————
      管理平面发出配置与管理指令给控制平面;控制平面根据指令生成相应的控制表,控制表作为数据转发的依据传输给数据平面;数据平面承担包转发功能

    SDN的三层架构

    1. 应用层(用户业务系统): 包含网络所承载的多元业务和应用
    2. 控制层(SDN集中控制器): 设备的管理平面和控制平面,起承上启下的全局管控作用
    3. 基础设施层: 仅保留数据平面的网络设备,仅承担包转发功能
      ———————————————分割线————————————————
      应用层与控制层之间的接口为API接口,也称为北向接口;
      控制层与基础设施层之间的接口为控制数据平面接口,也称为南向接口;

    新一代网络架构

    对于底层网络设备,通过解耦,将管理平面、控制平面从设备中拉出,仅保留数据平面,实现简单化;
    对于网络的管理,拉出的管理平面、控制平面共同形成SDN集中控制器,实现全局化;
    对于网络的运维,通过控制层与基础设施层之间的SDN南向接口与协议,实现自动化;
    对于网络的应用,通过应用层与控制层之间的SDN北向接口与协议,可灵活配置网络应用,实现人性化;

    最后一些废话

    内容根据慕课:

    软件定义网络技术 . 温州大学

    初次接触计算机网络和SDN,可能会缺失一些知识点,会再返回编辑

    展开全文
  • #资源达人分享计划#
  • 该模拟器评估基于SDN的IoT DDoS攻击检测器的性能,SDN在“隔离智能切片移动网络中的恶意IoT设备”中提出。 执行 使用脚本“ detection_simulator.py”来模拟您要评估的方案。 该脚本对场景进行了相同的预设收集,...
  • 基于SDN的DDoS攻击检测与防御:https://zhuanlan.zhihu.com/p/270995073(MIninet,SDN 在控制 DDoS 攻击中的作用,下发流表 drop 恶意流量) 请问一下各位网络大佬,学习SDN技术需要什么能力?:...
  • #资源达人分享计划#
  • 针对云环境SDN网络中存在的对低速率DDoS 攻击检测精度较低,缺乏统一框架对数据平面、控制平面低速率DDoS攻击进行检测及防御等问题,提出了一种针对低速率DDoS的统一检测框架。首先,分析验证了数据平面低速率DDoS...
  • SDNShield使用SDN的动态流规则生成来检测和阻止DoS攻击。 此外,SDNShield还通过调整数据包泛洪间隔来提供智能攻击的鲁棒性。 安装 Linux(Ubuntu) # Install requirements on SDN switch sudo
  • SDN和网络功能虚拟化(NFV)结合,提出了一种新颖的防范DDoS攻击SDN控制器的前置检测中间盒(UDM)机制,在SDN交换机端口与用户主机之间分布式部署UDM以检测并拒止DDoS攻击报文。此外,还提出了一种基于NFV的前置...
  • ARP缓存中毒攻击缓解器SDN POX SDN控制器上的ARP欺骗缓解模块。 产品特点 防止LAN攻击者以很少的开销中毒节点的缓存表条目。 防止恶意数据包进入网络。 建立 ARPspoofperf.py使用检测模块创建测试设置。 ...
  • SDN

    千次阅读 多人点赞 2017-06-29 11:35:37
    SDN的本质定义就是软件定义网络,也就是说希望应用软件可以参与对网络的控制管理,满足上层业务需求,通过自动化业务部署简化网络运维。 1 SDN标准:ONF 网站:https://www.opennetworking.org/ 参考:...
  • 为解决软件定义网络(software defined network,SDN)控制器易受分布式拒绝服务(distributed denial of service,DDoS)攻击的问题,提出了一种基于Sibson距离的DDoS攻击检测方法。首先,针对现有SDN控制器负载过...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 991
精华内容 396
关键字:

sdn攻击检测