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

        ?

        面向二進(jìn)制程序的導(dǎo)向性模糊測試方法

        2019-08-01 01:48:57張瀚方周安民賈鵬劉露平劉亮
        計算機(jī)應(yīng)用 2019年5期

        張瀚方 周安民 賈鵬 劉露平 劉亮

        摘 要:為了解決當(dāng)前模糊測試技術(shù)中變異存在一定的盲目性以及變異生成的樣本大多經(jīng)過相同的高頻路徑的問題,提出并實(shí)現(xiàn)了一種基于輕量級程序分析技術(shù)的二進(jìn)制程序模糊測試方法。首先對目標(biāo)二進(jìn)制程序進(jìn)行靜態(tài)分析來篩選在模糊測試過程中阻礙樣本文件深入程序內(nèi)部的比較指令;隨后對目標(biāo)文件進(jìn)行插樁來獲取比較指令中操作數(shù)的具體值,并根據(jù)該具體值為比較指令建立實(shí)時的比較進(jìn)度信息,通過比較進(jìn)度衡量樣本的重要程度;然后基于模糊測試過程中實(shí)時的路徑覆蓋信息為經(jīng)過稀有路徑的樣本增加其被挑選進(jìn)行變異的概率;最后根據(jù)比較進(jìn)度信息并結(jié)合啟發(fā)式策略有針對性地對樣本文件進(jìn)行變異,通過變異引導(dǎo)提高模糊測試中生成能夠繞過程序規(guī)約檢查的有效樣本的效率。實(shí)驗(yàn)結(jié)果表明, 所提方法發(fā)現(xiàn)crash及發(fā)現(xiàn)新路徑的能力均優(yōu)于模糊測試工具AFLDyninst。

        關(guān)鍵詞:導(dǎo)向性模糊測試;反饋式模糊測試;二進(jìn)制模糊測試;程序插樁;漏洞挖掘

        中圖分類號:TP311

        文獻(xiàn)標(biāo)志碼:A

        Abstract: In order to address the problem that the mutation in the current fuzzing has certain blindness and the samples generated by the mutation mostly pass through the same highfrequency paths, a binary fuzzing method based on lightweight program analysis technology was proposed and implemented. Firstly, the target binary program was statically analyzed to filter out the comparison instructions which hinder the sample files from penetrating deeply into the program during the fuzzing process. Secondly, the target binary program was instrumented to obtain the specific values of the operands in the comparison instructions, according to which the realtime comparison progress information for each comparison instruction was established, and the importance of each sample was measured according to the comparison progress information. Thirdly, the realtime path coverage information in the fuzzing process was used to increase the probability that the samples passing through rare paths were selected to be mutated. Finally, the input files were directed and mutated by the comparison progress information combining with a heuristic strategy to improve the efficiency of generating valid inputs that could bypass the comparison checks in the program. The experimental results show that the proposed method is better than the current binary fuzzing tool AFLDyninst both in finding crashes and discovering new paths.

        英文關(guān)鍵詞Key words: directed fuzzing; feedback fuzzing; binary fuzzing; program instrumentation; vulnerability mining

        0 引言

        隨著計算機(jī)的廣泛使用和網(wǎng)絡(luò)技術(shù)的飛快發(fā)展,計算機(jī)軟件早已融入到人們的日常生活中,在金融、交通、醫(yī)療衛(wèi)生和國防科技等領(lǐng)域中發(fā)揮著重要作用。軟件數(shù)量日益增加,與之俱來的軟件安全問題也越發(fā)突出。軟件中存在的漏洞為攻擊者提供了可乘之機(jī),近年來攻擊者利用軟件漏洞實(shí)施攻擊的事件屢見不鮮,2017年wannacry勒索病毒利用永恒之藍(lán)漏洞進(jìn)行傳播,造成巨大經(jīng)濟(jì)損失[1];2018年黑客利用思科高危漏洞攻擊關(guān)鍵基礎(chǔ)設(shè)施,導(dǎo)致全球20萬臺交換機(jī)受到影響[2]。

        由于軟件功能的增加,軟件的代碼量越來越大,代碼結(jié)構(gòu)越來越復(fù)雜,復(fù)雜的工作邏輯與數(shù)據(jù)處理過程導(dǎo)致軟件在運(yùn)行過程中極易產(chǎn)生bug,嚴(yán)重的則會引發(fā)安全漏洞。高效、自動化的安全測試?yán)碚摵头椒▽浖y試和安全檢測具有重要意義,也是計算機(jī)學(xué)科和網(wǎng)絡(luò)安全學(xué)科的一個重要研究方向。模糊測試是一種有效的軟件安全性檢測方法,其基本思想是通過不斷構(gòu)造不規(guī)則數(shù)據(jù)作為應(yīng)用程序的輸入,執(zhí)行并監(jiān)視應(yīng)用程序在處理輸入數(shù)據(jù)時是否發(fā)生崩潰等異常來發(fā)現(xiàn)應(yīng)用程序潛在的安全問題[3]。當(dāng)前,模糊測試技術(shù)已被谷歌[4]、微軟[5]等軟件公司用于軟件安全的測試。針對計算機(jī)軟件的模糊測試可以根據(jù)能否獲得應(yīng)用程序的源碼而分為針對開源軟件的源碼級別模糊測試和針對閉源軟件的二進(jìn)制級別模糊測試。由于大部分的軟件廠商出于知識產(chǎn)權(quán)保護(hù)和商業(yè)利益的考慮并不會開放其軟件源代碼,在針對二進(jìn)制程序的測試中可能存在輸入數(shù)據(jù)格式未知等情況,因此相比于源碼級別的模糊測試,二進(jìn)制級別的模糊測試難度更大,面向二進(jìn)制程序的軟件漏洞挖掘技術(shù)也是當(dāng)今研究的一個熱點(diǎn)[6]。

        當(dāng)前在模糊測試領(lǐng)域,AFL(American Fuzzy Loop)[7]是最具有代表性的工具之一,它使用遺傳算法,并將代碼覆蓋信息作為反饋用于篩選子代。相對于傳統(tǒng)的模糊測試方法,AFL提高了模糊測試的效率;但是該工具仍存在一定的局限性,如變異生成的輸入文件大多會運(yùn)行到相同的高頻路徑[8-9],在面向二進(jìn)制程序的模糊測試中難以產(chǎn)生能夠通過程序規(guī)約檢查的有效用例,變異存在一定的盲目性,導(dǎo)致難以發(fā)現(xiàn)存在于程序深處的bug等。

        針對于上述問題,本文提出了一種面向二進(jìn)制程序的導(dǎo)向性模糊測試方法,該方法在AFL原有遺傳算法的基礎(chǔ)上提高經(jīng)過稀有路徑的種子文件被選中的概率,考慮到程序規(guī)約檢查中的magic值校驗(yàn)檢查,該方法通過二進(jìn)制插樁技術(shù)并結(jié)合比較進(jìn)度信息來指導(dǎo)樣本變異以高效地生成能夠通過規(guī)約檢查從而觸發(fā)程序新路徑的變異樣本,提高模糊測試的效率。

        1 研究現(xiàn)狀

        在軟件安全檢測領(lǐng)域中,常用的漏洞挖掘方法有靜態(tài)分析、污點(diǎn)分析、符號執(zhí)行和模糊測試等方法。其中,靜態(tài)分析誤報率較高,隨著應(yīng)用程序功能的增多,代碼復(fù)雜度也日益增加,靜態(tài)分析方法越發(fā)難以發(fā)現(xiàn)應(yīng)用程序中存在的漏洞; 污點(diǎn)分析方法的主要問題是效率較低,需要消耗大量的計算資源; 符號執(zhí)行方法面臨路徑爆炸和約束求解困難等問題[10]; 相對于這些技術(shù),模糊測試自動化程度高、原理簡單并且誤報率極低,因此受到了越來越多的關(guān)注[11-12]。

        近幾年來,針對于模糊測試的研究大多數(shù)是結(jié)合諸如符號執(zhí)行[13-14]、污點(diǎn)分析[15]等方法以幫助模糊測試生成有效測試用例,通過結(jié)合其他方法的優(yōu)勢提高模糊測試的檢測效果。

        2 問題分析

        在如下的應(yīng)用程序中包含了magic值字段檢查以及嵌套的if條件檢查,輸入文件只有在逐個繞過這些檢查的情況下才能觸發(fā)程序中所存在的bug,對于這樣的應(yīng)用程序AFL難以生成能夠成功觸發(fā)bug的樣本文件。在對該代碼進(jìn)行長達(dá) 24h 的測試中,AFL并沒有產(chǎn)生任何能夠?qū)е鲁绦虬l(fā)生崩潰的測試用例。而在實(shí)際應(yīng)用中,程序往往會通過大量的magic值校驗(yàn)以對輸入文件進(jìn)行格式檢查。

        在挑選樣本進(jìn)行變異時,通過Check 2檢查的樣本文件相對于只繞過Check 1檢查的樣本文件更容易觸發(fā)程序中所存在的bug,樣本文件只有在繞過Check 1的基礎(chǔ)上才可能通過Check 2,因此通向Check 2的路徑相比通向Check 1的路徑更稀有。AFL會為每條路徑挑選文件體積小且執(zhí)行時間快的文件并將其標(biāo)記為favored,在挑選文件進(jìn)行變異時,被標(biāo)記為favored的文件被選中的概率遠(yuǎn)遠(yuǎn)大于其他非favored的文件[21]。AFL的種子隊列只增不減,在所給程序中,每條路徑都可能存在其對應(yīng)的文件體積最小并且執(zhí)行時間最少的favored樣本,因此在樣本執(zhí)行過的路徑中可能會有多個favored文件,AFL沒有考慮稀有路徑使得這些樣本在變異時均會被選擇變異,但是,由于通過了Check 2的樣本更容易觸發(fā)程序中所存在的bug,增加通過Check 2校驗(yàn)的樣本被選中的概率顯然會增加樣本觸發(fā)bug的概率。

        AFL使用代碼覆蓋信息作為反饋以篩選保留子代,在變異過程中生成的變異文件如果能夠覆蓋新的代碼將會被保留。對于magic值校驗(yàn)的情況,如Check 2需要將變異樣本的前5個字節(jié)設(shè)置為“MAGIC”字符串才能通過檢查,即使AFL在變異過程中已經(jīng)將變異樣本的前5個字節(jié)設(shè)置為“MAGIX”,由于最后一個字節(jié)不匹配將導(dǎo)致校驗(yàn)失敗,并沒有觸發(fā)新的代碼,AFL在這樣的情況下會舍棄該變異樣本。AFL舍棄掉部分字節(jié)匹配的樣本意味著之前達(dá)到部分字節(jié)匹配的變異工作對生成通過校驗(yàn)的樣本毫無幫助,然而在匹配到部分字節(jié)的樣本基礎(chǔ)上進(jìn)行變異,相對于在沒有匹配到任何一個字節(jié)的樣本基礎(chǔ)上進(jìn)行變異更容易通過校驗(yàn)。

        本文考慮從兩個角度解決上述在模糊測試中所面臨的難題。首先在調(diào)度策略方面,將在原有AFL的基礎(chǔ)上進(jìn)一步增大經(jīng)過稀有路徑的樣本文件被挑選進(jìn)行變異以產(chǎn)生子代樣本文件的概率。另外,在變異時將結(jié)合一定的啟發(fā)式策略進(jìn)行引導(dǎo)并保留具有高比較進(jìn)度信息的樣本以供進(jìn)一步的變異。

        3 導(dǎo)向性模糊測試方法

        為了提高面向二進(jìn)制程序的模糊測試的效率,本文提出了一種面向二進(jìn)制程序的導(dǎo)向性模糊測試方法。其整體思路如圖1所示。與傳統(tǒng)AFL框架相比,該方法增加的策略有以下幾個方面:

        1)對目標(biāo)二進(jìn)制文件進(jìn)行分析,提取其中含有的關(guān)鍵比較指令信息,并根據(jù)得到的指令信息有針對性地對目標(biāo)二進(jìn)制文件進(jìn)行插樁以在模糊測試過程中獲取比較進(jìn)度信息和比較指令中操作數(shù)的具體值;

        2)在模糊測試過程中,在選擇種子文件進(jìn)行變異時優(yōu)先考慮經(jīng)過稀有路徑的樣本文件;

        3)在模糊測試過程中,在代碼覆蓋情況沒有發(fā)生改變的條件下優(yōu)先保留比較進(jìn)度較高的樣本文件,一旦變異文件觸發(fā)或提高了比較進(jìn)度信息將保留該變異文件以供進(jìn)一步的變異,并且將使用比較進(jìn)度得到提高的比較指令中操作數(shù)的值對當(dāng)前樣本變異位置前后特定數(shù)量的字節(jié)進(jìn)行變異。

        3.1 關(guān)鍵指令與比較進(jìn)度

        大部分的應(yīng)用程序在執(zhí)行初期的規(guī)約檢查中往往會通過比較指令對輸入文件進(jìn)行格式檢查,可能包括大量magic值的檢查等校驗(yàn),其中比較指令主要是指如cmp、strncmp等對操作數(shù)進(jìn)行比較的指令。該類指令的執(zhí)行結(jié)果將會影響程序運(yùn)行的路徑,從而影響后續(xù)的代碼覆蓋情況,因此本方法主要關(guān)注比較指令。應(yīng)用程序中通常包含大量的比較指令,需要對其進(jìn)行合理的篩選,由于本文目標(biāo)是解決magic值校驗(yàn)的問題,所以在對比較指令進(jìn)行過濾篩選時將重點(diǎn)關(guān)注操作數(shù)包含有立即值的比較指令。

        在對比較指令篩選后,需要根據(jù)其地址信息有針對性地對目標(biāo)二進(jìn)制文件進(jìn)行插樁,從而獲取比較指令中操作數(shù)的具體值并根據(jù)該具體值建立對應(yīng)的比較指令的比較進(jìn)度信息。每條比較指令的進(jìn)度信息為該比較指令中兩個操作數(shù)中所匹配的字節(jié)的數(shù)目。如圖2所示的示例中,magic值為“ELF+”,如果兩個操作數(shù)的值完全相同則將該比較指令的比較進(jìn)度設(shè)為0xFF,當(dāng)操作數(shù)的值為“EXFO”時,此時兩個操作數(shù)中僅第1個字節(jié)和第3個字節(jié)相同,此時比較進(jìn)度將被設(shè)為0x2。

        該比較進(jìn)度信息將會作為后續(xù)挑選樣本的一個重要參考信息。

        3.2 種子文件選擇

        為了在模糊測試過程中能夠優(yōu)先選擇經(jīng)過稀有路徑的樣本進(jìn)行變異,本文方法增加了經(jīng)過稀有路徑的樣本文件被選中的概率。由于稀有路徑需要根據(jù)程序在模糊測試過程中實(shí)時的測試情況才能確定,因此本文基于模糊測試過程中各樣本的路徑覆蓋信息實(shí)時計算挑選稀有路徑,通過實(shí)時的路徑信息為每個種子文件計算能量,能量越高的種子文件被選中的概率越大。該方法以路徑被樣本隊列中的樣本所執(zhí)行的累計次數(shù)判斷路徑是否稀有,考慮到在模糊測試過程中樣本執(zhí)行代碼片段越多則越可能觸發(fā)新路徑,因此在計算樣本的能量時將會計算各個分支的執(zhí)行情況從整體上來為種子文件分配能量。

        首先記錄各分支路徑被種子隊列中的樣本文件所執(zhí)行的次數(shù),每個分支被執(zhí)行的次數(shù)等于各樣本文件所執(zhí)行該分支的次數(shù)的總和:

        hitstimebranch=∑input∈queuehits(input,branch)(1)

        其中queue屬于當(dāng)前的樣本隊列。根據(jù)分支執(zhí)行次數(shù)的總和可以判斷出哪些路徑為稀有路徑,為了讓模糊測試合理使用資源探索新路徑,通過為經(jīng)過稀有路徑的種子文件分配更多能量使得其被選中進(jìn)行變異的概率增大,能量計算公式如下:

        E(input)=∑branch∈Bhits(input,branch)hitstimebranch(2)

        其中:hitstimebranch是當(dāng)前branch路徑被樣本隊列所執(zhí)行的累計次數(shù)總和,而branch是當(dāng)前樣本文件所執(zhí)行到的任一分支,hits(input,branch)為當(dāng)前該樣本在執(zhí)行過程中執(zhí)行branch分支的次數(shù),B為當(dāng)前執(zhí)行到的所有程序路徑分支。如果路徑被執(zhí)行次數(shù)較多,則該路徑為高頻路徑,其獲得的能量比重減小。 一個樣本的能量比重為該樣本所執(zhí)行到的所有分支能量的總和。

        3.3 變異引導(dǎo)

        為了引導(dǎo)樣本文件進(jìn)行有效變異以產(chǎn)生能夠通過比較檢查指令的有效子代樣本文件,本文在AFL的基礎(chǔ)上進(jìn)行了3個方面的改進(jìn):首先是保留比較進(jìn)度有所增長的樣本,其次是根據(jù)啟發(fā)式規(guī)則對樣本的特定位置進(jìn)行變異,最后是以比較指令中出現(xiàn)的立即數(shù)為取值范圍對樣本進(jìn)行變異。

        在所給程序中,生成了繞過Check 1的樣本后,在對樣本文件進(jìn)行進(jìn)一步變異以生成通過Check 2校驗(yàn)的樣本時,AFL會根據(jù)其變異規(guī)則對樣本文件進(jìn)行比特翻轉(zhuǎn)、算術(shù)操作等,由于AFL將覆蓋新代碼作為保留子代的條件,即使變異樣本已經(jīng)部分匹配到“MAGIC”值,代碼覆蓋情況并沒有改變,變異文件仍然會被舍棄,因此要求變異樣本文件的前5個字節(jié)必須完全匹配“MAGIC”才能被保留,在這樣的條件下,AFL要生成能夠通過Check 2的樣本最多需要28×5次變異。這樣嚴(yán)苛的條件導(dǎo)致AFL很難生成能夠成功通過Check 2的樣本。為了降低難度,本文通過引入比較進(jìn)度信息,在樣本變異過程中匹配到magic值校驗(yàn)中的任一字節(jié),即觸發(fā)了比較進(jìn)度后,將保留該變異文件進(jìn)行進(jìn)一步的變異,在進(jìn)一步的變異中,將保留具有高比較進(jìn)度信息的變異樣本,在這樣的條件下,要通過Check 2校驗(yàn)最多需要28×5次變異。通過引入比較進(jìn)度信息本方法將極大降低生成通過Check 2樣本的難度。

        雖然為了通過規(guī)約檢查引入比較進(jìn)度后的變異難度已經(jīng)大幅度減小,但是在對樣本變異時需要進(jìn)行變異的字節(jié)位于樣本哪個偏移仍然是未知的,因此在實(shí)際情況中,變異出能夠通過Check 2檢查的樣本所需要的最多變異次數(shù)遠(yuǎn)遠(yuǎn)大于28×5,仍然存在很大難度。即使能夠準(zhǔn)確定位到需要變異的位置,但是面臨28×5次變異仍然是一個較大的開銷。為了進(jìn)一步提高變異的準(zhǔn)確率和有效性,本文采用一種簡單的啟發(fā)式方法以減小變異范圍和搜尋空間。在變異過程中,一旦對樣本文件的某個偏移位置進(jìn)行變異后觸發(fā)或提高了比較指令的比較進(jìn)度信息,那么將認(rèn)為這個字節(jié)即為magic值校驗(yàn)檢查中的一個字節(jié),由于大部分的magic值是以連續(xù)字節(jié)的方式存放在輸入文件中供應(yīng)用程序進(jìn)行校驗(yàn)檢查的,因此位于該偏移位置前后的字節(jié)很有可能同樣是magic字節(jié),因此本方法將會在該變異位置前后的(sizeoperand-1)個字節(jié)優(yōu)先使用該比較進(jìn)度所對應(yīng)的比較指令中立即數(shù)的具體值逐字節(jié)對樣本文件進(jìn)行變異。如在所給程序中,在對樣本文件第1個字節(jié)進(jìn)行變異時將第1個字節(jié)變異為M后,比較進(jìn)度信息將被觸發(fā),本文方法將會使用“MAGIC”這5個字符逐字節(jié)對樣本文件的第2~第5個字節(jié)進(jìn)行變異,這將大幅度提高變異的準(zhǔn)確性,能夠快速生成通過Check 2的變異樣本文件從而觸發(fā)到Check 3的新路徑。

        4 實(shí)驗(yàn)與分析

        為了驗(yàn)證所提方法的有效性,本文實(shí)現(xiàn)了一個模糊測試系統(tǒng)RMFuzzer并對其進(jìn)行了實(shí)驗(yàn)評估。RMFuzzer使用二進(jìn)制插樁平臺Dyninst[22]以及模糊測試工具AFL進(jìn)行開發(fā),同時還使用IDA Pro(Interactive Disassembler Professional)及IDAPython輔助對二進(jìn)制程序進(jìn)行分析和相關(guān)指令信息的提取。在相同實(shí)驗(yàn)環(huán)境下與二進(jìn)制模糊測試工具AFLDyninst(該工具采用Dyninst插樁框架對二進(jìn)制文件進(jìn)行插樁,其模糊測試器為AFL)進(jìn)行對比。測試環(huán)境為Ubuntu 16.04 LTS32位系統(tǒng),Intel Xeon CPU E31231 v3處理器和8GB的內(nèi)存。實(shí)驗(yàn)采用了兩個數(shù)據(jù)集進(jìn)行實(shí)驗(yàn)評估,其中包括LAVAM測試集以及現(xiàn)實(shí)生活中的實(shí)際應(yīng)用程序。

        4.1 LAVAM測試集

        LAVAM是一個人工構(gòu)造的含有大量bug的數(shù)據(jù)集,其采用了污點(diǎn)分析等技術(shù)向應(yīng)用程序中注入了大量難以被觸發(fā)的bug[23]。

        在對RMFuzzer和AFLDyninst進(jìn)行對比實(shí)驗(yàn)時,使用相同的文件作為初始種子,運(yùn)行時間為5h,由于模糊測試過程中變異存在一定的隨機(jī)性,因此前后共進(jìn)行了3輪測試,實(shí)驗(yàn)結(jié)果取3次實(shí)驗(yàn)的平均數(shù)據(jù)。在3次實(shí)驗(yàn)過程中,AFLDyninst均沒有產(chǎn)生任何能夠觸發(fā)crash的樣本文件,而RMFuzzer在4個應(yīng)用程序中均產(chǎn)生了觸發(fā)其中所存在的部分crash的樣本文件。實(shí)驗(yàn)結(jié)果如表1所示。從實(shí)驗(yàn)結(jié)果可以看出,在LAVAM測試集中,RMFuzzer能夠發(fā)現(xiàn)其中注入的bug,其測試效果明顯好于AFLDyninst。

        5 結(jié)語

        針對現(xiàn)有模糊測試技術(shù)存在的路徑覆蓋能力不足、變異存在一定盲目性等問題,本文提出了一種面向二進(jìn)制程序的導(dǎo)向性模糊測試方法,并基于該方法實(shí)現(xiàn)了模糊測試工具RMFuzzer。該方法主要從種子文件的調(diào)度策略以及變異策略上對模糊測試過程進(jìn)行了引導(dǎo),相對于其他將污點(diǎn)分析或符號執(zhí)行與模糊測試相結(jié)合的方法,本文方法采用輕量級的靜態(tài)分析方法與插樁技術(shù),因此通用性更高,同時節(jié)約計算資源。通過實(shí)驗(yàn)證明RMFuzzer無論是在發(fā)現(xiàn)crash的能力方面還是在路徑發(fā)現(xiàn)與代碼覆蓋方面均優(yōu)于當(dāng)前流行的模糊測試工具,但是該方法仍然存在一定的問題:

        1)在進(jìn)行變異引導(dǎo)時,本方法采用了一個啟發(fā)式的策略,一旦該變異位置提高了比較指令中的比較進(jìn)度就在該位置附近字節(jié)進(jìn)行變異,但是如果輸入文件中magic字段并不是連續(xù)存放的,那么這種啟發(fā)式策略將不再奏效。故進(jìn)一步的工作需要考慮如何解決這樣的問題。

        2)其次,存在變異導(dǎo)致控制流改變而進(jìn)一步觸發(fā)比較進(jìn)度的情況,在這樣的情況下,本文提出的變異引導(dǎo)方法將不再適用,在之后的研究工作中,需要考慮如何能更準(zhǔn)確地對需要變異的文件位置進(jìn)行定位,提高變異引導(dǎo)的效率和準(zhǔn)確性。

        3)本方法著重于解決應(yīng)用程序規(guī)約檢查中輸入文件的magic字段的檢查問題,在接下來的工作中應(yīng)進(jìn)一步研究如何生成能夠快速繞過其他類型的程序檢查的樣本以提高模糊測試的效率。

        參考文獻(xiàn) (References)

        [1] Wikipedia. WannaCry ransomware attack[EB/OL].[2018-03-10]. https://en.wikipedia.org/wiki/WannaCry_ransomware_attack.

        [2] KHANDELWAL S. Critical flaw leaves thousands of Cisco switches vulnerable to remote hacking[EB/OL].[2018-03-10]. https://thehackernews.com/2018/04/ciscoswitcheshacking.html.

        [3] MILLER B P, FREDRIKSEN L, SO B. An empirical study of the reliability of UNIX utilities[J]. Communications of the ACM, 1990, 33(12): 32-44.

        [4] OSSFuzzContinuous fuzzing for open source software[EB/OL]. [2018-03-10]. https://github.com/google/ossfuzz.

        [5] Microsoft security development lifecycle[EB/OL].[2018-03-10]. https://www.microsoft.com/enus/sdl/process/verification.aspx.

        [6] SHOSHITAISHVILI Y, WANG R, SALLS C, et al. SOK: (State of) the art of war: offensive techniques in binary analysis[C]// Proceedings of the 2016 IEEE Symposium on Security and Privacyn Security and Privacy. Piscataway, NJ: IEEE, 2016: 138-157.

        [7] ZALEWSKI M. American fuzzy lop (2.52b)[EB/OL]. [2018-03-10]. http://lcamtuf.coredump.cx/afl/.

        [8] BHME M, PHAM V T, ROYCHOUDHURY A. Coveragebased greybox fuzzing as Markov chain[C]// Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security. New York: ACM, 2016: 1032-1043.

        [9] LEMIEUX C, SEN K. FairFuzz: a targeted mutation strategy for increasing greybox fuzz testing coverage[C]// Proceedings of the 2018 ACM/IEEE International Conference on Automated Software Engineering. Piscataway, NJ: IEEE, 2018: 475-485.

        [10] CADAR C, SEN K. Symbolic execution for software testing: three decades later[J].Communications of the ACM, 2013, 56(2): 82-90.

        [11] LIANG H L, PEI X X, JIA X D, et al. Fuzzing: state of the art[J]. IEEE Transactions on Reliability, 2018, 67(3): 1199-1218.

        [12] GAN S T, ZHANG C, QIN X J, et al. CollAFL: path sensitive fuzzing[C]// Proceedings of the 2018 IEEE Symposium on Security and Privacy. Piscataway, NJ: IEEE, 2018: 679-696.

        [13] PENG H, SHOSHITAISHVILI Y, PAYER M. TFuzz: fuzzing by program transformation[C]// Proceedings of the 2018 IEEE Symposium on Security and Privacy. Piscataway, NJ: IEEE, 2018: 697-710.

        [14] PHAM V T, ROYCHOUDHURY A. Modelbased whitebox fuzzing for program binaries[C]// Proceedings of the 2016 IEEE/ACM International Conference on Automated Software Engineering. Piscataway, NJ: IEEE, 2016: 543-553.

        [15] RAWAT S, JAIN V, KUMAR A, et al. VUzzer: applicationaware evolutionary fuzzing [EB/OL].[2018-03-20].https://mirror.explodie.org/3714.pdf.

        [16] 張斌, 李孟君, 吳波, 等. 基于動態(tài)污點(diǎn)分析的二進(jìn)制程序?qū)蛐阅:郎y試方法[J]. 現(xiàn)代電子技術(shù), 2014, 37(19): 89-94. (ZHANG B, LI M J, WU B, et al. Method of binary oriented fuzzy testing based on dynamic taint analysis [J]. Modern Electronics Technique, 2014, 37(19): 89-94.)

        [17] 王鐵磊. 面向二進(jìn)制程序的漏洞挖掘關(guān)鍵技術(shù)研究[D]. 北京:北京大學(xué), 2011: 41-69. (WANG T L. Research on binaryexecutableoriented software vulnerability detection[D]. Beijing: Peking University, 2011: 41-69.)

        [18] STEPHENS N, GROSEN J, SALLS C, et al. Driller: augmenting fuzzing through selective symbolic execution[EB/OL].[2018-03-20].http://www.cs.ucsb.edu/~chris/research/doc/ndss16_driller.pdf.

        [19] LI Y K, CHEN B H, CHANDRAMOHAN M, et al. Steelix: programstate based binary fuzzing[C]// Proceedings of the 2017 Joint Meeting on Foundations of Software Engineering. New York: ACM, 2017: 627-637.

        [20] CHEN P, CHEN H. Angora: efficient fuzzing by principled search[C]// Proceedings of the 2018 IEEE Symposium on Security and Privacy. Piscataway, NJ: IEEE, 2018: 697-710.

        [21] ZALEWSKI M. Technical “whitepaper” for AFLfuzz[EB/OL]. [2018-03-20]. http://lcamtuf.coredump.cx/afl/technical_details.txt.

        [22] Paradyn/DyninstWelcome[EB/OL]. [2018-03-20]. https://dyninst.org/.

        [23] DOLANGAVITT B, HULIN P, KIRDA E, et al. LAVA: largescale automated vulnerability addition[C]// Proceedings of the 2016 IEEE Symposium on Security and Privacy. Piscataway, NJ: IEEE, 2016: 110-121.

        国产特级毛片aaaaaa高潮流水| 亚洲最稳定资源在线观看| av福利资源在线观看| 国产成人精品人人做人人爽97| 欧美国产综合欧美视频| 激情亚洲一区国产精品| 国产精品电影久久久久电影网 | 中文字幕一区二三区麻豆 | 欧美天天综合色影久久精品| 亚洲精品国产字幕久久vr| 亚洲国产综合性感三级自拍 | 日韩精品有码在线视频| 久久精品一区二区三区蜜桃| 国产午夜福利在线观看红一片 | 中文字幕亚洲好看有码| 白浆高潮国产免费一区二区三区| 久久成人国产精品一区二区| 亚洲欧美激情在线一区| 国产情侣一区在线| 精品国产a毛片久久久av| 麻豆亚洲av熟女国产一区二| 久久无码av三级| 国产精品女丝袜白丝袜| 加勒比日韩视频在线观看| 啦啦啦www在线观看免费视频| 中文字幕在线免费| 激情视频在线观看免费播放| 日本在线精品一区二区三区| 免费人成在线观看视频播放| 午夜视频网址| 亚洲精品天堂日本亚洲精品| 免费观看交性大片| 又爽又黄无遮挡高潮视频网站| 久久精品国产亚洲精品色婷婷| 成人国产精品一区二区八戒网| 国产成人av三级在线观看韩国| 欧美又粗又长又爽做受| 国产黄页网站在线观看免费视频| 男女干逼视频免费网站| 日本一区二区三区免费精品| 国产男女猛烈视频在线观看|