楊婉琳
(審計署計算機(jī)技術(shù)中心,北京 100073)
態(tài)勢感知是一種基于環(huán)境的、動態(tài)的、系統(tǒng)的洞悉安全風(fēng)險的能力,可以全面地發(fā)現(xiàn)、識別安全威脅,并能準(zhǔn)確分析、及時處理安全威脅的一種方式。態(tài)勢感知這一概念最早出現(xiàn)在軍事領(lǐng)域,分為覆蓋感知、理解和預(yù)測3個層次。
網(wǎng)絡(luò)態(tài)勢感知分為3個層次。第一層,安全信息的收集。網(wǎng)絡(luò)安全態(tài)勢可以從海量的數(shù)據(jù)信息中提取與態(tài)勢相關(guān)的信息,然后進(jìn)行統(tǒng)一的處理。比如采用多傳感器數(shù)據(jù)融合技術(shù),對入侵檢測系統(tǒng)中的數(shù)據(jù)進(jìn)行融合,并統(tǒng)一化處理。即使檢測出入侵者的信息,判斷安全威脅等級。第二層,評估網(wǎng)絡(luò)安全態(tài)勢情況。網(wǎng)絡(luò)安全態(tài)勢評估方法主要有4種,即數(shù)學(xué)模型、知識推理、模式識別和機(jī)器學(xué)習(xí)。基于機(jī)器學(xué)習(xí)的評估方法是謝麗霞等人提出的,利用布谷鳥搜索算法對反向傳播網(wǎng)絡(luò)的閾值進(jìn)行優(yōu)化評估,可以優(yōu)化網(wǎng)絡(luò)態(tài)勢感知的評估方法,減少迭代次數(shù),提高評估的準(zhǔn)確性與評估效率。第三層預(yù)估未來安全態(tài)勢情況。利用機(jī)器學(xué)習(xí)的網(wǎng)絡(luò)安全態(tài)勢預(yù)測,可以有效降低網(wǎng)絡(luò)安全態(tài)勢預(yù)測的復(fù)雜度,提高網(wǎng)絡(luò)安全態(tài)勢預(yù)測結(jié)果的準(zhǔn)確性[1]。
國內(nèi)一般采用馬爾科夫博弈論、知識發(fā)現(xiàn)、對比序列進(jìn)行SQL注入檢測、機(jī)器學(xué)習(xí)技術(shù)等分析當(dāng)前的網(wǎng)絡(luò)安全態(tài)勢。國外,分析對象特征和關(guān)系之間的依賴,利用本體知識理論來預(yù)測網(wǎng)絡(luò)安全態(tài)勢;相似性評估,借助以往的經(jīng)驗評估網(wǎng)絡(luò)安全態(tài)勢感知;基于隱馬爾可夫模型的對數(shù)分析;協(xié)同過濾和基于密度的聚類檢測DGA僵尸網(wǎng)絡(luò)方法;基于遞歸神經(jīng)網(wǎng)絡(luò)的機(jī)器學(xué)習(xí)方法,對域名進(jìn)行高精度檢測,提取相關(guān)特征,檢測出惡意混淆的代碼。
網(wǎng)絡(luò)安全態(tài)勢評估技術(shù)有很多,基于機(jī)器學(xué)習(xí)的方法是網(wǎng)絡(luò)安全態(tài)勢預(yù)測技術(shù)的重點研究方向,可以詳細(xì)劃分為3個方向,即基于人工神經(jīng)網(wǎng)絡(luò)、深度學(xué)習(xí)和集成學(xué)習(xí)。
人工神經(jīng)網(wǎng)絡(luò),也稱神經(jīng)網(wǎng)絡(luò),是20世紀(jì)80年代人工智能領(lǐng)域興起的研究熱點。主要是抽象人類腦神經(jīng)元網(wǎng)絡(luò),并對其進(jìn)行建模,然后連接組成不同的網(wǎng)絡(luò),從而來達(dá)到實現(xiàn)模擬人類神經(jīng)網(wǎng)絡(luò)的目的。一般來說,神經(jīng)網(wǎng)絡(luò)是由輸入層、隱含層和輸出層構(gòu)成。輸入層的每一個神經(jīng)元都是一個特定的輸出函數(shù),每兩個節(jié)點之間的連接就是隱含層,隱含層的層數(shù)和神經(jīng)元的個數(shù)可以自由指定。輸出層的主要作用是輸出神經(jīng)網(wǎng)絡(luò)結(jié)果。
人工神經(jīng)網(wǎng)絡(luò)具有4個基本特征。第一,非線性關(guān)系。這是自然界中存在的普遍特征,人工神經(jīng)元處于激活、抑制狀態(tài)的時候,在數(shù)學(xué)上就表現(xiàn)為非線性關(guān)系。非線性關(guān)系可以提高神經(jīng)元的容錯性與存儲容量,優(yōu)化人工神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)性能。第二,非局限性。神經(jīng)網(wǎng)絡(luò)是由多個神經(jīng)元連接而成,是多個神經(jīng)元特征以及神經(jīng)元單元相互作用的結(jié)果,因此可以模擬大腦的非局限性特征。第三,非常定性。人工神經(jīng)網(wǎng)絡(luò)擁有高度的自主學(xué)習(xí)能力,可以適應(yīng)多個不同的環(huán)境,在處理信息的過程中,會根據(jù)信息的不同采用不同的處理方式,是一個迭代過程。第四,多樣性。神經(jīng)元的輸出函數(shù)存在多個極值,人工神經(jīng)網(wǎng)絡(luò)系統(tǒng)存在多個穩(wěn)定的平衡狀態(tài),從而實現(xiàn)系統(tǒng)的多樣性。因此,人工神經(jīng)網(wǎng)絡(luò)應(yīng)用在網(wǎng)絡(luò)安全態(tài)勢預(yù)測方面,取得了較好的效果,但是由于結(jié)構(gòu)不完善,會有預(yù)測速度慢、模擬度欠缺、局部最優(yōu)等不足[2]。
深度學(xué)習(xí)是神經(jīng)網(wǎng)絡(luò)的延伸。深度學(xué)習(xí)結(jié)構(gòu)是含有多個隱藏層的多層感知器,可以融合低層特征將其組成抽象的高層,然后再用高層來表示特征、類別,從而找到數(shù)據(jù)的分布式特征。一般來說,深度學(xué)習(xí)是模式分析方法的統(tǒng)稱,主要分為3類方法:第一,基于卷積運(yùn)算的神經(jīng)網(wǎng)絡(luò)系統(tǒng),這種系統(tǒng)是仿造生物視覺和知覺構(gòu)建起來的,具有表征學(xué)習(xí)能力,可以實現(xiàn)對像素和音頻進(jìn)行學(xué)習(xí),對數(shù)據(jù)格式?jīng)]有特殊的要求,從而實現(xiàn)數(shù)據(jù)的穩(wěn)定效果。第二,基于多層神經(jīng)元的自編碼神經(jīng)網(wǎng)絡(luò),其功能是將輸入信息作為學(xué)習(xí)目標(biāo),對輸入的信息進(jìn)行表征學(xué)習(xí)。自編碼一般具有表征學(xué)習(xí)算法功能,主要應(yīng)用在降維和異常值檢測。第三類,深度置信網(wǎng)絡(luò)。深度置信網(wǎng)絡(luò)是一個概率生成模型,運(yùn)用這個模型可以訓(xùn)練神經(jīng)元之間的權(quán)重,讓整個神經(jīng)網(wǎng)絡(luò)按照最大概率來生產(chǎn)訓(xùn)練數(shù)據(jù),實用性強(qiáng),應(yīng)用范圍廣,擴(kuò)展性也強(qiáng),廣泛應(yīng)用在語音識別、圖像處理等領(lǐng)域。深度學(xué)習(xí)的模型可以有效解決網(wǎng)絡(luò)安全態(tài)勢預(yù)測問題,但是算法性能不高,自我學(xué)習(xí)性差,適應(yīng)性不強(qiáng)。
集成學(xué)習(xí)不是一個單獨的機(jī)器學(xué)習(xí)算法,而是通過構(gòu)建并結(jié)合多個機(jī)器學(xué)習(xí)來完成學(xué)習(xí)任務(wù),因此,也被稱為多分類器系統(tǒng)。集成學(xué)習(xí)的一般結(jié)構(gòu),先產(chǎn)生一組“個體學(xué)習(xí)器”,然后再選取相應(yīng)的組合策略將其結(jié)合起來。個體學(xué)習(xí)器有兩種,一種是同質(zhì)的,都是由一個學(xué)習(xí)算法訓(xùn)練數(shù)據(jù)產(chǎn)生;一種是異質(zhì)的,是由不同類型的個體學(xué)習(xí)器集成的。同質(zhì)的個體學(xué)習(xí)器被稱為“基學(xué)習(xí)算法”,異質(zhì)的沒有“基學(xué)習(xí)算法”。這里應(yīng)用較為廣泛的就是同質(zhì)個體學(xué)習(xí)器,主要應(yīng)用的模型是CART決策樹和神經(jīng)網(wǎng)絡(luò)。集成學(xué)習(xí)比單一學(xué)習(xí)器具有更為顯著的泛化功能,就是在進(jìn)行預(yù)測的時候,個體學(xué)習(xí)器出現(xiàn)問題,其他學(xué)習(xí)器也可以將其糾正過來,從而提高預(yù)測結(jié)果的準(zhǔn)確性。當(dāng)前被廣泛應(yīng)用在網(wǎng)絡(luò)安全態(tài)勢預(yù)測的有Boosting系列算法,他們的個體學(xué)習(xí)器之間存在極強(qiáng)的依賴關(guān)系,容易實施,但是得到的結(jié)果不一定是最準(zhǔn)確的。還有一種就是不存在強(qiáng)依賴關(guān)系的隨機(jī)森林算法,準(zhǔn)確率高,對噪聲敏感,很容易受到外界因素的影響。集成學(xué)習(xí)主要應(yīng)用于分類問題集成、回歸問題集成、特征選取集成和異常點檢測集成等方面。
網(wǎng)絡(luò)安全態(tài)勢的評估。要構(gòu)建網(wǎng)絡(luò)態(tài)勢評估指標(biāo)體系,這是網(wǎng)絡(luò)安全態(tài)勢評估的基礎(chǔ),如果指標(biāo)體系過大,就會增加計算量,從而降低評估的性能與實時性;指標(biāo)體系過小,就會使得評估不夠全面,評估結(jié)果也失去了原有的價值。這就需要選取科學(xué)、合理的網(wǎng)絡(luò)安全態(tài)勢評估指標(biāo)體系,從而得到全面、準(zhǔn)確的評估結(jié)果,高效、客觀地展示網(wǎng)絡(luò)安全狀況。因此,構(gòu)建網(wǎng)絡(luò)安全態(tài)勢評估指標(biāo)要遵循系統(tǒng)性、近似性、層次性和易操作性原則。要建立指標(biāo)體系來源參考,構(gòu)建網(wǎng)元、流量、報警、漏洞和靜態(tài)配置信息的指標(biāo),并將其劃分為穩(wěn)定性、威脅性、脆弱性3個綜合性指標(biāo)。脆弱性指標(biāo)包含網(wǎng)絡(luò)漏洞和靜態(tài)配置信息兩個方面,是網(wǎng)絡(luò)自身存在的安全隱患,網(wǎng)絡(luò)的脆弱性指數(shù)越高,網(wǎng)絡(luò)受到攻擊的可能性越大。威脅性包含報警和流量兩個方面,可以直觀反映網(wǎng)絡(luò)受到攻擊的危害程度。威脅性指標(biāo)與子網(wǎng)內(nèi)安全事件發(fā)生頻率、子網(wǎng)寬帶使用率、子網(wǎng)流入量占比率有關(guān),指標(biāo)越大,網(wǎng)絡(luò)安全狀況越不理想。穩(wěn)定性是網(wǎng)元的體現(xiàn),穩(wěn)定性衡量指標(biāo)與子網(wǎng)內(nèi)數(shù)據(jù)包分布比值的變化率有關(guān),變化率越大,網(wǎng)絡(luò)狀況越不穩(wěn)定。
本文的網(wǎng)絡(luò)環(huán)境將評估等級設(shè)置為{G1=優(yōu);G2=良;G3=中;G4=危};評估規(guī)則參考用戶手冊,根據(jù)實驗數(shù)據(jù),并按照下列公式來計算:
(1)
(2)
(3)
網(wǎng)絡(luò)安全態(tài)勢的預(yù)測主要是借助預(yù)測模型,基于機(jī)器學(xué)習(xí)的網(wǎng)絡(luò)安全態(tài)勢預(yù)測模型有長短期記憶神經(jīng)網(wǎng)絡(luò),利用該模型進(jìn)行預(yù)測之前,要先確定其結(jié)構(gòu)和超參數(shù),但是目前還沒有統(tǒng)一的參數(shù)確定辦法,在使用的過程中需要不斷地嘗試從而來達(dá)到最佳預(yù)測效果。眾所周知,機(jī)器學(xué)習(xí)算法中超參數(shù),可以定義模型屬性或者訓(xùn)練過程,直接影響神經(jīng)網(wǎng)絡(luò)模型的性能與收斂速度。這就需要借助貝葉斯優(yōu)化方法來確定長短期記憶神經(jīng)網(wǎng)絡(luò)模型超參數(shù),充分發(fā)揮其價值。采用貝葉斯優(yōu)化算法是基于全局優(yōu)化理念,通過大量的樣本數(shù)量來擬合目標(biāo)函數(shù)的概率分布,從而達(dá)到優(yōu)化模型超參數(shù)的目的。長短期記憶神經(jīng)網(wǎng)絡(luò)模型分為4層,輸入層、神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)層、全連接層和輸出層。輸入層的作用是將之前取得的態(tài)勢值輸入到預(yù)測模型中;神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)層將對其進(jìn)行計算分析,并獲取輸出;連接層可以處理非線性關(guān)系,對結(jié)構(gòu)層的輸出數(shù)據(jù)進(jìn)行加權(quán)處理再傳輸給輸出層;輸出層輸出模型預(yù)測的網(wǎng)絡(luò)安全態(tài)勢值[3]。
利用網(wǎng)絡(luò)安全態(tài)勢預(yù)測模型進(jìn)行態(tài)勢預(yù)測的時候,需要構(gòu)造訓(xùn)練集和測試集,將網(wǎng)絡(luò)安全態(tài)勢評估方法中得到的態(tài)勢值表示為{x1,x2,…,xt},xt就是t時間系統(tǒng)的安全態(tài)勢值。在預(yù)測的時候,要根據(jù)前一刻的數(shù)據(jù)得到后一時間的數(shù)據(jù),這就需要對得到的數(shù)據(jù)進(jìn)行訓(xùn)練,將這些數(shù)據(jù)分為輸入、輸出兩個部分,如表1所示。
表1 輸入、輸出數(shù)據(jù)
然后,利用貝葉斯優(yōu)化模型的超參數(shù)訓(xùn)練模型,進(jìn)而進(jìn)行態(tài)勢預(yù)測。需要注意的是,評價指標(biāo)有絕對平均誤差、均方誤差和均方根誤差。
(4)
(5)
(6)
網(wǎng)絡(luò)安全態(tài)勢感知系統(tǒng)的實現(xiàn)要明確系統(tǒng)的整體架構(gòu),詳細(xì)劃分系統(tǒng)模塊。一般來說,網(wǎng)絡(luò)安全態(tài)勢感知系統(tǒng)模塊分為5個部分,即數(shù)據(jù)采集塊、態(tài)勢評估模塊、態(tài)勢預(yù)測模塊、可視化展示模塊和管理模塊。
網(wǎng)絡(luò)安全態(tài)勢感知系統(tǒng)要滿足5個方面的需求。第一,數(shù)據(jù)采集。就是在網(wǎng)絡(luò)數(shù)據(jù)中,快速、全面、及時地收集影響網(wǎng)絡(luò)安全的各項指標(biāo),這就需要借助開源安全信息管理系統(tǒng)(OSSIM)作為數(shù)據(jù)采集工具,OSSIM可以實現(xiàn)安全功能監(jiān)控,是一種集中式、有組織的監(jiān)測和顯示框架式系統(tǒng),此外,還可以對原始數(shù)據(jù)進(jìn)行處理和分析,減少網(wǎng)絡(luò)安全態(tài)勢感知系統(tǒng)在數(shù)據(jù)處理方面的工作。第二,態(tài)勢評估模塊。將數(shù)據(jù)采集處理好的指標(biāo)信息進(jìn)行分析計算,客觀得出當(dāng)前的網(wǎng)絡(luò)安全態(tài)勢值。首先,要對收集的數(shù)據(jù)信息進(jìn)行預(yù)處理;其次,利用模糊層次分析法計算各個指標(biāo)的權(quán)重,確定組合權(quán)重,對威脅性、脆弱性、穩(wěn)定性的證據(jù)進(jìn)行推理評估;最后,將網(wǎng)絡(luò)安全態(tài)勢感知系統(tǒng)所得的數(shù)據(jù)進(jìn)行量化處理,并存儲起來,將其作為歷史指標(biāo)數(shù)據(jù)進(jìn)行保存,方便后期查詢。第三,態(tài)勢預(yù)測模塊。根據(jù)歷史態(tài)勢預(yù)測未來的網(wǎng)絡(luò)安全態(tài)勢走向,這里需要借助人工神經(jīng)網(wǎng)絡(luò)模型,構(gòu)建模型結(jié)構(gòu),對其進(jìn)行訓(xùn)練后再利用模型進(jìn)行態(tài)勢預(yù)測。第四,可視化展示??梢暬故灸K需要為管理人員提供直觀、清晰的可視化界面。界面內(nèi)主要包含歷史動態(tài)展示、當(dāng)前態(tài)勢展示、未來態(tài)勢展示以及各項數(shù)據(jù)指標(biāo)。第五,管理模塊。管理模塊主要由管理員操作態(tài)勢感知流程,分為任務(wù)管理和數(shù)據(jù)管理兩個方面。任務(wù)管理模塊主要是對數(shù)據(jù)請求進(jìn)行處理,并控制整個態(tài)勢感知的流程。數(shù)據(jù)管理是管理員處理數(shù)據(jù)請求的過程[5]。
網(wǎng)絡(luò)安全態(tài)勢感知技術(shù)是網(wǎng)絡(luò)時代快速發(fā)展的產(chǎn)物,機(jī)器學(xué)習(xí)技術(shù)也日趨成熟,將機(jī)器學(xué)習(xí)算法應(yīng)用到網(wǎng)絡(luò)安全態(tài)勢感知評估和預(yù)測方面,可以發(fā)現(xiàn)網(wǎng)絡(luò)運(yùn)行環(huán)境中潛在的安全隱患并及時對其清除,保障網(wǎng)絡(luò)運(yùn)行安全。在網(wǎng)絡(luò)態(tài)勢評估方面,可以采用基于證據(jù)推理方法來完成對網(wǎng)絡(luò)安全態(tài)勢的評估,采用長短期記憶神經(jīng)網(wǎng)絡(luò)模型來完成網(wǎng)絡(luò)安全態(tài)勢預(yù)測,提高了網(wǎng)絡(luò)安全態(tài)勢預(yù)測的準(zhǔn)確性。