吳 晨
(西安郵電大學(xué)現(xiàn)代郵政學(xué)院 陜西 西安 710061)
隨著虛擬化和Docker技術(shù)的普及,在一些大型數(shù)據(jù)中心產(chǎn)生了物理集群和虛擬化集群共存的情況,這種技術(shù)升級帶來了一種現(xiàn)狀,即異構(gòu)復(fù)雜網(wǎng)絡(luò)環(huán)境。在異構(gòu)互聯(lián)的網(wǎng)絡(luò)環(huán)境中保證不同保密等級的信息安全可控是當(dāng)下急需解決的難點(diǎn),這種環(huán)境具備高維異構(gòu)性、實(shí)時(shí)動態(tài)性、關(guān)系稀疏性、業(yè)務(wù)交叉復(fù)雜、信息敏感度高的特點(diǎn),傳統(tǒng)的網(wǎng)絡(luò)安全評估方法已經(jīng)不適用這種情況,因此,研究其暴露在相對開放網(wǎng)絡(luò)環(huán)境下的安全風(fēng)險(xiǎn)評估模型具有很大的意義。
在網(wǎng)絡(luò)風(fēng)險(xiǎn)安全建模方面,很多學(xué)者已經(jīng)進(jìn)行了大量的基礎(chǔ)研究。羅運(yùn)來等[1]提出了一種基于攻擊圖和模糊綜合分析的網(wǎng)絡(luò)動態(tài)威脅評估方法。該方法過于依賴于CVSS指標(biāo)中的AV、AC、PR、UI進(jìn)行模糊關(guān)系矩陣的計(jì)算,但是未考慮到漏洞的量級和真實(shí)對系統(tǒng)造成的破壞程度,所以在非實(shí)驗(yàn)環(huán)境下的可應(yīng)用性有限。楊英杰等[2]提出了一種基于網(wǎng)絡(luò)系統(tǒng)多警報(bào)信息的動態(tài)威脅跟蹤與定量分析機(jī)制。該方法特別依賴報(bào)警信息的時(shí)效性和連續(xù)性,如果某些中間信息有誤報(bào)或漏報(bào)現(xiàn)象,將造成模型無法向前溯源及向后預(yù)測,影響效果。李彤等[3]一行作者提出了一種初始與攻擊樹和STRIDE的安全威脅研究方法。該方法使用的STRIDE模型是微軟提出的,但是主要偏向應(yīng)用層,不支持大規(guī)模網(wǎng)絡(luò)的映射,因此該方法不適合大規(guī)模網(wǎng)絡(luò)系統(tǒng)的整體威脅建模。呂宗平等[4]一行作者提出了FAHP,即一種在模糊層次分析法之上改進(jìn)型的攻擊樹模型。該方法使用人為的方法確定了攻擊付出的重要性,主觀性非常強(qiáng),沒有考慮不同攻擊行為對安全屬性的影響。以人工智能和大數(shù)據(jù)等新技術(shù)為基礎(chǔ)威脅模型研究近些年也嶄露頭角,例如段明琪[5]提出直接使用用戶行為作為特征的思路,利用DNN神經(jīng)網(wǎng)絡(luò)自動發(fā)掘刻畫各類網(wǎng)絡(luò)威脅的特征,并設(shè)計(jì)了基于高維稀疏特征的降維和降參辦法;黃璇麗[6]提出了一種基于CNN網(wǎng)絡(luò)和遞歸神經(jīng)網(wǎng)絡(luò)的深度學(xué)習(xí)威脅檢測方法等。現(xiàn)階段使用神經(jīng)網(wǎng)絡(luò)自適應(yīng)學(xué)習(xí)開展威脅建模的研究主要從用戶日志記錄和網(wǎng)絡(luò)流量數(shù)據(jù)中獲取特征源,因此訓(xùn)練模型的數(shù)據(jù)源廣度和清晰度都大大影響模型的精度。因此,機(jī)器學(xué)習(xí)技術(shù)建立的威脅模型,是一個(gè)很好的研究方向,但是從目前的實(shí)用性來說,還未到能替代人工建模的程度。
考慮到異構(gòu)復(fù)雜網(wǎng)絡(luò)的特殊性,當(dāng)前針對網(wǎng)絡(luò)威脅的檢測模型研究和描述分析方法均具有一定的不足。因此本文從攻擊和防御視角出發(fā),以多維度、時(shí)空性、適配整體網(wǎng)絡(luò)方面考量,提出一種基于空間威脅持續(xù)鏈模型STPC(space threat persistence chain)的評估風(fēng)險(xiǎn)評估算法,適用于異構(gòu)復(fù)雜網(wǎng)絡(luò)面臨的多元化威脅。
2013年,美國團(tuán)體組織 MITRE首次提出ATT&CK模型[7],ATT&CK將已知的歷史實(shí)踐的高級威脅攻擊戰(zhàn)術(shù)和技術(shù)整合,形成了針對黑客行為描述的通用語言和黑客攻擊抽象的知識庫框架。ATT&CK知識庫雖然包含了全部已知的威脅行為和檢查點(diǎn),但是其中一些指標(biāo)不適合國內(nèi)的軟硬件環(huán)境,此外還缺乏對于虛擬化的支持,因此我們在此基礎(chǔ)上進(jìn)行改進(jìn)。
通過分析異構(gòu)網(wǎng)絡(luò)面臨的威脅來源、攻擊路徑和威脅程度,分析其網(wǎng)絡(luò)接入模式和流量傳播特點(diǎn),提出基于ATT&CK知識庫改進(jìn)的空間威脅持續(xù)鏈模型STPC。依據(jù)國內(nèi)主流的異構(gòu)網(wǎng)絡(luò)環(huán)境和應(yīng)用層特性,我們重構(gòu)了12種威脅行為,分別是初始訪問、執(zhí)行、持久化、權(quán)限升級、防御逃逸、憑據(jù)訪問、發(fā)現(xiàn)、橫向移動、采集、命令與控制、數(shù)據(jù)滲漏、惡劣影響,特別加入了對虛擬化和云計(jì)算場景下的威脅項(xiàng)。
按此可以得出一個(gè)12*N的變長威脅矩陣模型,模型覆蓋了現(xiàn)有已知的威脅類別,從信息發(fā)現(xiàn)跨度到數(shù)據(jù)竊取及惡意破壞,維度廣、分類細(xì)。
STPC威脅模型可表達(dá)的威脅范圍不僅僅限制于某一個(gè)系統(tǒng)或者設(shè)備,即便是一個(gè)復(fù)雜的網(wǎng)絡(luò)環(huán)境,都可以通過該模型來表示其面臨或已遭受的威脅風(fēng)險(xiǎn)。
通過https://feed.watcherlab.com獲取大量的國內(nèi)外已公布或商業(yè)化的APT情報(bào),依據(jù)所建立的威脅矩陣模型體系將情報(bào)內(nèi)容填充在矩陣體系內(nèi),就得到了一組時(shí)空序列。例如:現(xiàn)獲取到一份關(guān)于某APT組織最新的研究情報(bào),里面描述了一個(gè)APT組織從信息搜集到擷取數(shù)據(jù)整個(gè)過程中所使用的工具類型,操作手法和步驟,那么就可以按照我們之前的威脅分類將整個(gè)過程映射在12*N威脅矩陣中,具體操作步驟(以3389遠(yuǎn)程端口入侵為例)如下。
(1)分析報(bào)告/情報(bào)中的關(guān)鍵技術(shù)點(diǎn),如情報(bào)中涉及的APT組織操作痕跡、滯留物、目標(biāo)效果,侵入的門路把這些信息標(biāo)注起來。
(2)找出獲得的分析報(bào)告/情報(bào)的主要部分,一般指的是描述方法、手段、工具使用的部分。
(3)深入理解分析報(bào)告/情報(bào)的整體結(jié)構(gòu),按照時(shí)空循序先建立一個(gè)完整的攻擊生命周期,主要是為了整理邏輯,加快后續(xù)映射速度。
(4)找出行為(比如“建立RPC端口連接”)。
(5)研究行為(RPC是第5層<會話層>協(xié)議)。
(6)將行為映射到威脅矩陣模型(上述行為屬于初始訪問-外部遠(yuǎn)程服務(wù)、執(zhí)行-Windows遠(yuǎn)程管理)。
(7)找出后續(xù)的行為技術(shù)繼續(xù)映射(如反向RC代理,對應(yīng)在持久化-啟用代理)。
(8)完成所有行為的矩陣映射。
(9)將分析結(jié)果與其他分析師的映射比較,然后找出一個(gè)最優(yōu)化的映射。
通過前兩個(gè)步驟,我們可以按照之前的威脅分類將整個(gè)過程映射在威脅矩陣中,我們將有映射的地區(qū)標(biāo)記為1,未填充的地區(qū)標(biāo)記為0,得到一個(gè)12*N的變長二維矩陣。再將二維矩陣降維,得到一個(gè)由0、1構(gòu)成的一維特征向量,該向量即為高風(fēng)險(xiǎn)網(wǎng)絡(luò)的特征向量之一。重復(fù)上述步驟對搜集到的威脅情報(bào)轉(zhuǎn)化為威脅特征向量處理入庫,就得到了高風(fēng)險(xiǎn)網(wǎng)絡(luò)的威脅特征庫。
目前我們已通過威脅映射的方式建立了107個(gè)APT組織和477個(gè)惡意工具的威脅特征庫。
目前網(wǎng)絡(luò)安全風(fēng)險(xiǎn)評估方法是從風(fēng)險(xiǎn)管理的角度,主要局限于資產(chǎn)識別、脆弱性分析、識別風(fēng)險(xiǎn)等要素開展評估工作,數(shù)據(jù)來源單一,評估對象割裂,對防護(hù)措施和應(yīng)用場景的研究得不夠充分。
本文將綜合考慮應(yīng)用、平臺、運(yùn)行環(huán)境、數(shù)據(jù)安全等實(shí)體因素和應(yīng)急響應(yīng)、管理措施等因素結(jié)合起來,綜合考慮威脅值、破壞強(qiáng)度、威脅范圍和影響程度等維度,構(gòu)建指標(biāo)體系,完成指標(biāo)建模,優(yōu)化設(shè)計(jì)綜合評估算法。
采用定性分析和定量分析相結(jié)合的方法對網(wǎng)絡(luò)安全評估技術(shù)進(jìn)行研究,在前述威脅建模基礎(chǔ)上,建立基于攻防對抗的多層次線性加權(quán)評估模型,結(jié)合《信息安全技術(shù)網(wǎng)絡(luò)安全等級保護(hù)基本要求》,將運(yùn)行維護(hù)制度、應(yīng)急響應(yīng)方案、風(fēng)險(xiǎn)預(yù)警體系等管理因素結(jié)合起來,評估指標(biāo)體系設(shè)計(jì)由威脅度、發(fā)現(xiàn)能力、響應(yīng)機(jī)制3個(gè)大類權(quán)重指標(biāo)項(xiàng)組成,綜合AHP方法[8]、熵權(quán)法[9]等方法確定指標(biāo)矩陣和權(quán)重,最后形成一套完整、可信、落地、實(shí)操性強(qiáng)的網(wǎng)絡(luò)安全風(fēng)險(xiǎn)評估方法。
威脅度評估主要是檢測目標(biāo)網(wǎng)絡(luò)安全等級和已經(jīng)確認(rèn)為高威脅網(wǎng)絡(luò)特征的匹配關(guān)系,滿分100分。具體操作和計(jì)算方法如下。
根據(jù)目標(biāo)系統(tǒng)的網(wǎng)絡(luò)環(huán)境、系統(tǒng)組成、中間件種類、業(yè)務(wù)使用邏輯和通信線路,從這幾個(gè)維度查找可能的入侵痕跡。
將搜查到的痕跡對應(yīng)在STPC威脅模型中進(jìn)行映射,識別出的填充為1,未識別的填充為0。
填充過后,我們得到一個(gè)12*N的變長二維矩陣,再將二維矩陣降維,得到一個(gè)由0、1構(gòu)成的一維特征向量。
D1=(w11,w12,w13..w1n)
使用該特征向量與特征庫的某一特征向量
D1=(w21,w22,w23..w2n)
進(jìn)行以下運(yùn)算:
公式(1)結(jié)果可得出一個(gè)0~100之間的特征值Sim,數(shù)據(jù)越大表示和該特征越符合。最終被測網(wǎng)絡(luò)的威脅等級等于:
其中n的值大于等于2,小于等于特征庫總特征數(shù)。
響應(yīng)機(jī)制評估用于評價(jià)目標(biāo)網(wǎng)絡(luò)運(yùn)維、管理和人員技術(shù)的綜合能力,滿分為100分,采用打分制評估。
因?yàn)轫憫?yīng)機(jī)制評估中涉及大量的評估表和評估指標(biāo),無法使用傳統(tǒng)的AHP來為得出每一項(xiàng)評估指標(biāo)的權(quán)重,而不得出權(quán)重又無法將總分歸一化到0~100的范圍內(nèi),所以我們提出一種基于信息熵的動態(tài)賦權(quán)算法。
計(jì)算方法的核心原理是根據(jù)信息熵計(jì)算各指標(biāo),進(jìn)而得出指標(biāo)的權(quán)重值。首先確定所有三大類指標(biāo)中每一二級指標(biāo)的信息熵,然后根據(jù)熵的大小確定指標(biāo)權(quán)重,這一系列的計(jì)算權(quán)重的方法和步驟如下。
(1)構(gòu)造原始數(shù)據(jù)矩陣M。假定共有m個(gè)評估表,n個(gè)指標(biāo),根據(jù)觀測得出各評估指標(biāo)的初始數(shù)據(jù),可以構(gòu)造原始數(shù)據(jù)矩陣M = (xji)m×n。
其中,xji表示第j個(gè)評估表中第i個(gè)指標(biāo)下的評估值。
(2)計(jì)算第i個(gè)指標(biāo)下第j個(gè)評估表的特征權(quán)重。
(3)計(jì)算各個(gè)評估指標(biāo)的熵值Si。
(4)歸一化計(jì)算各指標(biāo)權(quán)重?i。
因此,可以得到基于信息熵的指標(biāo)客觀權(quán)重為?=(?1, ?2,… ,?n)。
(5)根據(jù)各指標(biāo)項(xiàng)的權(quán)重,得出的響應(yīng)機(jī)制運(yùn)維和管理部分的賦值如下。
其中Zi是每個(gè)一類指標(biāo)最終得分,δi為每個(gè)一類指標(biāo)的權(quán)重。
發(fā)現(xiàn)能力用于檢測目標(biāo)網(wǎng)絡(luò)系統(tǒng)識別來自外部及內(nèi)部攻擊的能力,滿分100分。方法如下。
(1)通過構(gòu)建一個(gè)場景來測試攻擊者戰(zhàn)術(shù)、技術(shù)和步驟的某些方面。防御方通過已知的攻擊線路和手段在目標(biāo)網(wǎng)絡(luò)上測試防御系統(tǒng)能否有效識別。
(2)構(gòu)建的攻擊場景使用偽代碼實(shí)現(xiàn),不對目標(biāo)實(shí)體造成任何的損害。
(3)通過執(zhí)行測試,就可以看到我們期望檢測到的內(nèi)容是否和我們實(shí)際檢測到的一樣。例如,我們在防火墻設(shè)置了一旦發(fā)現(xiàn)某行為進(jìn)行報(bào)警,但實(shí)際情況并沒有報(bào)警,那么該單元測試中防御檢測手段就是無效的。
因?yàn)榘l(fā)現(xiàn)能力評估的指標(biāo)項(xiàng)是我們構(gòu)造的偽代碼,而各種偽代碼是可以根據(jù)威脅性進(jìn)行優(yōu)劣比較的,所示非常適合使用AHP法來進(jìn)行賦值。
利用 AHP 確定評估指標(biāo)權(quán)重能夠從多層次多角度分析各指標(biāo)重要程度,確定其權(quán)重,使得權(quán)重判定更具準(zhǔn)確性和可操作性。判定具體過程和步驟如下。
(1)構(gòu)造判定矩陣。根據(jù)層次分析法思想,將處于同一層次的不同指標(biāo)兩兩對比其相對重要性,采用9量化標(biāo)度方法,對指標(biāo)比較情況給出相應(yīng)的數(shù)學(xué)標(biāo)量,標(biāo)構(gòu)造判定矩陣A = (aij)n×n。
其中,判定矩陣A的每個(gè)元素aij表示各評估層次上第i個(gè)指標(biāo)與第j個(gè)指標(biāo)的相對優(yōu)劣情況,滿足aij>0且當(dāng)i≠j時(shí),aij=1/aji。
(2)確定各層次指標(biāo)權(quán)重,第一步先對判定矩陣A的各列向量進(jìn)行歸一化處理,即:
接著,將歸一化后的矩陣按行求和得到各層次指標(biāo)的初始權(quán)重向量w′= (w1′,w2′,… ,wn′)。其中:
最終,將初始權(quán)重向量歸一化處理得出各層次指標(biāo)權(quán)重w= (w1,w2,… ,wn),其中:
(3)最終根據(jù)各指標(biāo)項(xiàng)的權(quán)重,得出的發(fā)現(xiàn)能力賦值為:
總體評估中3個(gè)一級權(quán)重計(jì)算使用AHP的算法,得出網(wǎng)絡(luò)整體安全風(fēng)險(xiǎn)評估得分為:
其中T、R、D分別代表威脅度、響應(yīng)機(jī)制、發(fā)現(xiàn)能力評估結(jié)果,得分越高風(fēng)險(xiǎn)值越大。
驗(yàn)證本文提出的基于STPC模型的網(wǎng)絡(luò)風(fēng)險(xiǎn)評估方法的可行性和有效性,設(shè)計(jì)如下網(wǎng)絡(luò)實(shí)驗(yàn),網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)見圖1。實(shí)驗(yàn)平臺包括:服務(wù)器主機(jī)操作系統(tǒng)、虛擬機(jī)主機(jī)操作系統(tǒng)、網(wǎng)絡(luò)及其主要基礎(chǔ)設(shè)施(如路由器、交換機(jī)等)、安全保護(hù)措施和設(shè)備(如防火墻、IDS、隔離網(wǎng)閘)、stack基礎(chǔ)設(shè)施云環(huán)境、kybernetes容器云、MySQL數(shù)據(jù)庫。
混合云網(wǎng)區(qū)由10臺服務(wù)器、3臺交換機(jī)、1臺檢測入侵系統(tǒng)、1臺內(nèi)網(wǎng)防火墻、1臺三層路由器和1臺隔離網(wǎng)閘組成。10臺服務(wù)器搭建了兩個(gè)集群,其中6臺搭建stack集群,4臺搭建了容器云集群,組成了混合云平臺,平臺集群搭建時(shí)采用業(yè)務(wù)、管理、存儲網(wǎng)絡(luò)分網(wǎng)方式,有利于還原真實(shí)場景。其中交換機(jī)和路由器配置路由模式,通過防火墻做端口映射和評估操作區(qū)的數(shù)據(jù)進(jìn)行交互。
因?yàn)楸粶y目標(biāo)環(huán)境是模擬創(chuàng)建的,無法獲取真實(shí)的入侵痕跡,故在此人為設(shè)置了一些痕跡。
設(shè)置的痕跡為:在一個(gè)Microsoft Word文檔中插入了一個(gè)宏,實(shí)現(xiàn)本地內(nèi)網(wǎng)反彈連接遠(yuǎn)程服務(wù)器的效果。具體方式如下。
(1)生成一個(gè)空白的word文件,開啟宏。
(2)宏名隨便輸入,然后點(diǎn)擊創(chuàng)建,輸入一個(gè)惡意宏指令,然后點(diǎn)擊保存。
(3)然后我們拷貝圖2內(nèi)容,貼到word文檔的正文里面,然后保存關(guān)閉。
(4)一旦這個(gè)word被運(yùn)行,就開啟了一個(gè)本地反向代理服務(wù)。經(jīng)過上述的步驟,我們基本偽造了一些攻擊者在剛?cè)肭窒到y(tǒng)未完成提權(quán)場景下的痕跡。
將上一步我們設(shè)置的痕跡情況映射到STPC威脅模型中。威脅映射的過程可以參考威脅知識庫中威脅指標(biāo)的定義來進(jìn)行分類。映射的結(jié)果見表1。
表1 威脅映射結(jié)果表
將上述威脅映射的結(jié)果進(jìn)行編碼后降維,使用公式(1)(2)算法與威脅特征庫進(jìn)行兩兩比對計(jì)算,最終結(jié)果威脅值T=93分,說明該網(wǎng)絡(luò)系統(tǒng)已明顯表現(xiàn)出遭受入侵的痕跡,風(fēng)險(xiǎn)很高。
根據(jù)網(wǎng)絡(luò)和系統(tǒng)特點(diǎn),選取了等級保護(hù)2.0基礎(chǔ)表[10]來開展評估。
使用評估表和公式(3)~(7)對風(fēng)險(xiǎn)評估目標(biāo)系統(tǒng)進(jìn)行打分,被測網(wǎng)絡(luò)環(huán)境在可信驗(yàn)證、安全審計(jì)、身份鑒別3處有重大扣分項(xiàng),最終打分成績?yōu)?7分,故評估項(xiàng)得分R=100-67=33分。
測試目標(biāo)機(jī)器選取stack環(huán)境下的虛擬機(jī)Windows 7Sp1專業(yè)版,地址為192.168.110.195。
因?yàn)閷?shí)現(xiàn)條件有限,提供的設(shè)備只具備宏觀級別的安全防御,對于終端環(huán)境的防護(hù)基本沒有,我們只使用了Windows自帶的安全策略和殺毒軟件來防御。
我們使用了開源批處理執(zhí)行工具運(yùn)行了30個(gè)偽代碼腳本程序。每一項(xiàng)測試滿分分值為100,若安全設(shè)備發(fā)現(xiàn)了行為但未阻止得50分,發(fā)現(xiàn)并阻止了行為得0分,未發(fā)現(xiàn)行為得100分。運(yùn)用公式(8)~(12)可得,發(fā)現(xiàn)能力D=36.655 24。
總體評估中3個(gè)一級權(quán)重計(jì)算使用AHP的算法,按照公式(13)得出網(wǎng)絡(luò)整體安全風(fēng)險(xiǎn)評估得分為:
Risk(T,R,D)=0.42*93+0.29*36.65524+0.29*33= 59.26
本文提出了一種基于空間威脅持續(xù)鏈模型STPC(space threat persistence chain)的評估風(fēng)險(xiǎn)評估算法,從攻擊和防御視角出發(fā),以多維度、時(shí)空性、適配整體網(wǎng)絡(luò)方面考量,適用于異構(gòu)復(fù)雜網(wǎng)絡(luò)面臨的多元化威脅評估。利用所提方法對一個(gè)中型異構(gòu)復(fù)雜網(wǎng)絡(luò)進(jìn)行風(fēng)險(xiǎn)評估。實(shí)驗(yàn)表明使用本文的風(fēng)險(xiǎn)評估方法能夠正確評估網(wǎng)絡(luò)的安全風(fēng)險(xiǎn),評估結(jié)果更加符合實(shí)際情況,能直觀地給出量化風(fēng)險(xiǎn)值。