謝巧玲
(西安文理學(xué)院 信息工程學(xué)院,西安 710068 )
開(kāi)放網(wǎng)絡(luò)環(huán)境下軟件安全性測(cè)試技術(shù)研究
謝巧玲
(西安文理學(xué)院 信息工程學(xué)院,西安 710068 )
在開(kāi)放網(wǎng)絡(luò)環(huán)境下軟件容易受到攻擊,導(dǎo)致軟件故障,需要進(jìn)行安全性測(cè)試,針對(duì)無(wú)監(jiān)督類測(cè)試方法開(kāi)銷較大和復(fù)雜度較高的問(wèn)題,提出一種基于半監(jiān)督自適應(yīng)學(xué)習(xí)算法的軟件安全性測(cè)試方法;首先采用模糊度量原理構(gòu)建軟件安全測(cè)試的半監(jiān)督學(xué)習(xí)數(shù)學(xué)模型,分析軟件產(chǎn)生安全性故障的數(shù)組特征,然后通過(guò)軟件故障的熵特征分布方法進(jìn)行軟件的可靠性度量,在開(kāi)放式網(wǎng)絡(luò)環(huán)境下建立軟件可靠性云決策模型,實(shí)現(xiàn)安全性測(cè)試和故障定位;最后通過(guò)仿真實(shí)驗(yàn)進(jìn)行性能驗(yàn)證,結(jié)果表明,采用該方法進(jìn)行軟件安全性測(cè)試,對(duì)軟件故障定位的準(zhǔn)確度較高,測(cè)試的實(shí)時(shí)性較好,保障了軟件的安全可靠運(yùn)行。
開(kāi)放網(wǎng)絡(luò)環(huán)境;軟件;測(cè)試;安全;半監(jiān)督學(xué)習(xí)
隨著信息處理技術(shù)的不斷推廣和數(shù)字化技術(shù)的深化發(fā)展,大規(guī)模的軟件技術(shù)應(yīng)用迅速普及,為了滿足網(wǎng)絡(luò)用戶對(duì)大數(shù)據(jù)傳輸和處理的需要,需要通過(guò)軟件數(shù)據(jù)分析和信息傳輸調(diào)度。伴隨著網(wǎng)絡(luò)大數(shù)據(jù)信息傳輸?shù)难杆僭鲩L(zhǎng),軟件作為信息處理的重要工具,是通過(guò)一定的編程和算法設(shè)計(jì)并實(shí)現(xiàn)一定功能的程序代碼,軟件在信息處理、工業(yè)控制、單片機(jī)控制、計(jì)算機(jī)控制、網(wǎng)絡(luò)通信以及人工智能等領(lǐng)域都表現(xiàn)出卓越的應(yīng)用價(jià)值,人類越來(lái)越離不開(kāi)軟件進(jìn)行相應(yīng)的過(guò)程控制,軟件的可靠性和安全性在一定程度上決定了軟件的可移植性和壽命周期,研究軟件的安全性測(cè)試技術(shù),對(duì)改善軟件性能,提高軟件應(yīng)用的普適性方面具有重要意義[1]。
軟件的安全性測(cè)試主要是實(shí)現(xiàn)軟件的故障定位識(shí)別、Bug挖掘和錯(cuò)誤代碼糾正等功能,軟件測(cè)試的目的是保障軟件運(yùn)行的可靠性和穩(wěn)定性,通過(guò)高質(zhì)量且有效的測(cè)試實(shí)例進(jìn)行軟件分析,進(jìn)而提高軟件嵌入式系統(tǒng)和相關(guān)應(yīng)用產(chǎn)品的可靠度,對(duì)軟件安全性測(cè)試的原理是進(jìn)行軟件代碼運(yùn)行故障的特征提取和分析研究,通過(guò)良好的測(cè)試實(shí)例分析軟件缺陷,得出缺陷報(bào)告,為軟件設(shè)計(jì)者提供設(shè)計(jì)參考。當(dāng)前,對(duì)軟件的安全性測(cè)試方法主要采用的是監(jiān)督學(xué)習(xí)下的無(wú)監(jiān)督類學(xué)習(xí)方法[2],通過(guò)對(duì)軟件故障特征的信息素定位分析,得到軟件分布的虛擬信息資源,結(jié)合學(xué)習(xí)算法進(jìn)行自適應(yīng)故障定位和資源信息匹配,根據(jù)這一測(cè)試原理,取得了一定的研究成果,其中,文獻(xiàn)[3]中提出一種面向安全性分析的嵌入式軟件測(cè)試方法,基于聚類技術(shù)和專家檢驗(yàn)技術(shù)進(jìn)行軟件的故障點(diǎn)聚類分析,采用沒(méi)有監(jiān)督的訓(xùn)練算法進(jìn)行故障屬性歸類,實(shí)現(xiàn)軟件安全性測(cè)試,具有一定的安全檢測(cè)性能,但該方法在故障聚類中受到不確定擾動(dòng)和不規(guī)則代碼因素等影響,對(duì)軟件代碼之間的耦合差異性識(shí)別精度不高;文獻(xiàn)[4]采用基于最小點(diǎn)覆蓋的控制平面跨層生存性設(shè)計(jì)進(jìn)行軟件安全性定義與測(cè)試,建立二維空間的四叉樹模型,實(shí)現(xiàn)對(duì)軟件的可靠性、可用性評(píng)估,但該方法存在的問(wèn)題是故障漏檢率較高;文獻(xiàn)[5]中提出一種基于最壞分離的聯(lián)合分辨率判別分析的軟件可靠性度量與安全測(cè)試技術(shù),結(jié)合故障樹分析方法進(jìn)行安全性聯(lián)合分辨,該方法采用的是無(wú)監(jiān)督類學(xué)習(xí)方法,在開(kāi)放式網(wǎng)絡(luò)環(huán)境下存在開(kāi)銷較大和復(fù)雜度較高等問(wèn)題。
為了解決傳統(tǒng)方法在軟件安全性測(cè)試方面存在的問(wèn)題,本文提出一種基于半監(jiān)督自適應(yīng)學(xué)習(xí)算法的軟件安全性測(cè)試方法。首先采用模糊度量原理構(gòu)建軟件安全測(cè)試的半監(jiān)督學(xué)習(xí)數(shù)學(xué)模型,分析軟件產(chǎn)生安全性故障的數(shù)組特征,然后通過(guò)軟件故障的熵特征分布方法進(jìn)行軟件的可靠性度量,在開(kāi)放式網(wǎng)絡(luò)環(huán)境下建立軟件可靠性云決策模型,實(shí)現(xiàn)安全性測(cè)試和故障定位。最后通過(guò)仿真測(cè)試進(jìn)行性能驗(yàn)證,得出有效性結(jié)論。
在開(kāi)放式網(wǎng)絡(luò)環(huán)境下軟件質(zhì)量受到軟件的代碼可擴(kuò)展性、防御攻擊性以及軟件的可移植性等方面因素的影響,軟件安全測(cè)評(píng)技術(shù)就是通過(guò)對(duì)軟件的可靠性評(píng)估,挖掘軟件存儲(chǔ)的BUG和代碼價(jià)值屬性,通過(guò)產(chǎn)品的內(nèi)部屬性分析,構(gòu)建軟件產(chǎn)品的質(zhì)量監(jiān)督機(jī)制,實(shí)現(xiàn)對(duì)軟件質(zhì)量的內(nèi)部和外部屬性的監(jiān)督和測(cè)量。當(dāng)前主流的軟件測(cè)試模型有McCall模型、Boehm模型和ISO/IEC 9126模型,這三種模型通過(guò)對(duì)軟件可靠性、程序語(yǔ)言復(fù)雜度的定量分析和評(píng)估,為軟件的應(yīng)用部門、移植部門和維護(hù)部門提供有用的數(shù)據(jù)參考,降低在開(kāi)放式網(wǎng)絡(luò)環(huán)境下軟件容易受到攻擊的缺陷和交易風(fēng)險(xiǎn),通過(guò)軟件的安全性測(cè)試,完善軟件的質(zhì)量評(píng)價(jià)機(jī)制。軟件的安全性測(cè)試分為三個(gè)層面,分別為代碼調(diào)試層、虛擬信息資源管理層和物理資源管理層[6],對(duì)軟件運(yùn)行代碼進(jìn)行安全建設(shè)管理,結(jié)合專家數(shù)據(jù)庫(kù)信息系統(tǒng)進(jìn)行資源信息部署和虛擬應(yīng)用資源的分類識(shí)別,構(gòu)建服務(wù)器資源,在應(yīng)用軟件層對(duì)軟件產(chǎn)品進(jìn)行定向評(píng)估和質(zhì)量評(píng)價(jià),分析軟件產(chǎn)生安全性故障的數(shù)組特征,然后通過(guò)軟件故障的熵特征分布方法進(jìn)行軟件的可靠性度量,開(kāi)放式網(wǎng)絡(luò)環(huán)境下軟件安全性測(cè)試的三層結(jié)構(gòu)模型如圖1所示。
圖1 開(kāi)放式網(wǎng)絡(luò)環(huán)境下軟件安全性測(cè)試的三層結(jié)構(gòu)模型
分析圖1得知,軟件的安全性測(cè)試與軟件開(kāi)發(fā)過(guò)程緊密相關(guān),通過(guò)ISO/IEC 9126模型分析[7],軟件安全性測(cè)試由內(nèi)容組成包括了有用性、可靠性、可維護(hù)性、可移植性,通過(guò)多個(gè)層次的量化分析,在軟件測(cè)試中,需要對(duì)軟件運(yùn)行的爭(zhēng)取性、可靠性、效率、完整性和可用性進(jìn)行定量評(píng)估,采用三層測(cè)試結(jié)果,得到軟件安全性測(cè)試的指標(biāo)體系描述如圖2所示。通過(guò)對(duì)軟件安全性測(cè)試的指標(biāo)體系建模,通過(guò)對(duì)軟件的底層設(shè)計(jì)和頂層質(zhì)量評(píng)估,在Boehm模型中進(jìn)行量化分析,以滿足客戶提出的標(biāo)準(zhǔn)和要求。
圖2 軟件安全性測(cè)試的指標(biāo)體系
在上述進(jìn)行了軟件安全性測(cè)試的指標(biāo)體系分析的基礎(chǔ)上,進(jìn)行安全性測(cè)試數(shù)學(xué)建模,建立軟件安全測(cè)試的半監(jiān)督學(xué)習(xí)數(shù)學(xué)模型,采用模糊度量原理構(gòu)建軟件安全測(cè)試的半監(jiān)督學(xué)習(xí)數(shù)學(xué)模型[8],首先給出軟件質(zhì)量評(píng)價(jià)的量度模型體系如圖3所示。
圖3 軟件質(zhì)量評(píng)價(jià)的量度模型體系
輸出:SCi(Exi,Eni,Hei),i=1,2,3,…,n。
2)Eni=(Exi-Exi-1)/3;(當(dāng)i=1時(shí),令En1=(Ex2-Ex1)/3;)
Hei=α。(其中α為一個(gè)常數(shù))
Od1Rd2R={o∈O:od1>d1mid,od2>d2mid}
(1)
Od1Ld2R={o∈O:od1>d1mid,od2>d2mid}
(2)
Od1Ld2L={o∈O:od1≤d1mid,od2≤d2mid}
(3)
Od1Rd2L={o∈O:od1>d1mid,od2≥d2mid}
(4)
以上各式分別表示的是軟件的故障密度、測(cè)試覆蓋率、平均失效間隔時(shí)間、平均恢復(fù)時(shí)間等4個(gè)二級(jí)度量質(zhì)量,同理,對(duì)于n=3時(shí),軟件的安全性度量指標(biāo)可以分解為8個(gè)子集:μd1Ld2Rd3L,μd1Ld2Rd3R,μd1Rd2Rd3L,μd1Ld2Rd3R,μd1Ld2Ld3L,μd1Ld2Ld3R,μd1Rd2Ld3L,μd1Ld2Ld3R。
對(duì)于n維數(shù)據(jù),設(shè)權(quán)重集為V,根據(jù)軟件可靠性的依從性知V={w1,w2,w3,w4},且w1+w2+w3+w4=1,由此得到軟件修復(fù)的有效性分解的集可以表示為:μd1αd2α...dnα,α∈{L,R}。
通過(guò)上述設(shè)計(jì),建立軟件安全性測(cè)試數(shù)學(xué)模型,結(jié)合軟件產(chǎn)生安全性故障的數(shù)組特征,通過(guò)故障定位實(shí)現(xiàn)軟件安全性測(cè)試研究。
結(jié)合上述設(shè)計(jì)的軟件安全性測(cè)試的數(shù)學(xué)模型,基于半監(jiān)督自適應(yīng)學(xué)習(xí)算法進(jìn)行軟件安全性測(cè)試,通過(guò)軟件故障的熵特征分布方法進(jìn)行軟件的可靠性度量[12-13],根據(jù)環(huán)形復(fù)雜度度量方法,得到半監(jiān)督學(xué)習(xí)下軟件的測(cè)試復(fù)雜度為(b+1)vc,其中b為二叉樹的深度,v為隸屬度,c為常數(shù)。通過(guò)模糊隸屬度分析,得到軟件故障分布的熵特征形式化表示為:U→[0,1],?x∈U,x→SC(x),故障修復(fù)時(shí)間為O(m2)。不確定性度量的復(fù)雜度為O((b+1)vc+m2)。通過(guò)半監(jiān)督自適應(yīng)學(xué)習(xí)方法評(píng)估軟件測(cè)試的故障修復(fù)率FPR, 失效密度FNR,誤檢率Error:
(5)
(6)
(7)
以上這些參數(shù)滿足軟件的質(zhì)量許可要求時(shí),軟件的質(zhì)量效果較好,綜上分析,通過(guò)軟件故障的熵特征分布估計(jì)方法,得到軟件故障定位的計(jì)算式描述為[14]:
(8)
Md(Ci)=Mn(Ci)+Mo(Ci)
(9)
式中,Mo(Ci)為易恢復(fù)性指標(biāo)提下Ci(i=1,2,...,n)中的修復(fù)有效性,DC(Ci)為Ci(i=1,2,...,n)的所有子類數(shù),Mn(Ci)為Ci(i=1,2,...,n)的平均宕機(jī)時(shí)間。
綜上分析,得到本文設(shè)計(jì)的軟件測(cè)試算法描述為:
輸入:SCi(Exi,Eni,Hei),(i=1,2,…,p)及對(duì)應(yīng)權(quán)重值:w1,w2,…,wp。
輸出:軟件質(zhì)量評(píng)價(jià)的安全度量云SC(Ex,En,He),并執(zhí)行[15]:
4)重復(fù)(1)到(3),算出所有的度量指標(biāo)Si;
5)當(dāng)滿足閾值MAX(Si)時(shí),G=i。
本文設(shè)計(jì)的基于半監(jiān)督自適應(yīng)學(xué)習(xí)算法的軟件安全性測(cè)試流程如圖4所示。
圖4 軟件安全性測(cè)試流程
為了驗(yàn)證本文方法在實(shí)現(xiàn)開(kāi)放式網(wǎng)絡(luò)環(huán)境下軟件安全性測(cè)試中的應(yīng)用性能,進(jìn)行仿真實(shí)驗(yàn)分析,實(shí)驗(yàn)使用Matlab7作為仿真實(shí)驗(yàn)平臺(tái),網(wǎng)絡(luò)環(huán)境建立在開(kāi)放式的Hadoop 0.20.2平臺(tái)基礎(chǔ)上,采用Eclipse集成開(kāi)發(fā)環(huán)境進(jìn)行軟件平臺(tái)調(diào)試,軟件的質(zhì)量評(píng)價(jià)體系分為不安全、低安全、中安全、高安全和絕對(duì)安全等5個(gè)質(zhì)量等級(jí)[16-20],根據(jù)前期的數(shù)據(jù)采樣分析和實(shí)踐調(diào)試,得到不同安全等級(jí)描述的軟件安全性度量數(shù)字特征見(jiàn)表1。
表1 軟件安全性度量的數(shù)字特征
根據(jù)表1給出的實(shí)驗(yàn)指標(biāo)體系,采用本文方法進(jìn)行某大型測(cè)控軟甲的安全性測(cè)試,得到各級(jí)指標(biāo)體系下的測(cè)試數(shù)據(jù)結(jié)果見(jiàn)表2。
表2 某大型測(cè)控軟件的安全性測(cè)試數(shù)據(jù)
分析上述測(cè)試結(jié)果得知,采用本文方法進(jìn)行軟件安全性測(cè)試,軟件的各項(xiàng)測(cè)試指標(biāo),滿足設(shè)計(jì)要求,能有效保障軟件的質(zhì)量,圖5 給出了采用不同方法進(jìn)行軟件故障定位的誤差對(duì)比,分析得知,采用本文方法進(jìn)行軟件安全性測(cè)試誤差率較低,性能更優(yōu)。
圖5 軟件測(cè)試的誤差對(duì)比
本文研究了在開(kāi)放性網(wǎng)絡(luò)環(huán)境中軟件的安全性測(cè)試問(wèn)題,提出一種基于半監(jiān)督自適應(yīng)學(xué)習(xí)算法的軟件安全性測(cè)試方法。構(gòu)建軟件安全性測(cè)試的三層結(jié)構(gòu)模型,分析評(píng)價(jià)軟件安全質(zhì)量的指標(biāo)體系,構(gòu)建軟件質(zhì)量故障分布的數(shù)組特征,通過(guò)軟件故障的熵特征分布進(jìn)行軟件的可靠性度量,實(shí)現(xiàn)安全性測(cè)試和故障定位。研究得知,本文方法進(jìn)行軟件測(cè)試準(zhǔn)確性好,誤差較低,展示了較高的應(yīng)用價(jià)值。
[1] 湯永新,劉增良.軟件可信性度量模型研究進(jìn)展[J].計(jì)算機(jī)工程與應(yīng)用,2010,46(27):12-16.
[2]Zhou L M,Cai G Q,Yang J W, et al.Monte-Carlo simulation based on FTA in reliability analysis of Door System[A].Proc of International Conference on Computer and Automation Engineering[C].Piscataway:IEEE Press,2010,1(3):713-717.
[3] 林永峰,陳 亮.面向安全性分析的嵌入式軟件測(cè)試方法研究[J].現(xiàn)代電子技術(shù),2016,39(13):80-83.
[4] 熊 余,董先存,李圓圓,等.軟件定義光網(wǎng)絡(luò)中基于最小點(diǎn)覆蓋的控制平面跨層生存性設(shè)計(jì)[J].電子與信息學(xué)報(bào),2016,38(5):1211-1218.
[5] 楊磊磊,陳松燦.最壞分離的聯(lián)合分辨率判別分析[J].軟件學(xué)報(bào),2015,26(6):1386-1394.
[6] 鄭長(zhǎng)友,劉曉明,黃 松.基于蟻群算法的軟件可靠性模型參數(shù)估計(jì)方法[J].計(jì)算機(jī)應(yīng)用,2012,32(4):1147-1151.
[7] 劉玲艷,吳曉平,葉 清.云模型和混合Petri網(wǎng)相結(jié)合的系統(tǒng)可靠性評(píng)價(jià)[J].火力與指揮控制,2011,36(8):19-22.
[8] Suzukit,Kudo H.Two-dimensional non-separable block-lifting structure and its application to M-channel perfect reconstruction filter banks for lossy-to-lossless image coding[J].IEEE Transactions on Image Processing,2015,24(12):4943-4951.
[9] 謝洪安,李棟,蘇旸,等.基于聚類分析的可信網(wǎng)絡(luò)管理模型[J].計(jì)算機(jī)應(yīng)用,2016,36(9):2447-2451.
[10] 杜小陽(yáng), 龔川森, 劉建輝,等. 航空機(jī)載軟件安全性測(cè)試技術(shù)研究[J]. 科技創(chuàng)新與應(yīng)用, 2016,10(4):5-15.
[11] 陳文康, 趙光俊, 王汝英. 基于B/S結(jié)構(gòu)的電力物聯(lián)網(wǎng)應(yīng)用軟件開(kāi)發(fā)[J]. 電子設(shè)計(jì)工程, 2016, 24(22):33-35.
[12] 林永峰, 陳 亮. 面向安全性分析的嵌入式軟件測(cè)試方法研究[J]. 現(xiàn)代電子技術(shù), 2016, 39 (13):80-83.
[13] 姬忠孝, 江國(guó)華. 一種基于FTA和FDG的安全關(guān)鍵函數(shù)定位方法[J]. 計(jì)算機(jī)與現(xiàn)代化, 2016,10(4):85-89.
[14] 張 放. 計(jì)算機(jī)軟件中安全漏洞檢測(cè)技術(shù)初探[J]. 山西青年, 2016,20(6):26-30.
[15] 王勇利. 安全漏洞檢測(cè)技術(shù)在計(jì)算機(jī)軟件中應(yīng)用研究[J]. 數(shù)字技術(shù)與應(yīng)用, 2016,9(11):210-215.
[16] 吳子杰. 基于Android的可配置工業(yè)遠(yuǎn)程監(jiān)控軟件設(shè)計(jì)與實(shí)現(xiàn)[D]. 南京:南京郵電大學(xué), 2016.
[17] 蘇 欣. 計(jì)算機(jī)軟件中安全漏洞檢測(cè)技術(shù)及其應(yīng)用[J]. 智能城市, 2016,9(4):110-111.
[18] 劉 丹. 電子計(jì)算機(jī)聯(lián)鎖系統(tǒng)通信協(xié)議設(shè)計(jì)及安全性分析[J]. 電子技術(shù)與軟件工程, 2016,6(15):130-136.
[19] 甄 鵬. 嵌入式軟件開(kāi)發(fā)模式與軟件架構(gòu)研究[J]. 企業(yè)技術(shù)開(kāi)發(fā), 2016, 35(6):64-64.
[20] 段海軍, 趙根學(xué), 陳 福,等. 航空電子設(shè)備自動(dòng)測(cè)試系統(tǒng)的軟件架構(gòu)設(shè)計(jì)[J]. 計(jì)算機(jī)測(cè)量與控制, 2016, 24(9):167-169.
Research on Software Security Testing Technology in Open Network Environment
Xie Qiaoling
(School of Information Engineering, Xi′an University, Xi′an 710068,China)
The vulnerable in the open network environment software, lead to software failure, the need for safety testing, the testing method of overhead non supervisory large and complex problems, put forward a kind of software security testing methods based on semi supervised adaptive learning algorithm. First, a semi supervised learning model of fuzzy measure principle construction of software security testing, security feature array fault analysis software, then the software reliability measurement by the method of entropy feature of software fault distribution, the establishment of software reliability of cloud decision model in open network environment, security test and fault location. Finally, through simulation experiments verify the performance, results show that using the method of software security testing of software fault location accuracy, real-time test well, guarantee the safe and reliable operation of the software.
open network environment; software; testing; security; semi supervised learning
2016-12-16;
2017-03-15。
西安市科技計(jì)劃項(xiàng)目(CXY1531WL39)。
謝巧玲(1979-),女,陜西安康人,碩士,講師,主要從事軟件開(kāi)發(fā)、軟件測(cè)試方向的研究。
1671-4598(2017)08-0005-03
10.16526/j.cnki.11-4762/tp.2017.08.002
TP311
A