張之剛,常朝穩,韓培勝,侯 湘
(1.戰略支援部隊信息工程大學 密碼工程學院,鄭州 450000;2.大唐中南電力試驗研究院,鄭州 450006;3.重慶大學 期刊社,重慶 400044)
隨著互聯網應用深化,中國面臨的網絡安全問題日益復雜。網絡安全風險評估技術通過感知并預測網絡系統中的安全風險,通過遏制網絡風險傳播以控制網絡安全態勢,對于改善網絡安全現狀有著十分重要的意義。目前已有一些學者提出網絡風險評估方法:如基于層次分析法的網絡安全風險評估方法,根據專家主觀經驗為每個安全要素加權,并基于線性或非線性函數進行加權求和。但這類方法過于依賴專家主觀經驗,缺乏統一量化評估標準;如基于線性或非線性時序分析的網絡安全風險預測方法,依據前一時隙內的網絡安全風險,分析安全風險短期時序變化規律。但該方法僅適用于短時宏觀風險變化分析。
不僅如此,上述網絡風險評估方法均未考慮網絡風險傳播帶來的影響。由于網絡風險并非靜態的,而是以威脅源為中心向周邊節點投射[1]。網絡風險傳播受網絡拓撲、威脅源分布等因素的影響,并且單次網絡風險傳播行為存在一定隨機性,使得網絡風險傳播行為在時空上難以預測,給網絡風險評估帶了挑戰。雖然已有一些方法在宏觀層面量化評估當前的網絡風險,并預測未來短時風險變化規律,但這類方法難以細粒度地分析網絡風險傳播及其分布。
針對上述問題,提出一種RiskRank網絡風險傳播分析方法?;贒NS日志數據,計算網絡節點間的相似關系和臨近關系,以構建網絡風險傳播圖譜,通過標記圖譜中已知風險的網絡節點,基于隨機游走方法迭代計算網絡風險傳播模型,以分析網絡風險傳播,并量化評估網絡風險程度,最后采用密度聚類算法識別高風險簇,通過隔離高風險簇從而控制網絡安全態勢。
研究的貢獻包括:1)構建網絡風險傳播圖譜,以表示2種網絡風險傳播途徑:相似網絡節點間傳播和臨近網絡節點間傳播;2)基于網絡風險傳播圖譜,提出一種基于隨機游走方法的網絡風險傳播模型,量化評估網絡風險程度;3)實驗結果表明,提出的RiskRank網絡風險傳播模型的準確率為97.4%、精度為98.1%、召回率為86.4%。
Cai等[2]通過提取網絡安全關鍵要素,并基于層次分析法對網絡安全關鍵要素進行加權,以綜合評估網絡安全風險程度,但在評估過程中該方法過于依賴主觀經驗,缺乏統一量化評估標準。Ghosh等[3]從損失成本和響應成本的角度分析了網絡安全風險。Almohri等[4]基于概率圖模型分析網絡中發生攻擊的概率。Wang等[5]提出一種網絡安全性評估模型用于分析網絡系統脆弱性帶來的風險。潘順榮等[6]對網絡風險傳播過程等進行了探討。田飛等[7-8]分析網絡病毒傳播規律。
張良富等[9]綜述了隨機游動方法的時間復雜度、空間復雜度、計算精確度以及可擴展性并在此基礎上總結了這些算法所對應的計算場景。Alamgir等[10]采用隨機游走方法實現基于興趣點的局部聚類,該方法從興趣點開始隨機游走,訪問其他可達頂點,直到滿足停止條件。郭景峰等[11]在轉移概率模型的基礎上提出了一種基于兩類節點的隨機游走算法,以得到較高質量的隨機游走序列。馬慧芳等[12]在關鍵詞提取中基于隨機游走算法計算節點的重要性分數。Su等[13-14]通過描述高斯反向傳播的消息傳遞過程,提出了新的置信度初始化設置方法。
筆者提出的RiskRank網絡傳播分析方法,從DNS日志數據中提取網絡節點間的連接,采用杰卡德距離計算節點間相似關系,并結合網絡拓撲中節點間臨近關系,構建網絡風險傳播圖譜,如圖1所示,圖中的節點表示網絡節點,圖中的邊表示兩兩網絡節點之間的相似關系和臨近關系[15]。通過標記已知風險的網絡節點以初始化風險值,并基于隨機游走方法迭代計算網絡風險傳播模型,最后基于收斂穩定的模型評估圖譜中所有節點的風險程度。

圖1 網絡風險傳播分析方法
網絡風險傳播主要是指網絡中的威脅源向周邊鄰接節點投射風險,如利用惡意網站、攻擊服務器、移動介質等,通過誘導或主動等方式,向周邊鄰接節點實施攻擊行為,包括植入惡意軟件、控制受控主機、拒絕服務攻擊等,使得網絡風險從威脅源投射至周邊鄰接節點。由于越脆弱的網絡節點和越有價值的網絡節點,越容易遭受攻擊,因此高風險的節點在網絡拓撲中呈現密集連接現象。
網絡風險傳播途徑主要包括相似節點間傳播和臨近節點間傳播:1)網絡風險之所以在相似節點間傳播是由于相似節點會具有相似的網絡行為,它們關聯著共同的域節點和服務器等,如果這些域節點和服務器等是威脅源,那么威脅源會向這些相似的網絡節點傳播風險。2)網絡風險之所以在臨近節點間傳播是由于臨近節點在網絡拓撲中存在較短連接路徑,容易通過網絡通信或移動介質傳播風險。
根據DNS數據中的節點間通信,計算相似網絡節點與相近網絡節點,對其進行關聯,以構建網絡風險傳播圖譜,該圖譜描述了相近和相似節點之間的關聯關系。定義無向圖G=(V,E,S0)為網絡風險傳播圖譜,其中V={v1,v2,……,vn}表示網絡節點,E={e1,e2,……,en}表示連接相似和相近網絡節點之間的邊(關系),分為兩種,一種相似關系、一種臨近關系。相似關系是指兩網絡節點和其他網絡節點之間的連接關系存在相似性,臨近關系是指兩網絡節點存在直接的通信連接。采用杰拉德距離計算網絡節點間的相似性,相似度公式如公式(1)所示,其中,vi和vj分別表示網絡節點i和網絡節點j所關聯的其他網絡節點集合。vi和vj的交集vi∩vj表示兩網絡節點共同連接的其他網絡節點數,vi和vj的并集vi∪vj表示2網絡節點連接的其他網絡節點總數。vi和vj的相似度sim(vi,vj)表示兩網絡節點共同連接的其他網絡節點數在連接的其他網絡節點總數中的占比,如果sim(vi,vj)大于閾值0.5(sim(vi,vj)>0.5),那么說明vi和vj具有相似性。
(1)


表1 網絡風險傳播圖譜構建算法
通過構建網絡風險傳播圖譜,基于隨機游走方法提出一種RiskRank網絡風險傳播模型,通過分析網絡風險在網絡空間中隨機動態傳播過程,以評估網絡中的潛在安全風險。對于未知風險的網絡節點,通過初始化部分已知節點風險值,基于隨機游走迭代計算圖譜中所有節點的風險值,待風險傳播圖譜迭代收斂后,所有未知風險的節點均被標記上風險值,該風險值作為這些節點的潛在風險值。根據公式(2)迭代計算未知節點的風險值,其中score(xi)為節點xi的風險值,α=0.85為阻尼系數,In(xi)是xi的入度,Out(xi)是xi的出度。網絡風險傳播圖譜各節點的風險值經初始化后,根據公式(2)迭代其他節點的風險值,每次迭代計算完成,計算所有節點迭代前和迭代后2次風險值之間的平均差作為收斂誤差,當收斂誤差小于一定閾值(如小于0.05)時,則說明網絡風險傳播模型收斂,迭代計算結束。
(2)
通過設定閾值以區分高風險節點和低風險節點,由于閾值的設定會影響風險評估的精度和召回率,設置合理的閾值以獲得較高精度和召回率。設置風險臨界閾值的原則為:提升精度的條件下同時盡可能不降低召回率。經實驗分析,當閾值為0.8時,方法具有高精度和較高的召回率。


圖2 高風險簇聚類算法
利用真實環境中的DNS數據進行實驗,以驗證所提出方法的有效性。首先介紹實驗環境和實驗數據,并分析風險傳播模型的準確性,同時分析閾值選取對準確性的影響,最后討論該模型的時間開銷。
實驗中涉及的方法均采用相同的編譯環境和配置環境中,其中,計算機CPU為2 Xeon 4116 12C/85W/2.1GHz,內存為256 G DDR4 2 666 MHz,硬盤為2×480G SSD,操作系統為Ubuntu 16.04,編譯器采用Eclipse 3.5/JRE 1.8。
采用的DNS數據來源于國網河南省電力公司數據中心,數據規模超過230萬條,包含源地址、目的地址、端口號、域名、時間等字段。安全中心標記了其中1 767個異常節點作為黑名單,包括1 623個惡意域節點以及144個異常主機節點,同時標記了8 556個正常網絡節點作為白名單。進行10組實驗,測試驗證方法采用K(K=10)折交驗證法,每組實驗都在黑名單中隨機選取50%黑和50%白樣本作為已知的高風險和低風險網絡節點用于迭代計算,剩下50%黑和50%白樣本作為驗證集中“未知”的網絡節點用于測試。
采用準確度(ACC)、精度(PRE)、召回率(REC)來評估網絡風險傳播模型的預測效果,如公式(3)、公式(4)和公式(5)所示。其中,TP(true positive)表示驗證集中被模型正確識別的高風險網絡節點數量,FP(false positive)表示驗證集中被模型錯誤識別的高風險網絡節點數量,TN(true negative)表示驗證集中被模型正確識別的低風險網絡節點數量,FN(false negative)表示驗證集中被模型錯誤識別的低風險網絡節點數量。根據TP、FP、TN、FN,計算準確度(ACC)、精度(PRE)、召回率(REC)。
(3)
(4)
(5)
從數據集中隨機選取部分已知高風險網絡節點進行初始化,高風險網絡節點的風險值初始化為1.0,其他網絡節點初始化風險值為0.0,作為“未知”風險的網絡節點。通過構建網絡風險傳播圖譜,迭代計算RiskRank網絡風險傳播模型,該模型計算所有未知節點的風險值。通過設置風險閾值(設置0.8),提取所有風險值大于閾值的節點并潘定為高風險網絡節點,并與驗證集中的標簽進行比對,從而評估預測網絡風險傳播模型的準確率、精度和召回率。實驗結果表明,提出的基于RiskRank的網絡風險傳播模型的準確度為97.4%,精度為98.1%,召回率為86.4%。
由于不同的閾值會影響風險傳播模型的準確性,因此通過設置不同的閾值,以比較分析出較優的風險閾值。不同閾值下精度和召回率實驗結果如圖3所示,從中看出:總體趨勢上,隨著閾值不斷增大,精度隨之提升,召回率隨之下降,反之,隨著閾值不斷減小,精度隨之下降,召回率隨之提升。當精度趨近于穩定時,即閾值為0.8時,盡管閾值不斷增大,由于精度趨近100%,提升幅度有限,而召回率急劇下降。因此,當閾值大于0.8時,雖然精度有較小提升,但召回率急劇下降,當閾值小于0.8時,雖然召回率較高,但精度明顯不足。因此,設定閾值為0.8,在確保精度的情況下,盡可能不降低召回率,即當精度趨近于穩定且召回率仍較高時的臨界閾值。

圖3 不同閾值下的精度和召回率曲線
提出RiskRank網絡風險傳播分析方法是基于隨機游走進行收斂的,收斂過程需要多次迭代計算。實驗如圖4所示,網絡風險傳播模型收斂時的平均迭代次數為48次,平均時間開銷為62.3 s。結果表明:隨著迭代次數的增加,風險傳播模型的損失在不斷減小,說明風險傳播圖譜中網絡節點的風險值趨近于穩定,收斂時的風險傳播模型處于動態平衡狀態,該狀態下網絡節點的風險值即為預測的風險值。進行第一次迭代后,風險傳播模型收斂速率較大,反映出風險傳播模型可以快速收斂,同時表明提出的風險傳播理論依據合理,即網絡風險在相似節點和相近節點間進行傳播,如果一個網絡節點關聯更多高風險節點,則說明該網絡節點存在較高的安全風險,反之,如果一個網絡節點關聯更少高風險節點,則說明該網絡節點存在較低的安全風險。

圖4 風險傳播模型收斂過程
針對傳統網絡安全風險評估方法缺乏考慮網絡風險動態傳播影響的問題,提出一種RiskRank網絡安全風險傳播模型,以預測網絡安全風險傳播態勢。通過采集網絡DNS數據,基于相似網絡節點和相近網絡節點構建網絡風險傳播圖譜,以分析網絡風險傳播行為,基于隨機游走理論,構建網絡風險傳播模型,迭代計算潛在網絡風險分布。并提出一種基于密度聚類的高風險簇識別方法,用于隔離高風險簇以控制安全態勢。實驗測試結果表明,提出RiskRank網絡安全風險傳播模型具有97.4%的準確率、98.1%的精度和86.4%的召回率。