郭喬羽,陳福才,程國(guó)振,曾威,肖玉強(qiáng)
基于主備監(jiān)視的擬態(tài)云代理設(shè)計(jì)實(shí)現(xiàn)方法
郭喬羽*,陳福才,程國(guó)振,曾威,肖玉強(qiáng)
(國(guó)家數(shù)字交換系統(tǒng)工程技術(shù)研究中心,鄭州 450002)(*通信作者電子郵箱guoqiaoyu0211@163.com)
針對(duì)擬態(tài)云系統(tǒng)中代理的安全威脅和單點(diǎn)故障問題,提出一種主備監(jiān)視的高可用擬態(tài)云代理實(shí)現(xiàn)方法。首先,在云環(huán)境分布式代理基礎(chǔ)之上,提出一種主備用監(jiān)視機(jī)制來構(gòu)建異構(gòu)的主備代理,備用代理通過鏡像流方式分析到達(dá)主用代理的流量,并對(duì)主用代理輸出結(jié)果進(jìn)行交叉驗(yàn)證;其次,基于數(shù)據(jù)平面開發(fā)套件(DPDK)平臺(tái)設(shè)計(jì)備用代理的同步裁決機(jī)制和無縫的主備切換機(jī)制,實(shí)現(xiàn)云代理的安全加固與性能優(yōu)化;最后,提出一種主備切換判決算法以避免主備頻繁切換造成的資源浪費(fèi)。實(shí)驗(yàn)結(jié)果分析表明,該擬態(tài)云代理相較于基于Nginx的云代理,在高并發(fā)下的流量處理時(shí)延損耗為毫秒級(jí)??梢娫撛O(shè)計(jì)能夠大幅提升云代理的安全性和穩(wěn)定性,減少單點(diǎn)故障對(duì)代理穩(wěn)定性造成的影響。
擬態(tài)防御;云代理;主備監(jiān)視;交叉驗(yàn)證;擬態(tài)云系統(tǒng)
隨著云計(jì)算的高速發(fā)展,面向用戶的個(gè)性化服務(wù)定制和分布式計(jì)算服務(wù)模式使得云服務(wù)具有極高的用戶黏性[1],得到國(guó)內(nèi)外學(xué)者的廣泛關(guān)注。其中,云服務(wù)代理作為業(yè)務(wù)入口,接收用戶的海量流量并按照流規(guī)則轉(zhuǎn)發(fā)給服務(wù)節(jié)點(diǎn),為云租戶提供穩(wěn)定可靠的服務(wù),其性能和安全性是當(dāng)前研究的熱點(diǎn)問題。目前與云服務(wù)代理相關(guān)的研究主要針對(duì)如何提升處理轉(zhuǎn)發(fā)性能來保證服務(wù)質(zhì)量(Quality of Service, QoS),對(duì)云業(yè)務(wù)代理的安全性研究相對(duì)較少。事實(shí)上,云服務(wù)代理在云服務(wù)架構(gòu)的位置和流量處理轉(zhuǎn)發(fā)等特點(diǎn),決定了云代理是攻擊者實(shí)施攻擊手段的極佳切入點(diǎn)[2],會(huì)面對(duì)多種安全威脅,如注入攻擊[3]、病毒木馬[4]、安全漏洞[5]、側(cè)信道攻擊、界面和接口攻擊等,所以云服務(wù)代理的安全問題成為云計(jì)算不可不解決的現(xiàn)實(shí)問題。針對(duì)云服務(wù)代理的安全問題,通常采用升級(jí)防火墻、更新病毒庫、進(jìn)行入侵檢測(cè)等傳統(tǒng)的被動(dòng)防御方法,難以防御未知的漏洞后門。
網(wǎng)絡(luò)空間擬態(tài)防御(Cyberspace Mimic Defense,CMD)[6-8]是中國(guó)工程院鄔江興院士提出的一種主動(dòng)防御技術(shù),該技術(shù)不追求建立一種無漏洞、無后門、無缺陷的安全系統(tǒng)來抵御網(wǎng)絡(luò)空間的安全威脅,而是通過如圖1所示的架構(gòu),構(gòu)建一種動(dòng)態(tài)、異構(gòu)、冗余性的防御機(jī)制來增加攻擊者的攻擊難度和代價(jià)。云計(jì)算采用共性平臺(tái)、共性資源池提供云端服務(wù),天然具備動(dòng)態(tài)、異構(gòu)、冗余的資源分配與使用機(jī)制,適于將擬態(tài)防御架構(gòu)引入到云服務(wù)體系之中,以提高云應(yīng)用的安全性。如圖1所示架構(gòu),擬態(tài)云系統(tǒng)由異構(gòu)化的云主機(jī)組成異構(gòu)執(zhí)行體集合,針對(duì)所承載的上層應(yīng)用,由擬態(tài)代理調(diào)度多個(gè)異構(gòu)執(zhí)行體并發(fā)執(zhí)行,并通過對(duì)響應(yīng)結(jié)果同步裁決,輸出正確結(jié)果。其中擬態(tài)代理作為與用戶側(cè)進(jìn)行交互的輸入/輸出組件,可以像云服務(wù)代理一樣在保證性能的同時(shí),增強(qiáng)擬態(tài)云系統(tǒng)的安全性。
圖1 網(wǎng)絡(luò)空間擬態(tài)防御的基礎(chǔ)架構(gòu)
目前針對(duì)擬態(tài)防御的研究大多聚焦于拓展應(yīng)用場(chǎng)景,根據(jù)目標(biāo)場(chǎng)景的網(wǎng)絡(luò)威脅、安全需求和自身系統(tǒng)架構(gòu)中的設(shè)計(jì)缺陷來定制擬態(tài)系統(tǒng),進(jìn)行后端應(yīng)用節(jié)點(diǎn)的安全防護(hù),較少考慮擬態(tài)系統(tǒng)組件的安全性和穩(wěn)定性。目前擬態(tài)防御系統(tǒng)中輸入/輸出代理通常只進(jìn)行轉(zhuǎn)發(fā)作業(yè),不進(jìn)行業(yè)務(wù)流量處理和數(shù)據(jù)檢測(cè),無法感知隱匿于流量的網(wǎng)絡(luò)偵查和病毒蠕蟲攻擊,尤其是在云服務(wù)高密集型網(wǎng)絡(luò)流量場(chǎng)景下,擬態(tài)系統(tǒng)組件的安全變得更加脆弱。即使可以采用極簡(jiǎn)化設(shè)計(jì)來減少擬態(tài)組件的網(wǎng)絡(luò)攻擊面[9],即當(dāng)前多采用軟硬件協(xié)同的方式實(shí)現(xiàn)擬態(tài)系統(tǒng)的開發(fā)設(shè)計(jì),如將擬態(tài)功能組件集成到芯片、基于現(xiàn)場(chǎng)可編程門陣列(Filed Programmable Gate Array, FPGA)的擬態(tài)服務(wù)器設(shè)計(jì)[10]和擬態(tài)板卡等。這些設(shè)計(jì)固然減少了組件網(wǎng)絡(luò)攻擊面,但是服務(wù)場(chǎng)景固化、開發(fā)成本較高,而且組件單點(diǎn)故障問題不可避免,一旦關(guān)鍵組件(如表決器、擬態(tài)代理等)發(fā)生未知故障,將導(dǎo)致整個(gè)系統(tǒng)功能異常,甚至出現(xiàn)系統(tǒng)崩潰。
針對(duì)上述問題,本文設(shè)計(jì)了一種基于主備監(jiān)視的高可用擬態(tài)云代理,并基于數(shù)據(jù)平面開發(fā)套件(Data Plane Development Kit, DPDK)設(shè)計(jì)了異構(gòu)的主備用代理(擬態(tài)代理和表決器功能耦合組件),能夠大幅度提高系統(tǒng)的安全性和轉(zhuǎn)發(fā)性能。備用代理通過對(duì)主用代理的裁決結(jié)果進(jìn)行實(shí)時(shí)交叉驗(yàn)證來監(jiān)測(cè)系統(tǒng)健康狀況,實(shí)現(xiàn)了快速的威脅感知和故障檢測(cè),并能夠及時(shí)進(jìn)行主備熱切換,減少單點(diǎn)故障造成的影響。這種主備監(jiān)視的擬態(tài)云代理在保持?jǐn)M態(tài)系統(tǒng)安全防護(hù)功能的基礎(chǔ)上,實(shí)現(xiàn)了對(duì)擬態(tài)代理組件的安全加固,保證服務(wù)質(zhì)量的同時(shí)還解決了擬態(tài)代理的安全問題和單點(diǎn)故障問題。本文的主要工作如下:
1)針對(duì)擬態(tài)云代理面對(duì)的安全威脅,提出一種基于主備的擬態(tài)云代理安全架構(gòu)。主用代理根據(jù)擬態(tài)表決機(jī)制實(shí)時(shí)檢測(cè)業(yè)務(wù)流量的同時(shí),備用代理通過鏡像流量方式檢測(cè)主用代理流量得到表決結(jié)果,并與主代理輸出結(jié)果進(jìn)行交叉驗(yàn)證,判斷主用代理的異常,雙重表決機(jī)制保證了擬態(tài)云代理的安全性。
2)基于不同的CPU處理架構(gòu)設(shè)計(jì)了主備用代理,通過異構(gòu)的主備代理進(jìn)行切換,動(dòng)態(tài)地改變網(wǎng)絡(luò)攻擊面,增加了云代理的魯棒性。
3)在反饋控制器中設(shè)計(jì)了一種主備用代理切換判決算法來提高判決的準(zhǔn)確性,避免主備反復(fù)切換造成多余的系統(tǒng)開銷。
4)基于所提的擬態(tài)云代理架構(gòu),設(shè)計(jì)了一個(gè)擬態(tài)云服務(wù)場(chǎng)景并搭建實(shí)驗(yàn)環(huán)境,有效地驗(yàn)證了擬態(tài)云代理的安全性和穩(wěn)定性。
在擬態(tài)防御應(yīng)用實(shí)現(xiàn)方面,文獻(xiàn)[11]的研究將擬態(tài)應(yīng)用到軟件定義網(wǎng)絡(luò)(Software Defined Network, SDN)中,提出了一種具有動(dòng)態(tài)、異構(gòu)和冗余的擬態(tài)網(wǎng)絡(luò)操作系統(tǒng)架構(gòu)(Mimic Network Operating System, MNOS)來保護(hù)SDN控制器免受劫持和數(shù)據(jù)修改等攻擊。文獻(xiàn)[12]中針對(duì)當(dāng)前Web服務(wù)器安全防御方法的被動(dòng)性,提出了一種多層次的擬態(tài)Web服務(wù)器,在不同的層次實(shí)現(xiàn)異構(gòu)化動(dòng)態(tài)化,保護(hù)Web服務(wù)器的安全。文獻(xiàn)[13]中將傳統(tǒng)蜜罐技術(shù)與擬態(tài)防御結(jié)合,構(gòu)建了一種擬態(tài)式蜜罐系統(tǒng)模型,改善了傳統(tǒng)蜜網(wǎng)系統(tǒng)的威脅感知能力和部署效率。文獻(xiàn)[14-15]中針對(duì)當(dāng)前分布式存儲(chǔ)系統(tǒng)無法解決未知威脅等安全問題,提出了分布式存儲(chǔ)系統(tǒng)擬態(tài)化架構(gòu),并通過實(shí)驗(yàn)測(cè)試了系統(tǒng)的可行性。文獻(xiàn)[16]中提出了一種基于擬態(tài)防御的DNS架構(gòu),以保護(hù)DNS服務(wù)器免受DNS投毒攻擊。文獻(xiàn)[17]中針對(duì)以太網(wǎng)交換機(jī)無法防御未知安全威脅的弱點(diǎn),設(shè)計(jì)了一種擬態(tài)交換機(jī)安全架構(gòu),并提出TAMA算法實(shí)現(xiàn)交換機(jī)的安全增強(qiáng);實(shí)驗(yàn)測(cè)試結(jié)果表明該設(shè)計(jì)架構(gòu)極大提升了擬態(tài)交換機(jī)防御未知威脅的能力。
當(dāng)前云計(jì)算安全主要基于傳統(tǒng)網(wǎng)絡(luò)防御方法,如防火墻、升級(jí)病毒庫、打補(bǔ)丁、入侵檢測(cè)等,這些方法都存在一定的滯后性,且無法有效處理未知漏洞和后門等未知威脅。但是云服務(wù)場(chǎng)景有其固有的安全優(yōu)勢(shì),例如云服務(wù)提供的虛擬化服務(wù)節(jié)點(diǎn)能夠根據(jù)用戶要求進(jìn)行定制,虛擬化節(jié)點(diǎn)本身就具有異構(gòu)和冗余特性,云管理平臺(tái)能夠動(dòng)態(tài)調(diào)整服務(wù)節(jié)點(diǎn)使云平臺(tái)具有動(dòng)態(tài)性,所以云平臺(tái)本身的架構(gòu)和特性與擬態(tài)防御動(dòng)態(tài)異構(gòu)冗余的特性高度契合,因此結(jié)合擬態(tài)防御來提高云平臺(tái)安全是可行和必要的。目前對(duì)于擬態(tài)云的研究也有一些研究成果:文獻(xiàn)[18]中提出了一個(gè)-變體系統(tǒng)來保護(hù)提供動(dòng)態(tài)內(nèi)容的媒體Wikiphp應(yīng)用程序免受云中的外部SQL持久存儲(chǔ)的影響;文獻(xiàn)[19]中提出了一種云環(huán)境下科學(xué)工作流執(zhí)行系統(tǒng)框架,通過云計(jì)算平臺(tái)的靈活資源管理,針對(duì)不同操作系統(tǒng)之間的共同漏洞進(jìn)行異構(gòu)性度量和執(zhí)行體的動(dòng)態(tài)調(diào)度,極大減少了云工作流中的安全風(fēng)險(xiǎn);文獻(xiàn)[20]中針對(duì)云服務(wù)節(jié)點(diǎn)安全性設(shè)計(jì)了一種擬態(tài)云服務(wù)架構(gòu),在云平臺(tái)上將擬態(tài)系統(tǒng)集成到軟件包部署到每個(gè)服務(wù)節(jié)點(diǎn)上,實(shí)驗(yàn)結(jié)果表明該擬態(tài)云服務(wù)架構(gòu)提高了云平臺(tái)服務(wù)的安全性和魯棒性;文獻(xiàn)[21]中提出了MimicCloudSim模擬云服務(wù)模擬系統(tǒng),可以對(duì)評(píng)估擬態(tài)云DHR架構(gòu)進(jìn)行仿真和評(píng)估,并設(shè)計(jì)了拓展接口來實(shí)現(xiàn)動(dòng)態(tài)調(diào)度策略和裁決策略,最后通過實(shí)驗(yàn)驗(yàn)證了該系統(tǒng)對(duì)擬態(tài)云評(píng)估的可拓展性。
盡管擬態(tài)防御系統(tǒng)能夠增加云服務(wù)處理未知威脅的能力,但是擬態(tài)云系統(tǒng)中擬態(tài)代理作為直接與用戶交互的組件,卻較少考慮其安全性,一旦被攻擊者攻擊利用或篡改裁決結(jié)果,會(huì)導(dǎo)致整個(gè)擬態(tài)系統(tǒng)異常甚至崩潰。盡管有些研究通過對(duì)擬態(tài)代理組件進(jìn)行極簡(jiǎn)化設(shè)計(jì)來減少網(wǎng)絡(luò)攻擊面,但仍存在被攻擊的可能;且擬態(tài)系統(tǒng)中單點(diǎn)故障問題不可避免,系統(tǒng)安全性和穩(wěn)定性無法得到保證。
本文設(shè)計(jì)了一種基于主備監(jiān)視模式的高可用擬態(tài)系統(tǒng)架構(gòu),圖2描述了該擬態(tài)代理應(yīng)用在公有云環(huán)境中的擬態(tài)云服務(wù)實(shí)例。
圖2 擬態(tài)代理組件架構(gòu)
該實(shí)例的設(shè)計(jì)分為兩部分:前端采用基于主備模式并適用于云平臺(tái)的四層加七層代理服務(wù)結(jié)構(gòu)的擬態(tài)云組件;后端采用的是云計(jì)算技術(shù),由云控制組件管理的云中執(zhí)行體集合。擬態(tài)云代理組件的設(shè)計(jì)主要分為四個(gè)功能模塊:I/O代理、主用代理、備用代理和反饋控制器。用戶請(qǐng)求通過I/O代理傳輸?shù)街饔么?,主用代理將輸入流量?fù)制后分發(fā)至選擇的執(zhí)行體處理,執(zhí)行體的響應(yīng)流量在主用代理的裁決模塊進(jìn)行分析、裁決和輸出,同時(shí)執(zhí)行體的響應(yīng)流量鏡像轉(zhuǎn)發(fā)至備用代理進(jìn)行裁決,并對(duì)主用裁決結(jié)果進(jìn)行對(duì)比監(jiān)督。反饋控制主要負(fù)責(zé)系統(tǒng)中各組件的配置下發(fā)更新和反饋異常。系統(tǒng)運(yùn)行,一方面需要備用代理能夠及時(shí)發(fā)現(xiàn)主用代理的異常,進(jìn)行主備切換維護(hù)系統(tǒng)功能正常;另一方面主備切換操作會(huì)造成服務(wù)中斷,影響服務(wù)質(zhì)量。為了設(shè)計(jì)該高可用擬態(tài)架構(gòu),面臨以下挑戰(zhàn):
1)備用代理的安全問題。只有安全的備用代理進(jìn)行切換,才能保證切換后系統(tǒng)業(yè)務(wù)代理組件功能正常,如果切換上線不安全的備用代理,反而會(huì)使系統(tǒng)暴露更多的攻擊面。
2)擬態(tài)系統(tǒng)應(yīng)用導(dǎo)致的性能問題。由于各執(zhí)行體性能差異和裁決時(shí)延等原因會(huì)導(dǎo)致擬態(tài)系統(tǒng)的性能降低,特別是在云計(jì)算這種數(shù)據(jù)密集型場(chǎng)景下,這個(gè)問題尤為突出。
3)主備用代理輪換導(dǎo)致服務(wù)中斷問題。當(dāng)主用代理發(fā)生故障或者被攻擊導(dǎo)致異常輸出時(shí),會(huì)進(jìn)行主備用代理的切換,但切換期間會(huì)導(dǎo)致服務(wù)中斷,降低服務(wù)質(zhì)量。
針對(duì)第一個(gè)問題,本文設(shè)計(jì)了主備異構(gòu)的主備用代理,并設(shè)計(jì)了多種策略來保證備用代理安全。備用代理通用DPDK捕獲網(wǎng)卡流量,實(shí)現(xiàn)了同步裁決監(jiān)督,實(shí)時(shí)進(jìn)行故障和威脅感知,并及時(shí)進(jìn)行主備切換。同時(shí)本文實(shí)現(xiàn)了DPDK在ARM架構(gòu)的移植,使得異構(gòu)的主備用代理都能適配DPDK。
針對(duì)第二個(gè)問題,本文在主備用代理嵌入了DPDK。DPDK能夠通過UIO技術(shù)將報(bào)文拷貝到應(yīng)用空間處理,規(guī)避不必要的內(nèi)存拷貝和系統(tǒng)調(diào)用,大大提高了主備用代理處理性能和吞吐量,提高了數(shù)據(jù)分發(fā)和裁決的效率。
針對(duì)第三個(gè)問題,系統(tǒng)執(zhí)行切換操作時(shí),用戶建立的長(zhǎng)連接不可避免地會(huì)發(fā)生中斷,本文設(shè)計(jì)了一種動(dòng)態(tài)切換機(jī)制,通過犧牲部分用戶的服務(wù)質(zhì)量,短暫地降低可用性,實(shí)現(xiàn)對(duì)用戶的透明切換,保證系統(tǒng)的安全性。同時(shí)設(shè)計(jì)了一種主備切換判決算法,考慮主用代理的歷史異常信息進(jìn)行切換判決,避免了報(bào)文丟失等異常情況導(dǎo)致主備用代理之間的頻繁輪換,消耗系統(tǒng)資源。
2.2.1 I/O代理
I/O代理作為四層代理組件為用戶提供唯一的訪問入口,通過建立和維護(hù)傳輸層連接處理用戶的請(qǐng)求報(bào)文來完成與用戶的交互,并將用戶請(qǐng)求的處理和轉(zhuǎn)發(fā)。I/O代理采用極簡(jiǎn)化設(shè)計(jì)來減少暴露的攻擊面,提高組件安全,設(shè)計(jì)中使用了用戶態(tài)的輕量級(jí)網(wǎng)絡(luò)協(xié)議棧,同時(shí)還在協(xié)議棧中設(shè)計(jì)了流量過濾來防御網(wǎng)絡(luò)中的掃描偵查和一些網(wǎng)絡(luò)攻擊,如基于ICMP的端口掃描攻擊,ICMP回顯攻擊,以及Smurf、 Ping of Death、 Pingflood等分布式拒絕服務(wù)攻擊(Distributed Denial of Service, DDoS)攻擊。
2.2.2 主用代理
2.2.3 備用代理
備用業(yè)務(wù)代理能夠?qū)崟r(shí)對(duì)主用代理裁決結(jié)果進(jìn)行監(jiān)控,并采用數(shù)據(jù)面和控制面分離的方式,保證了備用代理的安全高效,組件結(jié)構(gòu)圖如圖2所示。在數(shù)據(jù)層,備用代理沒有與I/O代理建立連接,不存在上行數(shù)據(jù)處理邏輯,以這種網(wǎng)絡(luò)隔離的方式提高安全性;下行鏈路上,備用代理通過與DPDK綁定的網(wǎng)卡捕獲執(zhí)行體響應(yīng)的鏡像流量,并對(duì)應(yīng)用層會(huì)話數(shù)據(jù)進(jìn)行報(bào)文重組、協(xié)議還原后,將處理后的報(bào)文發(fā)送到裁決模塊進(jìn)行裁決。在裁決監(jiān)視模塊將裁決結(jié)果與主用代理輸出的三元組數(shù)據(jù)對(duì)比校驗(yàn),如果主用代理出現(xiàn)故障或裁決結(jié)果被攻擊者篡改造成裁決結(jié)果對(duì)比異常,會(huì)立即上報(bào)異常,并由反饋控制下發(fā)主備切換操作指令。備用業(yè)務(wù)代理組件管理層進(jìn)行日志審計(jì)和配置更新,來維持備用代理的正常功能以及控制切換;在控制層接收交互報(bào)文,進(jìn)行配置更新、主備切換和異常上報(bào)操作。
2.2.4 反饋控制器
反饋控制器負(fù)責(zé)聯(lián)動(dòng)擬態(tài)系統(tǒng)各組件,進(jìn)行反饋調(diào)節(jié)作業(yè),主要功能有以下三種:一是配置信息下發(fā),每次下發(fā)給各組件的地址和端口都動(dòng)態(tài)變化,提高了各組件的安全性,維護(hù)系統(tǒng)的正常服務(wù);二是處理異常反饋信息,并將異常信息上報(bào)給執(zhí)行體管理平臺(tái),進(jìn)行異常執(zhí)行體輪換操作,并在反饋控制器中開發(fā)了針對(duì)多個(gè)平臺(tái)的API和響應(yīng)平臺(tái)匹配通信控制程序,實(shí)現(xiàn)了對(duì)多場(chǎng)景的高可用;三是控制主備用代理的切換,當(dāng)收到備用代理上報(bào)的裁決不一致異常消息,會(huì)根據(jù)異常判斷算法去決定是否進(jìn)行主備切換。
圖3詳細(xì)描述了該系統(tǒng)的業(yè)務(wù)流程,詳細(xì)步驟如下:
步驟1 用戶發(fā)起服務(wù)請(qǐng)求。
步驟2 I/O代理與用戶建立連接,并將用戶請(qǐng)求流量轉(zhuǎn)發(fā)給主用代理模塊。
步驟4 主用代理接收?qǐng)?zhí)行體應(yīng)答消息,送往裁決模塊。
步驟5 執(zhí)行體應(yīng)答消息進(jìn)行流量鏡像,輸入到備用代理進(jìn)行消息還原和裁決。
步驟6 主用代理裁決模塊對(duì)響應(yīng)消息進(jìn)行一致性裁決,并將裁決結(jié)果轉(zhuǎn)發(fā)給備用代理的裁決對(duì)比模塊;
a)裁決結(jié)果一致,將裁決結(jié)果轉(zhuǎn)返回給I/O代理;
b)裁決結(jié)果不一致,根據(jù)大數(shù)裁決將相對(duì)正確的結(jié)果返回給I/O代理,將異常執(zhí)行體信息上報(bào)給反饋控制器。
步驟7 備用代理監(jiān)測(cè)機(jī)制將其裁決結(jié)果與主用代理裁決結(jié)果進(jìn)行交叉驗(yàn)證,出現(xiàn)裁決不一致則上報(bào)異常信息給反饋控制器,進(jìn)行主備切換。
步驟8 由I/O代理將裁決返回的消息響應(yīng)給用戶。
圖3 業(yè)務(wù)流程
基于主備思想設(shè)計(jì)的擬態(tài)云系統(tǒng)架構(gòu)中,備用代理接收異構(gòu)執(zhí)行體響應(yīng)的鏡像數(shù)據(jù),對(duì)應(yīng)用層會(huì)話數(shù)據(jù)進(jìn)行單向重組、歸一化和裁決,還要對(duì)主用代理裁決輸出的結(jié)果進(jìn)行同步對(duì)比監(jiān)督,要求備用代理同樣需要很高的性能,同時(shí)還要具有較高的安全性免受攻擊者攻擊。如果備用代理的設(shè)計(jì)不完善,不僅不能提高該系統(tǒng)的穩(wěn)定性和安全性,反而會(huì)影響正常的系統(tǒng)服務(wù),甚至暴露出更大的攻擊面,使攻擊者有機(jī)可乘。針對(duì)如第2章所介紹的前兩個(gè)挑戰(zhàn),在該系統(tǒng)中,主要實(shí)現(xiàn)了以下四種機(jī)制來提高系統(tǒng)的安全性和魯棒性。
3.1.1 主備異構(gòu)
在擬態(tài)系統(tǒng)中執(zhí)行體可能會(huì)被攻擊者攻擊,攻擊者可以通過執(zhí)行體向擬態(tài)系統(tǒng)內(nèi)部進(jìn)行探測(cè)掃描,一旦發(fā)現(xiàn)主用代理的漏洞和后門,可以通過病毒注入、篡改裁決結(jié)果、暴力破壞等方法對(duì)代理實(shí)施攻擊,導(dǎo)致系統(tǒng)奔潰?;谝苿?dòng)目標(biāo)防御(Moving Target Defense, MTD)技術(shù)動(dòng)態(tài)改變系統(tǒng)組件暴露的攻擊面的思想,本文提出擬態(tài)組件中主備用代理采用異構(gòu)CPU處理架構(gòu)(X86和ARM),且每次主備切換不僅底層架構(gòu)發(fā)生變化,還會(huì)由反饋控制器為各組件隨機(jī)分配和更新IP和端口,實(shí)現(xiàn)了內(nèi)部組件的攻擊面的動(dòng)態(tài)改變,使攻擊者收集的先驗(yàn)知識(shí)無效,無法根據(jù)先驗(yàn)知識(shí)發(fā)動(dòng)攻擊。同時(shí)主備用代理的服務(wù)進(jìn)程實(shí)現(xiàn)了在兩種架構(gòu)下的適配,從而在應(yīng)用層面也實(shí)現(xiàn)了異構(gòu)化。異構(gòu)主備模式不僅提高了擬態(tài)組件的安全性,還使系統(tǒng)更加容易感知攻擊行為,并對(duì)異常執(zhí)行體進(jìn)行清洗輪換。
3.1.2 網(wǎng)絡(luò)隔離
為了防止備用代理被攻擊者探測(cè)發(fā)現(xiàn),該系統(tǒng)設(shè)計(jì)了一種網(wǎng)絡(luò)隔離機(jī)制來實(shí)現(xiàn)備用代理對(duì)攻擊者透明以及攻擊不可達(dá)。
1)通過交換機(jī)配置對(duì)執(zhí)行體返回?cái)?shù)據(jù)進(jìn)行鏡像,備用代理進(jìn)程捕獲鏡像流量數(shù)據(jù)進(jìn)行還原和裁決。這種基于流量鏡像的業(yè)務(wù)處理方法保證了攻擊不可達(dá)。
2)擬態(tài)組件之間的通信被設(shè)計(jì)在隔離網(wǎng)段,反饋控制器作為系統(tǒng)中唯一與備用代理通信的組件,采用網(wǎng)段隔離的方式實(shí)現(xiàn)安全性。此外,備用代理并不對(duì)外(用戶側(cè))暴露接口,達(dá)到了攻擊不可達(dá)的效果。實(shí)際場(chǎng)景中攻擊者只有先成功攻擊主用代理,再成功攻擊反饋控制器,才有可能對(duì)備用代理服務(wù)器進(jìn)行漏洞掃描和攻擊,但是這種攻擊收益極低,還增加了攻擊被探測(cè)的風(fēng)險(xiǎn)。
3.1.3 同步裁決監(jiān)視
為了提升備用代理的處理性能,備用代理在數(shù)據(jù)層采用DPDK捕獲流量,避免了網(wǎng)卡收發(fā)性能限制帶來的時(shí)延;同時(shí)嵌入輕量級(jí)協(xié)議棧支持各種應(yīng)用層協(xié)議的還原,并設(shè)計(jì)了業(yè)務(wù)API接口用來讀取協(xié)議還原的結(jié)果及其一些流量元數(shù)據(jù),其工作原理如圖4所示。
基于DPDK的I/O驅(qū)動(dòng)將數(shù)據(jù)包合理地分布到多個(gè)獨(dú)立的CPU物理核上,每個(gè)核只和一個(gè)線程綁定,實(shí)現(xiàn)多線程并行數(shù)據(jù)處理,能有效提高物理網(wǎng)卡和應(yīng)用緩存隊(duì)列之間的轉(zhuǎn)發(fā)效率,使得DPDK綁定的網(wǎng)卡能夠?qū)崿F(xiàn)線速報(bào)文處理。主控線程lcore0負(fù)責(zé)DPDK中操作環(huán)境、網(wǎng)卡驅(qū)動(dòng)、消息隊(duì)列和緩存池等初始化,以及主備切換控制和業(yè)務(wù)的分發(fā)。副核(slave_lcore)只處理其綁定線程的數(shù)據(jù)傳輸,通過內(nèi)核旁路、輪詢、多線程和批處理等技術(shù)加速數(shù)據(jù)包I/O,并將網(wǎng)卡數(shù)據(jù)繞過內(nèi)核直接傳輸?shù)綉?yīng)用層處理。備用代理中實(shí)現(xiàn)了DPDK版本升級(jí),與主用代理的DPDK版本統(tǒng)一,為主備代理進(jìn)程之間的快速切換提供了底層支持。基于Redis高速緩存實(shí)現(xiàn)了同步裁決功能:首先將還原后的數(shù)據(jù)包輸入裁決模塊進(jìn)行裁決,然后將裁決結(jié)果存入Redis高速緩存分區(qū),同時(shí)Redis還接收、保存主用代理發(fā)送的裁決結(jié)果三元組消息,最后由裁決對(duì)比模塊進(jìn)行裁決結(jié)果對(duì)比校驗(yàn),實(shí)現(xiàn)主備裁決監(jiān)視功能,大大提升了云服務(wù)代理的安全性?;赗edis的裁決機(jī)制也可大大提高裁決性能,根據(jù)時(shí)延測(cè)試結(jié)果,備用代理的裁決處理時(shí)延與主用代理相差為毫秒級(jí),幾乎實(shí)現(xiàn)了同步裁決性能。同時(shí)還基于Kafka設(shè)計(jì)了日志收集系統(tǒng),具有很高的實(shí)時(shí)處理能力,即使對(duì)TB級(jí)以上數(shù)據(jù)也能保證常數(shù)時(shí)間的訪問性能,能夠記錄所有的業(yè)務(wù)處理信息和裁決結(jié)果,也方便代理的調(diào)試和維護(hù)。
圖4 裁決監(jiān)視原理
3.1.4 基于DPDK的動(dòng)態(tài)切換機(jī)制
由于主備用代理切換,正在進(jìn)行的服務(wù)連接不可避免地會(huì)發(fā)生中斷,因此需要設(shè)計(jì)合適的切換策略,在用戶可接受范圍內(nèi)犧牲一些服務(wù)質(zhì)量來保證系統(tǒng)安全性,增加服務(wù)的可用性。該系統(tǒng)設(shè)計(jì)了一種基于DPDK的動(dòng)態(tài)切換機(jī)制來實(shí)現(xiàn)主備用代理之間的無縫切換。該機(jī)制使用內(nèi)核NIC接口允許應(yīng)用層程序訪問DPDK控制平面,可以通過標(biāo)準(zhǔn)Linux網(wǎng)絡(luò)工具管理綁定端口信息,使用dpdk-devbind應(yīng)用程序綁定網(wǎng)卡,流程如圖5所示。DPDK初始化時(shí),提前分配好主備用代理并綁定網(wǎng)卡收發(fā)隊(duì)列和網(wǎng)卡驅(qū)動(dòng),應(yīng)用層主備用代理進(jìn)程同時(shí)運(yùn)行,此時(shí)備用代理綁定的業(yè)務(wù)網(wǎng)卡處于未激活狀態(tài),實(shí)現(xiàn)了攻擊隔離。收到切換消息時(shí),會(huì)傳輸?shù)絻?nèi)核協(xié)議棧解析,提取切換報(bào)文中的地址、端口、掩碼等信息通過標(biāo)準(zhǔn)Linux網(wǎng)絡(luò)工具更新網(wǎng)卡配置,執(zhí)行DPDK應(yīng)用程序激活網(wǎng)卡,以便切換為主用代理進(jìn)程后能恢復(fù)正常業(yè)務(wù)工作,可與I/O代理和執(zhí)行體建立連接,執(zhí)行轉(zhuǎn)發(fā)和裁決功能。實(shí)驗(yàn)結(jié)果表明,在切換過程中出現(xiàn)短暫的網(wǎng)絡(luò)時(shí)延波動(dòng),在用戶可接受的服務(wù)質(zhì)量范圍內(nèi)實(shí)現(xiàn)了快速切換。
反饋控制器是保證主備用代理工作正常運(yùn)行的核心組件,在主備切換中有著最高級(jí)權(quán)限。反饋控制器主要起控制和反饋的作用,能夠控制更新各組件的配置信息,將異常執(zhí)行體異常信息反饋給執(zhí)行體控制器;它同時(shí)還是主備切換的控制器,只有反饋控制器中觸發(fā)了切換,才會(huì)下發(fā)切換指令,控制主備用代理進(jìn)行并行切換。
圖5 主備切換邏輯
為了保證反饋控制器的安全性,系統(tǒng)設(shè)計(jì)了自定義協(xié)議,反饋控制器與各組件之間通過自定義協(xié)議進(jìn)行通信;并采用網(wǎng)絡(luò)隔離方式,各模塊間的交互設(shè)計(jì)在隔離網(wǎng)段,每次觸發(fā)主備用代理切換會(huì)更新各組件的IP和端口信息,動(dòng)態(tài)地改變系統(tǒng)的攻擊面,保證了反饋控制的安全性以及各組件的通信透明。
本節(jié)定義主備切換操作記為MS_Switch。在該系統(tǒng)中,只有滿足以下兩種情況才能觸發(fā)主備切換:1)反饋控制監(jiān)聽不到主備用代理進(jìn)程的心跳;2)通過判決算法決定是否切換。備用代理發(fā)現(xiàn)主用代理裁決結(jié)果異常,會(huì)向反饋控制器發(fā)送異常消息;反饋控制收到異常上報(bào)消息,并不會(huì)立即觸發(fā)切換機(jī)制,而是將異常信息存儲(chǔ)起來,并輸入到判決算法,根據(jù)當(dāng)前異常信息和歷史異常信息去判斷是否進(jìn)行切換,避免主備用代理的頻繁切換。
當(dāng)執(zhí)行體數(shù)量較多、網(wǎng)絡(luò)負(fù)載較大時(shí),不可避免地會(huì)造成部分響應(yīng)數(shù)據(jù)丟失,導(dǎo)致主備裁決不一致現(xiàn)象,在這種情況對(duì)正常的服務(wù)并沒有影響,應(yīng)該避免不必要的切換。當(dāng)?shù)谝淮谓邮债惓Or(shí),默認(rèn)不會(huì)觸發(fā)切換機(jī)制;當(dāng)收到多次異常信息時(shí),會(huì)根據(jù)上報(bào)的異常信息進(jìn)行裁決判斷是否切換。兩次故障間隔越短,發(fā)生異常的可能性越大,威脅因子的定義為:
算法1 切換判決算法
輸出 主備切換判決結(jié)果。
為了評(píng)估該擬態(tài)系統(tǒng)架構(gòu)在真實(shí)環(huán)境中的安全性和性能,使用1臺(tái)測(cè)試主機(jī)安裝Windows 7操作系統(tǒng)、5臺(tái)海光x86服務(wù)器和1臺(tái)鯤鵬ARM服務(wù)器安裝centos7.6操作系統(tǒng),2臺(tái)交換機(jī),基于Openstack開源軟件云管理器實(shí)現(xiàn)了一種擬態(tài)云實(shí)驗(yàn)場(chǎng)景和一種基于Nginx代理的非擬態(tài)云場(chǎng)景。真實(shí)實(shí)驗(yàn)場(chǎng)景拓?fù)淙鐖D6所示。其中,主備用代理分別部署到一臺(tái)鯤鵬服務(wù)器與一臺(tái)海光服務(wù)器,通過服務(wù)器CPU處理架構(gòu)的不同實(shí)現(xiàn)主備用代理的異構(gòu);還通過環(huán)境多樣化的Web服務(wù)程序來構(gòu)造簡(jiǎn)單的異構(gòu)執(zhí)行體(如在不同操作系統(tǒng)Centos 7.6、Redhat 7.6、Ubuntu 16.04.1上部署相同版本的Nginx提供Web服務(wù)),執(zhí)行體之間功能等價(jià)且性能接近,以減小時(shí)延離散度。為了方便實(shí)驗(yàn),本文選擇執(zhí)行體池冗余度為3,具體的執(zhí)行體信息如表1所示。
圖6 實(shí)驗(yàn)環(huán)境拓?fù)?/p>
表1 異構(gòu)執(zhí)行體信息表
實(shí)驗(yàn)采用對(duì)比實(shí)驗(yàn)方法,基于最小環(huán)境變量差異化原則,使用同一個(gè)I/O代理搭建了云環(huán)境下的非擬態(tài)測(cè)試場(chǎng)景和擬態(tài)測(cè)試場(chǎng)景,并分別對(duì)兩種場(chǎng)景進(jìn)行性能、安全性和穩(wěn)定性測(cè)試和比較,能夠更好地說明本文提出的優(yōu)化擬態(tài)架構(gòu)相對(duì)于非擬態(tài)的差異變化。
基于該實(shí)驗(yàn)拓?fù)湓O(shè)計(jì)的非擬態(tài)系統(tǒng)采用傳統(tǒng)云服務(wù)網(wǎng)絡(luò)架構(gòu)(四層代理+七層代理)模型,I/O代理(四層代理)作為云網(wǎng)關(guān)提供云服務(wù)接口VIP,Nginx(七層代理)作為最常用的反向代理Web服務(wù)器,將流量分發(fā)到集群服務(wù)節(jié)點(diǎn),本實(shí)驗(yàn)中從執(zhí)行體池中選擇單一執(zhí)行體作為服務(wù)節(jié)點(diǎn)。在擬態(tài)云異構(gòu)執(zhí)行體的Web服務(wù)程序中,部署了資源大小為2 KB、4 KB、8 KB、16 KB、 32 KB大小的網(wǎng)頁;同樣,在非擬態(tài)云環(huán)境中,Web服務(wù)器的部署與擬態(tài)云中執(zhí)行體配置相同,本文通過訪問不同大小的網(wǎng)頁來測(cè)試系統(tǒng)的性能差異。在本文架構(gòu)中,為了保證系統(tǒng)的裁決結(jié)果安全,選擇3個(gè)執(zhí)行體同時(shí)提供服務(wù),裁決模塊對(duì)響應(yīng)結(jié)果進(jìn)行大數(shù)裁決。
為了測(cè)試性能開銷,本文針對(duì)兩種場(chǎng)景下的用戶平均訪問時(shí)延以及備用代理裁決模塊輸出時(shí)延進(jìn)行對(duì)比評(píng)估。實(shí)驗(yàn)中使用了Apache旗下的JMETER測(cè)試工具,設(shè)置線程數(shù)為100(一個(gè)線程相當(dāng)于一個(gè)用戶),總訪問請(qǐng)求數(shù)1 000,針對(duì)不同大小的訪問網(wǎng)頁構(gòu)造了HTTP請(qǐng)求報(bào)文進(jìn)行測(cè)試,并記錄了平均響應(yīng)時(shí)延,其中備用代理裁決響應(yīng)時(shí)延通過日志審計(jì)獲得。結(jié)果如圖7所示,整體上平均響應(yīng)時(shí)延隨著訪問資源大小的增加而增加,且擬態(tài)云場(chǎng)景的響應(yīng)時(shí)延大于非擬態(tài)。對(duì)于資源較小的頁面,訪問時(shí)延在兩種場(chǎng)景下的差別并不明顯,整體上處于同一水平,且備用代理的裁決響應(yīng)時(shí)延與主用代理的響應(yīng)時(shí)延相差僅為毫秒級(jí),實(shí)現(xiàn)了同步裁決監(jiān)視功能。當(dāng)頁面資源較大時(shí),擬態(tài)云場(chǎng)景下的平均響應(yīng)時(shí)延明顯大于非擬態(tài)場(chǎng)景,但主備用代理之間的裁決延遲相差不大,說明對(duì)于不同大小的資源,主備裁決具有較好的同步性。
圖7 平均響應(yīng)時(shí)延與文件大小的關(guān)系
為了進(jìn)一步測(cè)試該架構(gòu)的性能,在JMETER工具中設(shè)置了不同測(cè)試并發(fā)數(shù)(即2 000、4 000、8 000、12 000、16 000、20 000、24 000、28 000、32 000),對(duì)64 B大小的資源頁面進(jìn)行5 min高并發(fā)壓力測(cè)試,針對(duì)不同網(wǎng)絡(luò)負(fù)載的平均響應(yīng)時(shí)間進(jìn)行測(cè)試統(tǒng)計(jì),結(jié)果如圖8所示??梢钥闯?,隨著網(wǎng)絡(luò)負(fù)載增大,用戶平均響應(yīng)時(shí)延增長(zhǎng)。請(qǐng)求并發(fā)數(shù)較低時(shí),兩種場(chǎng)景下的平均訪問時(shí)延幾乎相同;隨著網(wǎng)絡(luò)負(fù)載增加出現(xiàn)較大增長(zhǎng),且擬態(tài)云場(chǎng)景的平均響應(yīng)時(shí)延明顯高于非擬態(tài)場(chǎng)景,其平均響應(yīng)時(shí)延較非擬態(tài)場(chǎng)景增長(zhǎng)了兩倍。備用代理裁決時(shí)延與主用代理的裁決響應(yīng)時(shí)延在低并發(fā)環(huán)境下幾乎實(shí)現(xiàn)了同步,當(dāng)并發(fā)數(shù)大于16 000時(shí),主備用代理之間的裁決時(shí)延出現(xiàn)明顯差別。隨著并發(fā)數(shù)的增加,高并發(fā)下的主備用代理之間的平均響應(yīng)時(shí)延差也控制在25 ms以內(nèi),保證了系統(tǒng)交叉驗(yàn)證的敏感性,能夠迅速對(duì)異常進(jìn)行處理。
圖8 不同并發(fā)請(qǐng)求下的平均響應(yīng)時(shí)延
主備用代理的切換不可避免地會(huì)造成用戶連接的中斷,為了測(cè)試切換對(duì)服務(wù)質(zhì)量的影響,使用請(qǐng)求響應(yīng)時(shí)間作為指標(biāo)來評(píng)估切換帶來的性能損害。通過JMETER測(cè)試工具模擬了單個(gè)線程連續(xù)60 s循環(huán)高速發(fā)送請(qǐng)求消息,通過記錄請(qǐng)求的響應(yīng)時(shí)間來度量服務(wù)質(zhì)量。測(cè)試期間通過手動(dòng)觸發(fā)主備用代理執(zhí)行切換操作,并將測(cè)試結(jié)果繪制成圖,如圖9所示。圖9中數(shù)據(jù)顯示,若用戶在正常訪問時(shí)發(fā)生主備切換操作,會(huì)出現(xiàn)短暫的網(wǎng)絡(luò)時(shí)延抖動(dòng),主備切換完成后迅速恢復(fù)至正常水平,這種短暫的網(wǎng)絡(luò)波動(dòng)不易被用戶感知,因此該系統(tǒng)的主備切換操作在用戶可接受的QoS下,實(shí)現(xiàn)了對(duì)用戶無感的動(dòng)態(tài)切換。
圖9 響應(yīng)時(shí)間測(cè)試
基于圖6所示的拓?fù)?,采用擬態(tài)白盒測(cè)試的方式對(duì)該架構(gòu)的容侵能力進(jìn)行測(cè)試,針對(duì)擬態(tài)界內(nèi)脆弱點(diǎn)進(jìn)行協(xié)同攻擊,以評(píng)估擬態(tài)機(jī)制的安全特性。實(shí)驗(yàn)中創(chuàng)建并上線一個(gè)白盒執(zhí)行體,并開放根權(quán)限給攻擊者,攻擊者可以通過觸發(fā)預(yù)置在該白盒執(zhí)行體的API來篡改響應(yīng)結(jié)果,同時(shí)攻擊者可通過偵查和滲透來攻擊架構(gòu)組件。在系統(tǒng)當(dāng)前的主用代理上預(yù)置了CVE-2018-15919和CVE-2019-14287(Linux sudo)漏洞,使得攻擊者通過有效攻擊手段能夠獲得該主用代理服務(wù)器的根權(quán)限,并進(jìn)行攻擊。設(shè)計(jì)三種測(cè)試來驗(yàn)證該架構(gòu)的安全性:1)篡改白盒執(zhí)行體響應(yīng)信息,測(cè)試系統(tǒng)的入侵容忍能力;2)通過觸發(fā)預(yù)置的篡改結(jié)果API,篡改主用代理裁決結(jié)果;3)對(duì)主用代理制造單點(diǎn)故障(如暴力關(guān)閉程序、服務(wù)器重啟等)來進(jìn)行系統(tǒng)穩(wěn)定性測(cè)試,并使用JMETER軟件測(cè)試并記錄響應(yīng)時(shí)延和吞吐量變化。
結(jié)果如表2所示,當(dāng)執(zhí)行體或者系統(tǒng)代理組件被攻擊時(shí),該系統(tǒng)能夠迅速檢測(cè)到異常,并迅速執(zhí)行響應(yīng)異常處理操作來維護(hù)正常的服務(wù)水平。若檢測(cè)到系統(tǒng)組件發(fā)生未知故障,反饋控制模塊檢測(cè)到服務(wù)心跳停止,并迅速執(zhí)行切換操作替換異常組件來維持正常服務(wù)。測(cè)試數(shù)據(jù)表明,該系統(tǒng)對(duì)于未知威脅有較好的防御效果,且對(duì)系統(tǒng)組件的故障和攻擊行為有較高的敏感性。
表2 安全性測(cè)試結(jié)果
對(duì)系統(tǒng)的穩(wěn)定性進(jìn)行測(cè)試。首先,在每個(gè)執(zhí)行體服務(wù)端添加了不同大小的文件(分別為32 MB、64 MB、128 MB、512 MB、1 024 MB),然后客戶端通過訪問該擬態(tài)云服務(wù)平臺(tái)的服務(wù)接口去下載目標(biāo)文件,記錄并驗(yàn)證用戶下載文件時(shí)的傳輸時(shí)間以及文件的完整性,并對(duì)比非擬態(tài)云服務(wù)傳輸文件的時(shí)間,結(jié)果如圖10所示。
圖10 傳輸時(shí)間與文件大小的關(guān)系
由圖10可以看出,對(duì)于小文件傳輸,擬態(tài)云服務(wù)系統(tǒng)的文件傳輸時(shí)間與非擬態(tài)系統(tǒng)的文件傳輸時(shí)間相差不大;對(duì)于大文件傳輸,由于擬態(tài)云服務(wù)系統(tǒng)需要對(duì)傳輸報(bào)文進(jìn)行裁決,且三個(gè)執(zhí)行體的處理能力不同,導(dǎo)致其傳輸時(shí)間明顯高于非擬態(tài)系統(tǒng)的文件傳輸時(shí)間。
為了測(cè)試系統(tǒng)主備用代理切換時(shí)的穩(wěn)定性,將每秒下載速度作為穩(wěn)定性指標(biāo),在該擬態(tài)云服務(wù)場(chǎng)景中模擬用戶下載512 MB的文件,并在下載期間手動(dòng)進(jìn)行主備用代理切換,記錄下載過程中的傳輸速度變化,結(jié)果如圖11所示。
圖11 文件下載穩(wěn)定性測(cè)試
從圖11中可以看出,在客戶端下載過程發(fā)生主備切換,下載速度會(huì)瞬間減小至0,經(jīng)過短暫的波動(dòng)后迅速恢復(fù)至原有傳輸速度,最終完成文件的下載,且下載文件的完整性和源文件一致。經(jīng)過抓包分析發(fā)現(xiàn),用戶在文件下載過程中系統(tǒng)觸發(fā)主備切換,會(huì)立即中斷用戶連接并進(jìn)行切換;待切換后會(huì)立即重新與用戶建立連接,并進(jìn)行文件重傳操作。
本文從提高擬態(tài)云系統(tǒng)中云代理的安全性和魯棒性出發(fā),結(jié)合鄔江興院士提出的網(wǎng)絡(luò)空間擬態(tài)防御理論,設(shè)計(jì)實(shí)現(xiàn)了一套基于主備監(jiān)視的高可用擬態(tài)云代理服務(wù)框架,并搭建了云服務(wù)場(chǎng)景進(jìn)行分析和測(cè)試,結(jié)果表明,該設(shè)計(jì)在提高擬態(tài)系統(tǒng)安全性和性能的同時(shí),還提升了擬態(tài)系統(tǒng)應(yīng)對(duì)未知故障干擾的能力,降低了攻擊成功的概率。當(dāng)然,本文提出的擬態(tài)代理架構(gòu)還存在很多可改進(jìn)的地方,今后的工作將圍繞將該擬態(tài)架構(gòu)集成到云中服務(wù)包以便于用戶部署,并設(shè)計(jì)優(yōu)化一種執(zhí)行體調(diào)度策略來減少異構(gòu)執(zhí)行體性能不同造成的額外開銷,優(yōu)化裁決算法減少系統(tǒng)裁決造成的時(shí)延損耗,來提高系統(tǒng)的性能。
[1] SINGH S, CHANA I, BUYYA R. STAR: SLA-aware autonomic management of cloud resources[J]. IEEE Transactions on Cloud Computing, 2020, 8(4): 1040-1053.
[2] 馬海龍,伊鵬,江逸茗,等. 基于動(dòng)態(tài)異構(gòu)冗余機(jī)制的路由器擬態(tài)防御體系結(jié)構(gòu)[J]. 信息安全學(xué)報(bào), 2017, 2(1): 29-42.(MA H L, YI P, JIANG Y M, et al. Dynamic heterogeneous redundancy based router architecture with mimic defenses[J]. Journal of Cyber Security, 2017, 2(1): 29-42.)
[3] MA L M, ZHAO D M, GAO Y J, et al. Research on SQL injection attack and prevention technology based on web[C]// Proceedings of the 2019 International Conference on Computer Network, Electronic and Automation. Piscataway: IEEE, 2019: 176-179
[4] 魏為民,袁仲雄. 網(wǎng)絡(luò)攻擊與防御技術(shù)的研究與實(shí)踐[J]. 信息網(wǎng)絡(luò)安全, 2012(12):53-56.(WEI W M, YUAN Z X. Research and practice of network attacks and defense techniques[J]. Netinfo Security, 2012(12): 53-56.)
[5] KANNAN K, TELANG R. Market for software vulnerabilities? Think again[J]. Management Science, 2005, 51(5): 726-740.
[6] 鄔江興. 擬態(tài)防御技術(shù)構(gòu)建國(guó)家信息網(wǎng)絡(luò)空間內(nèi)生安全[J]. 信息通信技術(shù), 2019, 13(6):4-6.(WU J X. Mimicry defense technology to construct the endogenous security of national information network space[J]. Information and Communications Technologies, 2019, 13(6): 4-6.)
[7] 普黎明,劉樹新,丁瑞浩,等. 面向擬態(tài)云服務(wù)的異構(gòu)執(zhí)行體調(diào)度算法[J]. 通信學(xué)報(bào), 2020, 41(3):17-24.(PU L M, LIU S X, DING R H, et al. Heterogeneous executor scheduling algorithm for mimic cloud service[J]. Journal on Communications, 2020, 41(3): 17-24.)
[8] 張玉清,王曉菲,劉雪峰,等. 云計(jì)算環(huán)境安全綜述[J]. 軟件學(xué)報(bào), 2016, 27(6): 1328-1348.(ZHANG Y Q, WANG X F, LIU X F, et al. Survey on cloud computing security[J]. Journal of Software, 2016, 27(6): 1328-1348.)
[9] 鄔江興. 網(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.)
[10] 崔冰萌,倪明,凌幸華. 基于FPGA的擬態(tài)服務(wù)器設(shè)計(jì)[J]. 計(jì)算機(jī)系統(tǒng)應(yīng)用, 2018, 27(4):219-225.(CUI B M, NI M, LING X H. Design of mimicry computing server with FPGA[J]. Computer Systems and Applications, 2018, 27(4): 219-225.)
[11] 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, 11(6):345-355.
[12] 仝青,張錚,張為華,等. 擬態(tài)防御Web服務(wù)器設(shè)計(jì)與實(shí)現(xiàn)[J]. 軟件學(xué)報(bào), 2017, 28(4):883-897.(TONG Q, ZHANG Z, ZHANG W H, et al. Design and implementation of mimic defense Web server[J]. Journal of Software, 2017, 28(4): 883-897.)
[13] 韓煦. 基于服務(wù)計(jì)算的擬態(tài)式蜜罐研究[D]. 青島:中國(guó)石油大學(xué)(華東), 2014: 30-41.(HAN X. Research on mimicry honeypot based on service computing[D]. Qingdao: China University of Petroleum (East China), 2014: 30-41.)
[14] 郭威,謝光偉,張帆,等. 一種分布式存儲(chǔ)系統(tǒng)擬態(tài)化架構(gòu)設(shè)計(jì)與實(shí)現(xiàn)[J]. 計(jì)算機(jī)工程, 2020,4 6(6):12-19.(GUO W, XIE G W, ZHANG F, et al. Design and implementation of a mimic architecture for distributed storage system[J]. Computer Engineering, 2020, 46(6): 12-19.)
[15] 王夢(mèng)童,邵培南. Ceph分布式存儲(chǔ)系統(tǒng)擬態(tài)防御設(shè)計(jì)[J]. 信息技術(shù), 2020, 44(2):43-48, 57.(WANG M T, SHAO P N. Design of Ceph distributed storage system based on mimic defense[J]. Information Technology, 2020, 44(2): 43-48, 57.)
[16] 王禛鵬,扈紅超,程國(guó)振. 一種基于擬態(tài)安全防御的DNS框架設(shè)計(jì)[J]. 電子學(xué)報(bào), 2017, 45(11):2705-2714.(WANG Z P, HU H C, CHENG G Z. A DNS architecture based on mimic security defense[J]. Acta Electronica Sinica, 2017, 45(11): 2705-2714.)
[17] 宋克,劉勤讓,魏帥,等. 基于擬態(tài)防御的以太網(wǎng)交換機(jī)內(nèi)生安全體系結(jié)構(gòu)[J]. 通信學(xué)報(bào), 2020, 41(5):18-26.(SONG K, LIU Q R, WEI S, et al. Endogenous security architecture of Ethernet switch based on mimicry defense[J]. Journal on Communications, 2020, 41(5): 18-26.)
[18] POLINSKY I, MARTIN K, ENCK W, et al.--Variant Systems: adversarial-resistant software rejuvenation for cloud-based web applications[C]// Proceedings of the 10th ACM Conference on Data and Application Security and Privacy. New York: ACM, 2020: 235-246.
[19] WANG Y W, WU J X, GUO Y F, et al. Scientific workflow execution system based on mimic defense in the cloud environment[J]. Frontiers of Information Technology and Electronic Engineering, 2018, 19(12): 1522-1536.
[20] 普黎明,衛(wèi)紅權(quán),李星,等. 面向云應(yīng)用的擬態(tài)云服務(wù)架構(gòu)[J]. 網(wǎng)絡(luò)與信息安全學(xué)報(bào), 2021, 7(1):101-112.(PU L M, WEI H Q, LI X, et al. Mimicry cloud service architecture for cloud applications[J]. Chinese Journal of Network and Information Security, 2021, 7(1): 101-112.)
[21] PU L M, WU J X, MA H L, et al. MimicCloudSim: an environment for modeling and simulation of mimic cloud service[J]. China Communications, 2021, 18(1): 212-221.
Design and implementation method of mimic cloud agent based on active-standby monitoring
GUO Qiaoyu*, CHEN Fucai, CHENG Guozhen, ZENG Wei, XIAO Yuqiang
(,450002,)
Aiming at the security threats and single point of failure of the agent in mimic cloud systems, a high-available mimic cloud agent with active-standby monitoring was proposed. Firstly, an active-standby monitoring mechanism based on distributed agents in the cloud environment was proposed to construct heterogeneous active-standby agents. The traffic to the active agent was analyzed by the standby agent through mirroring the traffic, and the output results of the active agent were cross-validated by the standby agent. Secondly, based on the Data Plane Development Kit (DPDK) platform, a synchronous adjudication mechanism for standby agents and a seamless active-standby switching mechanism were designed to achieve security reinforcement and performance optimization of cloud agents. Finally, an active-standby switching decision algorithm was proposed to avoid the waste of resources caused by frequent active/standby switching. Experimental results showed that compared with the traffic processing delay of Nginx based cloud agents, the loss of this mimic cloud agent was milliseconds under high concurrency. It can be seen that the designed method can greatly improve the security and stability of the cloud proxy, and reduce the impact of the single point of failure on the stability of the proxy.
mimic defense; cloud agent; active-standby monitoring; cross validation; mimic cloud system
This work is partially supported by National Natural Science Foundation of China (62072467, 62002383).
GUO Qiaoyu, born in 1997, M. S. candidate. His research interests include network active defense.
CHEN Fucai, born in 1974, M. S., research fellow. His research interests include network communication, network active defense.
CHENG Guozhen, born in 1986, Ph. D., associate professor. His research interests include cyber security, cloud data security.
ZENG Wei, born in 1997, M. S. candidate. His research interests include network active defense.
XIAO Yuqiang, born in 1997, M. S. candidate. His research interests include software diversification, network active defense.
TP393
A
1001-9081(2022)06-1932-09
10.11772/j.issn.1001-9081.2021040595
2021?04?15;
2021?07?09;
2021?07?09。
國(guó)家自然科學(xué)基金資助項(xiàng)目(62072467, 62002383)。
郭喬羽(1997—),男,河南商丘人,碩士研究生,主要研究方向:網(wǎng)絡(luò)主動(dòng)防御;陳福才(1974—),男,江西高安人,研究員,碩士,主要研究方向:網(wǎng)絡(luò)通信、網(wǎng)絡(luò)主動(dòng)防御;程國(guó)振(1986—),男,山東菏澤人,副教授,博士,主要研究方向:網(wǎng)絡(luò)安全、云數(shù)據(jù)安全;曾威(1997—),男,河南信陽人,碩士研究生,主要研究方向:網(wǎng)絡(luò)主動(dòng)防御;肖玉強(qiáng)(1997—),男,吉林遼源人,碩士研究生,主要研究方向:軟件多樣化、網(wǎng)絡(luò)主動(dòng)防御。