夏 亮,楊江平,鄧 斌,余 娟,宋若愚
(空軍預(yù)警學(xué)院, 武漢 430019)
analysis
軟件系統(tǒng)本身不會(huì)對(duì)人員和裝備安全造成直接威脅,但是軟件安全問題可能通過軟、硬件的接口使硬件發(fā)生誤動(dòng)或失效,或者直接導(dǎo)致裝備無(wú)法正常運(yùn)行,造成嚴(yán)重的安全事故,目前,對(duì)軟件系統(tǒng)安全性研究較少,如何對(duì)軟件進(jìn)行安全性需求分析是一個(gè)亟待解決的難題[1-5]。
常見的安全性需求分析方法有濫用用例、橫切威脅、反模型和安全的I*/Tropos等方法,其中Sinder和Opdahl等人給出了濫用用例的組織形式和內(nèi)容[6];Haley等人提出從橫切威脅描述中獲取安全需求的方法[7];Axel等人提出了反模型方法,該方法給出了惡意障礙目標(biāo)獲取方法和消解惡意障礙目標(biāo)的方法[8];劉璘等提出以I*建?;顒?dòng)為基礎(chǔ),從攻擊者的角度考慮步驟中存在的安全隱患的方法[9]。以上方法都是基于安全分析人員的頭腦風(fēng)暴,需要的是分析人員的經(jīng)驗(yàn)和能力,如果安全分析人員的經(jīng)驗(yàn)不足,無(wú)法得到有效的結(jié)果。
針對(duì)這種情況,本研究提出了一種基于熵權(quán)法和改進(jìn)灰色聚類模型的方法對(duì)軟件安全性需求進(jìn)行分析,這種方法可以基于軟件自身的數(shù)據(jù)去對(duì)其安全性需求進(jìn)行分析,避免了過多的主觀判斷。傳統(tǒng)灰色聚類模型可以解決貧信息聚類分析問題,但是各灰類綜合聚類系數(shù)取值相近,導(dǎo)致分析結(jié)果不全面。因此,提出了一種改進(jìn)型灰色聚類模型,充分考慮各個(gè)灰類對(duì)分析對(duì)象重要性判斷的影響,結(jié)合熵權(quán)法確定分析對(duì)象的權(quán)重,建立了軟件安全性需求分析模型,并對(duì)具體例子舉行計(jì)算。
根據(jù)GJB/Z 142—2004的定義,軟件安全性(software safety)指的是軟件具有的不導(dǎo)致事故發(fā)生的能力。而軟件安全(software security)指軟件在受到惡意攻擊的情形下依然能夠繼續(xù)正確運(yùn)行及確保軟件在被授權(quán)范圍內(nèi)合法使用的能力。本研究認(rèn)為software safety 側(cè)重于對(duì)無(wú)意發(fā)生的事故或事件進(jìn)行的安全保護(hù);而software security 側(cè)重于對(duì)人為地、有意破壞而進(jìn)行的安全防護(hù)。因此,本文在建立安全性需求指標(biāo)時(shí)將兩者進(jìn)行綜合考慮,既要考慮到無(wú)意發(fā)生的事故,即software safety;也要考慮人為的攻擊和破壞,即software security。
在建立安全性需求指標(biāo)之前,還需要明確安全性指標(biāo)和可靠性指標(biāo)的關(guān)系,安全性與可靠性既有聯(lián)系,又有區(qū)別??煽啃允侵冈谝欢l件下,在某一時(shí)間內(nèi)軟件完成其規(guī)定功能的能力。安全性則是指不能出現(xiàn)導(dǎo)致意外事故的條件或狀態(tài),而不管其規(guī)定功能是否完成。也就是說可靠性會(huì)考慮軟件所有可能發(fā)生的故障,而安全性則考慮能造成軟件安全性事故的故障。
雷達(dá)軟件安全性需求指標(biāo)體系包括漏洞總數(shù)、系統(tǒng)癱瘓時(shí)間、數(shù)據(jù)隱藏技術(shù)、通信保密技術(shù)和構(gòu)架完整性這五個(gè)方面,具體的指標(biāo)體系如圖1所示。其中漏洞是指能夠被一個(gè)或多個(gè)威脅利用的資產(chǎn)或控制中的弱點(diǎn),如果漏洞被攻擊者利用,將會(huì)給軟件系統(tǒng)安全帶來(lái)嚴(yán)重威脅和經(jīng)濟(jì)損失;系統(tǒng)癱瘓時(shí)間指的是軟件系統(tǒng)從本次無(wú)法正常工作開始到下次正常工作時(shí)所經(jīng)歷的時(shí)間,系統(tǒng)癱瘓時(shí)間越長(zhǎng),對(duì)雷達(dá)戰(zhàn)備值班的影響越大,戰(zhàn)爭(zhēng)來(lái)臨時(shí)可能帶來(lái)致命后果,因此,系統(tǒng)癱瘓時(shí)間雖然和可靠性有關(guān),但是因?yàn)樗鼤?huì)帶來(lái)嚴(yán)重后果,所以將其列為安全性需求指標(biāo);數(shù)據(jù)隱藏技術(shù)指的是對(duì)于雷達(dá)軟件中的一些敏感數(shù)據(jù),應(yīng)當(dāng)利用數(shù)據(jù)隱藏技術(shù)保護(hù)其存在,提高讀取權(quán)限,控制其傳播范圍,防止被攻擊者竊?。煌ㄐ疟C芗夹g(shù)指的是在雷達(dá)數(shù)據(jù)傳送過程中,對(duì)傳輸信道和傳輸設(shè)備中傳送的信息采用加密技術(shù)的情況;構(gòu)架完整性指的是軟件全局的安全保護(hù)到位和配合情況,各保護(hù)措施之間不會(huì)因?yàn)橄嗷ッ軓亩魅醣Wo(hù)強(qiáng)度。
圖1 雷達(dá)軟件系統(tǒng)安全性需求指標(biāo)體系框圖
灰色聚類是根據(jù)灰色關(guān)聯(lián)矩陣或灰數(shù)的白化權(quán)函數(shù)將一些觀測(cè)指標(biāo)或觀測(cè)對(duì)象劃分成若干個(gè)可以定義類別的方法[10-12],本文采取基于熵權(quán)法的灰數(shù)白化權(quán)函數(shù)進(jìn)行建模。傳統(tǒng)的灰色聚類模型如圖2所示,其聚類中心是一個(gè)固定點(diǎn),受相鄰灰類影響較大,難以準(zhǔn)確得到分析結(jié)果,當(dāng)分析對(duì)象的聚類系數(shù)相近時(shí),分析結(jié)果會(huì)產(chǎn)生較大誤差。針對(duì)以上問題,本研究提出了一種改進(jìn)的白化權(quán)函數(shù)灰色聚類模型,將聚類中心由一個(gè)固定點(diǎn)擴(kuò)展到一個(gè)取值范圍,并結(jié)合上下限測(cè)度白化權(quán)函數(shù)得到分析結(jié)果,使得到的結(jié)果更準(zhǔn)確。此外,運(yùn)用熵權(quán)法確定權(quán)重可以避免主觀因素的影響,使權(quán)重最大程度的保持指標(biāo)原有的信息。
圖2 傳統(tǒng)灰色聚類模型
在建模之前,需要先明確兩個(gè)定義。
定義1設(shè)有n個(gè)分析對(duì)象,m個(gè)需求指標(biāo),s個(gè)不同灰度,根據(jù)對(duì)象i關(guān)于指標(biāo)j的觀察值xij(i=1,2,…,n,j=1,2,…,m),將對(duì)象i歸于第k個(gè)灰類(k∈{1,2,…,s}),稱為灰色聚類。
定義2對(duì)于灰類k(k∈{2,3,…,s-1}),稱最可能屬于灰類k的點(diǎn)為其中心點(diǎn)。中心點(diǎn)可以是中點(diǎn),也可能不是,以屬于灰類k最大可能性為依據(jù)。
由于指標(biāo)體系中定量指標(biāo)的量綱不同,需要對(duì)其進(jìn)行無(wú)量綱標(biāo)準(zhǔn)化處理,使指標(biāo)的取值范圍為[0,1],采用區(qū)別對(duì)待的極化差方法對(duì)聚類指標(biāo)xij進(jìn)行無(wú)量綱標(biāo)準(zhǔn)化處理。
對(duì)于指標(biāo)越大越好數(shù)值型指標(biāo):
(1)
對(duì)于指標(biāo)越小越好數(shù)值型指標(biāo):
(2)
利用熵權(quán)法可以確定各指標(biāo)的權(quán)重,設(shè)有n個(gè)分析對(duì)象,m個(gè)需求指標(biāo),初始數(shù)據(jù)矩陣為X=(xij)n×m:
(3)
式中,xij為對(duì)象i關(guān)于指標(biāo)j的觀察值。
熵權(quán)法確定權(quán)重的過程為:
步驟1計(jì)算第i個(gè)對(duì)象在第j個(gè)指標(biāo)下的比重pij:
(4)
步驟2計(jì)算指標(biāo)j的熵值ej:
(5)
步驟3計(jì)算指標(biāo)j的權(quán)重wj:
(6)
步驟1確定評(píng)價(jià)灰類
對(duì)于對(duì)象i的指標(biāo)j,設(shè)其取值范圍為[aj,bj]。根據(jù)分析對(duì)象需求,將分析結(jié)果劃分為s個(gè)灰類,選取最屬于灰類k的區(qū)間[λ1,λ2],…,[λ2k-1,λ2k],…,[λ2s-1,λ2s],確定各個(gè)區(qū)間端點(diǎn),將各指標(biāo)的取值范圍相應(yīng)劃分為s個(gè)灰類。
步驟2構(gòu)建改進(jìn)型白化權(quán)函數(shù)
(7)
(8)
(9)
根據(jù)式(7)~式(9),可以得到改進(jìn)的白化權(quán)函數(shù)圖,如圖3所示。
圖3 改進(jìn)灰色聚類模型
步驟3計(jì)算單位化綜合聚類系數(shù)
(10)
(11)
步驟4判斷灰類
(12)
根據(jù)式(12),可以判斷對(duì)象i屬于灰類k*。
一般情況下,根據(jù)灰色聚類系數(shù)向量δi各分量的最大值進(jìn)行分類,但是當(dāng)最大主分量與其余主分量差異不顯著時(shí),難以得到準(zhǔn)確結(jié)論。例如,設(shè)k=1,2,3分別對(duì)應(yīng)于好、中、差3個(gè)不同灰類,有兩個(gè)對(duì)象的灰色聚類系數(shù)向量分別為δ1=(0.42,0.30,0.28)和δ2=(0.41,0.39,0.20)。如果直接比較聚類系數(shù)的最大值,由于0.42>0.41,則對(duì)象1優(yōu)于對(duì)象2;但是如果綜合考慮δ1和δ2的各個(gè)分量,也可以認(rèn)為對(duì)象2優(yōu)于對(duì)象1。
針對(duì)這種問題,可以把灰色聚類系數(shù)向量視作一個(gè)整體進(jìn)行研究,提出了一種綜合測(cè)度決策模型。
步驟1計(jì)算綜合加權(quán)決策向量
s-k+2,…,s-1,s,s-1,…,k)
(13)
由式(13)可知,該向量的第k個(gè)分量為s,并以此為中心,兩側(cè)分量取值依次減1,表明第k個(gè)分量對(duì)決策對(duì)象屬于灰類k的貢獻(xiàn)最大,因此被賦予最大的權(quán)重s,其余分量的權(quán)重根據(jù)與第k個(gè)分量的距離確定,距離越近,權(quán)重越大。
步驟2計(jì)算綜合測(cè)度決策系數(shù)向量
對(duì)象i關(guān)于灰類k的灰色綜合測(cè)度決策系數(shù)的計(jì)算公式為:
(14)
步驟3綜合判斷
(15)
由式(15)判定對(duì)象i屬于灰類k*。若有多個(gè)對(duì)象屬于灰類k*,可通過綜合測(cè)度決策系數(shù)對(duì)同屬于灰類k的所有對(duì)象進(jìn)行排序,從而進(jìn)行決策。
雷達(dá)軟件系統(tǒng)包含終端分系統(tǒng)、監(jiān)控分系統(tǒng)和信號(hào)處理分系統(tǒng),分別用N1、N2和N3表示,結(jié)合雷達(dá)軟件系統(tǒng)安全性需求指標(biāo)體系,采用本文提出的基于熵權(quán)和改進(jìn)灰色聚類模型的方法對(duì)雷達(dá)軟件系統(tǒng)的3個(gè)分系統(tǒng)進(jìn)行安全性需求分析,得到安全性需求分析結(jié)果。
首先按照極化差方法對(duì)指標(biāo)體系中的定量指標(biāo)進(jìn)行數(shù)據(jù)處理,指標(biāo)體系中的定量數(shù)據(jù)包括U1、U2,對(duì)于定性數(shù)據(jù),通過專家打分的德爾菲法得到,同樣也進(jìn)行無(wú)量綱標(biāo)準(zhǔn)化處理,經(jīng)過處理后的數(shù)據(jù)如表1所示。
表1 雷達(dá)軟件安全性需求指標(biāo)無(wú)量綱化值
其次,利用熵權(quán)法計(jì)算雷達(dá)軟件安全性需求指標(biāo)的權(quán)重,根據(jù)式(4)~式(6),求得指標(biāo)體系的權(quán)重為wj(0.205 3,0.203 8,0.202 3,0.197 5,0.191 1)。
然后,根據(jù)本文確定的建立改進(jìn)灰色模型的方法對(duì)某型雷達(dá)軟件安全性需求分析問題進(jìn)行求解。
步驟1確定評(píng)價(jià)灰類
將雷達(dá)軟件安全性指標(biāo)的無(wú)量綱化值轉(zhuǎn)化為百分制,根據(jù)各分系統(tǒng)最高、最低分值和灰類劃分需要,在指標(biāo)區(qū)間[50,100]內(nèi)劃分不重要、一般重要、重要、非常重要4個(gè)灰類,取值區(qū)間分別為[58,62]、[68,72]、[78,82]、[88,92]。
步驟2構(gòu)建改進(jìn)型白化權(quán)函數(shù)
表2 指標(biāo)的隸屬度情況
表3 單位化綜合聚類系數(shù)
步驟4判斷灰類
根據(jù)式(12),判斷雷達(dá)軟件分系統(tǒng)N1、N2、N3的最大單位化綜合聚類系數(shù)依次為0.737 9、0.667 7、0.540 8,對(duì)應(yīng)的灰類依次為k3、k3、k4。因此雷達(dá)軟件終端分系統(tǒng)和監(jiān)控分系統(tǒng)的安全性需求為重要,信號(hào)處理分系統(tǒng)的安全性需求為非常重要。
根據(jù)判斷結(jié)果可知,雷達(dá)軟件終端分系統(tǒng)和監(jiān)控分系統(tǒng)的安全性需求分析結(jié)果相同,均為重要,為了對(duì)這兩個(gè)分系統(tǒng)進(jìn)一步進(jìn)行分析和排序,采用綜合測(cè)度模型進(jìn)行求解。
步驟1計(jì)算綜合加權(quán)決策向量η
根據(jù)式(13),可以求得各個(gè)灰類對(duì)應(yīng)的綜合加權(quán)決策向量依次為:
步驟2計(jì)算綜合測(cè)度決策系數(shù)向量ρi
根據(jù)式(14),可以求得分系統(tǒng)N1的綜合測(cè)度決策系數(shù)向量ρ1的各分量依次為:
因此,可以得到ρ1為:
(0.205 9,0.254 9,0.311 5,0.294 1)
同理,可以求得分系統(tǒng)N2的綜合測(cè)度決策系數(shù)向量ρ2為:
(0.203 5,0.260 8,0.314 3,0.307 8)
步驟3綜合判斷
表4 傳統(tǒng)模型單位化綜合聚類系數(shù)
3個(gè)分系統(tǒng)對(duì)應(yīng)的最大單位化綜合聚類系數(shù)分別為0.642 3、0.641 8和0.538 9,對(duì)應(yīng)的灰類分別為重要、重要和非常重要。
將傳統(tǒng)灰色聚類模型方法和本文方法進(jìn)行對(duì)比,可以發(fā)現(xiàn)兩者的分析結(jié)果相同,說明本文的方法具有正確性。但是,兩者也存在一定差異性,比如傳統(tǒng)灰色聚類模型的區(qū)分度不如改進(jìn)灰色聚類模型明顯,改進(jìn)灰色聚類模型的分析結(jié)果更具有說服力,也更準(zhǔn)確;此外,傳統(tǒng)灰色聚類模型對(duì)于分析結(jié)果相近的兩個(gè)分系統(tǒng)不能進(jìn)一步對(duì)其重要程度進(jìn)行判斷,改進(jìn)灰色模型可以很好地解決這個(gè)問題。
1) 對(duì)雷達(dá)軟件系統(tǒng)安全性需求進(jìn)行了理論分析并建立了雷達(dá)軟件安全性需求指標(biāo)體系;
2) 提出了一種基于熵權(quán)法和改進(jìn)灰色聚類模型的雷達(dá)軟件安全性需求分析方法,并建立了相應(yīng)的模型;
3) 利用該方法對(duì)某型雷達(dá)軟件的安全性需求進(jìn)行分析,得到分析結(jié)果并對(duì)各系統(tǒng)的安全性需求重要程度進(jìn)行排序;
4) 將該方法與傳統(tǒng)灰色聚類模型進(jìn)行對(duì)比分析,證明了該方法的正確性、科學(xué)性和先進(jìn)性。