陳楠楠 姜 禹,2,3 胡愛群,2,4 郭 丞
1(東南大學網(wǎng)絡空間安全學院 南京 211189) 2(紫金山實驗室 南京 211111) 3(江蘇省計算機網(wǎng)絡技術重點實驗室(東南大學) 南京 211189) 4(東南大學移動通信國家重點實驗室 南京 210096) 5(南京師范大學教育科學學院 南京 210024)
迅猛發(fā)展的互聯(lián)網(wǎng)技術已被廣泛應用,同時,各領域面臨的網(wǎng)絡安全風險也進一步加大.網(wǎng)絡釣魚、勒索軟件等網(wǎng)絡攻擊事件層出不窮,全球范圍內網(wǎng)絡安全形勢愈加嚴峻.為此,各國研究人員作出了諸多努力.從傳統(tǒng)的以防火墻[1]為代表的被動防護,發(fā)展到以入侵檢測[2]、蜜罐[3-4]等為代表的主動防御,網(wǎng)絡防御技術不斷取得新突破、新進展.不過,諸如入侵檢測等的防護技術具有一定的特異性,其必須在獲悉攻擊行為的類型或知曉自身漏洞與后門的前提條件下才能發(fā)揮最大防護效用,不能保證防御的全面性.另外,針對已知漏洞后門進而部署的防御措施具有一定的滯后性.同時,漏洞和后門無法從根本上避免及杜絕.上述問題的存在使得與攻擊方相比,信息系統(tǒng)表現(xiàn)出確定性、靜態(tài)性和脆弱性,從而網(wǎng)絡攻防長期處于一種易攻難守的態(tài)勢.
針對此現(xiàn)狀,近年來許多學者開始探索新型的防御技術,主動防御[4]與內生安全[5]成為網(wǎng)絡空間安全領域的研究熱點.內生安全防御方法基于異構思想,利用系統(tǒng)的架構、機制等內在因素來獲取安全功能或屬性.其在網(wǎng)絡威脅防護上取得了不俗的防御效果,特別是能夠實現(xiàn)對未知漏洞和后門威脅的主動防御.擬態(tài)防御[6]作為內生安全核心解決方法,其有效性已被多項研究充分證實.對于以漏洞、軟硬件后門為代表的內生安全問題,擬態(tài)防御通過動態(tài)異構冗余(dynamic heterogeneous redundancy, DHR)[7]構造使系統(tǒng)獲得“后天免疫”功能.
本文針對內生安全DHR架構大多關注異構執(zhí)行體集,一定程度上缺乏動態(tài)性的問題,綜合考慮調度策略的時機選擇與工作執(zhí)行體數(shù)量,將攻擊反饋、系統(tǒng)異構、冗余等方面與調度策略進行關聯(lián),提出一種利用攻擊反饋信息的調度時機與調度數(shù)量動態(tài)調整方法.
DHR[6]典型架構由輸入代理、執(zhí)行體集、負反饋控制器、策略調度算法、多模表決器和輸出代理組成.輸入代理負責將同一輸入序列復制為n份并分發(fā)給執(zhí)行體集中的n個異構執(zhí)行體進行處理;異構執(zhí)行體集合中執(zhí)行體獨立完成工作,并產生各自的輸出;輸出結果匯總至表決器,由表決器根據(jù)表決策略進行表決,最終得到唯一的相對正確的輸出結果并發(fā)送至輸出代理;輸出代理負責最終輸出.期間,若表決器表決時發(fā)現(xiàn)不一致的輸出結果,則將異常信息反饋給負反饋控制器.負反饋控制器則根據(jù)控制算法與運行時的反饋信息,使用動態(tài)調度算法挑選新的工作執(zhí)行體集以替換當前集合.
DHR架構的典型構造如圖1所示:
圖1 DHR架構典型構造
DHR架構涉及到多個關鍵技術、關鍵模塊之間的協(xié)同合作,如調度策略、表決策略[8]和清洗下線策略等.其中調度策略是DHR架構的關鍵一環(huán).常見的調度策略涉及SDN控制層[9-10]、Web服務器[11]、擬態(tài)交換機[12]、DNS服務器[13]等多個領域;所研究的問題包括調度時機[14-16]、調度數(shù)量[17-19]、調度對象[20-22]3類;所考慮的系統(tǒng)特性包括動態(tài)性、負反饋特性與異構冗余特性3個方面[23].
調度策略選取的在線執(zhí)行體集的異構度越大,其存在共模漏洞的概率越低,架構的安全性越高.因此現(xiàn)有調度算法研究主要集中于調度對象問題,期望通過提高執(zhí)行體集異構度從而提高安全性.而對于調度機制的時機選擇與執(zhí)行體數(shù)量問題,相關研究相對較少.
關于調度執(zhí)行體的切換時機問題,桑笑楠[14]提出基于時間隨機閾值的動態(tài)調度算法,利用隨機閾值進行單個異構執(zhí)行體的變換,使得整體架構具備動態(tài)性,但沒有考慮執(zhí)行體間的異構性.盧振平[15]提出一種最優(yōu)調度算法(optimal scheduling algorithm, OSA).OSA根據(jù)調度代價、攻擊損耗以及攻擊分布函數(shù)計算最佳調度時間.該算法在一定程度上解決了調度過程中時機選擇的問題,但未考慮執(zhí)行體本身異構度,缺乏安全性.郭威[16]提出基于滑動窗口模型的調度序列控制方法.該算法能夠根據(jù)不同的攻擊場景動態(tài)改變調度窗口的時間和大小參數(shù),提高了系統(tǒng)的安全性、魯棒性.但該算法滑動窗口的大小屬性僅反映異常反饋次數(shù),不涉及實際的調度對象數(shù)量,并且缺乏對多執(zhí)行體調度工作的考慮.
一些研究關注到工作執(zhí)行體的數(shù)量問題:Qi等人[17]在研究擬態(tài)網(wǎng)絡操作系統(tǒng)中提出基于反饋的動態(tài)感知調度算法,根據(jù)系統(tǒng)所能容忍的控制器失效個數(shù)決定下一周期工作執(zhí)行體數(shù)量.該算法具有一定動態(tài)性,但復雜度較高(O(n2)).李軍飛[18]提出基于效用的動態(tài)彈性調度策略,根據(jù)當前外部環(huán)境確定下一步在線執(zhí)行體的數(shù)量,具有較好的動態(tài)性.該文雖然指出所提模型也適用于調度間隔,但其并未設定合理的參數(shù),沒有給出具體的求解過程.高明等人[19]提出基于判決反饋的調度數(shù)量算法,基于判決反饋結果確定下一時刻在線執(zhí)行體的數(shù)量.該算法考慮系統(tǒng)負載,增加了系統(tǒng)動態(tài)性與可靠度的同時權衡系統(tǒng)代價與安全性,但其缺乏具體變化條件以及后續(xù)工作的研究.
上述調度算法雖然關注到調度工作時長或在線執(zhí)行體的數(shù)量問題,但通常僅考慮其中單一元素,未能將二者與調度過程有機結合.
基于滑動窗口模型算法[16]雖然同時考慮時間與大小2個屬性,但其大小屬性僅控制調度窗口可容忍的異常值數(shù)量,不涉及工作執(zhí)行體的數(shù)量.并且對于實際的調度對象,該算法僅使用隨機選擇單一執(zhí)行體替換上線策略,缺乏對多執(zhí)行體調度的考慮.基于效用的動態(tài)彈性調度策略[18]雖然同時考慮時間與數(shù)量2個屬性,但其僅提出調度間隔調整的思想,沒有給出具體的參數(shù)設計與計算公式,也沒有通過實驗驗證方法合理性.
另外,現(xiàn)有調度算法大都從防御者出發(fā),即設計調度策略時多考慮防御方的自身屬性,而忽略了攻擊方攻擊屬性的重要性.
以上問題的存在使得內生安全系統(tǒng)缺乏靈活性與動態(tài)性,在一定程度上安全性不足,達不到防護能力的最優(yōu)狀態(tài).
調度時機問題關注如何選擇一個合適時間點進行調度切換,調度數(shù)量問題關注應調度幾個執(zhí)行體.周期性切換調度進程與固定工作執(zhí)行體數(shù)量的策略易于實現(xiàn),并且具有較好穩(wěn)定性.但不足之處在于固定方式使系統(tǒng)不能及時獲知反饋信息從而將攻擊阻斷,容易被攻擊者參透調度規(guī)律進而發(fā)起針對性滲透.同時,固定策略在系統(tǒng)遭受稀疏攻擊時將導致不必要的資源開銷;而在攻擊密集時,系統(tǒng)也無法及時調整適應外部環(huán)境,容易導致安全問題.由1.2節(jié)研究現(xiàn)狀可知,可變方式較固定方式具有更好的靈活性.不過,當前研究未能將時機選擇與數(shù)量問題同調度過程有機結合,并且對于攻擊反饋信息的利用還不夠深入.
基于上述問題,本文考慮根據(jù)外部環(huán)境變化動態(tài)調整調度切換的時機與工作執(zhí)行體的數(shù)量,以解決固定策略穩(wěn)定性有余而靈活性、安全性不足問題.
圖2模擬了動態(tài)調度策略下擬態(tài)系統(tǒng)處于攻擊場景時工作運行情況.實心圓表示系統(tǒng)遭受攻擊,其密度越大代表系統(tǒng)所受攻擊越密集;環(huán)形表示調度資源,其面積越大表示消耗的資源越多,如工作執(zhí)行體的數(shù)量越多;方塊表示調度切換的時機.當系統(tǒng)遭受少量攻擊時在線執(zhí)行體集防御力充足,工作周期內系統(tǒng)功能不受影響,處于相對安全水平.此時調度器延長2次調度之間的時間間隔,同時減少工作執(zhí)行體數(shù)量,可以減少頻繁調度對系統(tǒng)資源的消耗.而當系統(tǒng)頻繁遭受攻擊,或攻擊者強度加大時,系統(tǒng)安全風險顯著增加.此時調度器縮短調度間隔,盡快切換調度進程,同時相應增加工作執(zhí)行體的數(shù)量,可以大幅增加架構被破解的難度,降低系統(tǒng)失效概率,增強安全性.如此便能實現(xiàn)根據(jù)不同攻擊場景動態(tài)地改變系統(tǒng)調度工作的時間間隔和工作執(zhí)行體的數(shù)量,從而提高系統(tǒng)整體安全性、魯棒性,同時減少固定方式不必要的調度導致的額外資源消耗問題.
圖2 模擬系統(tǒng)運行示意圖
具體來說,算法維護2個屬性共同控制調度進程切換,分別是2次調度之間的時間間隔Δt和1次調度期間異常反饋門限值U.現(xiàn)有調度策略大多固定工作屬性,周期性地切換調度進程.單一基于Δt的調度觸發(fā)方式雖然有利于系統(tǒng)保持魯棒性,但其僅能在調度周期結束時刻才能發(fā)起切換,無法做到根據(jù)攻擊場景的變化快速調整適應.并且其初始值難以把控,系統(tǒng)長時間運行后容易出現(xiàn)調度間隔過大或過小問題.而單一基于U的調度觸發(fā)方式雖然考慮了環(huán)境的變化,但其忽略了DHR結構內部狀態(tài),不利于系統(tǒng)保持魯棒性.同樣,也會出現(xiàn)初始值設置不當問題.
對此,本文采用Δt與U共同觸發(fā)調度方式,有2種情況:
設第i次調度工作周期開啟時刻為di,工作時長為Δti,則本次調度結束時刻為di+Δti.當前時刻t超過di+Δti則表明本次調度工作已正常結束.此時時間逾期情況觸發(fā)了調度切換,則負反饋控制器通知系統(tǒng)正常進入下一工作周期.因時長逾期觸發(fā)調度的事件稱為事件c1,事件c1表示為
c1=t-di≥Δti.
(1)
表決器對執(zhí)行體的輸出結果進行表決時,如果1個執(zhí)行體的輸出結果與系統(tǒng)最終表決結果不一致,則認為此執(zhí)行體出現(xiàn)異常.設第i次調度工作,累計異常執(zhí)行體的數(shù)量為φi,異常門限值表示為Ui,當φi超過Ui則認為系統(tǒng)所能容忍的異常達到極限值.此時異常超限條件觸發(fā)調度切換,負反饋控制器即終止當前工作周期,控制系統(tǒng)進入下一工作周期,以避免執(zhí)行體陸續(xù)失效而導致系統(tǒng)全面失效的問題發(fā)生.因異常超限觸發(fā)調度的事件稱為事件c2,事件c2表示為
c2=φi≥Ui.
(2)
基于以上思想,系統(tǒng)運行具體包括如下步驟:
1) 負反饋控制器接收表決器反饋的異常執(zhí)行體類型與數(shù)量等相關信息;
2) 其內部調度觸發(fā)模塊根據(jù)工作時長設定值與異常執(zhí)行體門限值2個屬性判斷系統(tǒng)處于正常工作狀態(tài)還是應切換調度進程,進入下一工作周期;
3) 若當前工作時長超出設定值或異常執(zhí)行體數(shù)量達到異常閾值,則負反饋控制器通知系統(tǒng)準備進入下一調度周期,同時通知計算模塊更新計算工作機制各屬性值;
4) 計算模塊根據(jù)當前環(huán)境條件判斷是由事件c1還是c2觸發(fā)調度;
5) 依情況分別啟動c1計算模塊或c2計算模塊,分別利用切換周期前的屬性值計算切換后調度周期應工作時長、異常門限值以及工作執(zhí)行體數(shù)量等屬性值;
6) 最后負反饋控制器更新各屬性值,通過調度選擇算法選取相應數(shù)量執(zhí)行體組成新執(zhí)行體集參與工作.
系統(tǒng)工作流程如圖3所示:
圖3 系統(tǒng)工作流程
2.3.1 變量設計
假設在算法具體運算前,定義如下:A為攻擊強度集合;Δti為第i次調度工作時長;di為第i次調度開啟時刻;φi為第i次調度實時異常執(zhí)行體數(shù)量;Ui為第i次調度異常門限值;CO為調度開銷集合;ni為第i次調度執(zhí)行體數(shù)量;α,β,ρ,k,γ為調整系數(shù).
現(xiàn)實中的攻擊行為具有不確定性和較大的隨機性,實驗很難完全按照現(xiàn)實情況進行,因此本文定義攻擊強度為1個時刻內攻擊的次數(shù),由模擬器模擬出攻擊強度序列.由于異常執(zhí)行體的數(shù)量與攻擊行為密切相關,同樣無法準確探測到,模擬器利用攻擊強度序列,通過加權取值計算模擬出異常執(zhí)行體的數(shù)量序列.
2.3.2 計算調度工作時長Δti
由2.1節(jié)算法基本思想可知,如果系統(tǒng)運行至時刻t,工作時長超出當前周期設定的運行時間d+Δt,則事件c1發(fā)生而觸發(fā)調度.事件c1發(fā)生反映出系統(tǒng)在本周期正常運行結束,未因攻擊行為而發(fā)生故障導致功能失效.即從側面表明此工作周期內系統(tǒng)遭受的攻擊頻率較低、次數(shù)較少,其執(zhí)行體集可以較好抵御外來攻擊,系統(tǒng)處于相對安全水平.如果此時延長下次調度的工作時長,則可以在保證一定安全性的前提下減少頻繁調度對系統(tǒng)資源的消耗.反之如果當異常執(zhí)行體數(shù)量超出門限值,即事件c2發(fā)生而觸發(fā)調度,則說明當前系統(tǒng)所能容忍的異常已到達極限.從側面表明此系統(tǒng)處于攻擊頻率較高場景.后續(xù)周期需要縮短工作時長Δt以盡快切換調度進程,提高架構被破解的難度,彌補系統(tǒng)健壯性.
c2場景下,執(zhí)行體并未工作至設定工作時長,即因異常超限發(fā)生而觸發(fā)了調度切換,則實際工作時長一定程度反映了下一周期工作時長應調整的程度.即考慮使用周期i-1預期工作時長Δti-1與實際工作時長di-di-1的綜合取值計算周期i工作時長Δti.
綜上考慮,動態(tài)計算Δti的公式如下:
(3)
其中t1為初始值,放大系數(shù)取值區(qū)間為[1,2],α和β為控制系數(shù).
2.3.3 計算異常反饋門限Ui
與工作時長計算情況相反,如果時間逾期事件c1發(fā)生而觸發(fā)調度,則此時處于相對安全環(huán)境中,可適當縮小下一調度周期異常門限值,從而減少資源浪費.反之如果由異常超限事件c2觸發(fā)調度,則后續(xù)周期可以通過擴大異常門限U以彌補系統(tǒng)安全性.
S型增長曲線的函數(shù)特性是在給定區(qū)間內單調遞增或遞減,且在接近于區(qū)間上下極限時變化減緩,遠離區(qū)間極限時變化顯著.因此考慮基于S型增長曲線生成一個調整系數(shù)ρ,控制U在事件c1發(fā)生情況下單調遞減輸出,事件c2發(fā)生情況下單調遞增輸出.
綜上考慮,動態(tài)計算Ui的公式如下:
(4)
(5)
其中k為控制系數(shù).
2.3.4 計算執(zhí)行體調度數(shù)量ni
前后周期異常執(zhí)行體的數(shù)量變化情況從側面反映出攻擊場景的變化情況.當系統(tǒng)遭受攻擊的頻率增大或次數(shù)增多時,隨著時間流逝,未能正常工作的執(zhí)行體的數(shù)量呈增長趨勢,前后周期異常執(zhí)行體數(shù)量的差值隨之增大.反之,當系統(tǒng)遭受攻擊次數(shù)減少,其值為負且逐漸減小.因此考慮使用φi-1-φi-2作為調整系數(shù)計算下一周期執(zhí)行體數(shù)量ni,公式如下:
(6)
γ為1個常數(shù),當系統(tǒng)遭受攻擊次數(shù)增多時,γ(φi-1-φi-2)為正且逐漸加大,進而控制下一調度周期的工作執(zhí)行體數(shù)量增多,增加了系統(tǒng)被滲透的難度,提高系統(tǒng)安全性.反之,其值為負且逐漸減小,進而控制下一調度周期工作執(zhí)行體的數(shù)量相應減少,節(jié)約了一定資源.
3.1.1安全性指標
調度策略感知外部環(huán)境變化情況并作出相應調整的能力,一定程度可以體現(xiàn)系統(tǒng)安全性程度.
定義1.高危感知率.
攻擊者對目標系統(tǒng)發(fā)起進攻達到一定頻率,認為系統(tǒng)進入高危狀態(tài),直至下一次發(fā)生有效調度時才能夠恢復正常.如果一次調度周期t內該狀態(tài)的時長總和為tsum,則高危感知率(high risk perception rate, HPR)定義為
(7)
3.1.2 效率指標
發(fā)起調度以及上下線執(zhí)行體都會產生資源開銷,因此定義系統(tǒng)運轉消耗率評價調度方法在開銷控制上的表現(xiàn).
定義2.系統(tǒng)運轉消耗率.
在固定時間內執(zhí)行1次調度切換開銷為COc,上線1個執(zhí)行體的開銷假定為COe,基礎固定消耗定義為COf,則1次調度周期內系統(tǒng)運轉消耗率(operation consumption rate, OCR)定義為
ne=ni-ni-1+φi,
(8)
(9)
ne為新上線執(zhí)行體數(shù)量,其通過前后周期工作執(zhí)行體數(shù)量之差與異常執(zhí)行體數(shù)量共同計算得到.
本節(jié)基于Java設計一個調度模擬器,該模擬器中的參數(shù)可自由配置,包括調度周期、執(zhí)行體數(shù)量、攻擊頻率等.實驗開始初始化各屬性值,隨后模擬一段時間內不同攻擊場景下各調度策略工作情況.
考慮2次調度之間時間間隔(即1次調度工作時長,以下簡稱“時間”)與執(zhí)行體數(shù)量(以下簡稱“數(shù)量”)2個屬性,設置以下實驗對象.
1) 固定時間與固定數(shù)量組(fixed time and fixed quantity strategy, FTFQ).此組實驗對象調度工作的時間間隔和數(shù)量屬性一經設定固定不變,其中時長固定為4 s,執(zhí)行體數(shù)量分別固定為3與7.
2) 固定時間與動態(tài)數(shù)量組(dynamic quantity and fixed time strategy).此組實驗對象調度工作的時間間隔固定為4 s.而執(zhí)行體數(shù)量通過參考差異化反饋調度判決算法[19],根據(jù)執(zhí)行體異常反饋前后周期的變化率建立公式以動態(tài)更新.以下簡稱其為DFS.
3) 動態(tài)時間與固定數(shù)量組(dynamic time and fixed quantity strategy, DTFQ).此組實驗對象調度時間間隔采用式(3)動態(tài)調整,其執(zhí)行體數(shù)量分別固定為3與7.
4) 動態(tài)時間與動態(tài)數(shù)量組(dynamic adjustment of scheduling timing and quantity, DSTQ).此實驗對象調度時間間隔與執(zhí)行體數(shù)量都采用本文所提方法進行動態(tài)調整.
由式(7)可知,HPR只與時長和攻擊強度有關,假設系統(tǒng)工作相同時長,并遭受相同攻擊,則該值將完全相同.因此,設置調度工作時長固定與動態(tài)調整的對比實驗,以觀察其對危險環(huán)境感知能力,此時不考慮執(zhí)行體數(shù)量如何.
由式(9)可知,固定開銷與執(zhí)行體數(shù)量影響OCR值.因此設置不同調度開銷下各調度策略工作的對比實驗,以觀察各算法在效率方面的表現(xiàn).
不同實驗場景的取值如表1所示:
表1 實驗取值
Adiff是由模擬器模擬出的攻擊隨機序列.COdiff是調度開銷序列.不同的動態(tài)冗余架構調度的開銷不同,根據(jù)調研,基于DHR架構的系統(tǒng)調度耗時開銷在10~90 s.本文簡化條件,將發(fā)起調度開銷和固定消耗開銷固定,設定上線1個執(zhí)行體的開銷取值范圍為10~90 s.
3.3.1 攻擊場景對調度的影響
1) 不同攻擊場景下DSTQ運行效果.
改變攻擊場景觀察本文所提DSTQ方法的有效性.如圖4紅色實線所示,在某些時刻系統(tǒng)遭受攻擊頻率較高,某些時刻較低,呈現(xiàn)不規(guī)則、較大幅波動狀態(tài),模擬了系統(tǒng)隨機遭受不同攻擊的現(xiàn)實情景.圖4長虛線顯示,調度時間間隔變化走向與攻擊場景反向相關.隨著攻擊強度增大,調度時間間隔逐漸縮短,且下降速度偏快;而當攻擊頻率降低時,時間間隔則反向回升.而圖4短虛線顯示,調度執(zhí)行體數(shù)量屬性的走向趨勢與攻擊場景相似,攻擊頻率增大時,執(zhí)行體數(shù)量增加;反之,二者共同減少.
圖4 強攻擊場景下時間間隔和調度數(shù)量
圖5表示一段時間內,各時刻攻擊頻率相近場景下的系統(tǒng)工作情況.如圖5各曲線所示,在這種場景下,時間間隔和調度數(shù)量的走向仍然同攻擊強度的走向呈相反、相似趨勢.
圖5 弱攻擊場景下時間間隔和調度數(shù)量
結合圖4、圖5可知,本文算法能很好地適配攻擊場景.無論攻擊的次數(shù)或頻率如何,本文的調度策略都具有高度的敏銳度,能夠根據(jù)攻擊場景動態(tài)地調整調度工作的各屬性值,靈活適應調度需求.證實了DSTQ方法具有良好的適應性,并為DHR結構的魯棒性提供了有效增益.
2) 不同攻擊場景下固定時間與DSTQ的HPR對比.
圖6 不同攻擊場景下高危感知率
本節(jié)實驗對象為2個結構相似的擬態(tài)防御系統(tǒng),除調度機制分別采用固定時間策略FTFQ與動態(tài)調整時間的策略DSTQ外,其他設置均相同.通過改變不同攻擊場景,觀察2個系統(tǒng)對于高危場景的預警情況.如圖6所示,在相同的實驗持續(xù)時長與攻擊場景下,無論攻擊強度如何,DSTQ較FTFQ對高危場景敏銳度更高.其中圖6(a)強攻擊場景中,超過50%的情景,前者感知危險的能力顯著高于后者.可以看出,由于調度周期固定,采用固定時間策略的系統(tǒng)往往察覺異常時已遠遠滯后,無法及時發(fā)出危險預警,表現(xiàn)相對過于遲鈍.相比之下,本文所提動態(tài)調度時間方法能使系統(tǒng)根據(jù)實際情況迅速作出預警響應,并及時調整調度進程,體現(xiàn)出較高的安全性與良好的靈活適應能力.
3) 不同攻擊場景下各算法系統(tǒng)運轉消耗率對比.
本組實驗對象為3個結構相似的擬態(tài)防御系統(tǒng),其調度機制分別采用FTFQ(Δt=4,n=3)、FTFQ(Δt=4,n=5)以及本文動態(tài)調整時間與數(shù)量的策略DSTQ,其他設置相同.本節(jié)通過改變不同攻擊場景,觀察各系統(tǒng)對于資源的消耗利用情況.圖7展示了不同攻擊場景下各算法的系統(tǒng)運轉消耗率.采用固定策略的2個系統(tǒng)在任意攻擊強度下OCR值都保持不變,反映了周期性策略穩(wěn)定性有余但靈活調整能力不足的問題.
圖7 不同攻擊場景下系統(tǒng)運轉消耗率比較
如圖7所示,隨著運行時間與執(zhí)行體數(shù)量的變化,DSTQ的系統(tǒng)運轉消耗率有高有低,符合現(xiàn)實情況.觀察圖7(a)可知,在攻擊頻率較低的場景下,采用DSTQ的系統(tǒng),其運轉消耗率存在25%的場景低于采用FTFQ(n=3)的系統(tǒng);存在約83%的場景低于采用FTFQ(n=5)的系統(tǒng).DSTQ在降低系統(tǒng)開銷方面顯示出一定的優(yōu)勢.如圖7(b)所示,在攻擊次數(shù)更多、頻率更高的場景下,采用DSTQ的系統(tǒng)其運轉消耗率存在33%的場景低于采用FTFQ(n=3)的系統(tǒng),且其降低的幅度更大.當系統(tǒng)在第2與第3周期遭受猛烈攻擊時,前者的OCR值增長幅度較緩,僅上升了0.045與0.083.由此表明,本文所提DSTQ策略在既保證較高安全性的同時也保證了較為樂觀的系統(tǒng)消耗,未給系統(tǒng)造成太大負擔.
圖8顯示了相同攻擊場景下,采用本文DSTQ方法的仿真系統(tǒng)與采用固定時間動態(tài)數(shù)量方法(DFS)[19]的系統(tǒng)各自的運轉消耗率.如圖8所示,在某些攻擊頻率較高的周期,采用DSTQ方法的系統(tǒng),其運轉消耗率遠小于采用DFS的系統(tǒng).從整體來看,前者的OCR值僅有15%情況下略微大于后者.而DFS方法雖然能跟隨攻擊場景動態(tài)改變調度的執(zhí)行體數(shù)量,但由于其采用周期性切換調度的策略,一定程度上滯后于實際場景,從而其安全性與靈活性均顯不足.因此,在調度開銷差異不顯著的情況下,本文方法能更好協(xié)調安全性和動態(tài)性,具有較高的開銷收益比.
圖8 相同攻擊場景下的系統(tǒng)運轉消耗率
本節(jié)初步論證了所提DSTQ算法的可行性與正確性.仿真實驗表明,動態(tài)調度策略不會給系統(tǒng)帶來過多開銷,同時其能隨系統(tǒng)環(huán)境變化作出動態(tài)調整,兼顧安全性的同時,相比固定策略更具靈活性、動態(tài)性.結合圖7、圖8可知,將執(zhí)行體數(shù)量固定為3的調度策略更適合攻擊相對較為平和的場景,在保證一定安全性的前提下,該方法的系統(tǒng)消耗低于其他任何方式.而在攻擊頻繁或攻擊強度較大的場景中,本文所提方法既具有較高的安全性和良好的防護能力,同時把系統(tǒng)消耗控制在較低水平,很好平衡了功能性與效率.
3.3.2 開銷對調度的影響
本節(jié)通過改變執(zhí)行1次調度切換的固定開銷觀察4個系統(tǒng)的運轉效率情況,它們分別采用固定時間固定數(shù)量方法FTFQ(n=3或n=5)、固定時間動態(tài)數(shù)量方法DFS與本文方法DSTQ.如圖9所示,隨著調度開銷的增大,所有系統(tǒng)的OCR值都呈明顯增長趨勢.其中,采用FTFQ(n=5)的系統(tǒng),其OCR值遠高于其他系統(tǒng),且增幅比較明顯.在低開銷階段,采用FTFQ(n=3)的系統(tǒng),其OCR值低于其他系統(tǒng).但該系統(tǒng)的執(zhí)行體數(shù)量固定為3個:一方面執(zhí)行工作的執(zhí)行體偏少,無法應對大規(guī)模攻擊場景,容易導致系統(tǒng)失效和安全性不足;另一方面,固定不變策略的靈活性較差.因此該策略僅適用于攻擊頻率較低或攻擊變換不頻繁的場景.
在開銷低于50 s階段,采用固定時間動態(tài)數(shù)量DFS策略的系統(tǒng),其OCR值一直高于采用FTFQ(n=3)的系統(tǒng),之后其增長幅度逐漸減緩.在開銷超過50 s后,其OCR值一直低于后者,但總體一直高于本文方法DSTQ.開銷低于30 s時,采用DSTQ的系統(tǒng)其消耗略高于采用FTFQ(n=3)的系統(tǒng),但當開銷超過30 s以后,前者OCR值顯著低于其他系統(tǒng).此外,即使開銷逐漸增大,該系統(tǒng)的OCR值增長幅度一直較緩,展現(xiàn)出較強的優(yōu)化開銷能力.
圖9 不同調度開銷下的系統(tǒng)運轉消耗率
結合安全性指標可知,本文方法在保證較高安全性的同時,在調度開銷越大的系統(tǒng)中,該方法越能發(fā)揮其減少不必要的調度消耗以及充分利用系統(tǒng)資源的優(yōu)勢,其性能顯著優(yōu)于其他單一策略.
本文將攻擊場景、系統(tǒng)異構、冗余等與調度策略關聯(lián),根據(jù)不同場景變化,綜合考慮一種調度時機和執(zhí)行體數(shù)量動態(tài)調整方法.該方法使用工作時長與異常反饋2種屬性共同控制調度進程的切換;同時利用攻擊反饋信息建立動態(tài)計算公式、動態(tài)更新調度時間間隔和執(zhí)行體數(shù)量等屬性值.該調度策略能保證較高的安全性,在攻擊場景無規(guī)則變化時提供良好的防御.同時,它可以提高執(zhí)行體的利用率,減少固定方式的不必要調度帶來的資源消耗.仿真實驗結果表明,本文策略在提高系統(tǒng)安全性和魯棒性的同時,用盡可能小的資源開銷實現(xiàn)了系統(tǒng)最大增益,更好地平衡了防護能力和運轉效率,性能優(yōu)于其他考慮單一的調度策略.