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

        ?

        基于重點變異區(qū)域智能識別的模糊測試技術(shù)

        2019-09-28 01:25:12董雨良秦曉軍甘水滔
        關(guān)鍵詞:訓(xùn)練樣本變異種子

        董雨良,董 博,秦曉軍,甘水滔

        (數(shù)學(xué)工程與先進(jìn)計算國家重點實驗室,江蘇 無錫 214125)

        0 引 言

        當(dāng)前,主流的軟件脆弱性自動化檢測技術(shù)包括靜態(tài)分析、符號執(zhí)行、污點分析[1]及模糊測試[2-3],每種方法都存在各自的優(yōu)缺點。例如,靜態(tài)分析分析速度快,能適應(yīng)于大規(guī)模代碼,但誤報率高,無法動態(tài)驗證脆弱性的正確性;符號執(zhí)行和污點分析精度高,但受限于代碼規(guī)模和環(huán)境,對于絕大部分的軟件對象無法發(fā)揮效用;模糊測試是當(dāng)前使用最廣泛和有效的方法,可以適應(yīng)各種類型和規(guī)模的軟件,但代碼覆蓋和輸入覆蓋能力較弱。從多個主流的公開漏洞數(shù)據(jù)庫中可以得知,利用自動化方法發(fā)現(xiàn)和披露的脆弱性中,絕大部分來源于模糊測試(Fuzzing)方法。因此,模糊測試方法一直是最受關(guān)注的軟件安全自動化測試技術(shù)之一。

        模糊測試方法的核心思想是針對被測程序,自動或半自動地生成隨機(jī)測試用例作為輸入,監(jiān)視程序執(zhí)行情況,篩選出其中能夠觸發(fā)程序崩潰或斷言失敗異常的測試?yán)?。傳統(tǒng)模糊測試存在用例生成過于簡單隨機(jī),測試效率低下;無明確的變異指導(dǎo)方法,變異過于盲目,難以發(fā)現(xiàn)深度脆弱點等問題,使得傳統(tǒng)Fuzzing測試效果不盡如人意。為提升模糊測試效率,研究人員嘗試將符號執(zhí)行[4-5]、遺傳算法[6]、動態(tài)污點分析[7]、神經(jīng)網(wǎng)絡(luò)[8]等各種技術(shù)引入測試過程。這些方法雖然都取得了一定的效果,但問題仍未完全解決,有待進(jìn)一步研究。

        文中提出了基于重點變異區(qū)域智能識別的模糊測試技術(shù),通過深度學(xué)習(xí)方法訓(xùn)練預(yù)測模型,指導(dǎo)種子文件有針對性地變異,減少無效測試用例的生成,從而提升模糊測試性能。

        1 背景及相關(guān)工作

        AFL是一款由谷歌公司開發(fā)的反饋式模糊測試框架,以算法簡潔、高效著稱。其核心思想是變異合法輸入文件,生成測試用例,通過插樁指令監(jiān)測測試用例對被測程序執(zhí)行路徑的影響,記錄路徑覆蓋變化情況,若被測程序執(zhí)行到了新的路徑,則將此測試用例加入種子集合中,等待進(jìn)一步變異。如此迭代,以求覆蓋最多的執(zhí)行路徑,盡可能多地觸發(fā)程序執(zhí)行異常。

        AFL的測試策略簡潔、高效,取得了很好的測試效果,但依然存在不足,如路徑?jīng)_突、變異策略和種子選擇策略隨機(jī)性太強(qiáng)等。研究人員基于AFL框架做了眾多改進(jìn),取得了十分明顯的效果。CollAFL[9]重新設(shè)計路徑邊ID的分配策略,實現(xiàn)邊的編號的唯一性,從而解決了AFL路徑?jīng)_突問題。在種子選擇策略上,AFLFast[10]將種子變異引起路徑相應(yīng)變化的概率建模成馬爾可夫模型,設(shè)計多種種子選擇策略,增加低頻路徑對應(yīng)種子的變異機(jī)會,此外,不同于AFL所有種子每次變異的次數(shù)一定的策略,AFLFast通過指數(shù)提高變異次數(shù)的方式,盡量減少無效測試用例的數(shù)量,從而提升測試效率;Vuzzer[11]基于輕量級的靜態(tài)分析和動態(tài)分析,利用控制流特征調(diào)整種子文件優(yōu)先級,使深層路徑對應(yīng)的種子優(yōu)先變異,頻繁路徑對應(yīng)種子優(yōu)先級降低;CollAFL提出了三種種子選擇策略,分別以未訪問的鄰近分支數(shù)量、未訪問的鄰近子孫數(shù)量及內(nèi)存操作數(shù)量的大小來確定種子的優(yōu)先級,大幅提升了測試效果。

        目前缺乏針對AFL變異策略的高效優(yōu)化方案,Vuzzer利用污點分析提取數(shù)據(jù)流特征確定變異位置及方式,從而能更精準(zhǔn)地生成測試用例,但由于污點分析的高開銷,在實際軟件對象測試中很難帶來效果,缺乏實用性。微軟研究人員提出采用深度學(xué)習(xí)來預(yù)測不同種子的重點變異區(qū)域,從實驗結(jié)果上看,獲得了少量的性能提升,但該工作存在以下不足:訓(xùn)練樣本的采集模型粗糙,沒有針對生成訓(xùn)練樣本的種子選擇模型,減少了訓(xùn)練樣本的有效信息總量;采樣過程引入了過多無效信息,對預(yù)測結(jié)果造成干擾,且時間開銷巨大;預(yù)測結(jié)果的使用方式過于簡單,沒有針對性且效率較低;無法適應(yīng)于二進(jìn)制程序?qū)ο蟮臏y試。

        針對以上變異策略的不足,文中設(shè)計了一個具備重點變異區(qū)域智能識別能力的二進(jìn)制程序模糊測試系統(tǒng):基于AFL實現(xiàn)了并行訓(xùn)練樣本采集模型Sampling-AFL;通過深度學(xué)習(xí)預(yù)測模型智能識別不同種子的重點變異區(qū)域,并基于此實現(xiàn)了模糊測試工具DL-AFL。

        2 基于重點變異區(qū)域智能識別的二進(jìn)制程序模糊測試技術(shù)

        2.1 總體思路

        為便于描述,將模糊測試過程中能夠引起被測程序執(zhí)行變化的變異位置定義為有效變異位置。有效變異位置可能是種子文件中的某1位、2位、3位……甚至是幾個不同位置的組合。將所有有效變異位置中涉及的種子文件的位置的集合定義為有效變異位圖。假設(shè)種子文件x的有效變異位置集合S為{(a),(a,b),(b,c,d)},則其有效變異位圖S'為{a,b,c,d}。

        一般來說,每個種子文件都與一個確定的有限有效變異位置集合相對應(yīng)。則可將這種對應(yīng)關(guān)系抽象為函數(shù)關(guān)系:

        f:x→S

        (1)

        其中,x表示種子文件;S表示文件x的有效變異位置集合。

        若能夠通過某種方式掌握這種函數(shù)關(guān)系,則對于任意種子可直接通過函數(shù)求得有效變異位置集合,然后測試所有有效變異位置即可完成程序測試。而目前的技術(shù)還無法準(zhǔn)確得出此函數(shù)關(guān)系,但若能近似地預(yù)測出此關(guān)系,以較高的概率按預(yù)測結(jié)果變異,也能有效地提升變異準(zhǔn)確率和測試效率?;谝陨纤悸?,將函數(shù)1近似轉(zhuǎn)化為:

        g:x→S'

        (2)

        其中,x表示種子文件;S'表示文件x的有效變異位圖。盡管轉(zhuǎn)化為函數(shù)2,但仍然無法得到函數(shù)g的準(zhǔn)確表示。

        深度學(xué)習(xí)具有強(qiáng)大的擬合能力,可以實現(xiàn)對復(fù)雜函數(shù)的逼近。此時,假如有大量的<種子文件,有效變異位圖>數(shù)據(jù),就可以借助深度學(xué)習(xí)強(qiáng)大的學(xué)習(xí)能力,近似地學(xué)習(xí)出函數(shù)g,從而能夠大致地預(yù)測出種子文件對應(yīng)的有效變異位圖。

        基于上述分析,文中設(shè)計了重點變異區(qū)域智能識別的二進(jìn)制程序模糊測試方案,整體框架包括數(shù)據(jù)采樣、模型訓(xùn)練、位圖預(yù)測、模糊測試四部分。數(shù)據(jù)采樣模塊采用分布式結(jié)構(gòu)獲取大量<種子文件,有效變異位圖>數(shù)據(jù)對,提供給模型訓(xùn)練模塊作為訓(xùn)練數(shù)據(jù);模型訓(xùn)練模塊通過深度學(xué)習(xí)訓(xùn)練能夠預(yù)測種子對應(yīng)的有效變異位圖的預(yù)測模型;最后,在模糊測試過程中,基于預(yù)測結(jié)果,重點變異位圖標(biāo)識區(qū)域,減少未標(biāo)識區(qū)的變異,提升測試用例的有效性。

        2.2 Sampling-AFL:訓(xùn)練數(shù)據(jù)采樣模型

        深度學(xué)習(xí)是基于對數(shù)據(jù)進(jìn)行表征學(xué)習(xí)的方法,訓(xùn)練效果在很大程度上依賴于訓(xùn)練樣本的質(zhì)量。一個好的訓(xùn)練樣本集首先要能夠很好地反映出實際的數(shù)據(jù)分布情況,其次要有足夠的數(shù)據(jù)量?;谶@兩點考慮,制定如圖1所示的訓(xùn)練數(shù)據(jù)采樣模型。

        圖1 采樣模型

        文中所需樣本為<種子文件,有效變異位圖>數(shù)據(jù)對,單個樣本生成時間較長,采用單個服務(wù)器采樣無法滿足數(shù)據(jù)量需求。通過分布式結(jié)構(gòu)提升取樣速度,主節(jié)點分為種子生成及任務(wù)管理兩個模塊,分別負(fù)責(zé)種子文件的生成與任務(wù)分發(fā)控制,從節(jié)點同樣分為兩模塊,負(fù)責(zé)樣本生成和任務(wù)請求與接收。采樣開始時,主節(jié)點向所有從節(jié)點分發(fā)不同的種子文件進(jìn)行采樣,同時開始生成新的種子文件。當(dāng)子節(jié)點完成分配的任務(wù)后,主動向主節(jié)點請求任務(wù),主節(jié)點收到任務(wù)請求后,從種子集合中選擇未采樣的種子,將其分發(fā)給從節(jié)點。依此進(jìn)行下去,直至取得所需數(shù)量。采用分布式結(jié)構(gòu)不僅可以協(xié)同多個節(jié)點同時工作,還可以使不同類型節(jié)點的任務(wù)更加單一,免去大量不必要的操作,提高數(shù)據(jù)采樣效率。

        為確保訓(xùn)練樣本的差異性與多樣性,必須保證種子文件之間的差異性。AFL隨機(jī)變異階段測試用例由多種變異方式組合變異而成,主節(jié)點基于此階段生成備選種子,從而確保了不同種子之間的差異性。此外,通過不同執(zhí)行路徑作為加入種子集合的依據(jù),確保不會產(chǎn)生過多的非法種子,從而降低訓(xùn)練數(shù)據(jù)噪聲。

        對于一個正常的種子而言,由于其變異空間過大,以目前的計算能力無法短時間獲取完整的有效變異位圖。因此,文中以AFL確定性階段變異方式為基礎(chǔ),采取一種近似代替方式,獲取有效變異位圖的近似值。由于非確定性階段的變異存在較大的隨機(jī)性,且變異結(jié)果是多種變異的組合并存在刪除、插入等引起整個文件巨大變動的變異方式,無法準(zhǔn)確判斷實際有效變異位。因此,從節(jié)點只記錄確定性階段的有效變異的位置。由于內(nèi)存操作變化必然引起執(zhí)行路徑變化,針加對內(nèi)存操作相關(guān)位置的變異也有助于測試過程中新路徑的發(fā)現(xiàn)。文中用能引起內(nèi)存寫操作變化的位置近似代替有效變異位圖。從節(jié)點數(shù)據(jù)采樣過程中,種子文件變異前,保存初始內(nèi)存寫操作數(shù),種子文件按照相應(yīng)的變異規(guī)則變異后,對比初始內(nèi)存寫操作數(shù)據(jù),若發(fā)生變化則記錄下變異位置信息,反之進(jìn)入下一輪變異。

        2.3 深度學(xué)習(xí)模型

        根據(jù)數(shù)據(jù)樣本的特征,選取合適的網(wǎng)絡(luò)組件構(gòu)建深度學(xué)習(xí)模型。數(shù)據(jù)樣本為<種子文件,有效變異位圖>數(shù)據(jù)對。首先,種子文件長短不一,是變長數(shù)據(jù);其次,可將通過種子文件預(yù)測位圖的過程視為序列翻譯過程,且序列中的元素是上下文相關(guān)的?;诖?,循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)是較為合適的選擇。循環(huán)神經(jīng)網(wǎng)絡(luò)是一種深度學(xué)習(xí)框架,它的提出主要是為了解決序列數(shù)據(jù)元素之間相互依賴的問題。一個簡單的循環(huán)神經(jīng)網(wǎng)絡(luò)具有重復(fù)神經(jīng)網(wǎng)絡(luò)模塊結(jié)構(gòu),且上一輪的輸出會作為本輪的輸入,從而網(wǎng)絡(luò)具有“記憶”功能。假設(shè)網(wǎng)絡(luò)初始狀態(tài)為h0,上一輪狀態(tài)為ht-1,本輪輸入為xt,則本輪的輸出為:ht=f(Wxt+Uht-1+b),其中W,U表示權(quán)重。RNN在語音識別、機(jī)器翻譯、圖片識別等領(lǐng)域取得了一定的成功,但單純RNN在處理長期依賴時存在梯度消失和梯度爆炸問題,會使RNN的長時記憶失效。長短期記憶網(wǎng)絡(luò)(LSTM)的出現(xiàn)很好地解決了該問題。LSTM[12]是一種特殊的RNN,其重復(fù)模塊結(jié)構(gòu)及各門對應(yīng)數(shù)學(xué)表達(dá)如圖2中LSTM所示,其中σ表示sigmoid激活函數(shù),W*表示權(quán)重向量,b*表示偏移向量,ft,it,Ot分別為遺忘門、輸入門、輸出門,分別控制信息的丟棄、更新、輸出,創(chuàng)建新的候選值向量。GRU是LSTM的一種變體,它保持了LSTM的效果,但結(jié)構(gòu)更加簡單,如圖2中GRU所示。GRU只有更新門zt和重置門rt兩個門,分別用于控制前一時刻信息保留和忽略的程度。

        圖2 LSTM與GRU細(xì)胞單元結(jié)構(gòu)及數(shù)學(xué)表達(dá)

        文中基于Tensorflow開源機(jī)器學(xué)習(xí)框架,分別采用LSTM及GRU來構(gòu)建兩層循環(huán)神經(jīng)網(wǎng)絡(luò)作為深度學(xué)習(xí)模型,以<種子文件,有效變異位圖>數(shù)據(jù)對作為訓(xùn)練數(shù)據(jù),進(jìn)行有監(jiān)督學(xué)習(xí),訓(xùn)練預(yù)測模型。由于種子文件中數(shù)據(jù)并不總是以字節(jié)為最小有意義單位,常常出現(xiàn)按位來標(biāo)識文件狀態(tài)的情況,因此,將種子文件轉(zhuǎn)換為0、1序列作為訓(xùn)練模型的輸入向量。由于訓(xùn)練數(shù)據(jù)規(guī)模較大以及計算資源有限,無法采用批量優(yōu)化,因此選用小批量優(yōu)化。綜合考慮實驗計算資源、訓(xùn)練樣本大小以及深度學(xué)習(xí)模型參數(shù)數(shù)量決定每批次訓(xùn)練樣本數(shù)量(batch_size),訓(xùn)練樣本的最大長度(max_length)進(jìn)行預(yù)測模型的訓(xùn)練。訓(xùn)練樣本為變長數(shù)據(jù),通過dynamic_rnn構(gòu)建神經(jīng)網(wǎng)絡(luò)實現(xiàn)自動對長度不足最大長度的訓(xùn)練數(shù)據(jù)的部分進(jìn)行padding。此時每批次輸入的數(shù)據(jù)都為batch_size×max_length的矩陣,每訓(xùn)練完一個批次,計算一次梯度,并更新網(wǎng)絡(luò)參數(shù)值。設(shè)置keep_prob控制保留節(jié)點數(shù),防止發(fā)生過擬合,采用指數(shù)衰減的學(xué)習(xí)率,選用均方誤差作為損失函數(shù),優(yōu)化器采用Adam。

        2.4 DL-AFL:具備重點變異區(qū)域預(yù)測能力的模糊測試模型

        在AFL基礎(chǔ)上,設(shè)計基于重點變異區(qū)域智能識別的模糊測試模型,如圖3所示。種子文件變異之前,進(jìn)行預(yù)測及預(yù)處理,如圖3虛線框中所示,通過預(yù)測模型預(yù)測出有效位圖,將有效位圖轉(zhuǎn)換為關(guān)系數(shù)組,變異過程中依據(jù)關(guān)系數(shù)組有選擇地進(jìn)行變異。

        圖3 DL-AFL測試模型

        由于有效變異位圖并非僅僅表示單比特變異有效位集合,也包含了多種其他變異方式,同時,有效變異位圖不便于直接指導(dǎo)Fuzzing測試的變異過程,因此,需對預(yù)測出的有效變異位圖做相應(yīng)處理。結(jié)合AFL測試變異特點,文中將位圖轉(zhuǎn)換成兩種變異位置與變異長度的關(guān)系數(shù)組。第一種關(guān)系數(shù)組用于確定性階段,轉(zhuǎn)換規(guī)則為:將位圖中的位置作為數(shù)組下標(biāo),以0/1/3/7/15/31/63為數(shù)組的值分別對應(yīng)自該位起連續(xù)0/1/2/4/8/16/32位標(biāo)記為1的情況。第二種關(guān)系數(shù)組用于非確定性階段,轉(zhuǎn)換規(guī)則為:將位圖中所有標(biāo)記為1的位置與自該位起連續(xù)標(biāo)記為1的位數(shù)(1/2/4/8/16/32位)的關(guān)系分別保存在結(jié)構(gòu)體數(shù)組中。

        在獲取變異位置與變異長度關(guān)系數(shù)組的基礎(chǔ)上,改進(jìn)AFL種子變異過程,用關(guān)系數(shù)組指導(dǎo)種子變異。在確定性階段變異過程中,若當(dāng)前變異位置及變異長度在關(guān)系數(shù)組中標(biāo)記為1,則進(jìn)行變異;反之,則以一定概率進(jìn)行變異。在非確定性階段變異過程中,以較大的概率選擇關(guān)系數(shù)組中標(biāo)記為1的位置進(jìn)行組合變異。

        此外,通過預(yù)測結(jié)果指導(dǎo)變異之前必須先進(jìn)行有效變異位圖預(yù)測,而預(yù)測過程需要耗費一定時間,可能造成測試過程等待時間較長。為減少測試過程的等待時間,對模糊測試過程與有效變異位圖預(yù)測過程(圖3點線框所示)進(jìn)行并行化處理。除測試選取第一個種子之外,將選取下一個種子的操作從下一輪測試開始,提前至本輪確定性階段結(jié)束后,不確定性階段開始前,即當(dāng)前種子A完成確定性階段變異后,立即選擇下一個種子B。選定下一個種子后,繼續(xù)之后的變異測試,預(yù)測模塊開始預(yù)測選定種子的有效變異位圖,從而減少等待時間。

        3 實驗與分析

        基于以上思路,實現(xiàn)分布式采樣工具Sampling-AFL、深度學(xué)習(xí)模型及基于重點變異區(qū)域識別的模糊測試工具DL-AFL,并針對nm、objdump、readelf、bmp2tiff、tiff2pdf、tiff2ps等二進(jìn)制程序,基于二進(jìn)制插樁平臺Dyninst[13](開銷遠(yuǎn)低于pin[14]、dynamoRIO[15]、valgrind[16]、qemu binary translator[17]等動態(tài)插樁框架)實現(xiàn)程序靜態(tài)插樁,以樣本生成、路徑覆蓋、代碼覆蓋率及bug發(fā)現(xiàn)能力為指標(biāo),進(jìn)行模型性能的對比評估測試。

        采用1個主節(jié)點,10個從節(jié)點構(gòu)建Sampling-AFL,節(jié)點配置為:Intel(R) Core(TM) i7-2600 CPU @ 3.40 GHz CPU,2 G內(nèi)存,Ubuntu 16.04.1 64位操作系統(tǒng),隨機(jī)選擇100個初始種子文件,采集10萬個樣本。基于Tensorflow 1.7.0機(jī)器學(xué)習(xí)框架,分別使用LSTM和GRU構(gòu)建了2層循環(huán)神經(jīng)網(wǎng)絡(luò),初始學(xué)習(xí)率為0.000 05,隱藏層節(jié)點數(shù)64,batch_size為16,訓(xùn)練10輪次。模型訓(xùn)練環(huán)境為:Intel(R) Core(TM) i7-2600 CPU @ 3.40 GHz CPU,32 G內(nèi)存,Ubuntu 16.04.1 64位操作系統(tǒng)。

        DL-AFL確定性階段以50%的概率跳過不在關(guān)系數(shù)組中的位置,非確定性階段以70%的概率在關(guān)系數(shù)組中選擇變異位置及變異長度。隨機(jī)選擇初始種子,分別用AFL和DL-AFL測試24小時,測試環(huán)境主機(jī)配置與訓(xùn)練環(huán)境相同。下面從四個方面對比測試結(jié)果。

        3.1 訓(xùn)練樣本生成能力

        為測試Sampling-AFL取樣速度,分別以2個節(jié)點,4個節(jié)點,8個節(jié)點,10個節(jié)點構(gòu)建分布式取樣模型,以bmp2tiff為被測對象,與相應(yīng)數(shù)量的獨立節(jié)點進(jìn)行24小時取樣速度對比,對比結(jié)果如圖4所示??梢钥闯觯瑑煞N模式取樣總數(shù)都與節(jié)點數(shù)成正比;而分布式取樣由于進(jìn)行了統(tǒng)一調(diào)配,減少了各個節(jié)點獨立維護(hù)隊列及隨機(jī)變異階段的變異,其單個節(jié)點的速度快于獨立節(jié)點。隨著總節(jié)點數(shù)的增多,分布式取樣模型的優(yōu)勢也愈加突出。

        圖4 取樣速度對比

        3.2 路徑數(shù)量提升

        在相同測試環(huán)境下,用DL-AFL與AFL對相同的程序?qū)ο筮M(jìn)行測試,執(zhí)行路徑數(shù)量變化情況對比如圖5所示。

        圖5 路徑數(shù)量對比

        可以看出,所有被測程序在24小時內(nèi),測試效果都有不同程度的提升。其中對于nm、readelf、objdump、tiff2pdf和tiff2ps等5個被測程序,DL-AFL測試發(fā)現(xiàn)的路徑總數(shù)及路徑發(fā)現(xiàn)速度相比AFL都有較明顯的提升,尤其是objdump、readelf及tiff2ps提升極為顯著,分別提升25%、50%和15%以上;nm、tiff2pdf有略微提升,分別提升了4%和5%以上,而bmp2tiff只在測試速度上有一定的提升,但在路徑總數(shù)上卻略微低于AFL,原因可能是nm、tiff2pdf、bmp2tiff程序結(jié)構(gòu)相對簡單,程序復(fù)雜執(zhí)行路徑較少,通過正常AFL變異過程便足以覆蓋大多數(shù)路徑。此外,測試時所用種子文件較小,變異空間小,此時大概率地針對預(yù)測區(qū)域變異,會導(dǎo)致某些不在預(yù)測區(qū)域位置的有效位置被變異的概率減小,從而影響測試效果。

        3.3 邊覆蓋率提升

        代碼覆蓋率是衡量測試過程中被執(zhí)行過的不同邊的數(shù)量的指標(biāo),是反映測試效果的重要指標(biāo)之一。DL-AFL與AFL測試代碼覆蓋率情況對比如表1所示。DL-AFL和AFL在代碼覆蓋率上的表現(xiàn)與路徑數(shù)量上的表現(xiàn)基本一致,前者均略高于后者。唯一不同的是在bmp2tiff的測試結(jié)果中,雖然AFL測試發(fā)現(xiàn)總路徑數(shù)多于DL-AFL(LSTM),但覆蓋率卻低于后者。

        表1 代碼覆蓋率對比 %

        3.4 bug發(fā)現(xiàn)能力提升

        測試過程中發(fā)生崩潰往往預(yù)示程序可能存在錯誤,因此,測試過程中出現(xiàn)的崩潰數(shù)量是Fuzzing測試的關(guān)鍵指標(biāo)之一。

        圖6 崩潰數(shù)量對比

        圖6為DL-AFL與AFL在相同測試環(huán)境下,6個被測程序24小時發(fā)生崩潰的數(shù)量變化對比??梢钥闯?,在nm、objdump測試過程中均未發(fā)生崩潰,readelf、tiff2pdf、tiff2ps三個程序測試結(jié)果顯示,DL-AFL相對于AFL,檢測出的崩潰均有較明顯的提升。在bmp2tiff的測試中,DL-AFL(LSTM)檢測出的崩潰數(shù)量明顯高出其他二者,DL-AFL(GRU)略低于AFL。

        表2為AFL、Vuzzer及DL-AFL在相同測試環(huán)境下,24小時內(nèi)檢測出的bug數(shù)量對比??芍庇^地看出DL-AFL檢測出的bug數(shù)量多于AFL與Vuzzer。

        表2 bug數(shù)量對比

        綜合以上對比數(shù)據(jù)可以看出,通過深度學(xué)習(xí)方法預(yù)測指導(dǎo)的DL-AFL相較AFL測試效率普遍有所提升,從而表明文中提出的方法可以有效提升Fuzzing測試變異的準(zhǔn)確率及測試效率。

        4 結(jié)束語

        針對模糊測試過程中測試用例生成過于隨機(jī)而嚴(yán)重影響測試效率的問題,在AFL模糊測試框架的基礎(chǔ)上,提出了基于重點變異區(qū)域智能識別的二進(jìn)制程序模糊測試技術(shù)。利用歷史測試數(shù)據(jù)通過深度學(xué)習(xí)方法訓(xùn)練重點變異區(qū)域預(yù)測模型,并將預(yù)測模型與模糊測試相結(jié)合構(gòu)建模糊測試框架DL-AFL,以預(yù)測結(jié)果指導(dǎo)種子變異過程,減少無效測試用例生成,從而提升測試效率。通過與AFL在多個通用程序上的實驗對比,證明該技術(shù)能有效提升模糊測試效率。下一步計劃從提升并行規(guī)模、縮短采樣及訓(xùn)練時間、提升重點變異區(qū)域智能識別模型的通用性,以及通過反饋式迭代訓(xùn)練以進(jìn)一步持續(xù)提升變異區(qū)域識別精準(zhǔn)度等方面開展深入研究。

        猜你喜歡
        訓(xùn)練樣本變異種子
        變異危機(jī)
        變異
        人工智能
        桃種子
        幸運(yùn)的小種子
        幼兒園(2018年15期)2018-10-15 19:40:36
        可憐的種子
        寬帶光譜成像系統(tǒng)最優(yōu)訓(xùn)練樣本選擇方法研究
        融合原始樣本和虛擬樣本的人臉識別算法
        基于稀疏重構(gòu)的機(jī)載雷達(dá)訓(xùn)練樣本挑選方法
        變異的蚊子
        百科知識(2015年18期)2015-09-10 07:22:44
        亚洲精品在线国产精品| 91白浆在线视频| 国产69精品一区二区三区| 中文字幕人妻一区色偷久久| 国产人妻久久精品二区三区老狼 | 国产香蕉一区二区三区在线视频| 欧美激情在线播放| 欧美黑人又粗又硬xxxxx喷水| 国产高清精品自在线看| 精品久久日产国产一区| 中文日本强暴人妻另类视频| 在线精品亚洲一区二区动态图| 无码任你躁久久久久久久| 久久国产精品亚洲婷婷片| 国产精品成人免费视频一区| 亚洲国产长腿丝袜av天堂 | 久久精品免费中文字幕| 欧美v国产v亚洲v日韩九九| 国产男女无遮挡猛进猛出| 久久久久久久99精品国产片| 中文字幕精品亚洲无线码二区| 日韩亚洲在线观看视频| 亚洲av男人的天堂一区| 国产精品视频一区二区三区不卡| 久久综合亚洲色hezyo国产| 亚洲xxxx做受欧美| 久久精品国产亚洲不av麻豆| 女优av福利在线观看| 人妻少妇精品视频专区二区三区| 免费网站内射红桃视频| а√天堂资源8在线官网在线| 99亚洲乱人伦精品| 一区二区三区亚洲免费| 色与欲影视天天看综合网| 无码精品日韩中文字幕| 亚洲中文字幕巨乳人妻| 午夜视频在线观看国产| 精品香蕉99久久久久网站| 熟女人妇交换俱乐部| www.日本一区| 国产女人av一级一区二区三区 |