999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

軟件漏洞模糊測試的關鍵分支探索及熱點更新算法

2024-08-17 00:00:00唐成華蔡維嘉林和強保華
計算機應用研究 2024年7期

摘 要:在軟件開發及應用中,由于具有可復現性,模糊測試能夠幫助發現漏洞和有針對性地對漏洞成因進行分析。為了解決模糊測試過程的效率及測試力度等問題,提出了軟件漏洞模糊測試的關鍵分支探索及熱點更新算法。該方法通過捕獲、分析和利用受檢程序在處理測試用例時的執行位置的關鍵信息,以指導模糊測試過程的探索方向和測試用例的生成。實驗結果表明,提出的方法相較于傳統隨機發散的模糊測試方法在漏洞發現能力上有較大提升,在Otfcc、Swftools等14個開源程序中發現了100余個未被公布的漏洞,為模糊測試用于軟件漏洞檢測提供了新的可靠途徑。

關鍵詞:模糊測試;代碼分析;關鍵分支;漏洞檢測

中圖分類號:TP301 文獻標志碼:A 文章編號:1001-3695(2024)07-036-2179-05

doi: 10.19734/j.issn.1001-3695.2023.11.0508

Algorithm of key branch exploration and hotspot update for software vulnerability fuzzy testing

Abstract:In software development and application, due to its reproducibility, fuzzy testing can help identify vulnerabilities and analyze the causes of vulnerabilities in a targeted manner. In order to address the issues of efficiency and testing intensity in the fuzzy testing process, this paper proposed a key branch exploration and hotspot update algorithm for software vulnerability fuzzy testing. This method guided the exploration direction of the fuzzy testing process and the generation of test cases by capturing, analyzing, and utilizing key information on the execution position of the inspected program when processing test cases. The experimental results show that the proposed method has a significant improvement in vulnerability detection ability compared to the traditional randomly divergent fuzzy testing methods, and more than 100 undisclosed vulnerabilities were found in 14 open source programs such as Otfcc and Swftools which providing a new and reliable approach for using fuzzy testing to detect software vulnerability.

Key words:fuzzy testing; code analysis; key branch; vulnerability detection

0 引言

模糊測試是一種通過向系統注入隨機或異常數據來發現應用程序或系統中的潛在漏洞和軟件缺陷的測試方法,已廣泛應用于Web應用程序、移動應用程序、網絡協議、操作系統與內核、數據庫系統、物聯網設備等領域的缺陷或潛在漏洞檢測[1~6]。 作為典型的模糊測試工具,Google推出的基于代碼覆蓋率的AFL,使用測試用例所能觸發到的受檢程序功能代碼與整體代碼(插樁得到部分)的比值來衡量當前測試用例發現漏洞、程序安全違例事件的潛力,藉此考察測試用例是否應當保留,以用作后續突變產生新測試用例的母本,其核心思想在于基于測試所能覆蓋到的代碼體量占比越大,發現程序脆弱點的可能性越大[7]?;谠摲椒ǖ哪:郎y試工具在過去很長時間被Google、Microsoft、Adobe等諸多公司或廠商付諸應用,實踐證明了其有效性。一方面,AFL在編譯受檢程序時進行插樁處理,為每個插樁單元生成一個隨機標識符來唯一標識當前程序位置[8],同時通過捕獲受檢程序的分支執行情況來實現代碼覆蓋率的檢測。另一方面,AFL測試用例的生成采用樣本突變方式,其原生的突變操作包括byteflip 、bitflip、arithmetic inc/dec、interesting values、user extras、auto extras、random bytes、insert bytes、cross over等類型,執行測試用例后會記錄該用例的執行路徑覆蓋情況,并且評估該測試用例,指導后續新的用例的生成[9]。

實際上,傳統隨機發散的模糊測試方法存在著一些不足,例如過于依賴代碼覆蓋率的樣本質量評估指標,由于不能進入某些程序保護邏輯等原因,導致同樣具備漏洞存在可能的部分程序代碼的探索用時較長,或者測試力度不足以觸發程序異常所帶來的漏報率[10]??赡軒頊y試代碼覆蓋率問題的一段代碼如下:

其中,第3行的if條件分支中的代碼體量相對該處else分支的代碼體量而言更大,在衡量測試用例質量的代碼覆蓋率關鍵指標上表現更優,存在使得模糊測試的測試方向傾向于分支條件為true的部分,而忽略了導致對該處分支條件為false的分支的發現,或者由于測試強度不足以觸發這一分支下的錯誤(crash)而導致的發現效率低、漏報等情況。

Dinesh等人[11]認為程序模糊化對閉源二進制文件安全分析是可行的,基于代碼覆蓋率引導對二進制文件進行模糊化重寫,并保證其在性能上與編譯器插入的二進制文件相同。佘庚達等人[12]基于二進制程序靜態分析提出了用于驅動程序運行信息監控和漏洞挖掘的模糊測試工具。Li等人[13]考慮到傳統模糊測試方法面向多字節保護邏輯時,單字節枚舉正確有利于測試,但因為無法體現代碼覆蓋率指標,導致諸多生成的測試用例無法針對這些保護邏輯進行測試而使效率低下,所以對相關位置代碼進行重寫,使得保護邏輯字段首字節的枚舉正確性得以反映在用于指導fuzzer變異的代碼覆蓋率上,并將該有效樣本送入下一輪的迭代再生成。Lemieux等人[14]提出一種自動識別稀有分支的方法,并結合一種新穎的突變掩碼創建算法,該算法將突變偏向于生成命中給定稀有分支的輸入。Ganesh等人[15]利用動態污點追蹤來識別原始種子輸入文件中影響關鍵程序攻擊點所用值的區域,然后對這些區域進行模糊處理,生成新的測試輸入文件,這些文件保留了原始種子輸入文件的底層語法結構,并指出此技術對于測試具有復雜、高度結構化輸入文件格式的程序效果顯著。Ma等人[16]提出一種基于遺傳算法和BI-LST神經網絡的模糊測試樣本生成框架,以獲得一個同時具有代碼覆蓋率和漏洞挖掘能力的樣本集,用于程序的關鍵執行路徑,重點關注了路徑深度探索能力評估指標,使探索能夠發現原本無法發現的漏洞??偟膩碚f,諸多研究方法仍然體現了如何在模糊測試過程中完成對受檢程序內部代碼的快速探索,以快速提升測試所能覆蓋到的更廣泛的代碼,以及如何生成高效、高質量的測試用例是模糊測試技術在實踐中存在的挑戰。

本文借鑒AFL,通過對樣本突變操作所生成新的測試用例的質量評估,保留具備更高潛力(主要體現在代碼覆蓋率上)的樣本,并作為用于后續突變生成新的測試用例的母本的思路,提出面向軟件漏洞模糊測試的關鍵分支探索及熱點更新算法及應用方法,旨在解決針對受檢程序內部關鍵分支的識別及其快速探索,以及高質量測試用例生成方法等問題。將程序保護邏輯及其相關指令作為關鍵特征分支,結合合法樣本和非法樣本兩類樣本,在受檢程序內部的處理過程中捕獲關鍵分支位置特征信息。通過比對這些指令位置的操作數、寄存器等執行信息的差異,篩查并快速探索價值相對較高的關鍵分支,進而使用程序局部性原理結合測試用例的評估結果與突變位置構建樣本突變熱點位記錄模塊,為樣本突變階段生成測試用例提供指導。

1 面向關鍵分支的軟件漏洞模糊測試模型

為了有效地提升代碼探索效率及漏洞檢測能力,構建面向關鍵分支的軟件漏洞模糊測試模型,如圖1所示,主要包括關鍵分支篩選、分支內部快速探索和突變熱點區域記錄三個模塊。首先,關鍵分支篩選負責完成對受檢程序內部關鍵分支的篩選,利用靜態分析并結合受檢程序對測試用例的處理過程,具體地執行上下文信息,完成對程序敏感代碼或執行檢查的識別與定位。該模塊的輸出結果僅保留滿足篩選條件的部分,即被認為對接收輸入合法性敏感的、具有較高探索價值的分支選擇指令。其次,分支內部快速探索是結合關鍵分支篩選模塊的處理結果,負責對程序內部分支的快速探索,該探索過程中會對受檢程序內部運行進行干預,目的在于提升受檢程序內部分支的發現效率,同時,期望檢測出程序內部更加隱蔽的漏洞,這是因為某些更加隱蔽、難以檢出的安全漏洞更常與非常規程序執行流程或不正確的狀態轉換相關。最后,突變熱點區域記錄是在單個測試用例執行結束后的樣本評估時執行,主要是利用當前測試用例的執行結果表現,根據程序局部性原理,去評估當前樣本的突變位置在代碼覆蓋率、誘發受檢程序出現安全違例事件的可能性等潛力設置樣本熱點位圖,樣本熱點位圖中的熱度信息可為后續樣本突變階段的突變操作位置提供指導。

2 關鍵分支篩選

關鍵分支是指那些對接受輸入合法性較為敏感的部分分支,所對應的選擇指令典型的有checksum、magic bytes check等[17]。對于接收輸入的合法性敏感,意味著這部分相應的內容在面向輸入合法性存在差異的內容時,程序內部的執行上下文會存在不同程度的差異,進而表現出程序行為的差異。輸入合法性是指程序預期進行處理的內容。模糊測試的基礎思想正是通過生成大量的畸形數據,增加輸入非法樣本的可能產生比例,進而期望這些內容能夠導致程序出現安全違例事件。分支篩選的目的,一方面是為了避免測試工作負擔呈現指數型爆炸式增長,在犧牲部分探索價值不高的位置換取測試整體效率的提升;另一方面,價值不高的內容并非真正丟棄,模糊測試的基本方法仍可能覆蓋未被選中的部分并完成測試。

首先,對關鍵分支位置的特征進行提取,由于其實施特征通常以cmp/轉移指令、test/轉移指令的方式出現,所以使用靜態分析對滿足條件的內容進行初步篩選。其次,為了確定那些對于接收輸入合法性敏感的位置,通過提交給受檢程序二類樣本(合法樣本和非法樣本),根據轉移指令je的邏輯,檢測受檢程序對這些樣本的實際執行過程中具體的相關執行上下文的差異進行進一步篩查。要注意的是,je的實施邏輯與標志寄存器的內容高度相關。

算法1 關鍵分支篩選

算法1的第1、2行輸入合法和非法兩類樣本并交付給受檢程序執行,如果執行到靜態分析初步篩選得出的關鍵分支標志轉移指令所在位置時,記錄相應的標志寄存器內容。記錄的內容以hash表形式存放,鍵值以指令地址計算得出。第4行中,記錄對非法與合法兩類樣本都覆蓋的內容。后續算法將對當前的檢查點(spot)進行特征檢查,以je指令為例,對于合法樣本和非法樣本,算法會記錄它們執行到檢查點時的標志寄存器內容,并檢查與je指令相關的標志位。如果存在差異(第7行),既當前的檢查點是一個對于輸入合法性比較敏感的校驗位置,具有較高的探索價值,因此將其保存進入關鍵分支篩選結果checkPointArray,并作為算法輸出。

3 分支內部快速探索

3.1 分支干預與探索

分支內部快速探索旨在完成受檢程序內部快速探索的目的。通常,一些難以檢測的安全漏洞常常與非常規程序執行流程或不正確的狀態轉換有關。因此,針對關鍵分支篩選模塊的執行結果(即敏感位),分支內部快速模塊干預程序的運行,即在這些位置對相應寄存器內容設定反值,以更改程序執行分支的陷入方向。通常,這些敏感位置與程序的執行分支選擇密切相關。對受檢程序內部的快速探索如圖2所示。

干預可以視為非常規程序執行流程或不正確的狀態轉換。如果在受檢程序的后續執行過程中發生崩潰,則修復相應的樣本。傳統模糊測試工具在評估樣本質量時通常會保留表現優秀的測試用例作為后續突變的母本,同時丟棄表現差的樣本。實際上,表現差的樣本也具有突變母本的某些特質,因此,這類樣本也可以作為操作對象,并且不會干擾主測試的進程。

算法2 分支內部快速探索

算法2的第2行,pickPosToTwist方法隨機選擇執行程序干預的位置,該操作可以先行降低后續可能啟動的樣本修復所導致的修復開銷。第7行checkPointArray是通過算法1得出,與程序的執行分支轉移和輸入的合法性密切相關。選取通過關鍵分支篩選得出的敏感位置進行控制流程的干預,可以快速探索受檢程序內部的邏輯,以及檢出那些與非常規程序執行流程或不正確狀態轉換相關的、隱蔽性較好的漏洞。在實施干預分支陷入方向后,如果受檢程序對當前測試用例的執行效果有提升(如crash或測試代碼覆蓋率有提升),則啟動樣本修復模塊進行后續操作,否則視當前所干預的分支為冗余操作,通過執行第31行的rollback方法標記相應的分支轉移位置,后續不再對其進行干預,該操作同樣可以降低后續可能啟動的樣本修復所導致的資源開銷。

3.2 樣本修復

樣本修復模塊與分支內部快速探索模塊協同工作,用于在快速探索模塊中對關鍵分支轉移位置實施干擾,并且修復因干預導致效益提升的樣本。采用受限性引用符號執行技術,即僅針對實施干預部分的節點實施技術應用,這是由快速探索模塊的策略決定的[18]。快速探索模塊中,pickPosToTwist方法對干預位置的選擇是隨機的,也就是對checkPointArray中隨機挑選部分位置實施干預,并非全部實施干預,使得符號執行應用過程中的求解工作量減少。

另一方面,算法2中的rollback方法對于無表現提升的干預位置進行回退操作,其目的也在于降低符號執行應用過程中的求解工作量。針對分支轉移位置checkPoint cp進行干預的過程,如圖3所示,原執行分支在該位置的轉移目的分支被干預。如果對checkPoint cp實施干預未帶來測試用例表現的提升,則執行rollback方法進行回退,因此不存在對該點的干預后果承擔修復資源開銷的情況。如果對checkPoint cp實施干預帶來測試用例表現的提升,則需要進行修復,此時符號執行技術所需要修復的部分僅是相關的躍遷路徑(branch_src, branch_dst),從而降低符號執行的求解復雜度。

4 突變熱點區域記錄

程序的執行,在一段時間內只限于程序中的某一部分,因此對于單次突變時選擇的突變位置,如果在測試階段執行結束后,樣本質量評估階段表現優異,則確認該突變位置有價值。為了標記這些突變位置,采取對輸入用例的每個字節位置設置唯一標識符的方案,在突變過程中記錄相應的突變位置。在樣本評估階段,根據執行結果的表現,將當前突變位置及其附近幾個單元視為熱度區域,構建樣本熱點位圖,為后續的突變環節提供指導,幫助突變模塊生成更高質量的測試用例,從而提高測試的效率。

算法3 突變熱點更新

算法3根據突變位置的表現來更新熱點區域,可以為后續的突變環節提供指導,使測試主要用在執行高效的突變操作上。其中,updateHotzone方法用于更新熱點區域,它根據所關注的幾種運行結果狀態,有以下三種更新:

a)如果執行結果包含crash,則說明當前選中的樣本Hotzone的突變位置curMutatePos作為樣本突變階段的操作對象,存在相關字段的突變,導致程序測試過程出現crash,因此當前突變位置的熱度會相應地提升。

b)如果執行結果顯示本次測試過程覆蓋了新的代碼路徑,則說明當前選中的樣本Hotzone的突變位置curMutatePos作為樣本突變階段的操作對象,對于提升代碼覆蓋率有探索價值,因此當前突變位置的熱度會相應地提升。

c)如果執行結果顯示本次測試過程對受檢程序的代碼覆蓋率沒有提升,則說明當前選中的樣本Hotzone的突變位置curMutatePos作為樣本突變階段的操作對象,對于提升代碼覆蓋率沒有探索價值,因此當前突變位置的熱度會相應地下降。

5 實驗結果與分析

實驗環境是6核3.0 GHz的Intel i5-12500H CPU,16 GB RAM,Ubuntu LTS 18.04操作系統。實驗選用Otfcc、Swftools、Xpdf、Swfmill、PNGdec等16個開源應用。初始樣本的收集來自對應項目的以往issue的相關POC文件,以及網絡收集的作為輸入的樣本集,樣本集的收集階段能夠很好地提升測試任務的起點。

a)采用本文方法在14個目標程序中測試發現了100余個未被公布的漏洞,均已獲得了CVE 編號(見https://cve.mitre.org/)。方法在檢測錯誤數(crash)、去重后錯誤數(unique)、錯誤檢出效率(EDE)以及是否執行樣本修復(repaired?)方面的情況如表1所示,其中,錯誤檢出效率是指在對應測試應用中每小時發現的錯誤數量。

b)本文方法對受檢應用進行模糊檢測后發現的新漏洞(部分)及其安全等級和所屬漏洞類型如表2所示,其中所涉及的漏洞類型包括heap buffer overflow、use after free、stack overflow、global buffer overflow、FPE、memory leak、segmentation violation等。

c)實驗將本文方法與隨機發散的模糊測試方法AFL[7]及其優化方案FairFuzz[14]進行了對比。檢測出的去重(unique)后的漏洞情況如表3所示,從整體(覆蓋了發現漏洞的14個受檢目標程序)的漏洞發現情況來看,針對已檢出的漏洞類型,本文方法在檢出能力上均有所提升。在測試時間段內,相較于隨機發散的AFL和FairFuzz方法未能檢出use after free這類與程序操作的先后順序、執行邏輯強相關的漏洞,本文方法則有著很好的檢出效果。其原因在于,盡管一些難以檢測的安全漏洞常常與非常規程序執行流程或不正確的狀態轉換有關,而本文方法利用關鍵分支篩選得出這些敏感位置并進行干預,繼而通過分支內部快速探索算法,對這類特殊邏輯相關的漏洞卻有較好的檢出能力提升。

另外,以Otfcc測試項目為例,對比本文方法與AFL和FairFuzz的隨測試時間發展的測試結果,如圖2所示,在漏洞發現情況以及unique漏洞發現情況的評估指標上,本文方法的表現均優于AFL和FairFuzz。在測試用時50 h內,隨著測試用時的增加,模糊測試的深度與廣度都會相應加大,檢出的錯誤或漏洞也呈遞增趨勢。由于代碼內部邏輯作為類樹結構在實際中不能全覆蓋,同時,因為理論上有無窮多的隨機輸入組合,使得模糊測試在理論上不會停止,但隨著測試用時的投入,新發現的概率會越來越少,即在測試用時16 h之后的檢出漏洞數增長趨勢變緩。通常在測試過程中,距離上次發現新的代碼分支或程序異常已經過去5 h(即時間限制)、達到預設的測試用例數、達到預設的代碼覆蓋率或路徑覆蓋率、發現預設數量的漏洞或錯誤,或者資源消耗達到預設極限等就可以終止測試[19]。

6 結束語

本文主要通過篩選并評估受檢程序內部存在的諸多分支,篩選有價值位置進行探索,對篩選位置所涉及的分支挖掘更高的漏洞發現能力。這些具有探索價值較高的分支,受限于傳統模糊測試方法在測試用例上的突變隨機性,不能總是在測試過程中被納入測試范圍,通過分支內部快速探索模塊中的干預分支選擇方式完成對這些分支的測試。在模糊器生成測試用例階段,根據測試用例的執行結果更新并維護樣本突變熱點區域,指導測試用例突變操作所作用的位置,向那些能帶來效益提升的位置傾斜。實驗結果驗證了本文方法的有效性,相比于AFL和FairFuzz均有較大的漏洞發現能力的提升。不足之處在于,通過構建樣本突變熱點區域的方式指導突變操作的位置,雖然去除了傳統模糊測試方法的隨機性,但可能使得一些低頻、被判定探索價值低的程序邏輯被測試忽略,因此可能存在一定的漏報。樣本突變熱點區域的多樣性及熱點能力細分是下一步研究的方向。

參考文獻:

[1]Kumar R,Baz A,Alhakami H,et al. A hybrid fuzzy rule-based multi-criteria framework for sustainable-security assessment of Web application [J]. Ain Shams Engineering Journal,2021,12(2): 2227-2240.

[2]Weng Le,Feng Chao, Shi Zhiyuan,et al. FASSFuzzer—an automated vulnerability detection system for android system services [J]. Journal of Computers(Taiwan),2022,33(2): 189-200.

[3]Liu Xinyao, Cui Baojiang, Fu Junsong,et al. HFuzz: towards automa-tic fuzzing testing of NB-IoT core network protocols implementations [J]. Future Generation Computer Systems,2020,108: 390-400.

[4]肖天,江智昊,唐鵬,等. 基于深度強化學習的高性能導向性模糊測試方案 [J]. 網絡與信息安全學報,2023,9(2): 132-142. (Xiao Tian,Jiang Zhihao,Tang Peng,et al. High-performance directional fuzzing scheme based on deep reinforcement learning [J]. Chinese Journal of Network and Information Security,2023,9(2): 132-142.)

[5]盧昊良,鄒燕燕,彭躍,等. 基于物聯網設備局部仿真的反饋式模糊測試技術 [J]. 信息安全學報,2023,8(1): 78-92.(Lu Hao-liang,Zou Yanyan,Peng Yue,et al. Feedback-driven fuzzing techno-logy based on partial simulation of IoT devices [J]. Journal of Cyber Security,2023,8(1): 78-92.)

[6]Trippel T,Shin K G,Chernyakhovsky A,et al. Fuzzing hardware like software [C]// Proc of the 31st USENIX Security Symposium. Berkeley,CA: USENIX Association,2022: 3237-3254.

[7]Fioraldi A,Mantovani A,Maier D,et al. Dissecting American fuzzy lop: a FuzzBench evaluation [J]. ACM Trans on Software Engineering and Methodology,2023,32(2): 1-26.

[8]王明哲,姜宇,孫家廣. 模糊測試中的靜態插樁技術 [J]. 計算機研究與發展,2023,60(2): 262-273.(Wang Mingzhe,Jiang Yu,Sun Jiaguang. Static instrumentation techniques in fuzzing testing [J]. Journal of Computer Research and Development,2023,60(2): 262-273.)

[9]劉盈盈,楊秋輝,姚邦國,等. 基于依賴模型的REST接口測試用例生成方法研究 [J]. 計算機科學,2023,50(9): 101-107.(Liu Yingying,Yang Qiuhui,Yao Bangguo,et al. Study on REST API test case generation method based on dependency model [J]. Computer Science,2023,50(9): 101-107.)

[10]李賀,張超,楊鑫,等. 操作系統內核模糊測試技術綜述 [J]. 小型微型計算機系統,2019,40(9): 1994-1999.(Li He,Zhang Chao,Yang Xin,et al. Survey of OS kernel fuzzing [J]. Journal of Chinese Computer System,2019,40(9): 1994-1999.)

[11]Dinesh S,Burow N,Xu Dongyan,et al. RetroWrite: statically instrumenting cots binaries for fuzzing and sanitization [C]// Proc of the 41st IEEE Symposium on Security and Privacy. Piscataway,NJ: IEEE Press,2020: 1497-1511.

[12]佘庚達,付才,岑澤威,等. 基于適應度和輸入約束模型的內核驅動漏洞挖掘 [J]. 計算機應用研究,2023,40(7): 2151-2156.(She Gengda,Fu Cai,Cen Zewei,et al. Kernel driver vulnerability mining based on fitness and input constraint model [J]. Application Research of Computers,2023,40(7): 2151-2156.)

[13]Li Yuekang, Chen Bihuan, Chandramohan M,et al. Steelix: program-state based binary fuzzing [C]// Proc of the 11th Joint Meeting on Foundations of Software EnfX2igwv9iyZlYBGZ/wp3oUygL97nN0fLjMeVyvB3oAM=gineering. New York: ACM Press,2017: 627-637.

[14]Lemieux C,Sen K. FairFuzz: a targeted mutation strategy for increasing greybox fuzz testing coverage [C]// Proc of the 33rd ACM/IEEE International Conference on Automated Software Engineering. Piscataway,NJ: IEEE Press,2018:475-485.

[15]Ganesh V,Leek T,Rinard M. Taint-based directed whitebox fuzzing [C]// Proc of the 31st International Conference on Software Engineering. Washington DC: IEEE Computer Society,2009: 474-484.

[16]Ma Mingrui,Han Lansheng,Qian Yekui. CVDF DYNAMIC—a dynamic fuzzy testing sample generation framework based on BI-LSTM and genetic algorithm [J]. Sensors,2022,22(3): 1265.

[17]戴渭,陸余良,朱凱龍. 結合混合符號執行的導向式灰盒模糊測試技術 [J]. 計算機工程,2020,46(8): 190-196.(Dai Wei,Lu Yuliang,Zhu Kailong. Directed grey-box fuzzing test technology combining mixed symbolic execution [J]. Computer Engineering,2020,46(8): 190-196.)

[18]吳皓,周世龍,史東輝,等. 符號執行技術及應用研究綜述 [J]. 計算機工程與應用,2023,59(8): 56-72.(Wu Hao,Zhou Shilong,Shi Donghui,et al. Review of symbolic execution technology and applications [J]. Computer Engineering and Applications,2023,59(8): 56-72.)

[19]Bohme M,Pham V T,Roychoudhury A. Coverage-based greybox fuz-zing as Markov chain [J]. IEEE Trans on Software Engineering,2019,45(5): 489-506.

主站蜘蛛池模板: 国产精品原创不卡在线| 中文字幕伦视频| 亚洲男人在线天堂| 欧美视频在线观看第一页| 亚洲欧美一区二区三区蜜芽| 亚洲区视频在线观看| 亚洲视频三级| 国产亚卅精品无码| 欧洲亚洲欧美国产日本高清| 白浆免费视频国产精品视频| 88av在线播放| 国产成人盗摄精品| 欧美另类一区| 精品无码国产自产野外拍在线| 国产视频大全| 黄色在线不卡| 国产成人免费| 日本精品一在线观看视频| 日韩小视频网站hq| 亚洲中文字幕在线一区播放| 久久久久国色AV免费观看性色| 欧美、日韩、国产综合一区| 九九视频免费在线观看| 欧美精品另类| 欧美中出一区二区| 一边摸一边做爽的视频17国产| 日韩AV无码一区| 熟女成人国产精品视频| 亚洲人免费视频| 免费国产福利| 亚洲最新在线| 国产网站一区二区三区| 国产成人精品一区二区不卡| 美女黄网十八禁免费看| 91日本在线观看亚洲精品| 欧美亚洲欧美| 婷婷六月激情综合一区| 国内老司机精品视频在线播出| 黄色免费在线网址| 中文字幕精品一区二区三区视频 | 亚洲一区网站| 亚洲成A人V欧美综合| 精品一区二区久久久久网站| 色悠久久久| 久久久久久午夜精品| 国产成人AV男人的天堂| 91久久青青草原精品国产| 女人毛片a级大学毛片免费| 久久亚洲日本不卡一区二区| 狠狠亚洲婷婷综合色香| 亚洲三级成人| 激情国产精品一区| 日韩无码黄色| 国产免费网址| 亚洲综合极品香蕉久久网| 国产精品蜜臀| 91精品人妻互换| 久久精品国产一区二区小说| 狠狠躁天天躁夜夜躁婷婷| 婷婷成人综合| 精品久久香蕉国产线看观看gif| 久久动漫精品| 超碰精品无码一区二区| 国产成人高清在线精品| 成人在线观看不卡| 中文字幕色在线| 亚洲中文字幕日产无码2021| 一级毛片中文字幕| 国产青榴视频| 亚洲天堂免费观看| 热久久这里是精品6免费观看| 亚洲最黄视频| 天堂中文在线资源| 欧美亚洲另类在线观看| 国产精品永久在线| 国产高潮流白浆视频| 亚洲一区二区约美女探花| 欧美a在线看| 一本色道久久88| 欧洲亚洲欧美国产日本高清| 高清不卡一区二区三区香蕉| 亚洲黄色激情网站|