sdn安全相关研究分类

uspeed | 南京优速网络科技有限公司-j9九游会登录

本文是针对自己半年来阅读的近50篇较高质量的sdn安全研究论文的简要总结,更新时间是2016年7月。

在初涉sdn领域时,贵站给予了自己莫大的帮助。最近突然察觉sdnlab中关于sdn安全的文章数目较少,于是自己把这篇总结拿出来分享。参考的论文(及链接)在文末中已给出。

内容若有错误或有需要修改的地方,还请直接指出,谢谢!

软件定义网络(software defined networking,简称 sdn),将传统封闭的网络体系解耦为数据平面、控制平面和应用平面,在逻辑上实现了网络的集中控制与管理.sdn的突出特点是开放性和可编程性,目前已在网络虚拟化、数据中心网络、无线局域网和云计算等领域得到应用。[1]

随着对sdn架构开发和部署的不断深入,各类安全性问题也逐渐成为制约sdn发展的关键因素。业界针对sdn安全的研究方向主要分为两大类:一类是sdn提升安全,这主要是指sdn给传统的网络安全研究所带来的新思路和新解决方式,即通过sdn来加强网络安全;另一类是sdn自身安全,即对sdn体系架构本身所存在的安全问题进行研究,其又包括sdn特有的(如拓扑中毒)和非特有的(如传统的网络攻击)。

针对sdn架构在传统网络安全研究中的应用,下表列出了较典型的6个方面。

类别

说明

相关研究

网络安全配置或监控

依靠sdn集中式的控制平面,完成灵活的安全策略下发和有效的网络状态监控 sane[30]
ethane[31]
resonance[33]
procera[17]

middlebox

可细分为三个方面:
  1. 软件实现传统的middlebox
  2. 解决service chaining问题,即middlebox(网络设备)的放置问题
  3. 将传统的middlebox整合到新型的sdn网络中
cloudwatcher[27]
flowtags[43]
flowguard[46]
slick[4]

攻击检测

借助sdn的特性,有效的检测各类网络攻击 sphinx[44]

防ddos/dos攻击

可细分为三个方面:
  1. 传统的ddos攻击
  2. link-flooding attacks
  3. short-circuiting traffic surges
bohatei[42]
spiffy[41] (防御基于traffic pattern的网络攻击)
netfuse[5](借助openflowcontrol)

匿名服务

借助sdn提供网络访问中的匿名服务 openflow random host mutation[32]

其他网络场景中的应用

将sdn应用到企业内网、手机移动网等其他网络环境中。典型如sdn在byod(bring your own device)自带设备移动办公智能j9九游会登录的解决方案中的应用。 pbs(programmable byod security)[29]
enterprise-centric
offloading system(ecos)[45]

3.1 按体系架构划分

按照sdn的体系架构进行划分,sdn自身面临的安全问题可以划分为如下5类。

类别

主要形式

应用层安全

恶意应用程序,非法访问,恶意流规则下发、配置缺陷等

北向接口安全

主要是标准化问题,涉及到非法访问,数据泄露等

控制层安全

ddos/dos攻击,单点故障,恶意/虚假流规则的注入,非法访问,配置缺陷等

南向接口安全

ssl/tls协议本身的不安全性,默认配置的不安全性(如openflow 1.3.0后将tls设置为可选项)

数据层安全

ddos/dos攻击,恶意/虚假流规则的注入,非法访问、配置缺陷等

注:各相关层和接口之间的影响是相互的,同一形式的攻击也会涉及到sdn架构中的多个层次。

3.2 按研究点划分

针对sdn自身安全的研究点进行划分,其主要可分为如下10类。其中各类别之间会有一定的重合。而相关的安全研究目标既包括传统的网络安全问题,同时也包含sdn所特有的新型网络攻击形式。

类别

说明

相关研究

安全控制器的设计

对sdn控制器进行完全重新的设计和开发,将安全性作为控制器的核心功能 rosemary控制器[11]
pane控制器[12]

安全模块/框架的设计

可细分为2个方面:
  1. 基于已有的某特定的sdn控制器,改进其现有的安全模块的设计。
  2. 基于已有的sdn控制器,设计一套完整的安全框架,其中各类安全功能模块可进行独立开发,并可作为应用安装在该框架内(安全模块可进行组合)。
fortnox[22]
se-floodlight[25]
fresco[24]
ofx[48]

流规则的合法性和一致性检测

按解决方法可以细分为3类:
  1. 基于角色和优先级的检测
  2. 基于形式化方法的检测,即借助数学模型或工具
  3. 其他

按解决目标可以细分为2类:

  1. transient(短暂性的),如sdn网络启动时,由于流规则的下发顺序及网络延时等原因,而出现的短暂的流规则不一致性问题
  2. longterm(长期性的)
按解决方法进行的分类:
  1. fornox[22]; se-floodlight[25]
  2. flowchecker[13](基于二元决策图,binary decision diagrams); flover[18](基于可满足性模块理论,yices smt)
  3. veriflow[16](基于多维前缀树 trie,等价类划分,并同时解决transientlongterm问题)
  4. [14](解决数据包的一致性和数据流的一致性问题,仅限于transient); pga[47]

攻击检测

网络攻击检测 sphinx[44]

ddos/dos攻击防御

按解决思路主要可以分为4类:
  1. 基于流量特征变化的检测防御
  2. 基于连接迁移机制的防御
  3. 基于威胁建模分析的防御
  4. 基于攻击目标的防御,如主机ip地址的动态变换
相对应的研究有
  1. 轻量级ddos洪泛攻击检测方法(som)[6]; topoguard[7](检测模型)
  2. avant-guard[8]
  3. stride[9]
  4. openflow random host; mutation[32]

拓扑中毒攻击(topology poisoning attack)

该攻击是sdn所特有的一种新型的有效攻击形式,其会引发并导致主机劫持, dos攻击, 中间人攻击等 topoguard[7]

扫描攻击

tcp连接扫描,udp扫描功能 avant-guard[8](但只针对tcp连接)

北向接口安全

包含权限管理、访问控制、可恢复性等安全功能。(本表列出的安全模块/安全控制器的开发也涉及到此块) avant-guard[8]
rosemary控制器[11](提供了可恢复性功能)
permof
operation checkpoint[38]

应用程序检测

检测应用程序本身存在的漏洞 nice[26]

其他

研究本身并不是为了解决特定的sdn安全问题,但其相关技术却可以应用在安全研究中,如,
  1. 网络虚拟层flowvisor
  2. 流量监控
相应的研究有
  1. flowvisor[28]
  2. compling path queries[34]

3.3 按问题/攻击划分

按照安全问题/攻击[19]进行划分,其可分为如下6类:

类别

举例

未经授权的访问

未经授权的控制器访问;
未经身份认证的应用程序

数据泄露

流规则发现(侧信道攻击);
转发策略发现(包处理时序分析)

数据修改

修改数据包的流规则修改机制;

恶意应用程序

虚拟规则注入;
控制器劫持

拒绝服务攻击

控制器交换机之间通信的洪泛攻击;
交换机流表洪泛攻击;

配置问题

缺少tls协议或其他认证协议;
策略生成问题

参考论文请见

注:该网址列举了相应的安全研究论文,其主要选自网络安全核心会议(如ieee s&p、acm ccs、usenix security、ndss等)。其中部分论文包含简要的介绍,且论文编号和前文的引用编号相对应。

作者简介:onephone,复旦大学网络安全实验室在读研究生,研究方向包括:高速网络传输、网络安全、sdn security & benchmark等。

技术背景:
熟悉网络相关知识,unix/linux 系统,关注网络安全,黑客技术以及sdn、devops、unikernel 等前沿技术,喜欢开源和分享(个人网站 www.codeshold.me)

网站地图