前言:想要寫出一篇引人入勝的文章?我們特意為您整理了多媒體后期處理軟件安全性能測試淺析范文,希望能給你帶來靈感和參考,敬請閱讀。
摘要:傳統(tǒng)軟件安全性能測試方法對于惡意代碼變種檢測命中率低,因此需要設(shè)計新的多媒體后期處理軟件安全性能測試方法。在建立安全測試框架的基礎(chǔ)上,構(gòu)建故障樹模型,利用該模型對軟件工作環(huán)境進(jìn)行定性分析,確定出現(xiàn)安全問題的原因并計算其出現(xiàn)概率。根據(jù)編譯逆向工程的靜態(tài)反編匯過程,解決最小代價的二分圖匹配問題。建立二分圖法代價矩陣,過濾出不相干節(jié)點(diǎn)。在漏洞定位中,通過規(guī)則網(wǎng)絡(luò)特征進(jìn)行補(bǔ)丁比對,找到補(bǔ)丁之間的結(jié)構(gòu)差異完成漏洞定位,實(shí)現(xiàn)多媒體后期處理軟件安全性能測試。實(shí)驗(yàn)結(jié)果表明,設(shè)計的測試方法對于惡意代碼變種檢測命中率比傳統(tǒng)方法高出12.0%,驗(yàn)證了該方法的有效性。
關(guān)鍵詞:多媒體后期處理軟件;安全性能測試;漏洞定位
0引言
軟件安全隱患是自計算機(jī)誕生就存在的一個問題。隨著計算機(jī)技術(shù)的發(fā)展,軟件的安全問題也越來越受到人們的重視。多媒體后期處理軟件是日常生活中應(yīng)用較為廣泛的軟件,它能按照指定的要求,完成對文字、圖片、聲音、視頻等文件的后期處理[1]。在網(wǎng)絡(luò)環(huán)境下,這些軟件容易受到攻擊,導(dǎo)致文件缺失,因此需要對這些多媒體后期處理軟件進(jìn)行安全性能測試。傳統(tǒng)的安全性能測試方法對于惡意代碼變種檢測的命中率低,且很大程度上依賴于人工檢測,因此本文設(shè)計了一種新的多媒體后期處理軟件安全性能測試方法。
1多媒體后期處理軟件安全性能測試
多媒體后期處理軟件安全性能測試標(biāo)準(zhǔn)是軟件安全性需求提取、軟件安全性分析、安全性測試和評估的基礎(chǔ),本文對幾種安全性能測試標(biāo)準(zhǔn)進(jìn)行分析[2-3],設(shè)計了適用于多媒體后期處理軟件的安全性能測試框架,如圖1所示。本文在該安全性能測試框架的基礎(chǔ)上,對多媒體后期處理軟件安全性能測試方法進(jìn)行研究。
1.1建立故障樹模型
多媒體后期處理軟件的安全性測試,關(guān)注的是軟件在運(yùn)行過程中是否會造成多媒體文件丟失與損壞以及失效等情況。通過對失效軟件與系統(tǒng)外部環(huán)境的狀態(tài)檢測,可以發(fā)現(xiàn)軟件安全性缺陷,因此需要對后期處理軟件進(jìn)行安全性能測試建模[4-5]。本文利用故障樹模型作為多媒體后期處理軟件的安全性能測試模型。故障樹模型最早是美國貝爾實(shí)驗(yàn)室對信息工程領(lǐng)域系統(tǒng)安全性進(jìn)行分析的一種技術(shù)。隨著人們對軟件工程安全性的重視,故障樹模型也在不斷進(jìn)化。對于軟件中某一危險分析的故障樹模型如圖2所示。圖2中,H表示危險,也為故障樹模型的頂事件。G1到G4為中間事件,A1到A5表示基本事件,為故障樹的葉子節(jié)點(diǎn)。通過對故障樹模型的分析,可以發(fā)現(xiàn)導(dǎo)致危險H發(fā)生的原因?yàn)镚1+G2,同理可以推導(dǎo)出G1到G4發(fā)生的直接原因,最后可以推導(dǎo)出H=A1A2+(A)2+A3A4A5(1)利用故障樹對軟件工作環(huán)境進(jìn)行分析,確定導(dǎo)致其出現(xiàn)安全問題的原因。在故障樹模型中,割集是模型中導(dǎo)致頂事件發(fā)生的基本事件的集合,最小割集是割集的子集,也是軟件安全問題出現(xiàn)的直接原因[6]。假設(shè)用xi表示軟件中的第i個文件失效,那么導(dǎo)致軟件發(fā)生危險的最小割集為C=∩cixi(2)可以計算出軟件出現(xiàn)安全問題的概率為η=∪jn∩Cjixi(3)故障樹模型的定量計算是在定性分析的基礎(chǔ)上進(jìn)行的,通過定性分析,確定造成安全問題發(fā)生的事件。安全問題出現(xiàn)的概率取決于基本事件,通過對安全問題事件中每個基本事件發(fā)生概率的計算,得到安全問題的出現(xiàn)概率,至此完成多媒體后期處理軟件安全性能測試建模。
1.2檢測惡意代碼
惡意代碼主要是指在進(jìn)行軟件編程時,設(shè)置一些沒有作用卻具有潛在威脅的代碼。惡意代碼的檢測包括檢測新惡意代碼和惡意代碼變種。代碼語義、代碼行為和代碼結(jié)構(gòu)都是惡意代碼的特征,對于軟件中的惡意代碼,惡意代碼變種的比例會遠(yuǎn)遠(yuǎn)高于新惡意代碼[7-8]?;谶@種情況,本文選用逆向工程技術(shù),在二進(jìn)制機(jī)器碼中恢復(fù)高級語言的結(jié)構(gòu)以及語義。在一般情況下,逆向工程主要分為反編譯和反匯編,反編譯是利用匯編語言和流圖恢復(fù)高級語言的過程,反匯編分為靜態(tài)反匯編和動態(tài)反匯編,靜態(tài)反匯編是指在反匯編過程中代碼被分析,但不執(zhí)行;動態(tài)反匯編是指在程序中已經(jīng)輸入與執(zhí)行了代碼。具體過程如圖3所示。本文用到的逆向工程技術(shù)是靜態(tài)反匯編過程,原理為:根據(jù)對多種流圖結(jié)構(gòu)的分析以及對反匯編代碼的閱讀與理解,充分掌握代碼相關(guān)功能,并獲取其存在的安全缺陷。首先通過函數(shù)調(diào)用圖來對代碼結(jié)構(gòu)和行為特性進(jìn)行靜態(tài)表示,然后利用二分法計算近似的圖編輯距離。圖編輯距離主要是指在一個圖轉(zhuǎn)換為另一個圖過程中所需要的所有編輯操作。將所有圖編輯距離構(gòu)成一個集合,利用集合中的元素來衡量圖的相似度[9],檢測過程如圖4所示。上述過程中的圖相似度匹配問題即最小代價的二分圖匹配問題,利用匈牙利算法匹配兩個規(guī)模不等的圖,其核心是建立二分圖法代價矩陣,矩陣的構(gòu)造如圖5所示?;谏鲜鏊鶚?gòu)建的二分圖匹配的代價矩陣,采用匈牙利算法進(jìn)行最小代價的二分圖匹配,計算實(shí)際的圖編輯距離:edϕ(g,h)=NodeCost+EdgeCost(4)NodeCost為節(jié)點(diǎn)代價,EdgeCost為邊代價,其中節(jié)點(diǎn)代價為NodeCost=C(σRV)+C(σIV)+C(σR)(5)C(σRV)為插入節(jié)點(diǎn)的代價,C(σIV)為連接兩個空節(jié)點(diǎn)的代價,C(σR)為圖形節(jié)點(diǎn)重命名代價。邊代價可以表示為EdgeCost=||Eg+||Eh-2×CE(6)||Eg為刪除邊代價,||Eh為添加邊代價。匈牙利算法主要用于線性任務(wù)分配問題,從二分圖匹配的代價矩陣出發(fā),使完全匹配變成最大匹配,滿足二分圖的最大匹配問題[10-11]。利用構(gòu)建的故障樹模型,葉子節(jié)點(diǎn)數(shù)量越多,過濾出不相干節(jié)點(diǎn)的能力越強(qiáng),進(jìn)而提高惡意代碼檢測效率。
1.3定位漏洞
軟件的漏洞主要來源于軟件設(shè)計缺陷以及編碼漏洞,如果軟件漏洞遭到惡意代碼的攻擊,勢必會對軟件安全造成極大威脅,軟件漏洞的定位對于軟件修復(fù)與升級工作具有重要意義。因此,提出了基于規(guī)則網(wǎng)絡(luò)特征進(jìn)行補(bǔ)丁比對和漏洞定位方法。以逆向工程得到的軟件函數(shù)調(diào)用圖為基礎(chǔ)[12-13],將軟件看作由多個節(jié)點(diǎn)和邊構(gòu)成的規(guī)則網(wǎng)絡(luò),如圖6所示。將待測試軟件的函數(shù)調(diào)用圖視為一個規(guī)則網(wǎng)絡(luò),用該網(wǎng)絡(luò)的特征量來表示軟件的圖結(jié)構(gòu)特征[14]。需要提取的規(guī)則網(wǎng)絡(luò)特征量主要包括平均路徑長度、節(jié)點(diǎn)分布以及網(wǎng)絡(luò)中的集聚系數(shù)、介數(shù)以及連通集團(tuán),其中平均路徑長度的計算式為l=∑i,jSL(Sij)C2n(7)i、j為網(wǎng)絡(luò)中任意兩點(diǎn),Sij為最短路徑集合,SL(Sij)為最短路徑的長度,n為節(jié)點(diǎn)數(shù)量。完成上述特征量計算后,生成并對比結(jié)構(gòu)化簽名,根據(jù)連通集團(tuán)遞歸分裂原理獲取兩個補(bǔ)丁之間的結(jié)構(gòu)差異,進(jìn)而定位漏洞產(chǎn)生的粗略函數(shù)級位置[15],在此基礎(chǔ)上通過對控制流程圖級的分析進(jìn)行漏洞位置的精準(zhǔn)定位。漏洞定位流程如圖7所示。至此完成了多媒體后期處理軟件安全性能測試方法設(shè)計。
2實(shí)驗(yàn)
2.1實(shí)驗(yàn)準(zhǔn)備
為了驗(yàn)證本文設(shè)計的多媒體后期處理軟件安全性能測試方法的有效性,需要進(jìn)行實(shí)驗(yàn)。首先確定實(shí)驗(yàn)環(huán)境和所用工具,如表1所示。設(shè)置實(shí)驗(yàn)對象,在某多媒體后期處理軟件中設(shè)置主要包括以下幾種類型的代碼:蠕蟲、木馬、后門等惡意代碼和非惡意代碼共4510個樣本。其中,節(jié)點(diǎn)個數(shù)區(qū)間分布如表2:在上述實(shí)驗(yàn)環(huán)境下,使用本文方法與傳統(tǒng)方法對該軟件進(jìn)行安全性能測試,統(tǒng)計惡意代碼的命中率,并將實(shí)驗(yàn)結(jié)果進(jìn)行對比。
2.2實(shí)驗(yàn)結(jié)果與分析
本文實(shí)驗(yàn)主要對惡意代碼命中率進(jìn)行對比,命中率為檢測樣本中K個最近鄰居是同類型惡意代碼的數(shù)量與總數(shù)K的比值,從惡意代碼庫中隨機(jī)選取8個樣本,進(jìn)行對比測試,結(jié)果如表3:統(tǒng)計上述隨機(jī)選取樣本的惡意代碼命中率,并計算平均命中率。本文方法的平均命中率為82.4%,傳統(tǒng)方法的平均命中率為70.4%,驗(yàn)證了本文設(shè)計的多媒體后期處理軟件安全性能測試方法的優(yōu)越性。
3結(jié)束語
本文設(shè)計的多媒體后期處理軟件安全性能測試方法主要是從測試角度出發(fā),發(fā)現(xiàn)軟件本身或運(yùn)行環(huán)境中的潛在危險,建立安全性能測試的故障樹模型,利用該模型對軟件工作環(huán)境進(jìn)行定性分析,確定出現(xiàn)安全問題的原因并計算安全問題出現(xiàn)的概率。利用編譯逆向工程的靜態(tài)反編匯過程,解決最小代價的二分圖匹配問題,利用二分圖法代價矩陣濾出不相干節(jié)點(diǎn),進(jìn)而提高惡意代碼檢測效率?;谝?guī)則網(wǎng)絡(luò)特征進(jìn)行補(bǔ)丁比對,找到補(bǔ)丁之間的結(jié)構(gòu)差異完成漏洞的定位。實(shí)驗(yàn)結(jié)果表明,本文方法在提高惡意代碼的變種檢測命中率方面具有有效性。
作者:魏歡 單位:南昌航空大學(xué) 安徽工業(yè)經(jīng)濟(jì)職業(yè)技術(shù)學(xué)院