黃迎春, 牟鑫明
(1.沈陽理工大學 信息科學與工程學院, 遼寧 沈陽 110159; 2.東北大學 計算機科學與工程學院, 遼寧 沈陽 110169)
目前,指揮信息系統(tǒng)呈現面向服務架構(SOA)的發(fā)展趨勢[1-2]。SOA以服務和共享為核心,基于開放的標準和協議,具有松散耦合、支持應用系統(tǒng)高效整合和業(yè)務流程隨需應變等特點[3-4]。然而指揮信息系統(tǒng)在服務共享和開放的同時引入了更多的不安全因素,增加了被攻擊的風險。由于指揮信息系統(tǒng)在應用層采用通用的運行時環(huán)境、跨平臺異構系統(tǒng)間的數據共享和服務調用規(guī)范,因此存在訪問數組越界、不信任應用程序提升權限、內存分配、程序集加載、異常處理、資源管理等安全風險。攻擊方針對系統(tǒng)服務訂閱、查詢、發(fā)布等過程,通過截取、監(jiān)聽、接入、重置、轉義、仿冒、重放、拒止、接管等攻擊方法,有可能造成信息系統(tǒng)的服務資源毀傷和信息欺騙[5-7]。
如何評估指揮信息系統(tǒng)應用層攻擊效能是非常重要的。傳統(tǒng)的攻擊效能評估方法往往假設目標系統(tǒng)具有確定性,在已知目標系統(tǒng)的網絡、主機和應用環(huán)境下,建立評估模型,定性或定量計算攻擊效能,然而由于目標系統(tǒng)復雜性、動態(tài)性和非合作特性導致其網絡、主機和應用環(huán)境的不確定性和不完備性,攻擊效能評估往往難以與目標系統(tǒng)變化保持同步。鑒于指揮信息系統(tǒng)應用層攻擊效能評估的復雜性,其評價過程涉及模糊因素,引入模糊數學理論進行攻擊效能評估呈現研究趨勢[8],具體包括通過改進層次分析法確定評估指標權重[9]、建立灰色評估模型[10]、引入多屬性決策機制改進評估方法等[11-12]。上述研究方法一般針對單一攻擊方法,如:分布式拒絕服務(DDoS)攻擊、簡單對象訪問協議(SOAP)泛洪攻擊等建立評估模型,適用性范圍小;在采用綜合評判方法時,存在賦權方法主、客觀取舍問題以及指標因素隸屬函數經驗固化問題。
為解決指揮信息系統(tǒng)應用層攻擊效能評估存在的指標體系、賦權方法、隸屬函數和評估算法問題,本文建立3級指揮信息系統(tǒng)應用層攻擊效能評估指標體系,提出雙因子主觀、客觀賦權方法確定各層評估指標因素權重,采用人工神經網絡技術建立具有學習能力的評估指標因素隸屬函數,設計基于模糊綜合評判的攻擊效能評估算法,實現單一攻擊方法攻擊效能的模糊評估和多種攻擊方法攻擊效能的模糊排序。
建立指揮信息系統(tǒng)應用層攻擊3級評估指標體系(評估指標樹),如表1所示。表1中,Ui、Uij為指標樹的分支結點指標因素,uijk為指標樹終端結點指標因素,i=1,2,j=1,2,3,k=1,2,3,4. 由于3個層次指標數量分別為2、5、17,因此記作2+5+17指標體系。對指揮信息系統(tǒng)應用層攻擊后,按照攻擊目標可分為對應用基礎層的攻擊和對應用服務層的攻擊,因此,1級評估指標包括對應用基礎層的攻擊效能指標和對應用服務層的攻擊效能指標。
表1 評估指標體系
對應用基礎層的攻擊包括被動攻擊和主動攻擊。被動攻擊一般采用竊取應用系統(tǒng)信息的方法,通過截取進出應用系統(tǒng)的信息或非法讀取應用系統(tǒng)中的存儲信息,破壞應用系統(tǒng)信息的機密性。主動攻擊一般通過入侵應用系統(tǒng),實現破壞應用系統(tǒng)數據和功能的目的。
在對應用基礎層的攻擊效能1級指標下建立應用提權效能和功能毀傷效能2級評估指標。應用提權效能是實現對應用系統(tǒng)攻擊的“因”,它是指入侵應用系統(tǒng)的時效和獲取的操作權限。在應用提權效能指標下建立3個3級指標:應用提權等級、提權成功時間和權限穩(wěn)定時間。應用提權等級是指入侵應用系統(tǒng)成功后獲取的操作權限;提權成功時間是指獲取入侵權限所需的時間;權限穩(wěn)定時間是指獲取權限的穩(wěn)定持續(xù)時間。功能毀傷效能是實現對應用系統(tǒng)攻擊的“果”,它是指獲取權限后對應用系統(tǒng)攻擊的效能。在功能毀傷效能指標下建立4個3級指標:信息資源毀傷、應用系統(tǒng)癱瘓、業(yè)務功能欺騙和應用系統(tǒng)接管。信息資源毀傷是指對應用處理的信息資源破壞效能;應用系統(tǒng)癱瘓是指攻擊造成應用系統(tǒng)可用性毀傷程度;業(yè)務功能欺騙是指攻擊造成的欺騙效能度量;應用系統(tǒng)接管是指攻擊實現對主機系統(tǒng)控制的程度。
對應用服務層的攻擊是指從服務角度破壞業(yè)務應用的正常進行,包括對服務的機密性、服務的完整性、服務的可用性、服務的不可否認性和服務鑒別的攻擊。
在對應用服務層的攻擊效能1級指標下建立對服務機密性的攻擊效能、對服務完整性的攻擊效能和對服務可用性的攻擊效能2級評估指標。在對服務機密性的攻擊效能下建立3個3級指標:信息重要程度、信息正確比率和信息提取時間。信息重要程度是指攻擊獲取的服務數據信息關鍵性等級;信息正確比率是指實際獲取信息量對預期獲取信息量占比;信息提取時間是指信息獲取的時效性度量。在對服務完整性的攻擊效能下建立4個3級指標:破壞成功時間、篡改成功比率、仿冒成功比率和拒止成功比率。破壞成功時間是指攻擊造成服務完整性破壞的時效性度量;篡改成功比率是指實際篡改攻擊成功的次數對篡改總次數的占比;仿冒成功比率是指實際仿冒攻擊成功的次數對仿冒總次數的占比;拒止成功比率是指實際拒止攻擊成功的次數對拒止總次數的占比。在對服務可用性的攻擊效能下建立3個3級指標:服務降級程度、服務終止程度和服務欺騙程度。服務降級程度是指攻擊造成的服務質量下降程度度量;服務終止程度是指攻擊造成服務失效結果度量;服務欺騙程度是指攻擊造成服務欺騙效果度量。
評估權重計算方法對于評估結果的影響至關重要。目前,確定評估指標權重的方法可分為主觀賦權法和客觀賦權法。主觀賦權法根據決策者對各指標的主觀重視程度賦權,主要有專家法[13]和層次分析法[14-15];客觀賦權法根據指標樣本值差異程度進行賦權,主要有變異系數法和均方差法。為兼顧主觀賦權法和客觀賦權法的優(yōu)點,提出一種雙因子主觀、客觀賦權計算方法,該方法建立基于專家法、層次分析法、變異系數法和均方差法的統(tǒng)一賦權函數。
定義1W=[w1,w2,…,wt]定義為歸一化指標權重向量,其中w1+w2+…+wt=1,t為指標數量;WA、WD、WV、WS分別定義為專家法、層次分析法、變異系數法和均方差法的歸一化指標權重向量。
定義2雙因子主觀、客觀賦權函數定義為
W(α,β)=F(αβWD+α(1-β)WA+
(1-α)(WV+WS)/2),
(1)
式中:函數F(·)表示向量歸一化運算;α為1級賦權偏好因子,β為2級賦權偏好因子,0≤α≤1, 0≤β≤1.
雙因子主觀、客觀賦權函數具有如下性質:
1) 若α=0,則W(0,β)=F((WV+WS)/2),表示完全采用客觀賦權;
2) 若0<α<0.5,表示偏好客觀賦權;
3) 若α=0.5,則W(0.5,β)=F(βWD/2+(1-β)WA/2+ (WV+WS)/4),表示主觀、客觀平均賦權且權衡專家法和層次分析法的2級賦權偏好因子β可調;
4) 若0.5<α<1,表示偏好主觀賦權;
5) 若α=1,則W(1,β)=F(βWD+(1-β)·WA),表示完全采用主觀賦權;
6) 若β=0,則W(α, 0)=F(αWA+(1-α)·(WV+WS)/2),表示采用專家法、變異系數法和均方差法綜合賦權;
7) 若0<β<0.5,且α>0,表示在主觀賦權時偏重層次分析法;
8) 若β=0.5,則W(α, 0.5)=F(α(WD+WA)/2 +(1-α)(WV+WS)/2),表示4種賦權方法平均賦權;
9) 若0.5<β<1,且α>0,則表示在主觀賦權時偏重專家法;
10) 若β=1且α<1,則W(α, 1)=F(αWD+(1-α)(WV+WS)/2),表示采用層次分析法、變異系數法和均方差法綜合賦權;
11) 若β=1且α=0,則W(1, 0)=F(WA),表示完全采用層次分析法賦權;
12) 若β=1且α=1,則W(1, 1)=F(WD),表示完全采用專家法賦權。
將(1)式方法稱作雙因子主客觀賦權法,該方法通過引入2級主觀、客觀賦權偏好因子α和β統(tǒng)一了專家法、層次分析法、變異系數法和均方差法,提高評估權重計算方法的綜合性。
基于模糊映射和綜合評判原理[16-18],在建立多級評估指標集的基礎上,提出攻擊效能模糊綜合評判方法。該方法采用提出的雙因子主觀、客觀賦權函數計算各級指標集的權重向量,基于各指標特征采用反向傳播(BP)神經網絡算法設計指標因素隸屬函數,建立攻擊效能綜合評估模型,實現指標單因素評估和模糊綜合評估。
為明確評估指標因素與結果之間的關系,下面給出單因素模糊評估定義。
定義3單因素模糊評估定義為因素集U={u1,u2,…,um}到備擇集(評判集)V={v1,v2,…,vn}的模糊映射:
f:U→Ψ(V),
ui|→(ri1,ri2,…,rin),
(2)
式中:ri1,ri2,…,rin為因素ui對備擇集的模糊評判值;m為因素數,n為評判結果等級數。
從指揮信息系統(tǒng)應用層攻擊效能評估需求出發(fā),評估可分為單一攻擊方法和多種攻擊方法攻擊效能評估。單一攻擊方法的攻擊效能評估須給出備擇集評判等級,多種攻擊方法的攻擊效能評估需給出它們之間攻擊效能的排序。下面給出表1所述評估指標體系的攻擊效能模糊綜合評估算法。
算法1單一攻擊方法的攻擊效能模糊綜合評估算法步驟如下:
1)將指標因素劃分為:U={U1,U2},U1={U11,U12},U2={U21,U22,U23},U11={u111,u112,u113},U12={u121,u122,u123,u124},U21={u211,u212,u213},U22={u221,u222,u223,u224},U23={u231,u232,u233}。
2)建立備擇集V={v1,v2,…,vn}。
3)建立評估指標樹終端結點uijk的隸屬函數。
4)采用雙因子主觀、客觀賦權函數計算各級指標歸一化權重向量:A=(a1,a2),A1=(a11,a12),A2=(a21,a22,a23),A11=(a111,a112,a113),A12=(a121,a122,a123,a124),A21=(a211,a212,a213),A22=(a221,a222,a223,a224),A23=(a231,a232,a233),其中ai、aij、aijk為指標樹終端結點指標因素權值,i=1,2,j=1,2,3,k=1,2,3,4.
5)計算指標樹終端指標因素uijk的評估結果向量
Rijk=(rijk1,rijk2,…,rijkn) ,
(3)
式中:rijkl為指標因素uijk對備擇集V的模糊評判值,l=1,2,…,n.
6)進行第1層次模糊綜合評判。對指標樹中終端結點進行單因素模糊評判,待評指標因素集為Uij的評判矩陣,即
(4)
采用3級指標權重向量
Aij=(aij1,aij2,…,aijm),
(5)
進行加權平均,計算第1層綜合評估向量
Bij=Aij*Rij=(bij1,bij2,…,bijn),
(6)
式中:*采用Zadeh算子為
(7)
∧、∨分別表示集合的取小、取大運算。
7)進行第2層次模糊綜合評判。首先構造指標樹中第2級指標的評判矩陣
我媽基本不會對我發(fā)火,記憶中只有一次。那時候我剛上幼兒園,有一天放學,我忘記給小書包拉上拉鏈,一路蹦蹦跳跳地回了家,書包里的小本子啊鉛筆啊都給抖落光了。第二天早上去上學的時候,我才發(fā)現書包是空的。我媽當時噌的一下火就上來了,狠狠罵了我一頓。
(8)
式中:p為2級指標數量。采用2級指標權重向量
Ai=(ai1,ai2,…,aip),
(9)
進行加權平均,計算第2層綜合評估向量
Bi=Ai?Ri=(bi1,bi2,…,bin),
(10)
式中:?采用Einstein算子為
(11)
8)進行第3層次模糊綜合評判。首先構造指標樹中第1級指標的評判矩陣
(12)
式中:q為1級指標數量。采用1級指標權重向量
A=(a1,a2,…,aq),
(13)
進行加權平均,計算第3層綜合評估向量
B=A?R=(b1,b2,…,bn),
(14)
式中:?采用Einstein算子為
(15)
9)計算歸一化評估結果向量
(16)
式中:
(17)
(18)
算法2多種攻擊方法的攻擊效能模糊綜合評估算法步驟如下:
1)設攻擊方法的數量為s,調用算法1分別計算每種攻擊方法的評估結果向量和模糊評判等級,計算模糊評判等級向量
(19)
和評估結果矩陣
(20)
(21)
式中:n1,n2,…,ns為整數序列1,2,…,s的一個排列。
n1>n2>…>ns,
(22)
否則執(zhí)行步驟3.
(23)
式中:m1,m2,…,ms為整數序列1,2,…,s的一個排列,則輸出攻擊方法的排序結果為
m1≥m2≥…≥ms.
(24)
算法1中,對于指標樹終端結點的第1層次模糊綜合評判,無論是權重向量集還是指標因素評判結果集均為模糊集,因此采用Zadeh算子M(∧,∨)能更好地體現模糊評判特點。對于第2、第3層次模糊綜合評判,只有權重向量集是模糊集,因此采用Einstein算子M(·,+)使計算結果更符合評估特點。
基于表1所示的評估指標體系,按照算法1和算法2的步驟,建立攻擊效能綜合評估模型,如圖1所示。
圖1 攻擊效能綜合評估模型Fig.1 Comprehensive evaluation model of attack effectiveness
由于攻擊目標的系統(tǒng)結構和狀態(tài)是很難確定的,因此只能在模擬敵方能力的目標系統(tǒng)上進行攻擊評估測試,導致在輸入不明確狀態(tài)下確定指標隸屬函數是很困難的。針對該問題,本文應用BP神經網絡算法建立指標隸屬函數[19],先建立近似的隸屬函數,然后通過學習逐步修改,使之完善。
評估指標隸屬函數的構建采用N+M+L結構的3層BP神經網絡,即輸入層神經元(節(jié)點)個數為N,隱含層神經元(節(jié)點)個數為M,輸出層神經元(節(jié)點)個數為L.
應用(25)式確定隱含層節(jié)點M:
(25)
式中:a為1~10之間的常數。
隱含層的傳遞函數采用S型函數:
(26)
輸出層的傳遞函數采用線性函數:
f(x)=x.
(27)
根據網絡實際輸出
(28)
和期望輸出dk計算網絡總體誤差
(29)
并采用方程組(30)式進行網絡權值修正:
(30)
式中:η為學習速率;xi是神經網絡的(實際)輸入,i=1,2,…,N;yj是隱含層的輸出,即為輸出層的輸入,j=1,2,…,M;ok為網絡輸出,k=1,2,…,L;δk為誤差修正項;vij、wjk分別為輸入層到隱含層和隱含層到輸出層的權值。
不同于一般神經網絡的訓練和測試過程,本文的訓練、測試數據集合除了來自于傳統(tǒng)的網絡層、應用層攻擊數據集外,還來自于對物理系統(tǒng)的攻擊測試與評估數據,從而通過持續(xù)改進提高模擬輸入和輸出數據非線性關系的模型精度。為了進一步提高基于神經網絡算法指標隸屬函數的精確性,基于近年來發(fā)布的國家信息安全漏洞庫(CNNVD)和國際安全漏洞庫(CVE)中緩沖區(qū)錯誤、結構化查詢語言(SQL)注入、權限許可與訪問控制、信息泄露、路徑錯誤、跨站腳本、安全特征問題等與應用層相關的部分漏洞進行了攻擊數據的采集和測試。為避免訓練時間過長導致評估周期過長,首先對數據進行去除冗余及規(guī)范化處理;其次采用Matlab提供的newff、train和sim神經網絡工具箱函數確定初步的指標隸屬函數的參數與系數;最后結合新發(fā)布的漏洞和攻擊方法進行增量訓練,并對增量訓練后產生的新模型再進行回歸測試與擬合,即通過初步建立原型模型→增量訓練→回歸測試與擬合→更新模型的螺旋式改進方法縮短學習過程的迭代時間。
雙因子主觀、客觀賦權方法通過改變賦權偏好因子α和β計算指標因素集的權重,設某次評估分別采用專家法、層次分析法、變異系數法和均方差法計算出的權重向量為
圖2 歸一化權重向量Fig.2 Normalized weight vector
特別地,完全采用客觀賦權時,W(0,0.5)=(0.20,0.30,0.31,0.19);完全采用主觀賦權時,W(1.0,0.5)=(0.22,0.28,0.28,0.22);當折中主觀、客觀賦權時,W(0.5,0.5)=(0.21,0.29,0.30,0.20)。實驗結果表明,雙因子主觀、客觀賦權方法即兼顧了主觀、客觀賦權方法的特點,又體現了賦權向量具有模糊屬性的特點,具有很好的綜合性。
3.2.1 單一攻擊方法評估
采用文獻[20]中的SOAP泛洪攻擊樣本數據進行單一攻擊方法效能評估實驗,通過雙因子主觀、客觀賦權方法進行賦權,對于3級評估指標集分別采用W(0,0.5)、W(1.0,0.5)和W(0.5,0.5)函數計算各級評估指標的權值向量值:A11=(0.37,0.26,0.37),A12=(0.21,0.29,0.29,0.21),A21=(0.32,0.37,0.31),A22=(0.20,0.28,0.27,0.23),A23=(0.31,0.30,0.39),A1=(0.43, 0.57),A2=(0.31,0.38,0.31),A=(0.46,0.54)。
指標樹終端結點指標隸屬函數采用BP神經網絡算法計算。各隸屬函數的備擇集V={v1,v2,v3,v4}采用4級評判等級,其中v1=“優(yōu)”、v2=“良”、v3=“中”、v4=“差”,即輸出層節(jié)點數個數為L=4;由應用層攻擊領域知識提取輸入層的節(jié)點數N=1;權衡計算量與計算精度,選取常數a=10;由(25)式計算得到BP神經網絡模型結構為1-12-4.
基于評估指標樹,采用算法1對SOAP泛洪攻擊方法進行3層模糊綜合評判,分別計算評判矩陣R11、R12、R21、R22、R23、R1、R2值后,計算第1級指標的評判矩陣為
與文獻[20]方法比較,本文提出的雙因子賦權法兼顧主觀、客觀賦權優(yōu)點,比單純采用客觀熵值法賦權更加綜合;建立的2+5+17 3級評估指標體系比基于CPU利用率、內存利用率、網絡帶寬利用率、恢復時間、服務效果的單層指標體系更完整;與經驗法確定的面向SOAP泛洪攻擊固定系數分段線性隸屬函數相比,基于BP神經網絡訓練建立隸屬函數通過訓練學習具有持續(xù)改進能力,可適用于多種應用層攻擊方法進行評估。
3.2.2 多種攻擊方法評估
為了測試多種攻擊方法評估效能,選取典型應用層攻擊方法進行評估驗證。應用層攻擊具有未經授權,破壞應用程序、應用程序的用戶或由應用程序管理數據的行為特征。選取具有代表性的注入攻擊、DDoS攻擊、緩沖區(qū)溢出攻擊3種攻擊方法進行驗證。注入攻擊采用了SQL注入、XML路徑語言(XPATH)注入、跨站點腳本(XSS)注入攻擊方式; DDoS攻擊采用了流量型、連接型和特殊協議缺陷型攻擊方式;緩沖區(qū)溢出攻擊采用了活動記錄、函數指針和長跳轉緩沖區(qū)攻擊方式。
在以SOAP、Web 服務描述語言(WSDL)、統(tǒng)一描述發(fā)現與集成(UDDI)為核心技術構成的SOA指揮信息系統(tǒng)上進行了攻擊評估實驗,采用算法2計算評估結果矩陣
表2 攻擊效能隸屬度
表2是根據3種攻擊方法的原理和效能建立的經驗隸屬度結果,該結果與算法2計算的結果保持一致,說明了算法2的有效性。將本文評估方法與文獻[21]攻擊效能3層動態(tài)評估模型和評估算法進行實驗對比,也取得了一致性的評估結論。相比于其他模糊評估法和灰色評估法,本文針對指揮信息系統(tǒng)應用層攻擊建立了具體的指標體系,提出的雙因子主觀、客觀賦權方法具有更好的綜合性,相比于灰色評估方法經驗固化的線性隸屬函數,采用BP神經網絡模型能夠基于歷史經驗數據訓練建立非線性指標因素隸屬函數,具有持續(xù)改進能力。
本文在研究指揮信息系統(tǒng)應用層攻擊方法的基礎上,建立了指揮信息系統(tǒng)應用層攻擊效能模糊綜合評估方法,理論與實驗分析結果表明:
1)與傳統(tǒng)評估方法相比,面向指揮信息系統(tǒng)應用層攻擊建立的2+5+17 3級評估指標體系更完整。
2)與熵值法相比,雙因子主觀、客觀賦權法綜合專家法、層次分析法、變異系數法和均方差法,提高了評估權重計算方法的綜合性。
3)應用BP人工神經網絡理論建立模糊隸屬函數,能夠通過持續(xù)改進提高模擬輸入和輸出數據非線性關系的模型精度,提高了評估方法的適用性。
4)提出的模糊綜合評估算法可實現單一攻擊效果的模糊量化和多種攻擊的模糊排序,能夠更好地針對指揮信息系統(tǒng)的應用層攻擊方法進行有效評估。