








摘 要: 針對現有多執行體裁決算法和調度算法主要將執行體受攻擊的次數作為可信度的參考依據,難以區分每次攻擊行為的惡意程度,也難以應對執行體輸出為數值且允許存在誤差的應用場景的問題,以電力系統狀態估計異常檢測作為應用場景,提出根據歸一化的執行體輸出差異距離調整其可信度的裁決算法,以及基于運行時長、可信度和切換開銷等構造收益函數的調度算法。仿真實驗結果表明,相比同等權重的裁決算法和隨機切換的調度算法,所提算法在系統執行開銷基本相同的情況下,可以將系統平均失效率降低43.8%,能夠有效地提升工業網絡防護設備的防御能力。
關鍵詞: 內生安全; 裁決算法; 調度算法; 工業控制系統; 異常檢測
中圖分類號: TP393"" 文獻標志碼: A
文章編號: 1001-3695(2022)05-025-1437-07
doi:10.19734/j.issn.1001-3695.2021.10.0462
Multi executor decision algorithm and scheduling algorithm based on differential distance feedback
Yu Fei, Liu Ke, Geng Yangyang, Wei Qiang
(Information Engineering University, Zhengzhou 450001, China)
Abstract: With the anomaly detection of power system state estimation as the application scenario,this paper proposed a decision algorithm that adjusted executor’s credibility according to the normalized output differential distance,and proposed a scheduling algorithm that constructed a revenue function based on runtime,credibility,and switching overhead,to solve the problem that the existing multi executor decision algorithms and scheduling algorithms can not distinguish the malicious degree of each attack and deal with the application scenarios where the output was numerical while allowed errors since they mainly took the attack number as the reference basis for the executor credibility.The simulation results show that compared with the decision algorithm with the same weight and the scheduling algorithm with random switching,the proposed algorithm can reduce the average failure rate of the system by 43.8%,and effectively improve the defense capability of industrial network protection equipment.
Key words: endogenous security; decision algorithm; scheduling algorithm; industrial control system; anomaly detection
0 引言
在數字化、網絡化、智能化的發展趨勢下,工業控制系統普遍采用的防火墻、入侵檢測系統等邊界防護設備,其自身安全問題也逐漸暴露出來,吸引了越來越多的關注。
2016年,方程式組織(Equation Group)的網絡攻擊程序工具集被曝包含針對知名網絡設備制造商(例如Cisco、Fortinet和天融信等)的路由器、防火墻和VPN(virtual private network)等邊界防護產品的網絡武器[1]。工業安全公司CyberX的專家發現施耐德ConneXium工業級防火墻漏洞,攻擊者可以遠程執行任意代碼[2]。2019年,美國西部某電力公司的邊界防火墻存在的安全漏洞導致控制中心與多個發電廠之間的通信發生中斷[3]。2021年,美國Colonial Pipeline公司VPN系統遭黑客攻擊,被迫全面暫停運營[4]。
常規的工業網絡邊界防護設備依賴于精確的威脅特征,而部署的靜態性、防護邏輯的相似性、設備的單一性,造成其在網絡攻防中始終處于被動局面。一些關鍵基礎設施的防護設備可能存在未知的漏洞或被植入了后門[5]。為此,研究人員提出了基于內生安全機制的擬態防御技術[6],可以緩解防護設備自身的安全問題。該技術通過在系統內部構造動態性、異構性以及冗余性來提供內生的安全屬性。然而,目前的擬態防御多執行體裁決算法,通過統計多個執行體離散的輸出結果的概率,從中進行選擇,難以應對執行體輸出結果為數值且允許存在誤差的應用場景[7~10]。目前的調度算法主要將執行體受攻擊的次數作為執行體可信度的參考依據,難以區分每次攻擊行為的惡意程度對系統的影響大小[7~11]。
本文在擬態防御模型基礎上,結合工業網絡邊界防護特點,提出基于執行體輸出差異距離的裁決算法和調度算法。裁決算法歸一化各個執行體輸出的差異距離以調整各執行體可信度,不僅將對各執行體被攻擊次數作為歷史反饋信息,還通過量化執行體輸出矢量來反映攻擊行為的惡意程度。調度算法結合運行時長、執行體可信度、切換開銷等構造收益函數,提供調度依據。算法能夠量化單次高影響的攻擊和連續多次低影響的攻擊企圖,并進行合理調度。相比隨機算法,在開銷基本相同的情況下,可以將系統平均失效率降低43.8%。此外,進一步對比分析了相關文獻的算法,闡述了本文算法思路在提升工業網絡防護設備的防御能力上所具有的優勢。
1 相關研究
擬態防御技術是近幾年提出的一種主動防御技術,可以不依賴關于攻擊者的先驗知識。對于目標系統內部未知漏洞后門等威脅,其可以通過執行體的冗余性和異構性來避免輸出結果完全一致的同時失效,通過策略性地動態調度來快速斬斷攻擊鏈。擬態防御的裁決算法一般采用擇多裁決,即裁決時選擇在所有執行體的輸出中出現次數最多的那個作為最終輸出;調度算法一般依據軟件相似度、系統整體異構度、組件可信度以及歷史信息反饋等進行執行體調度。
姚文斌等人[12]提出了最遠相異性(maximum dissimilarity,MD)距離組件選擇算法和最佳平均相異(optimal mean dissimilarity,OMD)距離組件選擇算法,但算法僅考慮了軟件組件本身的差異距離,而沒有根據攻防歷史信息考慮組件的選擇,缺乏針對性和動態性。劉勤讓等人[7]提出了基于整體相似度的隨機種子最小相似度算法,相比MD算法大幅度提升了調度周期,降低了失效率,但是也沒有將裁決反饋的歷史信息納入考慮范圍,且需要較多的異構執行體來保證動態性。馬海龍等人[8]基于常規的軟件定義網絡(software-defined networking,SDN)路由器研究了動態異構冗余(dynamic heterogeneous redundancy,DHR)的擬態路由器,實現了對SDN控制器未知漏洞后門的防御,但提出的兩種調度算法分別只根據執行體的異常次數和性能進行調度,權重調整策略對歷史信息的利用方式較為簡單。Wang等人[9]構造了一種域名系統(domain name system,DNS)服務的擬態化服務框架,可以有效防御DNS投毒等攻擊的威脅,其采用大數裁決,但只統計異常次數,執行體可信度只與異常次數有關。呂迎迎等人[10]提出了基于歷史信息的負反饋調度算法,對攻擊歷史數據進行統計檢驗,降低了系統失效率,但該算法的前提是將執行體進行分類,假設檢驗的依據只有針對各類控制器的攻擊次數,難以體現不同攻擊行為的惡意程度。沈叢麒等人[11]提出了基于信譽度和相異度的調度算法,動態的信譽度實現了較高的安全性,通過設置執行體輸出矢量的誤差閾值,統計時間段內超過閾值的頻率,作為更新執行體可信度的依據,但對執行體輸出矢量超過閾值的程度及其體現的攻擊意愿和攻擊強度沒有進一步的分析利用。
5 仿真分析
本文設計并實現了基于C++語言的模擬場景,對提出的多執行體裁決算法與調度算法進行仿真。
5.1 仿真環境
本文對比實驗包括傳統架構、基于擬態防御的隨機切換算法、文獻[11]的改進版(下文用“文獻算法”指代該算法)和本文算法四種。
a)傳統架構。在運行時不進行切換,因此攻擊者可以持續進行試探攻擊,確定性的系統使得其前期獲得的經驗和建立的攻擊鏈路可以持續利用,攻擊成功率逐步提高。
b)基于擬態防御的隨機切換算法。采用多個異構執行體同等權重的加權裁決和固定間隔的隨機切換調度,可以在一定程度上識別出差模攻擊,但隨機調度對歷史反饋信息的分析較少,不能充分采集和利用攻擊意愿與攻擊強度信息。
c)基于擬態防御的文獻[12]的改進版。通過設置執行體輸出矢量的誤差閾值,統計時間段內超過閾值的頻率,作為更新執行體可信度的依據。此算法本身裁決部分不適用于本文對手模型,因此仿真實驗對其裁決部分作了改進,使其能夠處理本身存在誤差的數值型輸出。
d)基于擬態防御的本文算法。每個執行體都是一個執行體類的實例,擁有序號、工作標志位、等效工作時長、歷史累計時長、上下線記錄、清洗記錄、靜態可信度、動態可信度等屬性信息,同時能夠完成初始化、喚醒上線、正常工作、睡眠下線、清洗等動作;裁決單元監視并記錄每次執行體的輸出值、整體加權輸出值、絕對差異距離以及相對差異距離等信息,向調度控制單元進行報告;調度單元進一步分析,監視執行體動態可信度情況,實時更新調度方案,完成切換動作。實驗環境如表3所示。
5.2 仿真結果分析
在5.2.1~5.2.4節的仿真實驗中,采用隨機切換算法、文獻算法和本文算法的系統均擁有10個執行體的執行體池,同一時刻運行三個執行體。隨機切換算法采用相等權重計算的裁決方式,每10個時間單位切換一次。為了在調度開銷基本相同的情況下進行系統失效率的對比,根據前期的實驗經驗,調整文獻算法的誤差閾值和本文算法的動態可信度閾值rdε,使得文獻算法、本文算法的調度開銷與隨機切換算法基本一致。當rdε設置為執行體初始平均值的0.94倍時,符合條件。
5.2.1 不同時長下的平均失效率對比
圖5為采用傳統架構、隨機切換、文獻算法以及本文算法的系統,在時長分別為0~100個時間單位的運行過程中,平均失效率情況。傳統架構因其靜態性,平均失效率隨時間快速上升。而基于擬態防御的隨機切換算法雖然也采用類似擇多裁決,但對歷史信息考慮較少,使得易受攻擊和被竄改幅度較大的執行體也擁有較大固定權重,導致系統失效率相較文獻算法和本文算法更高。圖5顯示,在100時間單位的時長下,傳統架構系統平均失效率為67.5%;采用隨機切換算法,系統的平均失效率為32.31%;采用文獻算法,系統的平均失效率為24.78%;而采用本文算法,系統的平均失效率僅為18.16%,與常規隨機切換算法相比,相對降低比例為43.8%。
5.2.2 系統在各時刻的平均失效率對比
圖6展示的結果是在每一個時刻的系統失效率,為100次重復實驗結果的平均值。在100單位時刻,傳統架構系統失效率高達90%;隨機切換算法系統失效率為56%;文獻算法系統失效率為38%;采用本文算法,系統失效率僅為28%,與常規隨機切換算法相比,相對降低比例為50%。
5.2.3 系統平均調度次數及調度周期對比
圖7顯示了100時間單位內,系統的平均調度次數。由于傳統靜態架構并不進行切換,所以調度次數始終為0。文獻算法和本文算法的調度總次數與時間成正比,調度間隔約為10個時間單位,與采用隨機切換算法的平均調度開銷基本相同。圖8顯示了在0~100,不同總時長的仿真實驗中系統調度周期的平均值。本文算法在0~20時間單位內一般很少調度,在20個時間單位時才進行第1次調度,而平均調度周期隨著總時長的增大,逐漸趨于10,與隨機切換算法及文獻算法的調度周期基本一致。
5.2.4 調度隨機性仿真分析
多執行體調度算法的一個重要指標是調度的隨機性,目的是使得每個執行體充分發揮其作用,增強系統的安全性。本文調度算法的隨機性仿真實驗結果如圖9、10所示。
執行體池中的10個執行體平均上線次數在100次重復實驗中分布較為均勻。圖9中的平均清洗次數與圖10中的各個執行體的平均工作時長呈現較大相關性,隨著時間的推移,系統感知到了攻擊成功率的提升帶來的惡意程度的積累,從而命令相關執行體進行下線清洗。
5.2.5 系統安全性影響因素仿真結果分析
本節分析了選擇不同數量的執行體和不同的動態可信度閾值rdε對于系統平均失效率的影響。實驗中,將執行體池中執行體的總數量設置為30,將動態可信度閾值rdε設置為初始平均值的0.92倍,將同時運行的執行體數量分別設置為3、5、7。
如圖11所示,實驗結果說明參與裁決的執行體數量越多,系統失效率越低。而將圖11中的3執行體系統平均失效率情況與圖5中本文算法相比,同樣為三個同時運行的執行體,但是由于5.2.1節實驗設置的rdε為初始平均值的0.94倍,高于本節設置的0.92倍,對執行體的要求更加嚴格。因此,圖5中系統的平均失效率低于圖11中3執行體的25.39%。而代價是切換得更加頻繁,在5.2.1節的仿真實驗中,100時間單位時,執行體的平均調度周期為10,低于本節的3執行體系統的15.85%。
5.2.6 分析討論
本節就上述實驗結果進行分析討論。
1)四種算法的系統失效率對比實驗
5.2.1~5.2.3節對該實驗的結果進行了分析。由實驗結果可以看出,隨著實驗時長的增加,攻擊的成功率也隨之增加,最終趨于平穩。分別采用這四種算法的系統在不同時長內的整體平均失效率和在各時刻的平均失效率的增長趨勢相近,但最終達到的系統穩態失效率數值不同。
后三種基于擬態防御的算法均大幅度優于傳統架構,充分說明了擬態防御的有效性;而采用文獻算法改進版和本文算法的系統失效率又明顯低于常規的隨機切換算法,說明了基于反饋信息的調度算法的有效性;最后,在調度開銷極為相近的情況下,本文算法的系統失效率顯著低于文獻算法,說明了本文算法思路的有效性和優越性。
2)本文算法中各執行體調度的隨機性實驗
5.2.4節對調度隨機性仿真結果進行了分析。由實驗結果可以看出,執行體池中各執行體的平均上線次數在重復實驗中分布較為均勻,各個執行體的平均清洗次數與平均工作時長呈現較大相關性。說明隨著時間的推移,系統感知到了攻擊成功率的提升帶來的惡意程度的積累,從而有針對性地命令相關執行體下線清洗,這也符合客觀規律。
3)系統安全性影響因素對比實驗
5.2.5節對本文算法中參與裁決的執行體數量和動態可信度閾值rdε分別對系統失效率的影響進行了對比實驗。由實驗結果可以看出:a)參與裁決的執行體數量越多,系統失效率越低,說明在運行開銷不敏感的情況下,為了提高系統安全性,應在一定范圍內增加執行體數量;b)動態可信度閾值rdε越高,系統失效率越低,但系統的切換開銷也越大,說明在系統安全性要求較高的場景下,應提高動態可信度閾值rdε,而在切換開銷敏感的情況下,應合理降低rdε。
5.3 相關工作對比分析
本節對相關文獻提出的算法從攻擊策略角度進行了定性的對比分析。
文獻[10]提出了基于歷史信息的負反饋調度算法,對攻擊歷史數據進行統計檢驗,降低了系統失效率,但該算法的前提是將執行體進行分類,假設檢驗的依據只針對各類執行體的攻擊次數,難以體現不同攻擊行為的惡意程度。文中提出的非均勻攻擊假設檢驗和非重復攻擊假設檢驗,分別計算擬合優度值和變異系數決定是否接受該假設,從而感知攻擊者對不同執行體的攻擊偏好。然而,攻擊者可以利用該算法只統計攻擊次數的特點,在攻擊次數上偏向于表現出在重復攻擊一類執行體,例如大量重復低影響的攻擊行為,利用算法特性誘導執行體調度的種類選取,而在實際攻擊目的和攻擊力度上偏向于另一類執行體,用較少的攻擊次數,達到較高的攻擊影響。
文獻[11]通過設置執行體輸出矢量的誤差閾值,統計時間段內超過閾值的頻率,作為更新執行體可信度的依據。然而,如果攻擊者每次都以略低于閾值的攻擊來積累誤差量,裁決和調度算法較難感知攻擊的存在,但隨著時間的積累,還是會造成破壞。該算法可以通過設置較低的差異閾值來緩解上述問題,但是較低的閾值會帶來另外兩個問題:a)會產生較高的誤報;b)會難以準確識別攻擊意愿非常明顯且攻擊力度較大的情況,統計時信息丟失較多,使其淹沒和隱蔽在常見的誤報情況里,使得調度算法不能進行合理調度。
本文算法相較上述兩種算法,在統計反饋信息時,盡量減少能夠體現攻擊意愿和攻擊力度的信息丟失,將每一次的攻擊力度或天然誤差進行累積,而不是降維成單一的攻擊次數。該思路和擬態防御的初衷有類似的地方,因為擬態防御的核心思想之一就是并不需要嚴格地區分到底是因為系統故障還是攻擊行為造成了執行體的輸出差異。本文算法對待不同系統產生的誤差也是如此,帶來的好處是減少了識別攻擊所需的先驗知識。
6 結束語
現有的多執行體裁決與調度算法主要將執行體受攻擊的次數作為執行體可信度的參考依據,很少將執行體輸出的具體語義作為裁決與調度的指標。本文結合工業網絡邊界防護特點,針對基于工業網絡的語義攻擊,以電力系統中非常重要的狀態估計異常檢測為應用場景,本文提出了基于執行體輸出差異距離和動態可信度的裁決算法和調度算法。裁決算法通過歸一化執行體輸出差異距離以調整各執行體可信度,能夠量化攻擊的惡意程度并降低攻擊行為對最終輸出的影響;調度算法結合運行時長、執行體可信度以及切換開銷等構造調度收益函數,為調度提供依據,能夠有效降低系統失效率。最后,本文進行了對比仿真實驗。實驗結果表明,相比同等權重的裁決算法和隨機切換或者將攻擊行為降維成單一的攻擊次數的調度算法,本文算法可以更有效地識別異常,降低系統失效率。在系統執行開銷基本相同的情況下,系統平均失效率僅為18.16%,相對常規算法下降了43.8%,有效提升了工業網絡防護設備的防御能力。下一步的工作重點是研究如何將此方法進行擴展,使其能夠適配更加復雜的工業領域的具體語義。
參考文獻:
[1]Kumar M.Leaked exploits are legit and belong to NSA:Cisco,Fortinet and Snowden docs confirm[EB/OL].(2016-08-20)[2021-08-28].https://thehackernews.com/2016/08/nsa-hack-exploit.html.
[2]ICS-CERT Advisories.Schneider electric ConneXium buffer overflow vulnerability[EB/OL].(2016-11-01)[2021-08-28].https://us-cert.cisa.gov/ics/advisories/ICSA-16-306-01.
[3]Bruce S.Revealed:details of “first of its kind” disruptive power grid attack[EB/OL].(2019-10-08)[2021-08-28].https://www.secureworldexpo.com/industry-news/first-u.s.-power-grid-attack-details.
[4]Stephanie K,Jessica R.One password allowed hackers to disrupt Colonial Pipeline,CEO tells senators[EB/OL].(2021-06-08)[2021-08-15].https://www.reuters.com/business/colonial-pipeline-ceo-tells-senate-cyber-defenses-were-compromised-ahead-hack-2021-06-08/.
[5]Grzech A,Swiatek J,Borzemski L.Information systems architecture and technology:proceedings of 37th international conference on information systems architecture and technology-ISAT 2016-part Ⅱ[M]//Kacprzyk J.Advances in Intelligent Systems and Computing.2022:77-97.
[6]Wu Jiangxin.Cyberspace mimic defense:generalized robust control and endogenous security[EB/OL].(2020).https://searchworks-lb.stanford.edu/view/13574219.
[7]劉勤讓,林森杰,顧澤宇.面向擬態安全防御的異構功能等價體調度算法[J].通信學報,2018,39(7):192-202. (Liu Qinrang,Lin Senjie,Gu Zeyu.Heterogeneous redundancies scheduling algorithm for mimic security defense[J].Journal on Communications,2018,39(7):192-202.)
[8]馬海龍,伊鵬,江逸茗,等.基于動態異構冗余機制的路由器擬態防御體系結構[J].信息安全學報,2017,2(1):29-42. (Ma Hailong,Yi Peng,Jiang Yiming,et al.Dynamic heterogeneous redundancy based router architecture with mimic defenses[J].Journal of Cyber Security,2017,2(1):29-42.)
[9]Wang Zhenpeng,Hu Hongchao,Cheng Guozhen.A DNS architecture based on mimic security defense[J].Acta Electronica Sinica,2017,45(11):2705-2714.
[10]呂迎迎,郭云飛,王禛鵬,等.SDN中基于歷史信息的負反饋調度算法[J].網絡與信息安全學報,2018,4(6):45-51. (Lyu Ying-ying,Guo Yunfei,Wang Zhenpeng,et al.Negative feedback scheduling algorithm based on historical information in SDN[J].Chinese Journal of Network and Information Security,2018,4(6):45-51.)
[11]沈叢麒,陳雙喜,吳春明,等.基于信譽度與相異度的自適應擬態控制器研究[J].通信學報,2018,39(z2):173-180. (Shen Congqi,Chen Shuangxi,Wu Chunming,et al.Adaptive mimic defensive controller framework based on reputation and dissimilarity[J].Journal on Communications,2018,39(z2):173-180.)
[12]姚文斌,楊孝宗.相異性軟件組件選擇算法設計[J].哈爾濱工業大學學報,2003,35(3):261-264. (Yao Wenbin,Yang Xiaozong.Design of selective algorithm for diverse software components[J].Journal of Harbin Institute of Technology,2003,35(3):261-264.)
[13]Liu Yao,Ning Peng,Reiter M K.False data injection attacks against state estimation in electric power grids[J].ACM Trans on Information and System Security,2011,14(1):article No.13.
[14]張杰鑫,龐建民,張錚,等.面向擬態構造Web服務器的執行體調度算法[J].計算機工程,2019,45(8):14-21. (Zhang Jiexin,Pang Jianmin,Zhang Zheng,et al.Executors scheduling algorithm for Web server with mimic structure[J].Computer Engineering,2019,45(8):14-21.)
[15]Qiu D H,Li Hengyi,Sun J L.Measuring software similarity based on structure and property of class diagram[C]//Proc of the 6th International Conference on Advanced Computational Intelligence.Pisca-taway,NJ:IEEE Press,2013:75-80.
[16]鄔江興.網絡空間擬態防御研究[J].信息安全學報,2016,1(4):1-10. (Wu Jiangxin.Research on cyber mimic defense[J].Journal of Cyber Security,2016,1(4):1-10.)
[17]Hu Hongchao,Wu Jiangxin,Wang Zhenpeng,et al.Mimic defense:a designed-in cybersecurity defense framework[J].IET Information Security,2018,12(3):226-237.
[18]李傳煌,任云方,湯中運,等.SDN 中服務部署的擬態防御方法[J].通信學報,2018,39(S2):121-130. (Li Chuanhuang,Ren Yunfang,Tang Zhongyun,et al.Mimic defense method for service deployment in SDN[J].Journal on Communications,2018,39(S2):121-130.)
[19]Twu P,Mostofi Y,Egerstedt M.A measure of heterogeneity in multi-agent systems[C]//Proc of American Control Conference.Pisca-taway,NJ:IEEE Press,2014:3972-3977.
[20]Wu Zhaoqi,Wei Jin.Heterogeneous executors scheduling algorithm for mimic defense systems[C]//Proc of the 2nd International Conference on Computer and Communication Engineering Technology.Pisca-taway,NJ:IEEE Press,2019:279-284.