李 健,薛惠鋒,張文濤
(中國航天系統(tǒng)科學(xué)與工程研究院,北京 100037)
信息系統(tǒng)是由計算機硬件、網(wǎng)絡(luò)和通信設(shè)備、計算機軟件、信息資源、信息用戶和規(guī)章制度等組成的以處理信息流為目的的人機一體化系統(tǒng)。信息系統(tǒng)的安全評估需要綜合考慮整個信息系統(tǒng)的各方面因素,從物理環(huán)境、漏洞檢測、網(wǎng)絡(luò)安全等各個角度全面分析系統(tǒng)的安全性和穩(wěn)定性,檢測評估需要對系統(tǒng)的安全及其整改建設(shè)提供可靠的科學(xué)依據(jù)[1]。信息系統(tǒng)安全的評估是一個復(fù)雜的問題,不同的企業(yè)對信息系統(tǒng)的安全要求也是不同的,其中一些涉及國家領(lǐng)域的內(nèi)部網(wǎng)絡(luò)尤為重要,因此,相關(guān)標(biāo)準(zhǔn)更多,評估更為困難。
目前,信息系統(tǒng)的評估方法[2]主要有專家評估法、模糊評估法[3]、層次分析法[4]和神經(jīng)網(wǎng)絡(luò)法等[5],但每個方法或者模型都有著不足之處,例如,專家評估法過于依賴于專家的主觀經(jīng)驗判斷,層次分析法的評估精度較低,神經(jīng)網(wǎng)絡(luò)法則會出現(xiàn)過擬合等問題。
本文主要基于軍工單位信息系統(tǒng)的安全評估。軍工單位信息系統(tǒng)的評估可以看作是一個分類問題,將信息系統(tǒng)安全等級映射成不同的類別,現(xiàn)階段評估主要使用專家評估法。除過于依賴專家主觀經(jīng)驗這一問題之外,還面臨著標(biāo)準(zhǔn)繁多的問題,很多與系統(tǒng)安全相關(guān)度較低的指標(biāo),在每次評估過程中被專家賦予相應(yīng)的權(quán)值計算在內(nèi),增加了專家的任務(wù)量。而使用神經(jīng)網(wǎng)絡(luò)進行評估時,過多無關(guān)緊要的標(biāo)準(zhǔn)也會導(dǎo)致量化過程中冗余數(shù)據(jù)過多,徒增神經(jīng)網(wǎng)絡(luò)的負擔(dān),或者令其無法獲取重要的特征;同時,訓(xùn)練數(shù)據(jù)量少,也會導(dǎo)致神經(jīng)網(wǎng)絡(luò)的評估出現(xiàn)過擬合等問題。
通過對各軍工單位關(guān)于現(xiàn)有的安全測評存在的問題進行調(diào)查和統(tǒng)計,發(fā)現(xiàn)“標(biāo)準(zhǔn)太多、太雜”、“要求適當(dāng)放寬標(biāo)準(zhǔn)”、“評分高是否一定比評分低的要好”、“人工智能、虛擬化等發(fā)展應(yīng)提出新的智能評估參考模型”等一系列主要問題和要求也普遍被調(diào)查單位所提及。
針對上述一系列問題,本文提出了“信息增益比+SGAN”的評估模型,信息增益比主要是為選取重要指標(biāo),使得量化數(shù)據(jù)更為精簡;SGAN 可以在使用較少訓(xùn)練樣本的情況下,達到更好的分類效果。由于模型的評估結(jié)果意義重大,前期會將模型結(jié)果與專家評估相結(jié)合,SGAN 在輸出分類的同時輸出“下類似比系數(shù)”,作為專家是否要人為地對該系統(tǒng)進行再評估的參考標(biāo)準(zhǔn)。此外,SGAN 辨別真假樣本的功能,也能為信息系統(tǒng)的測評提供參考價值,若“評分”過低,則專家需要檢查本次測評報告是否存在問題,進而確認是否需要對此信息系統(tǒng)的安全進行深度探討研究。
最初,熵是由德國物理學(xué)家克勞修斯(K.Clausius)于1856 年提出的,是描述“能量退化”的物質(zhì)狀態(tài)參數(shù)之一,用來表示分子狀態(tài)混亂程度的物理量[6]。
1948 年,香農(nóng)提出“信息熵”的概念,用來表示對信息的量化度量。通過信息熵的概念來描述信源的不確定性,熵越大,不確定性越大。熵的大小并不適合反應(yīng)指標(biāo)的重要程度,而是反應(yīng)指標(biāo)區(qū)分度。目前,熵主要應(yīng)用于通信和計算機領(lǐng)域的指標(biāo)選擇方面[7]。
在此基礎(chǔ)上,又提出了“信息增益熵”,是指待分類集合的熵和選定某個特征的條件熵之差,用來衡量特征能夠為分類系統(tǒng)帶來信息量的多少。系統(tǒng)有它和沒它時信息量的差值就是該特征給系統(tǒng)帶來的信息量。信息增益熵越大,說明特征的選擇性越好。
1.1.1 信息熵
在信息論與概率統(tǒng)計中,熵(Entropy)是表示隨機變量不確定的度量。信息熵的計算公式如下:
其中,(x1,x2,…,xn);i=1,2,…,n 表示隨機變量,p(xi)表示事件發(fā)生的概率,且有∑p(xi)=1。
熵定義了一個概率分布函數(shù)到一個值(信息熵H(x))的映射。從式(1)中可以知道,隨機變量的不確定性越大,熵值越大。當(dāng)隨機變量退化為定值(概率為1)時,對應(yīng)熵值為0;當(dāng)隨機變量服從均勻分布時,對應(yīng)熵值最大。
1.1.2 信息增益熵
信息增益熵(Information Gain)表示得知特征X的信息而使得類Y 的信息不確定性減少的程度,用來衡量特征X 區(qū)分數(shù)據(jù)集的能力[8-10]。g(Y|X)越大,表示特征X 越重要。信息增益熵的計算公式如下:
其中,H(Y)為Y 的信息熵,H(Y|X)為給定X 后Y的條件信息熵。
1.1.3 信息增益比
信息增益熵偏向于選擇取值較多的特征,根據(jù)熵的公式可知,特征越多,熵越大。信息增益比(Information Gain Ratio)正好抵消了特征變量的復(fù)雜程度,避免了過擬合的存在。
其中,g(Y|X)為特征X 對應(yīng)的信息增益熵,Hx(Y)為Y 關(guān)于特征X 的信息熵。
生成對抗網(wǎng)絡(luò)(GAN,Generative Adversarial Nets)是一種深度學(xué)習(xí)模型,最早由Ian J.Goodfellow等人于2014 年10 月提出[11]。
生成對抗網(wǎng)絡(luò)包括兩部分,生成模型G(Generative model)和判別模型D(Discriminative model)。生成模型G 用于獲取數(shù)據(jù)的分布,判別模型D 用于估算數(shù)據(jù)來自于訓(xùn)練樣本還是生成模型G 的概率。該模型類似于一個極小極大博弈問題,在G 和D 的函數(shù)解空間中存在著唯一解,其優(yōu)化目標(biāo)是達到納什均衡[12]。伴隨著G 得到訓(xùn)練數(shù)據(jù)的分布,D 輸出的概率逐漸趨于1/2。在G 和D 定義為多層感知器的情況下,整個系統(tǒng)通過反向傳播進行訓(xùn)練。
生成模型G:生成網(wǎng)絡(luò),通過接收噪聲z(z 服從某先驗概率分布,如均勻分布、高斯分布等),產(chǎn)生偽數(shù)據(jù)G(z)。生成模型G 的網(wǎng)絡(luò)模型可以采用普通深度網(wǎng)絡(luò)、卷積網(wǎng)絡(luò)等。
判別模型D:判別網(wǎng)絡(luò),通過接收輸入樣本數(shù)據(jù)x,輸出數(shù)據(jù)是真數(shù)據(jù)還是G(z)的概率D(x)。判別模型的網(wǎng)絡(luò)模型可以使用普通深度網(wǎng)絡(luò)、卷積網(wǎng)絡(luò)等。
對于判別模型D,其目的是區(qū)分數(shù)據(jù)的真假,即來自于原樣本數(shù)據(jù)x 的D(x)的輸出越接近1 越好,而對于D(G(z))越接近0 越好。對于生成模型G,其目的是使該模型產(chǎn)生的偽數(shù)據(jù)G(z)盡可能地騙過判別模型D,即D(G(z))越大越好。
傳統(tǒng)的GAN 中,主要用于產(chǎn)生以假亂真的數(shù)據(jù),通過判別模型判斷其數(shù)據(jù)是真或假的概率。在此基礎(chǔ)上,Augustus Odena 提出了SGAN(Semi-Supervised Learning with Generative Adversarial Networks),將GAN 應(yīng)用于半監(jiān)督學(xué)習(xí)。
SGAN 包含生成模型G 和判別分類模型D/C。G產(chǎn)生偽數(shù)據(jù)企圖欺騙判別模型,而判別分類模型極力辨別數(shù)據(jù)真假并且進行分類,SGAN 對抗網(wǎng)絡(luò)的訓(xùn)練和傳統(tǒng)的GAN 類似,如圖1 所示。
生成模型G:同GAN 中的生成網(wǎng)絡(luò)一樣,通過接收噪聲z 產(chǎn)生偽數(shù)據(jù)G(z)。
判別分類模型D/C:在SGAN 中,判別分類模型除了需要判別輸入數(shù)據(jù)的真假外,還需要給出對真實數(shù)據(jù)的分類。在傳統(tǒng)的二分類模式基礎(chǔ)上,SGAN增加了多分類,類別數(shù)量為N+1,分別指代N 個標(biāo)簽類別和一個假數(shù)據(jù)類別。即除判別網(wǎng)絡(luò)關(guān)于真假[real,fake]的輸出外,還增加了分類功能,每個單元對應(yīng)有N+1 的輸出[real_1,real_2,…,real_n,fake]。
圖1 SGAN 算法的基本結(jié)構(gòu)
SGAN 希望能夠同時訓(xùn)練生成模型與半監(jiān)督式分類模型,最終實現(xiàn)一個更優(yōu)的半監(jiān)督式分類模型,以及一個效果更好的生成模型。首先,判別模型D 的學(xué)習(xí)能夠明顯提高分類模型C 的能力;同時,一個好的分類模型C 也有助于提高判別模型D 的性能;其次,高質(zhì)量的分類模型C 離不開生成模型G 的學(xué)習(xí)。因此,如果改進判別模型D 將改善分類模型C,改進分類模型C 將改善判別模型D,同時也將改進生成模型G,通過其中的循環(huán)反饋,最終能夠使得這3 個模型(生成模型G,判別模型D 和分類模型C)迭代更加完善。并且,相對于傳統(tǒng)的分類網(wǎng)絡(luò),該模型對于訓(xùn)練樣本的數(shù)據(jù)量要求較低。
相較與原GAN 模型,SGAN 的主要改進在于:第一,將原先的判別模型增加了分類功能;第二,明顯改善了產(chǎn)生樣本的質(zhì)量,且減少了訓(xùn)練時間。
2.1.1 特征篩選
將現(xiàn)有軍工單位信息系統(tǒng)的測試統(tǒng)計數(shù)據(jù)和報告進行簡單處理,以便進行后續(xù)計算。
信息系統(tǒng)的等級表示該信息系統(tǒng)是否符合標(biāo)準(zhǔn),記為Y,如0 表示符合,1 表示不符合等。取可選擇的標(biāo)準(zhǔn),作為熵計算中的特征X,記為X={X1,X2,…,Xm}??蛇x擇標(biāo)準(zhǔn)的定義為:除去上級規(guī)定的必不可少的標(biāo)準(zhǔn)之外的其他標(biāo)準(zhǔn),例如“內(nèi)部網(wǎng)絡(luò)不可連接外網(wǎng)”這便是必不可少的標(biāo)準(zhǔn)。各個特征都包含兩種或多種類別,如符合、不符合或者符合、基本符合、不符合等。
根據(jù)式(6)~ 式(10),計算出所有特征X={X1,X2,…,Xm}的信息增益比。然后,按照一定的標(biāo)準(zhǔn)對特征進行篩選,若信息增益比低于某閾值,便將其舍棄。將選取后的特征標(biāo)記為U={U1,U2,…,Uv},利用式(11)對特征U 進行標(biāo)準(zhǔn)化處理,將其統(tǒng)一轉(zhuǎn)化到[-1,1]區(qū)間,得到數(shù)據(jù)集M’。
2.1.2 SGAN 模型構(gòu)建
使用標(biāo)準(zhǔn)化后的數(shù)據(jù)集M’對SGAN 進行訓(xùn)練,主要為兩部分:生成模型G 以及判別模型D 的無監(jiān)督訓(xùn)練和分類模型C 的監(jiān)督訓(xùn)練。
在SGAN 中,生成模型G 通過接收隨機高斯噪聲z,產(chǎn)生偽數(shù)據(jù)G(z)。假設(shè)可以知道訓(xùn)練樣本的分布p(x),那么就可以在分布中隨機抽樣得到新樣本。生成模型在不斷的循環(huán)和訓(xùn)練中,得到噪聲z 與訓(xùn)練樣本x 之間的關(guān)系。在實驗中,隨機噪聲服從均值為0、標(biāo)準(zhǔn)差為1 的高斯分布。
判別分類模型D/C 是判別網(wǎng)絡(luò)D 和分類網(wǎng)絡(luò)C 的集成,D 和C 共享前饋層網(wǎng)絡(luò)的權(quán)值,D 為sigmoid 二分類的輸出節(jié)點,C 為softmax 多分類的輸出節(jié)點。D/C 通過接收輸入的帶有標(biāo)簽y 的真實樣本x和生成樣本G(z),在輸出數(shù)據(jù)是真數(shù)據(jù)還是假數(shù)據(jù)概率的同時,給出對真實數(shù)據(jù)的分類。通過生成模型G 和判別模型D 的相互博弈和真實樣本對C 的訓(xùn)練,使得G 和D/C 的性能在迭代過程中不斷提升,待G 和D 接近納什均衡時,得到一個強大的判別分類模型D/C。
首先從分布pz(z)的數(shù)據(jù)集{z1,z2,…,zm}和真實樣本{(x1,y1),(x2,y2),…,(xm,ym)}中分別選取batch個樣本數(shù)據(jù),輸入D/C 模型中,根據(jù)模型的輸出,通過最小化給定標(biāo)簽的負對數(shù)似然性(N LL),結(jié)合隨機梯度下降更新判別模型,代價函數(shù)如式(12)~ 式(14):
其中,pmodel表示判別是假數(shù)據(jù)的概率,則D(x)表示判別是真的概率,對應(yīng)無監(jiān)督學(xué)習(xí)的損失函數(shù)為:
其中,共享網(wǎng)絡(luò)層的權(quán)值更新需要同時最小化兩部分誤差L,而非共享權(quán)重的更新只要最小化自己部分的誤差值即可。
然后從分布pz(z)的數(shù)據(jù)集{z1,z2,…,zm}中隨機選取batch 個樣本數(shù)據(jù),結(jié)合判別模型D/C 的真?zhèn)屋敵?,通過最小化負對數(shù)似然性(N LL),結(jié)合隨機梯度下降更新生成模型,其代價函數(shù)為:
考慮到軍工單位信息系統(tǒng)的特殊性,前期會將模型和專家評估結(jié)合使用,訓(xùn)練結(jié)束后的SGAN 在輸出分類的同時,也會輸出一個“下類似比系數(shù)”S作為參考,S 的計算采用“向下對比”的原則,對應(yīng)計算方法:
向下對比主要是由于軍工信息系統(tǒng)涉及重大,一旦疏忽造成的損失將無法估量,若其被劃分到安全度低的等級,大概率有需要整改的原因;若將其劃分到安全度較高的等級,則需要考慮是否存在潛在風(fēng)險,因此,要觀察其與低等級的相似程度。
由于整個指標(biāo)體系過于龐大,加之部分指標(biāo)由于涉密原因無法直接展示,本文只展示信息系統(tǒng)虛擬化相關(guān)的部分指標(biāo)[13],如圖2 所示。
圖2 指標(biāo)體系
實驗選用360 組測試數(shù)據(jù)作為樣本數(shù)據(jù),歸一化之后的數(shù)據(jù)樣本如表1 所示。
通過計算,得到各個指標(biāo)的信息增益熵、信息增益比,其部分結(jié)果如表2 所示。
從表2 中可以看出,指標(biāo)X2、X3和X105的信息增益比明顯較高,說明其對于信息系統(tǒng)安全等級Y的劃分影響較強,例如對于信息系統(tǒng)而言,指標(biāo)“虛擬系統(tǒng)與傳統(tǒng)系統(tǒng)之間的安全域劃分”,通常可以決定一個信息系統(tǒng)是否通過本次測評或者影響系統(tǒng)的評定,加之現(xiàn)階段虛擬化系統(tǒng)在軍工信息系統(tǒng)中存在的各種問題和爭議,導(dǎo)致不同的信息系統(tǒng)進行專家評估時這一指標(biāo)的得分也參差不齊,因此,這一指標(biāo)的信息增益比也相對較高。而指標(biāo)X4、X101和X104的信息增益比較低,類似于指標(biāo)“傳統(tǒng)系統(tǒng)的安全域劃分”,對于不同的軍工單位,多年來其傳統(tǒng)系統(tǒng)部分的安全域劃分雖未達到近乎完美,但也不會出現(xiàn)較為嚴重的紕漏,因此,進行專家評估時,其得分也基本一致,對信息系統(tǒng)的評估定級而言意義較小,因此,其信息增益比也會相對較低。
表1 標(biāo)準(zhǔn)化之后的數(shù)據(jù)樣本
表2 各個指標(biāo)的信息增益熵、信息增益比
為了得到信息增益比對SGAN 的影響,設(shè)置信息增益比閾值從0 開始,每次遞增0.002 5,將低于信息增益比閾值的屬性除去,利用余下的數(shù)據(jù)訓(xùn)練SGAN,觀察其預(yù)測準(zhǔn)確率,得到如圖3 所示的結(jié)果。
圖3 不同信息增益比閾值下的模型準(zhǔn)確率
從圖3 中可以看出,信息增益比閾值設(shè)定在[0,0.02]區(qū)間時,SGAN 的預(yù)測準(zhǔn)確度隨閾值增大明顯上升;而在[0.02,0.1]的區(qū)間內(nèi),準(zhǔn)確率出現(xiàn)了小幅波動,整體呈下降趨勢;而在[0.1,0.5]區(qū)間內(nèi),SGAN 預(yù)測的準(zhǔn)確率幾乎處于平穩(wěn)然后逐漸下降趨勢。從整體上看,準(zhǔn)確率曲線呈現(xiàn)出先上升后下降的趨勢,在0.03 左右準(zhǔn)確率達到最高,與0.02 左右的準(zhǔn)確率相差無幾。由于實驗存在一定的波動誤差,為了防止重要屬性缺失,選取0.02 作為最終的信息增益比閾值,將低于0.02 的屬性從樣本數(shù)據(jù)中除去,更新后的樣本數(shù)據(jù)如表3 所示。
表3 更新后的數(shù)據(jù)樣本
為了驗證處理后樣本數(shù)據(jù)是否能使SGAN 模型收斂,并使整個網(wǎng)絡(luò)趨于納什均衡的狀態(tài),使用處理后的數(shù)據(jù)樣本訓(xùn)練網(wǎng)絡(luò),得到D/C 網(wǎng)絡(luò)判別“真假”樣本的準(zhǔn)確率曲線如圖4 所示。
從圖4 中可以看出,起始訓(xùn)練得到判別網(wǎng)絡(luò)的準(zhǔn)確率很高,幾乎為百分之百,此時生成網(wǎng)絡(luò)比較弱,產(chǎn)生的偽樣本數(shù)據(jù)無法“欺騙”D/C 網(wǎng)絡(luò);但是隨著迭代次數(shù)的增加,D/C 網(wǎng)絡(luò)識別“真假”樣本準(zhǔn)確率從整體上看逐漸降低,待到600 次左右之后,判別網(wǎng)絡(luò)的正確率逐漸平穩(wěn),穩(wěn)定在0.45~0.6 之間,此時整個網(wǎng)絡(luò)已經(jīng)接近于納什均衡,判別分類D/C網(wǎng)絡(luò)和生成G 網(wǎng)絡(luò)的功能都已非常強大。由此可見,精簡后的實驗樣本可以使得整個網(wǎng)絡(luò)收斂并逐漸趨于納什均衡。
圖4 判別網(wǎng)絡(luò)判別真假樣本的準(zhǔn)確率
實驗共進行了5 次,每次從樣本中隨機取出10個作為預(yù)測值,剩余的數(shù)據(jù)作為訓(xùn)練集對模型進行訓(xùn)練。將實驗結(jié)果與BP 神經(jīng)網(wǎng)絡(luò)和SVR 結(jié)果進行對比,5 次的實驗結(jié)果如表4 所示:
表4 5 組實驗結(jié)果準(zhǔn)確率對比
如上所示,“信息增益比+SGAN”模型無論從單次的實驗準(zhǔn)確率還是5 次實驗的平均準(zhǔn)確率來看,都要優(yōu)于其他兩個算法。通過信息增益比的有效特征的選擇和SGAN 的結(jié)合,使得判別效果更佳。選取其中一組模型的預(yù)測結(jié)果進行展示。如下頁表5 所示。
從表5 中可以看出,樣本2 被分到了“假數(shù)據(jù)”類別中,經(jīng)判別網(wǎng)絡(luò)預(yù)測其為真樣本的概率僅為0.381 0,和分類網(wǎng)絡(luò)預(yù)測其為假類別的概率為0.658 8 的結(jié)果一致,這也說明只需要判別網(wǎng)絡(luò)的輸出給此次評估判別“真?zhèn)巍奔纯?;同時,樣本6 的下類似比系數(shù)為1.256,接近于1,也就是說樣本6 的信息系統(tǒng)雖然被分到了“符合”的等級,但其安全等級也較為接近“不符合”。在這種情況下,需要專家團隊對該信息系統(tǒng)進行重點評估,來進一步確認此信息系統(tǒng)評估結(jié)果與之前的“不同點”、評估是否存在錯誤或者有潛在的安全問題等,再結(jié)合模型給出的預(yù)測概率值確定該信息系統(tǒng)的最終評估結(jié)果。
為了解決現(xiàn)階段軍工單位信息系統(tǒng)評估時遇到的標(biāo)準(zhǔn)過于冗余、樣本數(shù)量較少、人力成本較高等主要問題,本文探索性地將深度模型應(yīng)用于信息系統(tǒng)評估領(lǐng)域。首先,通過計算信息增益比來作為指標(biāo)篩選的參考依據(jù),同時利用SGAN 在少量樣本下強大的分類功能與之相結(jié)合,得到最優(yōu)的信息系統(tǒng)分類屬性和等級劃分模型;模型的“真?zhèn)巍迸袆e、“下類似比系數(shù)”等也為專家評估提供了參考價值,使深度模型評估和專家系統(tǒng)相結(jié)合。本次實驗驗證了模型的可行性及其優(yōu)越性。
表5 某組實驗結(jié)果的預(yù)測值和下類似比系數(shù)
然而由于軍工單位信息系統(tǒng)的特殊性,在現(xiàn)實的評估中,并不能將模型中低于信息增益比閾值的屬性完全刪除或者不進行測試。但是,可根據(jù)現(xiàn)實情況或者各大軍工單位的要求適當(dāng)“放寬”相應(yīng)的標(biāo)準(zhǔn);各大軍工單位也可以根據(jù)指標(biāo)篩選結(jié)果進行重點“關(guān)注”和重點“保護”,可以針對一些篩選的指標(biāo)進行簡單“自測”與“自評估”,減少工作量的同時也達到了信息系統(tǒng)日常安全維護的目的;專家進行信息系統(tǒng)安全評估時,也可重點針對篩選出的有效指標(biāo)進行檢測或?qū)Σ糠謽?biāo)準(zhǔn)進行抽查,減少不必要的人力、物力和時間的損耗。同時,專家可以結(jié)合SGAN 模型輸出的“真?zhèn)巍迸袆e、“下類似比系數(shù)”,作為是否要人為地對該系統(tǒng)進行再評估的參考標(biāo)準(zhǔn),若“下類似比系數(shù)”超過一定的閾值或模型判別為“偽”,則需要考慮重新評定或召開專家會議進行討論審定。整體來看,該模型對現(xiàn)實信息系統(tǒng)的安全評估和各軍工單位信息系統(tǒng)的日常安全維護都具有一定的指導(dǎo)意義。
本文僅僅是在信息系統(tǒng)的評估方面建立了模型,實際中信息系統(tǒng)的檢測極為繁瑣。因此,未來相關(guān)方向的研究將著重于模型與知識圖譜、檢測量化及評估后報告等方面結(jié)合的工作。