米明
摘要:傳統(tǒng)以防火墻為中心的網(wǎng)絡(luò)攻擊防御系統(tǒng)有其盲點(diǎn),SDN 交換機(jī)通過協(xié)同作業(yè)剛好可以彌補(bǔ)這個(gè)盲點(diǎn),該研究通過實(shí)驗(yàn)了解 SDN 協(xié)同防御機(jī)制,在內(nèi)網(wǎng)可以通過 0.6 秒的反應(yīng)時(shí)間達(dá)到 98.5%的 scan packet 阻攔率,有效地把防御陣線由防火墻直接拉到貼近使用者的交換機(jī),SDN 交換機(jī)將來在網(wǎng)絡(luò)安全領(lǐng)域十分值得期待。
關(guān)鍵詞:SDN;OpenFlow;網(wǎng)絡(luò)攻擊防御
中圖分類號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2016)26-0050-02
1 簡介
傳統(tǒng)上在討論網(wǎng)絡(luò)攻擊防御的時(shí)候,基本架構(gòu)是以防火墻、UTM 為主,入侵監(jiān)測(cè)系統(tǒng)為輔,這架構(gòu)在當(dāng)大部分的威脅都來自外網(wǎng)的時(shí)候是有用的,但是當(dāng)時(shí)代慢慢改變,BYOD 與 APT 等攻擊慢慢把 Malware 滲透進(jìn)內(nèi)網(wǎng)的時(shí)候,LAN-to-LAN attack 并不容易讓防火墻察覺,因此,在攻擊趨勢(shì)慢慢挪向內(nèi)網(wǎng)的今天,防火墻與內(nèi)網(wǎng)使用者的距離似乎就顯得有點(diǎn)遠(yuǎn)了。
近年來 Software-Defined Networking 這概念提供大家另外一種思考的面向,監(jiān)測(cè)是否可以分割交換機(jī)的 control plane 與 data plane,并且封裝其操作 data plane 的復(fù)雜度,讓各家廠牌的交換機(jī)只要遵循一種統(tǒng)一的 API 就可以被管控。如此一來,監(jiān)測(cè)便有機(jī)會(huì)把防御陣線再更貼近使用者一些,使得本來很難監(jiān)測(cè)的 LAN-to-LAN attack 可以輕易地被發(fā)現(xiàn)。
以下本文會(huì)說明 SDN 的原理與概念,并說明以防火墻為中心的網(wǎng)絡(luò)防御盲點(diǎn),以及監(jiān)測(cè)如何利用 SDN 協(xié)做來克服,并通過實(shí)際的測(cè)試驗(yàn)證系統(tǒng)的適用性。
2 Software-Defined Networking
一般的網(wǎng)絡(luò)交換機(jī)可以分成 control plane 和 data plane 兩個(gè)部分,control plane 主要負(fù)責(zé)對(duì) data plane 下控制命令以及擷取相關(guān)統(tǒng)計(jì)資料,而 data plane 主要是負(fù)責(zé)封包出路的查找與轉(zhuǎn)送。傳統(tǒng)的網(wǎng)絡(luò)交換機(jī)通常會(huì)把 control plane 和 data plane 都做在交換機(jī)里面,因?yàn)楦骷业?data plane 都不盡相同,所以相對(duì)應(yīng)的管控與操作方式也不太一樣,所以做在一起似乎是理所當(dāng)然,但是這樣會(huì)導(dǎo)致多樣化的管控界面,而多樣化的交換機(jī)管控界面對(duì)于資安維護(hù)是不方便的。
軟件定義網(wǎng)絡(luò)(Software-Defined Networking,以下簡稱 SDN)是最近新興的一種網(wǎng)絡(luò)概念,它最主要的想法是把網(wǎng)絡(luò)交換機(jī)的 control plane 和 data plane 分開,使得controlplane 不再只是內(nèi)嵌于交換機(jī)內(nèi)部不易修改的 firmware (韌體),而是可以成為獨(dú)立于交換機(jī)之外的 controller。通過獨(dú)立出來的 controller ,監(jiān)測(cè)可以通過軟件的方式實(shí)時(shí)地管控交換機(jī)的 data plane,進(jìn)行必要的網(wǎng)絡(luò)流量調(diào)控,如圖1[1]所示。然而為了要讓 control plane 能獨(dú)立于外,監(jiān)測(cè)便需要在 control plane 和 data plane 中間加一層通用的interface,使得 control plane 可以藉由這層通用的 interface 來避免面對(duì)不同 data plane的復(fù)雜度。目前大家接受度比較高的通用 interface 是 ONF 組織所定義的 OpenFlow Switch Specification [2], 通過 OpenFlow 的 API 監(jiān)測(cè)可以實(shí)時(shí)地控制 data plane 進(jìn)行網(wǎng)絡(luò)流量阻斷或是轉(zhuǎn)送,而不用擔(dān)心該交換機(jī)是那一種廠牌、需要用那一種管理方式。
因此監(jiān)測(cè)可以說 SDN 所帶來的是一種新的網(wǎng)絡(luò)概念與界面。
3 以 SDN 為基礎(chǔ)的網(wǎng)絡(luò)攻擊防御平臺(tái)設(shè)計(jì)
SDN 最初的應(yīng)用環(huán)境是大型的校園網(wǎng)路,之后慢慢地延伸到 data centers 與 cloud environments,基本上是藉助于 SDN 交換機(jī)方便的實(shí)時(shí)流量管控能力以進(jìn)行流量工程,在本文中監(jiān)測(cè)主要分享如何通過 SDN 交換機(jī)進(jìn)行網(wǎng)絡(luò)攻擊的防御,尤其是在防火墻保護(hù)不到的內(nèi)網(wǎng)。
圖2是一般的網(wǎng)絡(luò)防御示意圖,通常監(jiān)測(cè)以防火墻(Firewall, FW)為界分為內(nèi)網(wǎng)(LAN)與外網(wǎng)(WAN)。監(jiān)測(cè)通常會(huì)把入侵監(jiān)測(cè)系統(tǒng)(IDS)放在外網(wǎng),希望能夠了解誰在打監(jiān)測(cè)或是企圖攻擊監(jiān)測(cè)的 servers,也會(huì)把 Botnet 監(jiān)測(cè)系統(tǒng)(Botnet IDS)放在內(nèi)網(wǎng),當(dāng)內(nèi)網(wǎng)的 bot企圖要對(duì)外連線時(shí),監(jiān)測(cè)可以知道它在內(nèi)網(wǎng)的 IP 為何,但是,這樣的防御機(jī)制有個(gè)缺憾,就是 LAN 交換機(jī)(SW)對(duì)網(wǎng)絡(luò)攻擊沒有分辨能力,如果 Bot Host 去攻擊一個(gè)正常的 Normal Host,攻擊封包只會(huì)通過 LAN SW 轉(zhuǎn)送,但是因?yàn)?LAN SW 無識(shí)別能力,所以不會(huì)發(fā) alerts,因?yàn)樵摿髁恳膊粫?huì)經(jīng)過 Botnet IDS,所以 Botnet IDS 也不會(huì)知道,F(xiàn)W 也不會(huì)知道,很有可能只有當(dāng) Normal Host 也淪陷開始進(jìn)行對(duì)外的 C&C 連線時(shí) Botnet IDS 才會(huì)察覺,但是為時(shí)已晚。
SDN交換機(jī)的問世給了監(jiān)測(cè)一個(gè)機(jī)會(huì)來彌補(bǔ)這個(gè)防御上的缺憾,由于目前OpenFlow 的規(guī)格所限,監(jiān)測(cè)依然無法直接使用 SDN交換機(jī)來監(jiān)測(cè)網(wǎng)絡(luò)攻擊,所以依然需要額外仰賴一臺(tái)傳感器,例如 Portscan Honeypot、 Snort IDS 等,來發(fā)送 alerts 給controller。圖3是協(xié)同防御的示意圖。當(dāng) bot 主機(jī)要進(jìn)行內(nèi)網(wǎng)感染的時(shí)候(step 1),它必定要先試探內(nèi)網(wǎng)是否有主機(jī)有可攻擊的弱點(diǎn),所以通常會(huì)有portscan ,因?yàn)槭莗ortscan,所以監(jiān)測(cè)的傳感器(portscan honeypot)就有可能接收到并且發(fā) alerts 給 SDNcontroller (step 2),controller 收到后再下命令對(duì) bot host 進(jìn)行阻攔(step 3),當(dāng) SDN 交換機(jī)成功封鎖 bot host 后攻擊停止(step 4)。 這樣的設(shè)計(jì)可以有效彌補(bǔ)內(nèi)網(wǎng)攻擊的防御缺口,如果該 SDN 交換機(jī)可以進(jìn)行大量的 traffic mirror 而不減其效能,監(jiān)測(cè)也可以直接把傳感器換成 Snort IDS,并且直接把 traffic mirror 給 Snort IDS,這樣就可以組成一個(gè)switch-based IDS,可以有更廣泛的監(jiān)測(cè)范圍。
4 相關(guān)實(shí)驗(yàn)結(jié)果
依照?qǐng)D3的網(wǎng)絡(luò)架構(gòu),在內(nèi)網(wǎng)布建了十臺(tái)虛擬機(jī)(VM),并且統(tǒng)計(jì)當(dāng)內(nèi)網(wǎng)發(fā)生portscan 時(shí),掃它們的 scan packets 被阻攔的比率,依照監(jiān)測(cè)實(shí)驗(yàn)結(jié)果,scan packets 的阻攔率大約有 98.5%。(如圖4)
計(jì)算每個(gè) VM 收到最后一個(gè) scan packet 與收到第一個(gè) scan packet 的時(shí)間差,當(dāng)成圖3中 step 1 到 step 4 的整體反應(yīng)時(shí)間,發(fā)現(xiàn)最壞的狀況大約是 0.6 秒,如圖5所示。
5 結(jié)論
網(wǎng)絡(luò)上的攻擊與防御,就如同矛與盾一般,隨著時(shí)間此消彼長,很難有一方可以長久取得優(yōu)勢(shì),而監(jiān)測(cè)總是期望能隨著時(shí)代的進(jìn)步,協(xié)同新的工藝去處理過去難以處理的問題。SDN 交換機(jī)把防御的陣線從防火墻直接拉到最靠近使用者的交換機(jī),或者監(jiān)測(cè)可以說是到了最后一米(The last meter),把過去一些無法監(jiān)測(cè)的死角,變成了可能,依照監(jiān)測(cè)的實(shí)驗(yàn) 0.6 秒的系統(tǒng)反應(yīng)時(shí)間與 98.5% 的阻攔率,這表示 SDN 對(duì)提升 LAN 或是Smart Home 的安全是有幫助的。
監(jiān)測(cè)也期望未來 OpenFlow 的規(guī)格可以更提升,讓 SDN 交換機(jī)可以擁有 L7 matching 或是 Deep Packet Inspection 的能力,到時(shí) SDN 就會(huì)更大有可為。
參考文獻(xiàn):
[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.