亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        軟件脆弱性檢測技術(shù)及應(yīng)用

        2020-02-21 08:49:18傅偉玉
        電子技術(shù)與軟件工程 2020年13期
        關(guān)鍵詞:檢測技術(shù)

        摘要:本文介紹了軟件脆弱性檢測方案,分別從污點分析、內(nèi)存定位和測試數(shù)據(jù)生成三個方面,分析了軟件脆弱性檢測關(guān)鍵技術(shù),在此基礎(chǔ)上,基于這些技術(shù),構(gòu)建相關(guān)系統(tǒng),并驗證系統(tǒng)在軟件脆弱性檢測中的應(yīng)用效果。結(jié)論證實,本次開發(fā)系統(tǒng)在軟件脆弱性檢測中有良好的效果,可以推廣使用。

        關(guān)鍵詞:軟件;脆弱性;檢測技術(shù)

        計算機(jī)現(xiàn)已成為人們?nèi)粘9ぷ?、學(xué)習(xí)和生活中,不可或缺的工具之一,計算機(jī)的各種功能都是通過應(yīng)用軟件來予以實現(xiàn)。如果軟件本身存在漏洞,那么會對計算機(jī)系統(tǒng)中的數(shù)據(jù)信息安全性構(gòu)成威脅。所以需要對軟件進(jìn)行脆弱性測試,根據(jù)測試結(jié)果,對軟件的性能進(jìn)行優(yōu)化,從而使其在滿足計算機(jī)應(yīng)用需求的前提下,保證系統(tǒng)安全。鑒于此,選擇合理可行的技術(shù),對軟件進(jìn)行脆弱性檢測顯得尤為必要。

        1 軟件脆弱性檢測方案

        軟件是計算機(jī)系統(tǒng)的重要組成部分之一,它是由數(shù)據(jù)和指令構(gòu)成,比較常見的有系統(tǒng)軟件,如Windows、LINUX等,應(yīng)用軟件。其中應(yīng)用軟件與計算機(jī)的使用功能密切相關(guān),尤其是在網(wǎng)絡(luò)、通信技術(shù)不斷發(fā)展的推動下,使得大量應(yīng)用軟件都具備了通信能力,與此同時,安全隱患隨之出現(xiàn)。為進(jìn)一步降低網(wǎng)絡(luò)通信軟件的安全威脅,應(yīng)當(dāng)及時發(fā)現(xiàn)軟件中存在的漏洞,這一目標(biāo)的實現(xiàn),需要借助相應(yīng)的測試技術(shù),比較常用的為Fuzzing(模糊測試)技術(shù)。從目前的情況來看,F(xiàn)uuing技術(shù)是軟件脆弱性檢測的主要手段。在對軟件脆弱性進(jìn)行研究中,具體的思路如下:借助內(nèi)存定位技術(shù),對軟件程序的內(nèi)部障礙點進(jìn)行準(zhǔn)確定位,在此基礎(chǔ)上,對軟件程序的脆弱性進(jìn)行間接檢測,當(dāng)發(fā)現(xiàn)軟件中存在漏洞之后,通過加密數(shù)據(jù)的重新構(gòu)建,完成漏洞驗證[1]。具體方案的實現(xiàn)中,需要運用到的關(guān)鍵技術(shù)包括污點分析優(yōu)化技術(shù)、內(nèi)存定位技術(shù)、測試數(shù)據(jù)生成技術(shù)。

        2 軟件脆弱性檢測關(guān)鍵技術(shù)

        2.1 污點分析優(yōu)化技術(shù)

        在Fuzzing技術(shù),污點分析是基礎(chǔ)性技術(shù)之一,它能夠為內(nèi)存定位、測試數(shù)據(jù)生成等技術(shù)提供強(qiáng)有力的支撐。然而,從目前的情況來看,現(xiàn)有的污點分析技術(shù)存在一些缺陷,如耗時、性能不高等。為此,需要對該技術(shù)進(jìn)行優(yōu)化。具體的優(yōu)化思路如下:以靜態(tài)分析方法對污點在計算機(jī)網(wǎng)絡(luò)中的傳播過程進(jìn)行優(yōu)化,利用所得的結(jié)果對動態(tài)污點分析進(jìn)行指導(dǎo)。

        2.1.1 優(yōu)化流程

        當(dāng)需要對某個輸入數(shù)據(jù)進(jìn)行分析時,可對PIN(二進(jìn)制插樁工具)加以利用,通過跟蹤目標(biāo)軟件處理數(shù)據(jù)的過程,從而獲得基本塊信息。在這個過程當(dāng)中,因為除了插樁分析之外,不需要再進(jìn)行其它操作,所以能夠大幅降低時間開銷;借助基本塊信息,以翻譯的方法,可將之轉(zhuǎn)化為TIR(污染傳播中間表示);隨后可在TIR上對污點傳播的相關(guān)內(nèi)容進(jìn)行優(yōu)化,如消除死代碼、對傳播進(jìn)行復(fù)寫等,進(jìn)而得到經(jīng)過優(yōu)化以后的TIR,據(jù)此生成與插樁點信息相對應(yīng)的歷程函數(shù),以便后續(xù)調(diào)用;再次對軟件處理輸入數(shù)據(jù)的過程進(jìn)行跟蹤,按照靜態(tài)分析所得結(jié)果中的分析歷程,完成對數(shù)據(jù)的動態(tài)污點分析 [2]。

        2.1.2 傳播優(yōu)化

        對污點分析的優(yōu)化實質(zhì)上就是對傳播過程的優(yōu)化,在具體優(yōu)化時,TIR的位置會發(fā)生移動,其目的在于將無用的傳播過程去除掉。鑒于此,要對表達(dá)式中變量的生存周期加以明確,以此來確保傳播過程的一致性。由TIR可知,寄存器變量、內(nèi)存變量以及常量是表達(dá)式的基本構(gòu)成要素,而死代碼消除的思路為冗余代碼的消除,復(fù)寫傳播可以采用的算法為Copy Prop Taint[3]。

        2.1.3優(yōu)化效果

        為對優(yōu)化后的污點分析技術(shù)性能進(jìn)行驗證,以隨機(jī)的方式選取應(yīng)用軟件進(jìn)行測試,利用基本塊信息對數(shù)據(jù)進(jìn)行優(yōu)化,結(jié)果表明,經(jīng)過優(yōu)化后的污點分析技術(shù)的時間開銷大幅度減少,性能顯著提升,達(dá)到預(yù)期中的效果。

        2.2 內(nèi)存定位技術(shù)

        在測試數(shù)據(jù)生成中,定位解密數(shù)據(jù)是不可或缺的關(guān)鍵性依據(jù)。由于本文所研究的是軟件脆弱性檢測,所以內(nèi)存定位技術(shù)中的內(nèi)存主要是指解密數(shù)據(jù)所在的內(nèi)存,并不是計算機(jī)系統(tǒng)的內(nèi)存。內(nèi)存定位技術(shù)除了要具有通用性之外,還應(yīng)能夠?qū)崿F(xiàn)快速定位,基于這一前提,對該技術(shù)進(jìn)行具體分析。下面提出兩種解密內(nèi)存定位方法,一種是通用定位,該方法依托的是循環(huán)1/O,即輸入/輸出;另一種是快速定位,該方法基于的是高依賴度。

        2.2.1通用定位法

        本文提出的解密內(nèi)存通用定位的方法基于的是循環(huán)1/O的思路,具體而言,所有的數(shù)據(jù)在進(jìn)行加密和解密時,都需要進(jìn)行若干次迭代,也就是說,密碼函數(shù)的實現(xiàn)是以循環(huán)結(jié)構(gòu)為基礎(chǔ),而解密內(nèi)存則是在循環(huán)迭代中生成[4]。鑒于此,可對動態(tài)定位方法加以利用,以此來實現(xiàn)密碼函數(shù)循環(huán)結(jié)構(gòu)的定位,進(jìn)而分析該結(jié)構(gòu)中的1/O,收集與解密數(shù)據(jù)有關(guān)的內(nèi)存,最后依據(jù)解密數(shù)據(jù)本身所具備的特性,從而將解密內(nèi)存篩選出來。具體的定位流程如下:跟蹤密碼函數(shù)的執(zhí)行軌跡,并對循環(huán)結(jié)構(gòu)中的內(nèi)存參數(shù)進(jìn)行聚合,包括識別、構(gòu)建和合并,最后完成解密內(nèi)存的篩選。

        2.2.2快速定位法

        上文中以循環(huán)1/O為依托的定位方法通用性雖然比較強(qiáng),但在實際應(yīng)用中發(fā)現(xiàn),該方法存在一些不足,即必須對密碼函數(shù)進(jìn)行預(yù)先定位,以此來對后續(xù)的分析范圍進(jìn)行確定。不僅如此,還要對執(zhí)行軌跡進(jìn)行動態(tài)跟蹤,進(jìn)而完成對循環(huán)結(jié)構(gòu)的識別,整個流程的繁瑣程度比較高,進(jìn)一步增大了時間開銷。為縮短時間開銷,可以采取快速定位,該方法以高依賴度為基礎(chǔ),除了能夠?qū)饷軆?nèi)存進(jìn)行快速、準(zhǔn)確定位之外。同時,只需要在污點分析中完成定位即可。相關(guān)研究結(jié)果表明,依賴度本身具有迭代的特點,當(dāng)兩個內(nèi)存有著較高的依賴度關(guān)系時,與這兩個內(nèi)存中任意一個內(nèi)存相關(guān)的數(shù)據(jù),都與另一個內(nèi)存具有依賴關(guān)系。高依賴度是一個條件,它的存在能夠使數(shù)據(jù)與內(nèi)存之間相關(guān)聯(lián)。而定位必須確保準(zhǔn)確,所以還要設(shè)置相關(guān)的約束條件,包括解密內(nèi)存的字節(jié)≥4個;生成后能夠被讀取[5];同時定位多個高依賴度內(nèi)存,會將最先定位到視作為解密內(nèi)存。

        2.2.3通用與快速定位的對比

        兩種定位方法都存在一定的優(yōu)缺點,但確定都能對解密內(nèi)存進(jìn)行定位。故此需要二者的適用范圍進(jìn)行明確。通用定位法本身具有較強(qiáng)的通用性特點,對于絕大部分的解密內(nèi)存全部適用。而快速定位法的定位速度較快,能夠節(jié)省時間開銷,但卻并不適用于加密前的內(nèi)存和流密碼。鑒于此,若是流密碼,應(yīng)當(dāng)選擇通用定位法,如果為分組密碼,那么可以選用快速定位法。

        2.3測試數(shù)據(jù)生成技術(shù)

        在軟件脆弱性檢測中,測試數(shù)據(jù)生成是關(guān)鍵,上文的定位方法也是為生成服務(wù)。在此需要著重指出的一點是,以定位的方法獲得解密內(nèi)存只是生成測試數(shù)據(jù)的基礎(chǔ)條件,僅僅憑借這個條件,還無法基于加密的通信軟件,構(gòu)造出相應(yīng)的測試數(shù)據(jù)。所以,應(yīng)當(dāng)進(jìn)行分解重構(gòu),這樣才能順利完成軟件測試數(shù)據(jù)的生成。分解是重構(gòu)的依據(jù),分解時,要對加密和解密內(nèi)存進(jìn)行準(zhǔn)確定位,這是非常關(guān)鍵的環(huán)節(jié)[6] 。除此之外,還需要對完整性檢查點進(jìn)行定位。在對完整性進(jìn)行定位的過程中,可以采用快速定位法,當(dāng)需要將完整性檢查機(jī)制關(guān)閉時,則可繞過檢查點。在此著重闡明一點,通過對被測試軟件程序進(jìn)行修改,將完整性檢查功能禁用的主要目的是為了證明檢查點后有無漏洞,即以重構(gòu)的方法按預(yù)期目標(biāo)對樣本進(jìn)行解密。

        3 軟件脆弱性檢測技術(shù)的具體應(yīng)用

        依托上文的關(guān)鍵技術(shù),設(shè)計開發(fā)一套用于軟件脆弱性檢測的系統(tǒng),該系統(tǒng)的特點體現(xiàn)在如下幾個方面:可以對加密數(shù)據(jù)在軟件內(nèi)的污點傳播過程進(jìn)行跟蹤;能夠?qū)饷軆?nèi)存進(jìn)行自動定位等[7]。下面重點對系統(tǒng)的構(gòu)建及應(yīng)用進(jìn)行分析。

        3.1系統(tǒng)構(gòu)建

        3.1.1系統(tǒng)主要模塊

        本次設(shè)計開發(fā)的系統(tǒng)采用較為流行的模塊化設(shè)計理念,整個系統(tǒng)由三個模塊組成,即動態(tài)分析模塊、數(shù)據(jù)定位模塊、測試模塊。各模塊的功能如下:

        (1)動態(tài)分析模塊的主要功能是以插樁工具分析目標(biāo)軟件,對分析所得的信息進(jìn)行記錄,該模塊由跟蹤和記錄兩個子模塊構(gòu)成。

        (2)數(shù)據(jù)定位模塊最為重要的功能是定位關(guān)鍵信息,該模塊由以下兩個子模塊組成:內(nèi)存定位、檢查點定位。

        (3)測試模塊負(fù)責(zé)對軟件的脆弱性進(jìn)行檢測,這是整個系統(tǒng)的核心模塊,直接關(guān)系到檢測結(jié)果的準(zhǔn)確性。

        3.1.2模塊設(shè)計

        在本次開發(fā)的系統(tǒng)中,測試模塊是核心。因此,重點對該模塊的設(shè)計與實現(xiàn)過程進(jìn)行分析。系統(tǒng)的測試模塊能夠按照定位的解密內(nèi)存,對軟件進(jìn)行脆弱性測試,構(gòu)成測試模塊的子模塊有三個,分別為數(shù)據(jù)構(gòu)造、內(nèi)存測試和異常樣本修復(fù)。

        (1)數(shù)據(jù)構(gòu)造模塊可以將經(jīng)過定位所得的解密內(nèi)存作為主要對象,據(jù)此生成能夠用于測試的具體用例。本系統(tǒng)在數(shù)據(jù)構(gòu)造方面采用的是污點分析的方法,由此能夠解決測試盲目性的問題[7]。其中污點分析是經(jīng)過優(yōu)化之后的技術(shù),對傳播過程的跟蹤,可得到數(shù)據(jù)輸入?yún)^(qū)域,并使測試用例對相關(guān)函數(shù)產(chǎn)生直接影響。

        (2)內(nèi)存測試模塊的主要對象為解密內(nèi)存,針對該內(nèi)存進(jìn)行模糊測試,在這一過程中找出軟件內(nèi)部存在的漏洞,即脆弱點。Fuzzing技術(shù)可以借助恢復(fù)點,對軟件的指定內(nèi)存進(jìn)行自動變異,并在軟件運行到預(yù)先設(shè)定好的恢復(fù)點時,將軟件程序恢復(fù)到初始的狀態(tài)。在對恢復(fù)點進(jìn)行確定時,需要利用解密內(nèi)存的生成時機(jī),并按照測試深度,對恢復(fù)點進(jìn)行合理選擇。

        (3)在本系統(tǒng)中,異常樣本修復(fù)模塊可用于加密后的樣本重構(gòu),它以通用定位法,對密碼函數(shù)所讀的內(nèi)存進(jìn)行準(zhǔn)確定位,并使該內(nèi)存與解密內(nèi)存相匹配,進(jìn)而獲得候選緩沖區(qū),再以回溯的方法,對會話數(shù)據(jù)進(jìn)行還原,當(dāng)該數(shù)據(jù)在源緩沖區(qū)內(nèi)生成后,可以按變異字段完成篡改,攔截發(fā)送函數(shù),據(jù)此得到的數(shù)據(jù)即為加密后的異常樣本。

        3.2具體應(yīng)用

        為驗證系統(tǒng)在軟件脆弱性方面的檢測能力,選取一款較為常用的通信軟件,軟件本身為網(wǎng)絡(luò)加密型,應(yīng)用該系統(tǒng)進(jìn)行測試分析。本次選擇的通信軟件為IRC軟件,該軟件為互聯(lián)網(wǎng)中繼聊天協(xié)議,是一款具有即時性特點的通信協(xié)議,為使通信過程的私密性得到有效保障,IRC服務(wù)器采用了數(shù)據(jù)加密技術(shù)。下面選取經(jīng)過SSL加密的IRC服務(wù)器軟件[8],運用本文開發(fā)的系統(tǒng),對其脆弱性進(jìn)行檢測,驗證系統(tǒng)的能力。

        3.2.1 分解能力測試

        隨機(jī)選取部分加密數(shù)據(jù)作為污染源,利用系統(tǒng)跟蹤軟件對這部分?jǐn)?shù)據(jù)的處理過程,依托快速定位法對解密內(nèi)存進(jìn)行定位,由定位結(jié)果可知,解密數(shù)據(jù)所在內(nèi)存的依賴度為Ox18。之后輸出若干個高依賴度的內(nèi)存,這部分內(nèi)存依賴度均高于解密內(nèi)存。若是將解密內(nèi)存視作為污染源,則經(jīng)計算所得的校驗值與解密內(nèi)存自帶的校驗值相等。由此說明,系統(tǒng)具備對軟件分解的能力。

        3.2.2重構(gòu)能力測試

        通過本文開發(fā)的系統(tǒng)對軟件進(jìn)行脆弱性測試的過程中,并未發(fā)現(xiàn)軟件中有異常樣本存在,導(dǎo)致這一情況的主要原因如下:本次選取的IRC協(xié)議過于簡單,加之測試空間有限,致使未能從中挖掘出漏洞;軟件應(yīng)用時間較長,經(jīng)過多次升級和維護(hù),存在漏洞的可能性比較小。雖然通過測試未能挖掘到軟件中的漏洞,但卻可以在測試的過程中,對系統(tǒng)重構(gòu)加密樣本的能力進(jìn)行驗證。具體方法如下:假設(shè)在服務(wù)端存在一個需要變異的字段,如果字段經(jīng)過加密處理后所得的數(shù)據(jù)包能夠通過完整性檢查,那么表明系統(tǒng)具備重構(gòu)能力。經(jīng)過驗證,系統(tǒng)重構(gòu)后的數(shù)據(jù)包順利通過完整性檢查,證明重構(gòu)有效。由此可見,本次開發(fā)的系統(tǒng)在軟件脆弱性測試中具有良好的效果,可以推廣使用。

        4 結(jié)論

        綜上所述,軟件脆弱性檢測是一項較為復(fù)雜的工作,為確保檢測結(jié)果的準(zhǔn)確性,應(yīng)當(dāng)選取合理可行的技術(shù),并以技術(shù)為支撐,構(gòu)建系統(tǒng),利用系統(tǒng)完成軟件脆弱性檢測,從而發(fā)現(xiàn)軟件中存在的漏洞,及時進(jìn)行優(yōu)化。

        參考文獻(xiàn)

        [1]牧濤,楊寧.基于激光技術(shù)的工控網(wǎng)絡(luò)信息脆弱性檢測方法研究[J].激光雜志,2020 (6):58-62.

        [2]鮑海燕.集成化網(wǎng)絡(luò)存儲安全脆弱性區(qū)域的檢測仿真[J].計算機(jī)仿真,2019 (9):376-379.

        [3]楊超,郭云飛,扈紅超,劉文彥,霍樹民等.基于符號執(zhí)行的軟件緩存?zhèn)刃诺来嗳跣詸z測技術(shù)[J].電子學(xué)報,2019 (6):1194-1200.

        [4]王鈞玉.基于熵方法的計算機(jī)網(wǎng)絡(luò)脆弱性檢測和優(yōu)化[J].安徽電子信息職業(yè)技術(shù)學(xué)院學(xué)報,2018 (2):1-4,8.

        [5]劉玉敏,阮福,魯曉波,脆弱性網(wǎng)絡(luò)用戶信息安全性在線檢測仿真[J].計算機(jī)仿真,2018 (8):365-369.

        [6]范銘,劉烴,劉均,羅夏樸,于樂等.安卓惡意軟件檢測方法綜述[J].中國科學(xué):信息科學(xué),2020 (8):1148-117 7.

        [7]韓錦榮,張元瞳,朱子元,孟丹.基于底層數(shù)據(jù)流分析的惡意軟件檢測方法[J].信息安全學(xué)報,2020 (4):123-137.

        [8]高楊晨,方勇,劉亮,張磊.基于卷積神經(jīng)網(wǎng)絡(luò)的Android惡意軟件檢測技術(shù)研究[J].四川大學(xué)學(xué)報(自然科學(xué)版),2020 (4):167 3-680.

        作者簡介

        傅偉玉(1980一),女,吉林省人。碩士學(xué)位,江蘇財經(jīng)職業(yè)技術(shù)學(xué)院,講師。研究方向為計算機(jī)技術(shù),軟件技術(shù)與理論。

        猜你喜歡
        檢測技術(shù)
        工廠空氣污染與污染檢測技術(shù)
        計算機(jī)軟件安全漏洞檢測技術(shù)
        前海合作區(qū)建設(shè)工程檢測技術(shù)應(yīng)用研究
        傳感器與檢測技術(shù)在機(jī)電一體化系統(tǒng)中的應(yīng)用
        有關(guān)我國特種設(shè)備檢測技術(shù)現(xiàn)狀的分析與展望
        祖國(2016年20期)2016-12-12 19:18:39
        農(nóng)產(chǎn)品質(zhì)量控制中農(nóng)藥殘留檢測技術(shù)的應(yīng)用
        食品安全檢測技術(shù)研究現(xiàn)狀
        公路工程試驗檢測存在的問題及措施
        價值工程(2016年30期)2016-11-24 16:39:03
        煤礦機(jī)電產(chǎn)品檢測技術(shù)
        鍋爐檢測應(yīng)用壓力管道無損檢測技術(shù)的分析
        亚洲中文字幕有码av| 日日碰狠狠添天天爽无码| 亚洲国产人在线播放首页| 国产精品情侣露脸av在线播放| 麻豆av在线免费观看精品| 亚洲乱码av中文一区二区| 国产又色又爽又刺激在线播放| 国产精在线| 手机在线免费看av网站| 美女在线一区二区三区视频| 国产成+人欧美+综合在线观看| 成人午夜毛片| 青青草视频国产在线观看| 麻豆最新国产av原创| 国产无遮挡又黄又爽免费网站| 亚洲成在人线久久综合| 亚洲一区极品美女写真在线看| 电驱蚊液可以插一晚上吗| 亚洲av无码一区二区三区不卡| 日韩在线第二页| 国产av一区二区内射| 国99精品无码一区二区三区| 国产日韩精品中文字无码| 超碰Av一区=区三区| 五十路一区二区中文字幕| 亚洲精品无码久久久久y| 8ⅹ8x擦拨擦拨成人免费视频| 中文字幕第一页亚洲观看| 在线不卡av一区二区| 奇米影视7777久久精品| 人妻人人澡人人添人人爽人人玩 | 国产无码十八禁| 亚洲国产成人va在线观看天堂| 国产精品久久久久9999无码| 国内精品一区二区三区| 中文少妇一区二区三区| 亚洲国产精品美女久久| 国产白丝无码视频在线观看| 成人午夜免费福利| 在线观看视频免费播放| 国产女厕偷窥系列在线视频|