惠馨雅 劉建華 劉 浩
(西安郵電大學 西安 710000)
網絡的重要性及其對社會的影響越來越大,網絡安全問題成為Internet及各項網絡服務和應用進一步發展所需要解決的關鍵問題。習近平主席在網絡安全和信息化工作座談會上的講話中指出:“全天候全方位感知網絡安全態勢。要全面加強網絡安全檢查,摸清家底,認清風險,找出漏洞,通報結果,督促整改。要建立統一高效的網絡安全風險報告機制、情報共享機制、研判處置機制,準確把握網絡安全風險發生的規律、動向、趨勢。要建立政府和企業網絡安全信息共享機制,把企業掌握的大量網絡安全信息用起來”[1]。
目前,對于用Petri分析網絡安全態勢感知評估方法的相關研究較少,其中國外學者Shifflet[2]通過整合各種網絡安全檢測技術提出了單一因素的評估框架結構。Glenn A[3]等提出了一種協作的網絡 安 全 系 統(Cooperative Infrastructure Defense,CID),提出了分層協同管理的思想,隨著技術的發展,Jereme N.Haack,Glenn A.Fink等在CID的基礎上加入了數字螞蟻的思想[4]。王寧麗、余道華[5]提出一種新的基于有色Petri網模型的分析方法,并利用新方法對具體的Helsinki協議進行建模分析;孔軼艷[6]采用Petri網建模工具,對骨干網絡的拓撲結構進行了建模分析,模擬CXPST的攻擊過程,建立CXPST攻擊過程的特征抽取與建模,實現對大規模骨干網絡的安全風險評估;張莉等[7]提出一種基于跳面節點與Petri網的空間信息網可靠性評估算法,完成了可靠性評估指標的建立、可靠性評估。許多建模方法是基于事件的,缺乏對系統狀態的明確體現,而Petri網基于狀態的建模方法明確定義模型元素的狀態,其演進過程受狀態的驅動,不但嚴格區分了活動的授權和活動的執行,而且使過程定義具有更豐富的表達能力,能夠動態地修改過程實例,使建模過程具有了更多的柔性特征[8]。
因此,本文基于有色Petri網建立網絡安全態勢感知評估模型,利用CPN TOOLs對其模型性能進行仿真,能夠整體上對模型結構進行驗證和分析,為完成各個模塊之間的連貫性以及連通性提供一定的依據。
網絡安全態勢感知(Network Security Situtation Awareness,NSSA)最早由Endsley于1988年首次提出,是指“在一定的時空范圍內,認知、理解環境因素,并對未來的發展趨勢進行預測”[9],與此同時提出了網絡安全態勢感知模型。本文通過結合網絡安全態勢感知三級模型,構建出網絡安全態勢感知模型,如圖1,它主要分為三個層次:數據采集層、數據處理層、數據評估層。數據采集層主要是原始數據的采集,例如針對網絡的攻擊行為;數據處理層是將采集到的數據進行分類,提取態勢指標并進行預處理分析;數據評估層是把接受到的預處理數據進行態勢評估,最終得出評估結果。
面向網絡安全態勢感知模型的Petri網系統的定義。
定義 安全態勢感知網定義為一個六元組∑=( P,T,IN,OUT,C,cd)。
1)代表系統狀態的庫所集P={ p1,p2,…,pn},代表狀態改變的變遷集T={t1,t2,…,tm},對于正整數集N+,n,m∈N+,P∪T≠φ,P∩T=φ。
2)C是有色集的集合,是一個非空有限集。所需要的庫所中包含的托肯可以帶有數據值的含義即顏色類,這個數據值可以是任意復雜類型的數據;對于某一個特定的庫所來說,其包含的所有托肯的顏色必須屬于某一種特定的類型,此類型就稱為庫所的有色集[10]。
3)cd是一個有色函數,即托肯中帶有的復雜類型數據所對應的函數,P∪T→C是有色域的映射。
4)IN:P→T為變遷輸入矩陣,IN={aij},aij∈{0 ,1},當pi是tj的輸入時,aij=1,當pi不是tj的輸入時,aij=0。
5)OUT:T→P為變遷輸出矩陣,OUT={bij},bij∈{0,1},當pi是tj的輸出時,bij=1,當pi不是tj的輸出時,bij=0。利用矩陣可以判斷安全狀態的可達性。
根據上述安全態勢感知網的定義,設計網絡安全態勢感知模型如圖2所示。
庫所及變遷的涵義表見表1和表2。

表1 庫所說明

圖2 網絡安全態勢感知模型

圖1 網絡安全態勢感知模型

表2 變遷說明
結構是指系統內部各個組成要素之間相對穩定的聯系方式和內在的表現形式,是系統的內在規定性。一定的結構具有一定的功能。作為系統外在表現形式的功能,與系統的內部結構是密切相關的。只有結構合理,系統才能表現出良好的功能特性。因此,研究系統的結構特性,對于分析信息系統的各種性能、優化系統的結構具有很大的幫助[11]。
設Cn為系統的要素復雜度,它反映系統組成要素的數量特性;Cr為系統的關聯復雜度,它描述系統組成要素間的關聯特性;Cs為信息系統結構復雜度,則Cs=λCn+(1-λ)Cr。
其中,位置結點數量|P|=m,變遷結點數量|T|=n;pi為位置結點,tj為變遷結點,pi,tj∈X;·x為結點x的入弧集合,x·為結點x的出弧集合,F為網絡中所有有向弧的集合,|X|表示集合X中所含元素的個數。
所以,要素復雜度:

關聯復雜度:

Cn對Cs的相關系數[6]:

由網絡安全態勢感知模型可知:
位置結點集合所含元素個數為m=|P|=12;
變遷結點集合所含元素個數為n=|T|=9;
前集和后集元素不同時為零的結點個數為|X|=21;
帶入以上各式,可分別求得Cn=0.90,Cr=0.53,λ=0.08;
最后可得模型所構成的網絡安全態勢感知模型結構復雜度為Cs=0.56。
由文獻[11]可知,關聯復雜度Cr=0.5,對應著一種較為理想的關聯結構,所以在確保系統功能實現和性能穩定的前提下,應該盡量優化模型,降低模型結構復雜度。
網眼,是指可以從給定網中的一個頂點集直接生成的一個子網,在該子網中,各頂點的前集和后集之和等于且僅等于2[11]。對于這個子網,我們可以設(P',T',F')是(P,T,F)的一個子網,而且僅當
1)(P',T',F')和(P,T,F)都是網
2)P'?P,T'?T,F'?F
3)F'=F∩(P'×T'∪T'×P')
設xi∈P∪T為網上任一結點,且滿足|·xi|≠0?|xi·|≠0,令d(xi)為結點xi對于整個網絡結構的耦合強度,且有

其中,Mxi為與結點xi相關聯的所有網眼的集合;Ms為網絡中網眼的總數;Rmax(xi)為結點xi的前集和后集元素之和以及與其相關的最大網眼中所包含的所有其他結點集合中的較大者;|X|為所有其前集和后集都不為空的結點集合。
對于一個給定的Petri網模型,當其中某個結點xi耦合強度大于整個網絡模型的平均耦合強度時,就稱其為重權結點,并記為xi*。
因此,由以上定義得網絡安全態勢感知模型中所有的網眼,即Ms=2,求得網絡模型中各結點的耦合強度d(xi)和重權結點xi*,如表3。

表3 各結點耦合強度和重權結點
由此可得,網絡安全態勢感知評估模型的關鍵功能結點集合Tk={T0,T1,T4,T5,T6},Pk={P1,P2,P7,P8}。對于這些關鍵功能和關鍵資源結點,我們在模型的日常維護和結構調整過程中,應該盡量避免或減少對它們的修改,以保證系統運行的可靠性和總體結構的相對穩定。
建立基于Petri網的網絡安全態勢感知模型,需要先對模型中的變量進行說明,如表1、2所示;然后對有色集進行定義,對于網絡安全態勢感知模型來說,針對每一個特定的庫所所對應的模塊,都有不同數據類型組成它的有色集,對應于網絡安全態勢感知模型中數據采集層的數據采集模塊中采集的數據類型、數據處理層中態勢指標提取模塊中提取的指標類型等;最后說明cd為有色函數,對應于網絡安全態勢感知模型中數據類型采集的方法、指標類型提取的方法等。
利用CPN Tools建立的模型如圖2所示,其中,庫所P0中有一個托肯,代表的是采集了一個傳感器數據,在實際需求中,可以相應增加其數量。采集處理后的數據最終會可視化展示評估結果,完成一次評估過程。利用CPN Tools對網絡安全態勢感知模型的機構特性進行仿真分析,主要包括其狀態空間分析、系統可達性、活性和有界性等,從而確定所建模型是否存在死鎖,判斷系統的準確性與可行性。通過動態行為驗證,確定出該模型是否能夠表達所建立的網絡安全態勢感知過程[12]。仿真界面如圖3所示。

圖3 仿真界面
1)狀態空間分析
根據CPNTools得到標準狀態空間報告統計分析,如表4所示,其中狀態空間所給出的節點和連接弧的個數和強連接圖的結點和連接弧的個數相同,達到了所建立模型的預期要求,說明狀態空間分析是合理的。

表4 狀態空間分析報告
2)系統可達性
可達性決定了一個給定的表示是不是能夠從初始標識到達最終端,是模型動態行為的重要指標。根據圖2初始狀態P0變遷情況以及表5模型上下界結果可以知道,所建立模型具有可達性。
3)有界性分析
有界性是分析模型正確與否的關鍵性質,它所說明的是Petri網中的庫所是有界的。根據表5數據分析可得,每個庫所都是有界的,符合模型的要求。

表5 有界性分析報告
4)活性分析
死標識表示的是在這個標識下一切賦值變遷都是不能使能的,也就是說這個變遷在模型中的任何發生序列都是沒辦法進行的。相反,活變遷則表示任何可達標識下都可以在一個發生序列中。根據表6中列出來的模型活性分析報告可以知道,所建模型不存在死變遷,這就說明了模型的設計是合理的,除了結束標識外,其他所有的標識都是活的,所以模型是無死鎖的。

表6 活性分析報告
本文通過有色Petri網對網絡安全態勢感知系統進行形式化建模,所建模型具有一定的通用性。研究分析了系統整體結構特性,對系統的其他性能分析以及后期優化系統有一定的幫助。利用CPN Tools對所建模型進行了動態行為分析以及性能驗證。通過狀態空間分析可以了解模型基本特性,證明模型的合理性與正確性。文章中仿真驗證的是整體的模型,并沒有具體化到模塊,故需要在此基礎上,繼續進一步性能細化,使模型更加合理優化。