王禛鵬,扈紅超,程國(guó)振,張傳浩,2
(1. 國(guó)家數(shù)字交換系統(tǒng)工程技術(shù)研究中心,河南 鄭州 450003;2. 鐵道警察學(xué)院公安技術(shù)系,河南 鄭州 450053)
軟件定義網(wǎng)絡(luò)下的擬態(tài)防御實(shí)現(xiàn)架構(gòu)
王禛鵬1,扈紅超1,程國(guó)振1,張傳浩1,2
(1. 國(guó)家數(shù)字交換系統(tǒng)工程技術(shù)研究中心,河南 鄭州 450003;2. 鐵道警察學(xué)院公安技術(shù)系,河南 鄭州 450053)
針對(duì)傳統(tǒng)防御技術(shù)難以應(yīng)對(duì)未知漏洞和后門(mén)的問(wèn)題,擬態(tài)安全防御(MSD, mimic security defense)通過(guò)構(gòu)造動(dòng)態(tài)異構(gòu)冗余模型,提高系統(tǒng)的不確定性,增加攻擊者的攻擊難度和成本,提升網(wǎng)絡(luò)安全性能?;谲浖x網(wǎng)絡(luò),提出了一種擬態(tài)防御的實(shí)現(xiàn)架構(gòu),首先,按照非相似余度準(zhǔn)則構(gòu)建異構(gòu)冗余執(zhí)行體,而后借助軟件定義網(wǎng)絡(luò)的集中管理控制實(shí)現(xiàn)動(dòng)態(tài)選調(diào)和多模判決等功能。實(shí)驗(yàn)驗(yàn)證了架構(gòu)的入侵容忍能力和可用性。
擬態(tài)安全防御;軟件定義網(wǎng)絡(luò);主動(dòng)防御;動(dòng)態(tài)異構(gòu)冗余
網(wǎng)絡(luò)技術(shù)已廣泛應(yīng)用于電力、金融、交通等關(guān)鍵基礎(chǔ)設(shè)施,在提供便捷的同時(shí),其安全問(wèn)題也為人類帶來(lái)了極大的安全威脅。相較于防御技術(shù),網(wǎng)絡(luò)攻擊呈現(xiàn)愈演愈烈的態(tài)勢(shì),究其原因,主要有以下幾點(diǎn)。1) 現(xiàn)有的網(wǎng)絡(luò)空間組成要素呈現(xiàn)的單一性,根據(jù)Net Market Share公布的數(shù)據(jù)注1,桌面操作系統(tǒng)的市場(chǎng)份額中,Windows占91.39%;搜索引擎方面,Google占79.45%;硬件方面,由Synergy Research公布的2016年的數(shù)據(jù)顯示,思科占全球交換路由器市場(chǎng)53%的份額注2。這些都將導(dǎo)致攻擊者極易利用單個(gè)安全缺陷,對(duì)網(wǎng)絡(luò)服務(wù)可用性等造成多次、大規(guī)模的損害[1,2]。2) 網(wǎng)絡(luò)元素、結(jié)構(gòu)和配置呈現(xiàn)的靜態(tài)性,如使用靜態(tài)IP、靜態(tài)端口等,這樣攻擊者很容易對(duì)信息系統(tǒng)進(jìn)行持續(xù)的探測(cè)和入侵。3) 現(xiàn)有的防御技術(shù)較為被動(dòng),如入侵檢測(cè)[3]、蜜罐[4]、沙箱[5]等,屬于“亡羊補(bǔ)牢式”的防護(hù)手段,這種先瞄準(zhǔn)(發(fā)現(xiàn)攻擊特征)后打擊的防御手段,顯然無(wú)法滿足某些網(wǎng)絡(luò)關(guān)鍵基礎(chǔ)設(shè)施的安全需求,并對(duì)未知的漏洞威脅束手無(wú)策。
通過(guò)動(dòng)態(tài)化“改變游戲規(guī)則”的思想解決上述問(wèn)題已廣泛應(yīng)用。其中最為典型的是美國(guó)提出的移動(dòng)目標(biāo)防御(MTD, moving target defense)[6],其核心思想是通過(guò)為系統(tǒng)引入動(dòng)態(tài)性和隨機(jī)性,增加系統(tǒng)的不可預(yù)測(cè)性,從而阻斷攻擊者的攻擊過(guò)程,提高攻擊者的攻擊難度和攻擊成本。而鄔江興院士[7]提出的創(chuàng)新思想擬態(tài)安全防御除了具備上述的內(nèi)生安全防護(hù)性,還兼有檢測(cè)功能。擬態(tài)防御的核心思想是動(dòng)態(tài)異構(gòu)冗余機(jī)制,首先構(gòu)建異構(gòu)冗余的執(zhí)行空間,然后在系統(tǒng)運(yùn)行期間,從執(zhí)行空間中動(dòng)態(tài)地調(diào)度若干執(zhí)行體提供服務(wù),并采用多模判決機(jī)制對(duì)執(zhí)行體的輸出結(jié)果進(jìn)行一致性判決,檢測(cè)并定位攻擊行為。
為實(shí)現(xiàn)擬態(tài)防御的動(dòng)態(tài)調(diào)度和多模判決等機(jī)制,本文提出了一種基于軟件定義網(wǎng)絡(luò)[8]的實(shí)現(xiàn)架構(gòu)。SDN是一種數(shù)控分離的新型網(wǎng)絡(luò)體系結(jié)構(gòu),數(shù)據(jù)平面只負(fù)責(zé)基本的數(shù)據(jù)轉(zhuǎn)發(fā),而將網(wǎng)絡(luò)管理功能集中于SDN控制平面。這種集中管理控制的架構(gòu),可以實(shí)現(xiàn)網(wǎng)絡(luò)流量的動(dòng)態(tài)控制,為擬態(tài)防御思想的實(shí)現(xiàn)提供了有利條件。本文將選調(diào)、判決等機(jī)制作為應(yīng)用(APP),設(shè)在SDN控制器上,通過(guò)下發(fā)流表項(xiàng)實(shí)現(xiàn)動(dòng)態(tài)調(diào)度等功能,增強(qiáng)網(wǎng)絡(luò)安全性能。
本節(jié)主要介紹防御技術(shù)的相關(guān)工作,防御技術(shù)主要介紹MTD[6]和N變體系統(tǒng)[9]這2種防御思想,然后簡(jiǎn)要介紹利用SDN進(jìn)行流量管理控制的相關(guān)研究。
MTD由美國(guó)網(wǎng)絡(luò)與信息技術(shù)研究與發(fā)展計(jì)劃(NITRD, federal networking and information technology research and development)[6]提出,旨在通過(guò)引入多樣性和動(dòng)態(tài)性,增加系統(tǒng)對(duì)外呈現(xiàn)的不確定性。根據(jù)應(yīng)用的場(chǎng)景不同,MTD技術(shù)可分為基于終端級(jí)和基于網(wǎng)絡(luò)級(jí)?;诮K端級(jí)的,如指令隨機(jī)化(ISR, instruction set randomization)技術(shù)[10]、代碼隨機(jī)化(code randomization)技術(shù)[11],以及地址空間隨機(jī)化(ASLR, address space layout randomization)技術(shù)[12]等?;诰W(wǎng)絡(luò)級(jí)的移動(dòng)目標(biāo)防御技術(shù)主要是將網(wǎng)絡(luò)設(shè)備、功能的網(wǎng)絡(luò)配置動(dòng)態(tài)化。例如,Dunlop等[13]提出的MT6D(moving target IPv6 defense),基于IPv6巨大的地址空間,動(dòng)態(tài)輪轉(zhuǎn)網(wǎng)絡(luò)和傳輸層的地址(IP跳變),使攻擊者難以鎖定目標(biāo)攻擊。Jafarian等[14]提出了RHM,采用基于地址空間和IP地址的分層跳轉(zhuǎn)方案,后又在文獻(xiàn)[15]中提出采用主動(dòng)自適應(yīng)地址跳變技術(shù),該技術(shù)通過(guò)監(jiān)測(cè)攻擊行為,自動(dòng)執(zhí)行地址跳轉(zhuǎn)。
N變體系統(tǒng)[9]的核心思想是采用多個(gè)異構(gòu)體執(zhí)行相同的輸入,通過(guò)檢測(cè)其輸出結(jié)果的一致性判斷系統(tǒng)是否遭受攻擊,其原理是一種攻擊方法無(wú)法同時(shí)對(duì)多個(gè)變體有效,且造成相同的錯(cuò)誤。Mayo等[16]提出的異構(gòu)冗余模型采用了同樣的思想,并通過(guò)投票機(jī)制(大數(shù)判決)裁決最終的有效結(jié)果和異常變體,實(shí)現(xiàn)入侵容忍和攻擊檢測(cè)。
擬態(tài)安全防御的動(dòng)態(tài)異構(gòu)冗余模型則兼有上述MTD的動(dòng)態(tài)性和N變體的異構(gòu)冗余特性,其一般模型如圖1所示。其中為N個(gè)異構(gòu)執(zhí)行體空間,調(diào)度器動(dòng)態(tài)地從中選取 M 個(gè)提供服務(wù),對(duì)輸入進(jìn)行處理,由判決器對(duì)多個(gè)結(jié)果進(jìn)行裁決,輸出最可信的結(jié)果,定位輸出異常的執(zhí)行體,并通告調(diào)度器,降低其選取概率權(quán)值或直接予以清洗,實(shí)現(xiàn)反饋控制。對(duì)于動(dòng)態(tài)異構(gòu)冗余模型,若取消其動(dòng)態(tài)性,則擬態(tài)防御模型退化為N變體模型;若將上述M取值設(shè)為 1,并取消判決機(jī)制,則退化為移動(dòng)目標(biāo)防御模型。因此,上述2種防御思想某種程度上可視為擬態(tài)防御的特例。
圖1 動(dòng)態(tài)異構(gòu)冗余模型
目前,基于擬態(tài)防御思想進(jìn)行安全防護(hù)的研究日益增加[17,18],然而,擬態(tài)較為復(fù)雜的安全機(jī)制設(shè)計(jì),使其在實(shí)際場(chǎng)景中不如上述 2個(gè)防御思想應(yīng)用廣泛。針對(duì)這一問(wèn)題,本文提出基于軟件定義網(wǎng)絡(luò)技術(shù),實(shí)現(xiàn)擬態(tài)防御的簡(jiǎn)易部署安全架構(gòu)。
SDN集中管理控制的優(yōu)勢(shì)為網(wǎng)絡(luò)流量動(dòng)態(tài)管理提供了有利條件,如應(yīng)用最為廣泛的流量均衡[19]。文獻(xiàn)[20]通過(guò)引導(dǎo)流量至新規(guī)劃的路徑利用 SDN實(shí)現(xiàn)鏈路快速恢復(fù),增加網(wǎng)絡(luò)健壯性。文獻(xiàn)[21]將流量分多路徑進(jìn)行分段傳輸,增加攻擊者截獲重組數(shù)據(jù)的難度,從而增加數(shù)據(jù)的可靠性。文獻(xiàn)[22]借助SDN實(shí)現(xiàn)動(dòng)態(tài)多蜜罐技術(shù)。文獻(xiàn)[23]基于SDN網(wǎng)絡(luò),實(shí)現(xiàn)透明無(wú)感的移動(dòng)目標(biāo)防御。文獻(xiàn)[24]基于 SDN,考慮了網(wǎng)絡(luò)功能的狀態(tài)信息,實(shí)現(xiàn)網(wǎng)絡(luò)功能的動(dòng)態(tài)遷移。
本文利用軟件定義網(wǎng)絡(luò)集中管理控制的優(yōu)勢(shì),提出一種可應(yīng)用于多種防御場(chǎng)景、易部署、非侵入的擬態(tài)防御實(shí)現(xiàn)方法和架構(gòu)。
基于軟件定義網(wǎng)絡(luò)的擬態(tài)防御整體架構(gòu)如圖2所示。首先,本文利用網(wǎng)絡(luò)功能虛擬化等技術(shù)構(gòu)建異構(gòu)體空間,這種硬件資源虛擬化和軟硬解耦的設(shè)計(jì)有利于對(duì)異構(gòu)體空間進(jìn)行拓展、清洗等管理操作。其次,與圖1對(duì)應(yīng)可以看出,本文將輸入代理(負(fù)責(zé)分流)交由SDN數(shù)據(jù)平面完成,而將調(diào)度、判決等控制相關(guān)功能置于SDN控制器上,而控制平面上的功能模塊分為基本模塊和拓展模塊,實(shí)現(xiàn)集中管理控制。
首先,通過(guò)這種架構(gòu)設(shè)計(jì),可以看出執(zhí)行體池中的執(zhí)行體根據(jù)應(yīng)用場(chǎng)景部署為需要進(jìn)行保護(hù)的信息系統(tǒng),如域名系統(tǒng)(DNS, domain name system)服務(wù)器或 Web服務(wù)器等,得益于 SDN提供的可定義的開(kāi)放編程接口,對(duì)于具體不同的應(yīng)用場(chǎng)景和網(wǎng)絡(luò)狀態(tài),只需修改SDN控制器上運(yùn)行的應(yīng)用中相關(guān)代碼實(shí)現(xiàn)調(diào)整部署。其次,這種冗余設(shè)計(jì)本身無(wú)需對(duì)原有的信息系統(tǒng)以及客戶端做任何修改:從客戶端的角度上看,其不會(huì)感知到冗余架構(gòu)的信息系統(tǒng);從每個(gè)執(zhí)行體(信息系統(tǒng))的角度上看,其不會(huì)感知到其余冗余執(zhí)行體以及SDN(控制器)的操作處理(選調(diào)、裁決等),即每個(gè)執(zhí)行體都獨(dú)立運(yùn)行,相互之間不會(huì)感知和影響,實(shí)現(xiàn)了透明無(wú)感,是一種非侵入、易部署的設(shè)計(jì)。
圖2 基于SDN的擬態(tài)防御實(shí)現(xiàn)架構(gòu)
本節(jié)首先對(duì)架構(gòu)的各個(gè)模塊進(jìn)行介紹,然后分析架構(gòu)本身的安全性。
作為擬態(tài)防御最核心的功能模塊,基本模塊主要包含選調(diào)器和判決器,負(fù)責(zé)異構(gòu)執(zhí)行體的動(dòng)態(tài)調(diào)度和輸出結(jié)果的多模判決,下面分別進(jìn)行介紹。
3.1.1 選調(diào)器
選調(diào)器主要工作為動(dòng)態(tài)調(diào)度和控制交換機(jī)(圖1中switch0)進(jìn)行分流。選調(diào)器主要通過(guò)下發(fā) OFPT_FLOW_MOD(OpenFlow流表修改消息)實(shí)現(xiàn)網(wǎng)絡(luò)流量分流。例如,某時(shí)刻執(zhí)行體1~3(A1~A3)被選取出,則向 switch0下發(fā)的OFPT_FLOW_MOD消息中2個(gè)關(guān)鍵的match(匹配字段)和actions(行為字段)設(shè)置如程序1所示(本文采用Ryu控制器),當(dāng)switch0安裝相應(yīng)流表項(xiàng)后,switch0就會(huì)將匹配的數(shù)據(jù)分組(程序1中只采用in_port(入端口)作為匹配字段,實(shí)際中可增用 IP地址等)復(fù)制 3份,分別發(fā)往switch1~switch3,最終交由A1~A3進(jìn)行處理。
程序1
1) function output(x)
2) output to x // output的功能是將網(wǎng)絡(luò)數(shù)據(jù)分組轉(zhuǎn)發(fā)給交換機(jī)的端口x
3) end function
4) match = (in_port == from_client) //流表規(guī)則中的匹配字段,匹配內(nèi)容為:從客戶方向進(jìn)入交換機(jī)端口的網(wǎng)絡(luò)請(qǐng)求
5) actions = [output(switch1), output(switch2),output(switch3)] //流表規(guī)則中的行為字段,操作為:將網(wǎng)絡(luò)請(qǐng)求分別分發(fā)給交換機(jī) switch1,switch2, switch3
6) if match == True //如果滿足上述匹配內(nèi)容,則執(zhí)行如下操作
7) then actions //將網(wǎng)絡(luò)請(qǐng)求發(fā)往設(shè)定的交換機(jī)switch1, switch2, switch3
8) end if
選調(diào)器的調(diào)度方法一般借助判決器實(shí)現(xiàn)反饋控制。例如,某執(zhí)行體出現(xiàn)異常(輸出結(jié)果與大多數(shù)結(jié)果不一致或者拓展模塊檢測(cè)出異常等),則選調(diào)器可以降低選取它的概率等。具體的策略則可根據(jù)實(shí)際應(yīng)用場(chǎng)景進(jìn)行定制設(shè)置。例如,對(duì)于某些網(wǎng)絡(luò)核心服務(wù),安全需求較高時(shí),當(dāng)發(fā)現(xiàn)執(zhí)行體異常,可以不再選?。ǜ怕蕿?),清洗后方才使用;而其他一些場(chǎng)景,則可以采用較溫和的方法,根據(jù)其出現(xiàn)異常的次數(shù),逐漸降低其選調(diào)概率[17],在保證安全性能的情形下,增加利用率,降低維護(hù)成本(清洗操作開(kāi)銷(xiāo)大)。
而觸發(fā)選調(diào)器的機(jī)制一般為定時(shí)觸發(fā)機(jī)制(即周期性選取)和異常事件觸發(fā)(即判決器等發(fā)現(xiàn)不一致時(shí))。
3.1.2 判決器
判決器主要對(duì) switch1~switchM 上報(bào)的輸出結(jié)果進(jìn)行裁決,然后將結(jié)果用 OFPT_PACKET_OUT消息下發(fā)給switch0返回用戶,并向選調(diào)器和管理模塊通告異常。判決器一般采用投票機(jī)制,即大數(shù)判決,半數(shù)以上一致結(jié)果判定為正確結(jié)果。這種裁決機(jī)制是基于假設(shè):攻擊者難以對(duì)多數(shù)異構(gòu)執(zhí)行體成功實(shí)施攻擊,并造成相同的錯(cuò)誤輸出[1]。
而判決2個(gè)結(jié)果是否一致的方法一般通過(guò)比對(duì)數(shù)據(jù)分組中某些數(shù)據(jù)的一致性,需要根據(jù)不同的應(yīng)用場(chǎng)景進(jìn)行區(qū)別設(shè)置,如在 DNS查詢服務(wù)中,某個(gè)域名可能對(duì)應(yīng)多個(gè) IP地址,此時(shí) DNS服務(wù)器返回的報(bào)文中這多個(gè) IP地址的順序可能不同,因此可以采用IP集合比對(duì)的方法;若是在異構(gòu) SDN控制器場(chǎng)景下,則可比對(duì) OFPT_FLOW_MOD中的match和actions這2個(gè)關(guān)鍵字段[18]。
由于處理效能或網(wǎng)絡(luò)時(shí)延等影響,可能存在多個(gè)輸入的輸出結(jié)果亂序問(wèn)題,對(duì)此也可根據(jù)報(bào)文中序號(hào) ID等標(biāo)記進(jìn)行區(qū)分輸出結(jié)果對(duì)應(yīng)的輸入,如DNS報(bào)文中的transaction_id、ping包中的序列號(hào)等。
拓展模塊是除上述基本模塊的可選功能拓展,如檢測(cè)器和管理器等,下面分別進(jìn)行介紹。
1) 檢測(cè)器:攻擊檢測(cè)模塊負(fù)責(zé)對(duì)網(wǎng)絡(luò)流量進(jìn)行抽樣分析檢測(cè),并向選調(diào)器和判決器匯報(bào)異常,而后選調(diào)器可以調(diào)整選調(diào)策略,但判決器可以不考慮異常執(zhí)行體的結(jié)果。在移動(dòng)目標(biāo)防御和擬態(tài)防御模型的情形下,除了常規(guī)的檢測(cè),還可利用動(dòng)態(tài)冗余模型的優(yōu)勢(shì)對(duì)攻擊者的探測(cè)等攻擊行為進(jìn)行檢測(cè):若某時(shí)刻發(fā)現(xiàn)存在處于非活躍態(tài)(未被選?。﹫?zhí)行體的相關(guān)流量,則可判定這些數(shù)據(jù)為可疑流量[25],然后著重進(jìn)行考察。顯然,通過(guò)這樣的針對(duì)性檢測(cè)機(jī)制,可以提高檢測(cè)效率和準(zhǔn)確性。除此之外,利用蜜罐技術(shù),將這些可疑流量引導(dǎo)至蜜罐中,從而進(jìn)一步分析攻擊者的行為特征等。
2) 管理器:主要負(fù)責(zé)執(zhí)行體的管理,如清洗執(zhí)行體、新增或刪除執(zhí)行體等。清洗執(zhí)行體,如通過(guò)遠(yuǎn)程控制清除其狀態(tài)數(shù)據(jù),并重置至初始狀態(tài),而觸發(fā)清洗操作的可以是檢測(cè)器或者判決器發(fā)現(xiàn)異常執(zhí)行體。另外,還可從系統(tǒng)安全和效能狀態(tài)的角度進(jìn)行考察,決定新增或刪除執(zhí)行體,得益于網(wǎng)絡(luò)功能虛擬化(NFV, network function virtualization)、Docker等虛擬化技術(shù),可較便捷、快速地新建鏡像實(shí)例或刪除。
通過(guò)3.1節(jié)和3.2節(jié)的設(shè)計(jì),本文在軟件定義網(wǎng)絡(luò)下完成了擬態(tài)防御實(shí)現(xiàn)設(shè)計(jì)??梢钥闯?,在本文中 SDN控制器是實(shí)現(xiàn)架構(gòu)的核心組件,選調(diào)、裁決和管理等邏輯功能都集中于 SDN控制層、存在單點(diǎn)問(wèn)題等。因此,架構(gòu)本身,尤其是SDN控制器的安全問(wèn)題也需要分析。
首先,SDN控制器本身作為SDN網(wǎng)絡(luò)中最重要的部分,它集中管理著其覆蓋網(wǎng)絡(luò)的所有視圖信息,負(fù)責(zé)完成網(wǎng)絡(luò)的基礎(chǔ)邏輯功能,同時(shí)在本架構(gòu)中SDN控制器承擔(dān)著架構(gòu)中的核心功能,如選調(diào)器、判決器和管理器等功能的實(shí)現(xiàn),極易成為攻擊的首選目標(biāo),因此,架構(gòu)存在SDN控制器單點(diǎn)失效的安全隱患。
其次,由選調(diào)器調(diào)度的功能實(shí)現(xiàn)可以看出,架構(gòu)依靠選調(diào)器動(dòng)態(tài)下發(fā)流表規(guī)則至交換機(jī)完成網(wǎng)絡(luò)請(qǐng)求的分發(fā),因此,控制器下發(fā)流表的正確性也需要得到保證,否則攻擊者可以通過(guò)篡改SDN控制器下發(fā)的流表規(guī)則將流量引至已被攻陷的執(zhí)行體上,從而完成攻擊。因此,架構(gòu)還存在流表規(guī)則篡改攻擊的安全威脅。
針對(duì)SDN控制器的安全問(wèn)題,首先,采用安全增強(qiáng)型的控制器,如 FortNOX[26]、SE-Floodlight[27]和Rosemary[28]等;其次,為解決上述的單點(diǎn)失效和流表篡改問(wèn)題,可以采用多控制器的分布式 SDN控制層設(shè)計(jì),如 ONOS[29]、拜占庭容錯(cuò)NOS[30],以及文獻(xiàn)[31]提出的MNOS,將動(dòng)態(tài)異構(gòu)冗余思想引入控制層,可以有效解決上述問(wèn)題。通過(guò)上述的安全措施,在增加一定開(kāi)銷(xiāo)代價(jià)下,可以有效保障架構(gòu)中SDN控制器的可用性和可靠性,從而提升架構(gòu)整體本身的安全性能。
本節(jié)主要介紹地址隱藏機(jī)制和動(dòng)態(tài)切換機(jī)制,分別為提升架構(gòu)安全性能和工作效率。
如前文所述,擬態(tài)防御的異構(gòu)冗余可以增強(qiáng)系統(tǒng)的入侵容忍性能,然而,其仍然無(wú)法應(yīng)對(duì)半數(shù)以上執(zhí)行體被攻擊的場(chǎng)景,因此,在面對(duì)高級(jí)持續(xù)性威脅(APT, advanced persistent threat)類攻擊時(shí),攻擊者可能不惜代價(jià)逐一探測(cè)并實(shí)施攻擊,成功滲透。因此,本文提出地址隱藏機(jī)制,通過(guò)隱藏執(zhí)行體的真實(shí)IP地址,進(jìn)一步保障系統(tǒng)安全。
地址隱藏的目標(biāo)是對(duì)外呈現(xiàn)統(tǒng)一的虛擬 IP地址,而使用戶或潛在的攻擊者無(wú)法獲取執(zhí)行體的真實(shí)地址。具體地,本文利用 OpenFlow交換機(jī)的數(shù)據(jù)修改功能實(shí)現(xiàn),以 switch1為例,假設(shè)對(duì)外暴露的虛擬IP地址設(shè)置為10.0.0.2,而執(zhí)行體E1的真實(shí)地址為10.0.0.101,則在switch1中下發(fā)的流表項(xiàng)的邏輯如程序2所示??梢?jiàn),switch1對(duì)來(lái)源于switch0輸入的操作是首先修改IP地址為執(zhí)行體E1真實(shí)IP地址(mod_nw_dst功能為修改目的網(wǎng)絡(luò)地址),然后交由執(zhí)行體 E1處理;而對(duì)執(zhí)行體E1的處理結(jié)果的操作是修改源IP地址為虛擬地址(mod_nw_src功能為修改源網(wǎng)絡(luò)地址),然后交由控制器的判決器進(jìn)行綜合裁決。
程序2
1) function mod_nw_dst(x)
2) modify the destination IP address to be x//mod_nw_dst功能為修改報(bào)文的目的IP地址
3) end function
4) function mod_nw_src(x)
5) modify the source IP address to be x//mod_nw_src功能為修改報(bào)文的源IP地址
6) end function
7) match1 = (in_port == from_switch0) //流表規(guī)則中的匹配字段,匹配內(nèi)容為:接收到來(lái)自交換機(jī)switch0發(fā)來(lái)的網(wǎng)絡(luò)請(qǐng)求
8) actions1 = [mod_nw_dst(10.0.0.101), output(E1)] //流表規(guī)則中的行為字段,操作為:首先修改報(bào)文的目的IP地址為10.0.0.101(E1的IP地址),然后轉(zhuǎn)發(fā)給E1
9) match2 = (in_port == E1) //流表規(guī)則中的匹配字段,匹配內(nèi)容為:接收到來(lái)自E1的執(zhí)行結(jié)果,即響應(yīng)
10) actions2 = [mod_nw_src(10.0.0.2), output(controller)] //流表規(guī)則中的行為字段,操作為:首先修改報(bào)文的源IP地址為10.0.0.2(虛擬地址),然后轉(zhuǎn)發(fā)給SDN controller進(jìn)行裁決等處理
11) if match1 == True //如果滿足上述match1,則執(zhí)行如下操作
12) then actions1 //執(zhí)行action1
13) end if
14) if match2 == True //如果滿足上述match2,則執(zhí)行如下操作
15) then actions2 //執(zhí)行action2
16) end if
通過(guò)上述機(jī)制,可實(shí)現(xiàn)對(duì)用戶和執(zhí)行體本身的透明無(wú)感:用戶將錯(cuò)誤地認(rèn)為處理他們請(qǐng)求的是IP地址為10.0.0.100的執(zhí)行體,同時(shí)執(zhí)行體也無(wú)需做任何更改。同時(shí),假若在 switch1和執(zhí)行體以外的網(wǎng)絡(luò)位置有任何涉及執(zhí)行體真實(shí) IP地址的報(bào)文出現(xiàn),即可認(rèn)為其可疑(因?yàn)閳?zhí)行體對(duì)外呈現(xiàn)的都是虛擬IP地址),然后將這些可疑流量引至蜜罐,進(jìn)行攻擊行為分析,之后調(diào)整相應(yīng)的防御策略,進(jìn)一步增強(qiáng)安全性。
由于一般的裁決機(jī)制都需要對(duì)所有執(zhí)行體的處理結(jié)果進(jìn)行綜合判決,因此,判決器需要知道當(dāng)前活躍(被選取的)執(zhí)行體的數(shù)量,如典型的大數(shù)判決。在一般情況下,該數(shù)據(jù)固定且可以從選調(diào)器獲取,然而,對(duì)于動(dòng)態(tài)切換過(guò)程中收到的處理結(jié)果的數(shù)量卻無(wú)法確定。例如,t1時(shí)刻前,活躍執(zhí)行體數(shù)量為3,t1時(shí)刻,選調(diào)器決定新選取5個(gè)執(zhí)行體,并向switch0下發(fā)流表項(xiàng),更改轉(zhuǎn)發(fā)規(guī)則,假設(shè)t2時(shí)刻,switch0收到該指令,并完成流表安裝工作。顯然,對(duì)于t1~t2時(shí)間內(nèi)的輸入,仍然是由舊的3個(gè)執(zhí)行體處理,而t2以后的輸入為新執(zhí)行體處理,然而這些信息判決器無(wú)法獲得:控制器到 switch0以及安裝流表的時(shí)延和具體從哪個(gè)輸入開(kāi)始切換的都無(wú)法確定。因此,當(dāng)判決器收到3份處理結(jié)果時(shí),它無(wú)法確定是否還需要等待剩余2份,因此可能一直等待,而實(shí)際上可能該輸入本身就由舊的3個(gè)執(zhí)行體處理,從而導(dǎo)致處理效率降低,時(shí)延增加。因此,本文提出一種切換機(jī)制,可以有效解決這一問(wèn)題。
本文的思路是借助 SDN控制器實(shí)現(xiàn)切換時(shí)轉(zhuǎn)發(fā)和輸入的標(biāo)記工作,具體步驟如下。
1) 在t1時(shí)刻,選調(diào)器決定選取新執(zhí)行體,并向switch0下發(fā)流表項(xiàng),與程序1不同,這里actions字段中的output設(shè)置為controller,即將收到的數(shù)據(jù)上報(bào)給控制器,而不是直接給switch1~switchN。
2) t2時(shí)刻,指令到達(dá) switch0并完成流表安裝,在t3時(shí)刻,控制器收到由switch0上報(bào)的第一個(gè)數(shù)據(jù)(輸入),并記錄其序號(hào) ID,然后將該輸入以及后續(xù)收到的輸入都發(fā)往新執(zhí)行體對(duì)應(yīng)的交換機(jī)。
3) 假設(shè)在t4時(shí)刻,判決器收到步驟2)中記錄序號(hào)ID的處理結(jié)果,即為第一個(gè)由新執(zhí)行體處理的輸入。
4) 最后,選調(diào)器才向switch0下發(fā)流表項(xiàng),將輸入直接output至執(zhí)行體對(duì)應(yīng)的交換機(jī),完成切換過(guò)程。
經(jīng)上述步驟,判決器將通過(guò)時(shí)間t4確定具體的數(shù)量:在t4時(shí)刻以前的輸入,是由舊執(zhí)行體處理的,而t4時(shí)刻以后的,由新執(zhí)行體處理,之后即可從選調(diào)器獲取新、舊執(zhí)行體的數(shù)量。
本節(jié)從安全性能和時(shí)延開(kāi)銷(xiāo)的角度,對(duì)架構(gòu)進(jìn)行測(cè)試評(píng)估。本文在華為服務(wù)器(RH2288H V3,Intel Xeon E5-2600 v3系列處理器)上搭建實(shí)驗(yàn)環(huán)境,采用mininet(2.2.0)搭建實(shí)驗(yàn)拓?fù)?,共?個(gè)主機(jī)(其中7個(gè)用作執(zhí)行體,1個(gè)作為用戶),用戶的 IP地址為 10.0.0.1,執(zhí)行體的真實(shí)地址設(shè)為10.0.0.101~10.0.0.107,對(duì)外呈現(xiàn)的虛擬 IP地址為10.0.0.2。本文在用戶上用ping請(qǐng)求(ping虛擬地址)作為輸入,而執(zhí)行體的ping響應(yīng)報(bào)文作為輸出。
首先驗(yàn)證架構(gòu)的入侵容忍能力。在實(shí)驗(yàn)設(shè)置上,采用3個(gè)執(zhí)行體(E1,E2,E3),將E1的ping包響應(yīng)的數(shù)據(jù)域進(jìn)行主動(dòng)修改(模擬執(zhí)行體被入侵后,報(bào)文被修改),而E2,E3的響應(yīng)不做處理,即實(shí)現(xiàn)3個(gè)執(zhí)行體容忍1個(gè)錯(cuò)誤/入侵。
圖3是Ryu控制器上接收到switch1~switch3上報(bào)的各執(zhí)行體的處理結(jié)果??梢?jiàn),由 switch1上報(bào)的結(jié)果(from switch1框)與switch2~switch3(from switch2和from switch3框)不同,此時(shí),判決器采取大數(shù)判決機(jī)制,判決占多數(shù)的結(jié)果作為最終結(jié)果(final answer),從而實(shí)現(xiàn)對(duì)E1的錯(cuò)誤/入侵容忍。
圖3 判決器收到的處理結(jié)果
下面對(duì)架構(gòu)的安全性能進(jìn)行仿真評(píng)估。假設(shè)一個(gè)調(diào)度周期內(nèi),攻擊者對(duì)執(zhí)行體Ei成功實(shí)施攻擊的概率為iaP,由于采用異構(gòu)配置,因而假設(shè)則成功攻擊系統(tǒng)的概率可計(jì)算為,即至少成功攻擊過(guò)半(大數(shù)判決)。圖4為攻擊成功概率與Pa和選取出的執(zhí)行體數(shù)量的關(guān)系。可見(jiàn),執(zhí)行體數(shù)量越多,系統(tǒng)架構(gòu)的安全性能越好。
圖4 攻擊成功概率與執(zhí)行體數(shù)量的關(guān)系
由于引入了冗余執(zhí)行體,并增設(shè)了控制器環(huán)節(jié),涉及選調(diào)、判決等模塊,因此本文對(duì)傳統(tǒng)單一執(zhí)行體和本文架構(gòu)的處理時(shí)延進(jìn)行了對(duì)比分析評(píng)估。為更好描述和分析引入的額外時(shí)延開(kāi)銷(xiāo),給出本節(jié)涉及的相關(guān)符號(hào)和定義,如表1所示。
表1 本節(jié)涉及的相關(guān)符號(hào)和定義
因此,傳統(tǒng)單執(zhí)行體的時(shí)延可表示為(這里忽略主機(jī)到交換機(jī)的時(shí)延)
而由架構(gòu)的工作流程可以看出,本文架構(gòu)的時(shí)延可表示為(按處理流程順序)其中,Tce′表示本文擬態(tài)架構(gòu)下多執(zhí)行體到控制器的總時(shí)延,可以表示為因?yàn)榕袥Q器需要等待所有報(bào)文進(jìn)行判決,所以這部分時(shí)延由M個(gè)執(zhí)行體中時(shí)延最大的決定,下文簡(jiǎn)稱為“max效應(yīng)”。而每個(gè)都可表示為
因此,額外增加的時(shí)延可表示為
考慮到本實(shí)驗(yàn)中交換機(jī)間的傳輸時(shí)延以及交換機(jī)修改報(bào)文時(shí)延無(wú)法避免(從改進(jìn)的角度上看),且經(jīng)過(guò)測(cè)試這部分時(shí)延約為0.01 ms,相比而言較小,將其忽略,則式(3)近似為
可見(jiàn),時(shí)延的增加主要源于選調(diào)、判決等引入的處理時(shí)延,控制器與交換機(jī)間傳輸時(shí)延,以及由于max效應(yīng)帶來(lái)的時(shí)延。
最終的時(shí)延測(cè)試結(jié)果如圖 5所示。其中,Normal是指?jìng)鹘y(tǒng)的單一執(zhí)行體的情況,M-1~M-7表示本文的擬態(tài)架構(gòu)分別采用1~7個(gè)執(zhí)行體的情形。
圖5 ping包時(shí)延
顯然,M-1本身并不屬于擬態(tài)架構(gòu),因?yàn)橹挥?個(gè)執(zhí)行體(沒(méi)有冗余空間),本文主要是將其與 Normal進(jìn)行對(duì)比。此時(shí)的時(shí)延增加主要源于,因?yàn)槠渌麜r(shí)延基本相同,而且由于沒(méi)有選調(diào)和判決,Tpd_c也可忽略,此時(shí)延約為0.542 ms。
而將M-3~M-7與M-1進(jìn)行對(duì)比,則可以看出由 max效應(yīng)和控制器選調(diào)判決等帶來(lái)的時(shí)延(因?yàn)門(mén)td_cs抵消)。此時(shí)的時(shí)延大約與執(zhí)行體數(shù)量呈線性增加的趨勢(shì),M-7相比M-1的時(shí)延增加約為278%,增幅較大。
上述的時(shí)延開(kāi)銷(xiāo),如Ttd_cs本身由架構(gòu)導(dǎo)致,無(wú)法進(jìn)行改進(jìn),Tpd_c也只能對(duì)選調(diào)判決機(jī)制優(yōu)化,因此,可以進(jìn)行改進(jìn)的是Ttd′_ce,即由 max效應(yīng)帶來(lái)的時(shí)延。對(duì)此可以采用“先斬后奏”的策略——判決器在接收到一個(gè)應(yīng)答后先將該應(yīng)答返回用戶,然后在后續(xù)報(bào)文到達(dá)后進(jìn)行第二次判決。顯然,若采用這種策略,用戶的等待時(shí)延可以相應(yīng)降低,甚至可以比原始的時(shí)延還低,因?yàn)榇藭r(shí)的時(shí)延為當(dāng)然,上述策略也可以修改為:判決器接收少數(shù)應(yīng)答后先進(jìn)行一次簡(jiǎn)易判決,全票則先發(fā)給用戶,否則等待后續(xù)完整的大數(shù)判決結(jié)果。總體來(lái)說(shuō),這種策略在不影響架構(gòu)安全性的情況下,降低了用戶的等待時(shí)延,當(dāng)然用戶為此付出的代價(jià)是安全性的降低,可以認(rèn)為是效率與安全性的“置換”。
最后,本文對(duì)切換機(jī)制進(jìn)行了測(cè)試。如圖 6所示,在第50、100、150個(gè)ping包請(qǐng)求時(shí)進(jìn)行切換,分別用不同線型表示不同執(zhí)行體數(shù)量配置下的時(shí)延??梢?jiàn),在每次切換瞬間,時(shí)延都會(huì)陡增。增幅主要源于:1) 采用了更多的執(zhí)行體,max效應(yīng)增加;2) 由于切換期間的 ping包請(qǐng)求由控制器負(fù)責(zé)轉(zhuǎn)發(fā)分流,因而增加了其瞬時(shí)負(fù)載,處理時(shí)延也相應(yīng)增大。但在切換后的平均第5個(gè)請(qǐng)求時(shí),時(shí)延就會(huì)恢復(fù)、下降,即切換完成后,控制器負(fù)載恢復(fù)正常。并且從各配置穩(wěn)態(tài)時(shí)的時(shí)延也可以看出,時(shí)延隨執(zhí)行體數(shù)量增加而增加(max效應(yīng)),這與圖5結(jié)果相符。
圖6 切換時(shí)延
鄔江興院士提出的“改變游戲規(guī)則”的擬態(tài)安全防御思想,以其動(dòng)態(tài)異構(gòu)冗余模型有效增加系統(tǒng)的安全性能,如入侵容忍能力、自身的攻擊檢測(cè)能力等。本文在分析已有的防御機(jī)制的基礎(chǔ)上,利用軟件定義網(wǎng)絡(luò)的集中管理控制優(yōu)勢(shì),提出了一種實(shí)現(xiàn)擬態(tài)防御思想的安全架構(gòu)。該架構(gòu)在 SDN控制器上實(shí)現(xiàn)執(zhí)行體的動(dòng)態(tài)調(diào)度和輸出的裁決,利用SDN交換機(jī)實(shí)現(xiàn)分流和報(bào)文修改功能。另外,為進(jìn)一步提升性能,本文提出并實(shí)現(xiàn)了地址隱藏機(jī)制和動(dòng)態(tài)快速切換機(jī)制。
當(dāng)然,架構(gòu)也存在一定的不足,如實(shí)驗(yàn)測(cè)試中代價(jià)分析部分所述,由于采用冗余執(zhí)行體帶來(lái)的max效應(yīng),會(huì)增加一定的時(shí)延。對(duì)此,可以采用“先斬后奏”機(jī)制降低時(shí)延。后續(xù)的可能研究思路主要包括應(yīng)用該架構(gòu)在某些實(shí)際場(chǎng)景中,如 DNS服務(wù)器;優(yōu)化判決機(jī)制,進(jìn)一步降低時(shí)延等。
[1] VOAS J, GHOSH A, CHARRON F, et al. Reducing uncertainty about common-mode failures[C]//IEEE Symposium Software Reliability Engineering. 1997: 308-319.
[2] LEVITIN G. Optimal structure of fault-tolerant software systems[J].Reliability Engineering amp; System Safety, 2005, 89(3):286-295.
[3] AROMS E. NIST special publication 800-94 guide to intrusion detection and prevention systems (IDPS)[M]. South Carolina:CreateSpace, 2012.
[4] SPITZNER L. Honeypots: catching the insider threat[C]//IEEE Computer Security Applications Conference. 2003:170-179.
[5] JANA S, PORTER D E, SHMATIKOV V. TxBox: building secure,efficient sandboxes with system transactions[C]//IEEE Symposium on Security and Privacy, IEEE Computer Society. 2011: 329-344.
[6] ZHUANG R, DELOACH S A, OU X. Towards a theory of moving target defense[C]//ACM Workshop on Moving Target Defense.2014: 31-40.
[7] 鄔江興. 網(wǎng)絡(luò)空間擬態(tài)防御研究[J]. 信息安全學(xué)報(bào), 2016,1(4):1-10.WU J X. Research on cyber mimic defense[J]. Journal of Cyber Security, 2016, 1(4): 1-10.
[8] MCKEOWN N, ANDERSON T. OpenFlow: enabling innovation in campus networks[J]. ACM Sigcomm Computer Communication Review, 2008, 38(2):69-74.
[9] COX B, EVANS D, FILIPI A, et al. 2006. N-variant systems: a secretless framework for security through diversity[C]//Usenix Security Symposium. 2006:9.
[10] KC G S, KEROMYTIS A D, PREVELAKIS V. Countering code-injection attacks with instruction-set randomization[C]//ACM Conference on Computer and Communications Security. 2003:272-280.
[11] HOMESCU A, BRUNTHALER S, LARSEN P, et al. Librando:transparent code randomization for just-in-time compilers[C]//ACM Sigsac Conference on Computer amp; Communications Security.2013:993-1004.
[12] BHATKAR S, DUVARNEY D C, SEKAR R. Address obfuscation:an efficient approach to combat a board range of memory error exploits[C]// Conference on Usenix Security Symposium. 2003:105-120.
[13] DUNLOP M, GROAT S, URBANSKI W, et al. Mt6d: a moving target IPv6 defense[C]//IEEE Military Communications Conference.2011: 1321-1326.
[14] JAFARIAN J H, AL-SHAER E, DUAN Q. An effective address mutation approach for disrupting reconnaissance attacks[J]. IEEE Transactions on Information Forensics and Security, 2015, 10(12):2562-2577.
[15] JAFARIAN J H, AL-SHAER E, DUAN Q. Adversary-aware IP address randomization for proactive agility against sophisticated attackers[C]//2015 IEEE Conference on Computer Communications (Infocom). 2015: 738-746.
[16] MAYO J R, TORGERSON M D, WALKER A M, et al. The theory of diversity and redundancy in information system security[R].LDRD Final Report, 2010.
[17] 王禛鵬, 扈紅超, 程國(guó)振. 一種基于擬態(tài)安全防御的 DNS框架設(shè)計(jì)[J]. 電子學(xué)報(bào).WANG Z P, HU H C, CHENG G Z. A DNS architecture based on mimic security defense [J]. Chinese Journal of Electronics.
[18] HU H C, WANG Z P, CHENG G Z, et al. MNOS: a mimic network operating system for software defined networks[J]. IET Information Security, 2017.
[19] WANG H, SCHMITT J. Load balancing-towards balanced delay guarantees in NFV/SDN[C]//IEEE Conference on NFV-SDN 2016:240-245.
[20] CASCONE C, SANVITO D, POLLINI L, et al. Fast failure detection and recovery in SDN with stateful data plane[J]. International Journal of Network Management, 2016.
[21] PANG J, XU G, FU X. SDN-based data center networking with collaboration of multipath TCP and segment routing[J]. IEEE Access, 2017, (99):1-1.
[22] HAN W, ZHAO Z, AHN G J. HoneyMix: toward SDN-based intelligent honeynet[C]//ACM International Workshop on Security in Software Defined Networks amp; Network Function Virtualization.2016:1-6.
[23] JAFARIAN J H, AL-SHAER E, DUAN Q. Openflow random host mutation: transparent moving target defense using software defined networking[C]//The Workshop on Hot Topics in Software Defined Networks. 2012:127-132.
[24] GEMBER-JACOBSON A, VISWANATHAN R, PRAKASH C, et al. OpenNF: enabling innovation in network function control[C]//ACM Conference on Sigcomm. 2015:163-174.
[25] JAFARIAN J H, AL-SHAER E, DUAN Q. Adversary-aware IP address randomization for proactive agility against sophisticated attackers[C]//Computer Communications(IEEE Infocom). 2015: 738-746.
[26] PORRAS P, SHIN S, YEGNESWARAN V, et al. A security enforcement kernel for OpenFlow networks[C]//The First Workshop on Hot Topics in Software Defined Networks. 2012:121-126.
[27] CHEUNG S, FONG M, PORRAS P, et al. Securing the software-defined network control layer[C]//Network and Distributed System Security Symposium. 2015.
[28] SHIN S, SONG Y, LEE T, et al. Rosemary: a robust, secure, and high-performance network operating system[C]//2014 ACM SIGSAC Conference on Computer and Communications Security.2014:78-89.
[29] BERDE P, HART J, HART J, et al. ONOS: towards an open, distributed SDN OS[C]//The Workshop on Hot Topics in Software Defined Networking. 2010:1-6.
[30] LI H, LI P, GUO S, et al. Byzantine-resilient secure softwaredefined networks with multiple controllers in cloud[J]. IEEE Transactions on Cloud Computing, 2015, 2(4):436-447.
[31] HU H C, WANG Z P, CHENG G Z, et al. MNOS: a mimic network operating system for software defined networks[J]. IET Information Security, 2017.
Implementation architecture of mimic security defense based on SDN
WANG Zhen-peng1, HU Hong-chao1, CHENG Guo-zhen1, ZHANG Chuan-hao1,2
(1. National Digital Switching System Engineering amp; Technological Ramp;D Center, Zhengzhou 450003, China;2. Public Security Technology Department, Railway Police College, Zhengzhou 450053, China)
To deal with the attacks employing unknown security vulnerabilities or backdoors which are difficult for traditional defense techniques to eliminate, mimic security defense (MSD) that employs “dynamic, heterogeneity, redundancy(DHR)” mechanism can increase the difficulty and cost of attack and uncertainty of system so as to improve network security. Based on the software defined networking (SDN), an implementation architecture of MSD was proposed. First, diverse functional equivalent variants for the protected target were constructed, then leverage the rich programmability and flexibility of SDN to realize the dynamic scheduling and decision-making functions on SDN controller. Simulation and experimental results prove the availability and the intrusion tolerant ability of the architecture.
mimic security defense, software defined networking, active defense, dynamic heterogeneous redundancy
s:The National Natural Science Foundation of China (No.61309020, No.61602509); The Foundation for Innovative Research Groups of the National Natural Science Foundation of China (No.61521003), The National Key Research and Development Program of China (No.2016YFB0800100, No.2016YFB0800101), The Key Technologies Research and Development Program of Henan Province of China (No.172102210615, No.172102210441)
TP393
A
10.11959/j.issn.2096-109x.2017.00205
2017-08-13;
2017-09-24。
扈紅超,13633833568@139.com
國(guó)家自然科學(xué)基金資助項(xiàng)目(No.61309020, No.61602509);國(guó)家自然科學(xué)基金創(chuàng)新群體基金資助項(xiàng)目(No.61521003);國(guó)家重點(diǎn)研發(fā)計(jì)劃基金資助項(xiàng)目(No.2016YFB0800100, No.2016YFB0800101);河南省科技攻關(guān)基金資助項(xiàng)目(No.172102210615, No.172102210441)
注1:http://www.netmarketshare.com/
注2:https://www.srgresearch.com.
王禛鵬(1993-),男,湖北黃岡人,國(guó)家數(shù)字交換系統(tǒng)工程技術(shù)研究中心碩士生,主要研究方向?yàn)閿M態(tài)安全防御。
扈紅超(1982-),男,河南商丘人,國(guó)家數(shù)字交換系統(tǒng)工程技術(shù)研究中心副研究員,主要研究方向?yàn)榫W(wǎng)絡(luò)安全防御和新型網(wǎng)絡(luò)體系結(jié)構(gòu)。
程國(guó)振(1986-),男,山東菏澤人,國(guó)家數(shù)字交換系統(tǒng)工程技術(shù)研究中心助理研究員,主要研究方向?yàn)橹鲃?dòng)防御技術(shù)和SDN安全。
張傳浩(1979-),男,河南鄭州人,鐵道警察學(xué)院講師,主要研究方向?yàn)榫W(wǎng)絡(luò)安全。