APP下载

基于 SDN的网络攻击防御平台研究

2016-11-24米明

电脑知识与技术 2016年26期

米明

摘要:传统以防火墙为中心的网络攻击防御系统有其盲点,SDN 交换机通过协同作业刚好可以弥补这个盲点,该研究通过实验了解 SDN 协同防御机制,在内网可以通过 0.6 秒的反应时间达到 98.5%的 scan packet 阻拦率,有效地把防御阵线由防火墙直接拉到贴近使用者的交换机,SDN 交换机将来在网络安全领域十分值得期待。

关键词:SDN;OpenFlow;网络攻击防御

中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2016)26-0050-02

1 简介

传统上在讨论网络攻击防御的时候,基本架构是以防火墙、UTM 为主,入侵监测系统为辅,这架构在当大部分的威胁都来自外网的时候是有用的,但是当时代慢慢改变,BYOD 与 APT 等攻击慢慢把 Malware 渗透进内网的时候,LAN-to-LAN attack 并不容易让防火墙察觉,因此,在攻击趋势慢慢挪向内网的今天,防火墙与内网使用者的距离似乎就显得有点远了。

近年来 Software-Defined Networking 这概念提供大家另外一种思考的面向,监测是否可以分割交换机的 control plane 与 data plane,并且封装其操作 data plane 的复杂度,让各家厂牌的交换机只要遵循一种统一的 API 就可以被管控。如此一来,监测便有机会把防御阵线再更贴近使用者一些,使得本来很难监测的 LAN-to-LAN attack 可以轻易地被发现。

以下本文会说明 SDN 的原理与概念,并说明以防火墙为中心的网络防御盲点,以及监测如何利用 SDN 协做来克服,并通过实际的测试验证系统的适用性。

2 Software-Defined Networking

一般的网络交换机可以分成 control plane 和 data plane 两个部分,control plane 主要负责对 data plane 下控制命令以及撷取相关统计资料,而 data plane 主要是负责封包出路的查找与转送。传统的网络交换机通常会把 control plane 和 data plane 都做在交换机里面,因为各家的 data plane 都不尽相同,所以相对应的管控与操作方式也不太一样,所以做在一起似乎是理所当然,但是这样会导致多样化的管控界面,而多样化的交换机管控界面对于资安维护是不方便的。

软件定义网络(Software-Defined Networking,以下简称 SDN)是最近新兴的一种网络概念,它最主要的想法是把网络交换机的 control plane 和 data plane 分开,使得controlplane 不再只是内嵌于交换机内部不易修改的 firmware (韧体),而是可以成为独立于交换机之外的 controller。通过独立出来的 controller ,监测可以通过软件的方式实时地管控交换机的 data plane,进行必要的网络流量调控,如图1[1]所示。然而为了要让 control plane 能独立于外,监测便需要在 control plane 和 data plane 中间加一层通用的interface,使得 control plane 可以藉由这层通用的 interface 来避免面对不同 data plane的复杂度。目前大家接受度比较高的通用 interface 是 ONF 组织所定义的 OpenFlow Switch Specification [2], 通过 OpenFlow 的 API 监测可以实时地控制 data plane 进行网络流量阻断或是转送,而不用担心该交换机是那一种厂牌、需要用那一种管理方式。

因此监测可以说 SDN 所带来的是一种新的网络概念与界面。

3 以 SDN 为基础的网络攻击防御平台设计

SDN 最初的应用环境是大型的校园网路,之后慢慢地延伸到 data centers 与 cloud environments,基本上是藉助于 SDN 交换机方便的实时流量管控能力以进行流量工程,在本文中监测主要分享如何通过 SDN 交换机进行网络攻击的防御,尤其是在防火墙保护不到的内网。

图2是一般的网络防御示意图,通常监测以防火墙(Firewall, FW)为界分为内网(LAN)与外网(WAN)。监测通常会把入侵监测系统(IDS)放在外网,希望能够了解谁在打监测或是企图攻击监测的 servers,也会把 Botnet 监测系统(Botnet IDS)放在内网,当内网的 bot企图要对外连线时,监测可以知道它在内网的 IP 为何,但是,这样的防御机制有个缺憾,就是 LAN 交换机(SW)对网络攻击没有分辨能力,如果 Bot Host 去攻击一个正常的 Normal Host,攻击封包只会通过 LAN SW 转送,但是因为 LAN SW 无识别能力,所以不会发 alerts,因为该流量也不会经过 Botnet IDS,所以 Botnet IDS 也不会知道,FW 也不会知道,很有可能只有当 Normal Host 也沦陷开始进行对外的 C&C 连线时 Botnet IDS 才会察觉,但是为时已晚。

SDN交换机的问世给了监测一个机会来弥补这个防御上的缺憾,由于目前OpenFlow 的规格所限,监测依然无法直接使用 SDN交换机来监测网络攻击,所以依然需要额外仰赖一台传感器,例如 Portscan Honeypot、 Snort IDS 等,来发送 alerts 给controller。图3是协同防御的示意图。当 bot 主机要进行内网感染的时候(step 1),它必定要先试探内网是否有主机有可攻击的弱点,所以通常会有portscan ,因为是portscan,所以监测的传感器(portscan honeypot)就有可能接收到并且发 alerts 给 SDNcontroller (step 2),controller 收到后再下命令对 bot host 进行阻拦(step 3),当 SDN 交换机成功封锁 bot host 后攻击停止(step 4)。 这样的设计可以有效弥补内网攻击的防御缺口,如果该 SDN 交换机可以进行大量的 traffic mirror 而不减其效能,监测也可以直接把传感器换成 Snort IDS,并且直接把 traffic mirror 给 Snort IDS,这样就可以组成一个switch-based IDS,可以有更广泛的监测范围。

4 相关实验结果

依照图3的网络架构,在内网布建了十台虚拟机(VM),并且统计当内网发生portscan 时,扫它们的 scan packets 被阻拦的比率,依照监测实验结果,scan packets 的阻拦率大约有 98.5%。(如图4)

计算每个 VM 收到最后一个 scan packet 与收到第一个 scan packet 的时间差,当成图3中 step 1 到 step 4 的整体反应时间,发现最坏的状况大约是 0.6 秒,如图5所示。

5 结论

网络上的攻击与防御,就如同矛与盾一般,随着时间此消彼长,很难有一方可以长久取得优势,而监测总是期望能随着时代的进步,协同新的工艺去处理过去难以处理的问题。SDN 交换机把防御的阵线从防火墙直接拉到最靠近使用者的交换机,或者监测可以说是到了最后一米(The last meter),把过去一些无法监测的死角,变成了可能,依照监测的实验 0.6 秒的系统反应时间与 98.5% 的阻拦率,这表示 SDN 对提升 LAN 或是Smart Home 的安全是有帮助的。

监测也期望未来 OpenFlow 的规格可以更提升,让 SDN 交换机可以拥有 L7 matching 或是 Deep Packet Inspection 的能力,到时 SDN 就会更大有可为。

参考文献:

[1]OpenFlowSW[EB/OL].http://bradhedlund.s3.amazonaws.com/2011/openflowscale/openflow-switch.png

[2]ONF.Openflowswitchspecificationversion1.4.0[EB/OL].http://www.opennetworking.org/images/stories/downloads/sdnresources/onf-speci fications/openflow/openflow-spec-v1, 2013.

[3] Wang C.An openflow-based collaborative intrusion prevention system for cloud networking[D].National Tsing Hua University, 2014.