公務(wù)員期刊網(wǎng) 論文中心 正文

多媒體后期處理軟件安全性能測(cè)試淺析

前言:想要寫出一篇引人入勝的文章?我們特意為您整理了多媒體后期處理軟件安全性能測(cè)試淺析范文,希望能給你帶來(lái)靈感和參考,敬請(qǐng)閱讀。

多媒體后期處理軟件安全性能測(cè)試淺析

摘要:傳統(tǒng)軟件安全性能測(cè)試方法對(duì)于惡意代碼變種檢測(cè)命中率低,因此需要設(shè)計(jì)新的多媒體后期處理軟件安全性能測(cè)試方法。在建立安全測(cè)試框架的基礎(chǔ)上,構(gòu)建故障樹模型,利用該模型對(duì)軟件工作環(huán)境進(jìn)行定性分析,確定出現(xiàn)安全問(wèn)題的原因并計(jì)算其出現(xiàn)概率。根據(jù)編譯逆向工程的靜態(tài)反編匯過(guò)程,解決最小代價(jià)的二分圖匹配問(wèn)題。建立二分圖法代價(jià)矩陣,過(guò)濾出不相干節(jié)點(diǎn)。在漏洞定位中,通過(guò)規(guī)則網(wǎng)絡(luò)特征進(jìn)行補(bǔ)丁比對(duì),找到補(bǔ)丁之間的結(jié)構(gòu)差異完成漏洞定位,實(shí)現(xiàn)多媒體后期處理軟件安全性能測(cè)試。實(shí)驗(yàn)結(jié)果表明,設(shè)計(jì)的測(cè)試方法對(duì)于惡意代碼變種檢測(cè)命中率比傳統(tǒng)方法高出12.0%,驗(yàn)證了該方法的有效性。

關(guān)鍵詞:多媒體后期處理軟件;安全性能測(cè)試;漏洞定位

0引言

軟件安全隱患是自計(jì)算機(jī)誕生就存在的一個(gè)問(wèn)題。隨著計(jì)算機(jī)技術(shù)的發(fā)展,軟件的安全問(wèn)題也越來(lái)越受到人們的重視。多媒體后期處理軟件是日常生活中應(yīng)用較為廣泛的軟件,它能按照指定的要求,完成對(duì)文字、圖片、聲音、視頻等文件的后期處理[1]。在網(wǎng)絡(luò)環(huán)境下,這些軟件容易受到攻擊,導(dǎo)致文件缺失,因此需要對(duì)這些多媒體后期處理軟件進(jìn)行安全性能測(cè)試。傳統(tǒng)的安全性能測(cè)試方法對(duì)于惡意代碼變種檢測(cè)的命中率低,且很大程度上依賴于人工檢測(cè),因此本文設(shè)計(jì)了一種新的多媒體后期處理軟件安全性能測(cè)試方法。

1多媒體后期處理軟件安全性能測(cè)試

多媒體后期處理軟件安全性能測(cè)試標(biāo)準(zhǔn)是軟件安全性需求提取、軟件安全性分析、安全性測(cè)試和評(píng)估的基礎(chǔ),本文對(duì)幾種安全性能測(cè)試標(biāo)準(zhǔn)進(jìn)行分析[2-3],設(shè)計(jì)了適用于多媒體后期處理軟件的安全性能測(cè)試框架,如圖1所示。本文在該安全性能測(cè)試框架的基礎(chǔ)上,對(duì)多媒體后期處理軟件安全性能測(cè)試方法進(jìn)行研究。

1.1建立故障樹模型

多媒體后期處理軟件的安全性測(cè)試,關(guān)注的是軟件在運(yùn)行過(guò)程中是否會(huì)造成多媒體文件丟失與損壞以及失效等情況。通過(guò)對(duì)失效軟件與系統(tǒng)外部環(huán)境的狀態(tài)檢測(cè),可以發(fā)現(xiàn)軟件安全性缺陷,因此需要對(duì)后期處理軟件進(jìn)行安全性能測(cè)試建模[4-5]。本文利用故障樹模型作為多媒體后期處理軟件的安全性能測(cè)試模型。故障樹模型最早是美國(guó)貝爾實(shí)驗(yàn)室對(duì)信息工程領(lǐng)域系統(tǒng)安全性進(jìn)行分析的一種技術(shù)。隨著人們對(duì)軟件工程安全性的重視,故障樹模型也在不斷進(jìn)化。對(duì)于軟件中某一危險(xiǎn)分析的故障樹模型如圖2所示。圖2中,H表示危險(xiǎn),也為故障樹模型的頂事件。G1到G4為中間事件,A1到A5表示基本事件,為故障樹的葉子節(jié)點(diǎn)。通過(guò)對(duì)故障樹模型的分析,可以發(fā)現(xiàn)導(dǎo)致危險(xiǎn)H發(fā)生的原因?yàn)镚1+G2,同理可以推導(dǎo)出G1到G4發(fā)生的直接原因,最后可以推導(dǎo)出H=A1A2+(A)2+A3A4A5(1)利用故障樹對(duì)軟件工作環(huán)境進(jìn)行分析,確定導(dǎo)致其出現(xiàn)安全問(wèn)題的原因。在故障樹模型中,割集是模型中導(dǎo)致頂事件發(fā)生的基本事件的集合,最小割集是割集的子集,也是軟件安全問(wèn)題出現(xiàn)的直接原因[6]。假設(shè)用xi表示軟件中的第i個(gè)文件失效,那么導(dǎo)致軟件發(fā)生危險(xiǎn)的最小割集為C=∩cixi(2)可以計(jì)算出軟件出現(xiàn)安全問(wèn)題的概率為η=∪jn∩Cjixi(3)故障樹模型的定量計(jì)算是在定性分析的基礎(chǔ)上進(jìn)行的,通過(guò)定性分析,確定造成安全問(wèn)題發(fā)生的事件。安全問(wèn)題出現(xiàn)的概率取決于基本事件,通過(guò)對(duì)安全問(wèn)題事件中每個(gè)基本事件發(fā)生概率的計(jì)算,得到安全問(wèn)題的出現(xiàn)概率,至此完成多媒體后期處理軟件安全性能測(cè)試建模。

1.2檢測(cè)惡意代碼

惡意代碼主要是指在進(jìn)行軟件編程時(shí),設(shè)置一些沒(méi)有作用卻具有潛在威脅的代碼。惡意代碼的檢測(cè)包括檢測(cè)新惡意代碼和惡意代碼變種。代碼語(yǔ)義、代碼行為和代碼結(jié)構(gòu)都是惡意代碼的特征,對(duì)于軟件中的惡意代碼,惡意代碼變種的比例會(huì)遠(yuǎn)遠(yuǎn)高于新惡意代碼[7-8]。基于這種情況,本文選用逆向工程技術(shù),在二進(jìn)制機(jī)器碼中恢復(fù)高級(jí)語(yǔ)言的結(jié)構(gòu)以及語(yǔ)義。在一般情況下,逆向工程主要分為反編譯和反匯編,反編譯是利用匯編語(yǔ)言和流圖恢復(fù)高級(jí)語(yǔ)言的過(guò)程,反匯編分為靜態(tài)反匯編和動(dòng)態(tài)反匯編,靜態(tài)反匯編是指在反匯編過(guò)程中代碼被分析,但不執(zhí)行;動(dòng)態(tài)反匯編是指在程序中已經(jīng)輸入與執(zhí)行了代碼。具體過(guò)程如圖3所示。本文用到的逆向工程技術(shù)是靜態(tài)反匯編過(guò)程,原理為:根據(jù)對(duì)多種流圖結(jié)構(gòu)的分析以及對(duì)反匯編代碼的閱讀與理解,充分掌握代碼相關(guān)功能,并獲取其存在的安全缺陷。首先通過(guò)函數(shù)調(diào)用圖來(lái)對(duì)代碼結(jié)構(gòu)和行為特性進(jìn)行靜態(tài)表示,然后利用二分法計(jì)算近似的圖編輯距離。圖編輯距離主要是指在一個(gè)圖轉(zhuǎn)換為另一個(gè)圖過(guò)程中所需要的所有編輯操作。將所有圖編輯距離構(gòu)成一個(gè)集合,利用集合中的元素來(lái)衡量圖的相似度[9],檢測(cè)過(guò)程如圖4所示。上述過(guò)程中的圖相似度匹配問(wèn)題即最小代價(jià)的二分圖匹配問(wèn)題,利用匈牙利算法匹配兩個(gè)規(guī)模不等的圖,其核心是建立二分圖法代價(jià)矩陣,矩陣的構(gòu)造如圖5所示。基于上述所構(gòu)建的二分圖匹配的代價(jià)矩陣,采用匈牙利算法進(jìn)行最小代價(jià)的二分圖匹配,計(jì)算實(shí)際的圖編輯距離:edϕ(g,h)=NodeCost+EdgeCost(4)NodeCost為節(jié)點(diǎn)代價(jià),EdgeCost為邊代價(jià),其中節(jié)點(diǎn)代價(jià)為NodeCost=C(σRV)+C(σIV)+C(σR)(5)C(σRV)為插入節(jié)點(diǎn)的代價(jià),C(σIV)為連接兩個(gè)空節(jié)點(diǎn)的代價(jià),C(σR)為圖形節(jié)點(diǎn)重命名代價(jià)。邊代價(jià)可以表示為EdgeCost=||Eg+||Eh-2×CE(6)||Eg為刪除邊代價(jià),||Eh為添加邊代價(jià)。匈牙利算法主要用于線性任務(wù)分配問(wèn)題,從二分圖匹配的代價(jià)矩陣出發(fā),使完全匹配變成最大匹配,滿足二分圖的最大匹配問(wèn)題[10-11]。利用構(gòu)建的故障樹模型,葉子節(jié)點(diǎn)數(shù)量越多,過(guò)濾出不相干節(jié)點(diǎn)的能力越強(qiáng),進(jìn)而提高惡意代碼檢測(cè)效率。

1.3定位漏洞

軟件的漏洞主要來(lái)源于軟件設(shè)計(jì)缺陷以及編碼漏洞,如果軟件漏洞遭到惡意代碼的攻擊,勢(shì)必會(huì)對(duì)軟件安全造成極大威脅,軟件漏洞的定位對(duì)于軟件修復(fù)與升級(jí)工作具有重要意義。因此,提出了基于規(guī)則網(wǎng)絡(luò)特征進(jìn)行補(bǔ)丁比對(duì)和漏洞定位方法。以逆向工程得到的軟件函數(shù)調(diào)用圖為基礎(chǔ)[12-13],將軟件看作由多個(gè)節(jié)點(diǎn)和邊構(gòu)成的規(guī)則網(wǎng)絡(luò),如圖6所示。將待測(cè)試軟件的函數(shù)調(diào)用圖視為一個(gè)規(guī)則網(wǎng)絡(luò),用該網(wǎng)絡(luò)的特征量來(lái)表示軟件的圖結(jié)構(gòu)特征[14]。需要提取的規(guī)則網(wǎng)絡(luò)特征量主要包括平均路徑長(zhǎng)度、節(jié)點(diǎn)分布以及網(wǎng)絡(luò)中的集聚系數(shù)、介數(shù)以及連通集團(tuán),其中平均路徑長(zhǎng)度的計(jì)算式為l=∑i,jSL(Sij)C2n(7)i、j為網(wǎng)絡(luò)中任意兩點(diǎn),Sij為最短路徑集合,SL(Sij)為最短路徑的長(zhǎng)度,n為節(jié)點(diǎn)數(shù)量。完成上述特征量計(jì)算后,生成并對(duì)比結(jié)構(gòu)化簽名,根據(jù)連通集團(tuán)遞歸分裂原理獲取兩個(gè)補(bǔ)丁之間的結(jié)構(gòu)差異,進(jìn)而定位漏洞產(chǎn)生的粗略函數(shù)級(jí)位置[15],在此基礎(chǔ)上通過(guò)對(duì)控制流程圖級(jí)的分析進(jìn)行漏洞位置的精準(zhǔn)定位。漏洞定位流程如圖7所示。至此完成了多媒體后期處理軟件安全性能測(cè)試方法設(shè)計(jì)。

2實(shí)驗(yàn)

2.1實(shí)驗(yàn)準(zhǔn)備

為了驗(yàn)證本文設(shè)計(jì)的多媒體后期處理軟件安全性能測(cè)試方法的有效性,需要進(jìn)行實(shí)驗(yàn)。首先確定實(shí)驗(yàn)環(huán)境和所用工具,如表1所示。設(shè)置實(shí)驗(yàn)對(duì)象,在某多媒體后期處理軟件中設(shè)置主要包括以下幾種類型的代碼:蠕蟲、木馬、后門等惡意代碼和非惡意代碼共4510個(gè)樣本。其中,節(jié)點(diǎn)個(gè)數(shù)區(qū)間分布如表2:在上述實(shí)驗(yàn)環(huán)境下,使用本文方法與傳統(tǒng)方法對(duì)該軟件進(jìn)行安全性能測(cè)試,統(tǒng)計(jì)惡意代碼的命中率,并將實(shí)驗(yàn)結(jié)果進(jìn)行對(duì)比。

2.2實(shí)驗(yàn)結(jié)果與分析

本文實(shí)驗(yàn)主要對(duì)惡意代碼命中率進(jìn)行對(duì)比,命中率為檢測(cè)樣本中K個(gè)最近鄰居是同類型惡意代碼的數(shù)量與總數(shù)K的比值,從惡意代碼庫(kù)中隨機(jī)選取8個(gè)樣本,進(jìn)行對(duì)比測(cè)試,結(jié)果如表3:統(tǒng)計(jì)上述隨機(jī)選取樣本的惡意代碼命中率,并計(jì)算平均命中率。本文方法的平均命中率為82.4%,傳統(tǒng)方法的平均命中率為70.4%,驗(yàn)證了本文設(shè)計(jì)的多媒體后期處理軟件安全性能測(cè)試方法的優(yōu)越性。

3結(jié)束語(yǔ)

本文設(shè)計(jì)的多媒體后期處理軟件安全性能測(cè)試方法主要是從測(cè)試角度出發(fā),發(fā)現(xiàn)軟件本身或運(yùn)行環(huán)境中的潛在危險(xiǎn),建立安全性能測(cè)試的故障樹模型,利用該模型對(duì)軟件工作環(huán)境進(jìn)行定性分析,確定出現(xiàn)安全問(wèn)題的原因并計(jì)算安全問(wèn)題出現(xiàn)的概率。利用編譯逆向工程的靜態(tài)反編匯過(guò)程,解決最小代價(jià)的二分圖匹配問(wèn)題,利用二分圖法代價(jià)矩陣濾出不相干節(jié)點(diǎn),進(jìn)而提高惡意代碼檢測(cè)效率?;谝?guī)則網(wǎng)絡(luò)特征進(jìn)行補(bǔ)丁比對(duì),找到補(bǔ)丁之間的結(jié)構(gòu)差異完成漏洞的定位。實(shí)驗(yàn)結(jié)果表明,本文方法在提高惡意代碼的變種檢測(cè)命中率方面具有有效性。

作者:魏歡 單位:南昌航空大學(xué) 安徽工業(yè)經(jīng)濟(jì)職業(yè)技術(shù)學(xué)院