欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

用于模糊測試瓶頸突破的交互式可視化方法、裝置和設備與流程

文檔序號:40591227發(fā)布日期:2025-01-07 20:31閱讀:7來源:國知局
用于模糊測試瓶頸突破的交互式可視化方法、裝置和設備與流程

本發(fā)明屬于網(wǎng)絡安全領域,具體涉及一種用于模糊測試瓶頸突破的交互式可視化方法、裝置和設備。


背景技術:

1、模糊測試(fuzzing)是一種自動化的測試技術,根據(jù)一定的規(guī)則自動或半自動地生成隨機數(shù)據(jù),然后將產(chǎn)生的隨機數(shù)據(jù)輸入到動態(tài)運行的被測程序入口,同時監(jiān)控被測程序是否有異常情況出現(xiàn),從而發(fā)現(xiàn)安全缺陷。目前模糊測試技術已在漏洞挖掘領域廣泛使用,其性能受到大型程序中復雜約束的限制,使得測試在一段時間后容易達到瓶頸,從而抑制了模糊測試覆蓋率的提升。


技術實現(xiàn)思路

1、(一)要解決的技術問題

2、本發(fā)明要解決的技術問題是如何提供一種用于模糊測試瓶頸突破的交互式可視化方法、裝置和設備,以解決模糊測試受到大型程序中復雜約束限制的瓶頸問題。

3、(二)技術方案

4、為了解決上述技術問題,本發(fā)明提出一種用于模糊測試瓶頸突破的交互式可視化方法,該方法包括如下步驟:

5、s110:利用llvm平臺,將被測程序中的所有編譯模塊合并成一個完整的中間代碼,得到被測程序的全局視圖;

6、s120:利用哈希算法為每個函數(shù)生成唯一標簽,提取包含函數(shù)名和行范圍的函數(shù)摘要;

7、s130:構建全局的調(diào)用圖和控制流圖,通過掃描每個函數(shù)的基本塊獲取函數(shù)調(diào)用指令信息,收集靜態(tài)分析數(shù)據(jù);

8、s140:對基本塊進行插樁,更新覆蓋統(tǒng)計信息;

9、s150:將編譯插樁后的被測程序進行模糊測試,實時獲取函數(shù)基本塊的命中計數(shù)、覆蓋路徑和崩潰數(shù)量等運行時數(shù)據(jù);

10、s160:根據(jù)所述模糊測試運行時數(shù)據(jù)和靜態(tài)分析數(shù)據(jù),進行數(shù)據(jù)驅(qū)動的可視化,實時展示調(diào)用圖、控制流圖和實時的執(zhí)行統(tǒng)計信息;

11、s170:通過交互式圖表協(xié)助測試工程師,定位模糊測試瓶頸約束,并提供語義上下文。

12、進一步地,所述s110中,在編譯階段通過調(diào)用額外的庫文件,利用llvm平臺,解析各個編譯模塊之間的依賴關系,獲取程序內(nèi)部的調(diào)用關系;將所有編譯模塊鏈接加載到一起,合并成一個完整的中間代碼,構建被測程序的全局視圖。

13、進一步地,所述s120中,通過掃描函數(shù)基本塊的調(diào)試元數(shù)據(jù),提取每個函數(shù)的相關信息,包括函數(shù)名稱、參數(shù)列表、源文件名和函數(shù)代碼行的位置信息;將收集到的函數(shù)信息構建成一個字符串,該字符串包含每個函數(shù)足夠多的信息以區(qū)分不同的函數(shù);采用特定的哈希算法對構建的字符串進行哈希運算,生成一個固定長度的哈希值;在極少數(shù)情況下,不同的輸入可能會產(chǎn)生相同的哈希值,為解決哈希沖突,采用開放尋址、鏈表法沖突解決策略;最后將生成的哈希值作為函數(shù)的唯一標簽,在后續(xù)的分析和可視化過程中用于標識和引用特定的函數(shù)。

14、進一步地,所述s130中,通過遍歷完整的中間代碼,構建全局的調(diào)用圖和控制流圖,用于表示程序的結(jié)構,包括函數(shù)之間的調(diào)用關系以及函數(shù)內(nèi)部的基本塊之間的控制流;使用開源靜態(tài)分析工具進行程序控制流圖的分析,通過掃描每個函數(shù)的基本塊獲取函數(shù)調(diào)用指令信息。

15、進一步地,所述s140中,根據(jù)函數(shù)唯一標簽,為每個基本塊創(chuàng)建一個計數(shù)器,用于表示每個基本塊被執(zhí)行的次數(shù);在每個基本塊的入口處、分支跳轉(zhuǎn)處、返回處添加插樁代碼,用于檢測程序崩潰,同時更新相應的計數(shù)器;插樁代碼需要確保能夠更新模糊測試使用的共享內(nèi)存區(qū)域;采用優(yōu)化措施減少插樁對程序性能的影響,包括限制計數(shù)器的粒度、使用原子操作或鎖機制來防止多線程環(huán)境下的競態(tài)條件以及將計數(shù)器保持在緩存中以加快訪問速度;完成插樁后,將修改后的中間代碼傳遞給后端編譯器,生成包含插樁代碼的可執(zhí)行文件。

16、進一步地,所述s150中,采用模糊測試工具對編譯插樁后的被測程序進行模糊測試;為實時收集和共享運行時數(shù)據(jù),在程序啟動時,初始化一塊共享內(nèi)存區(qū)域,用于存儲運行時收集的數(shù)據(jù);在程序動態(tài)執(zhí)行的過程中,基于插樁代碼,記錄執(zhí)行信息更新本地計數(shù)器,即基本塊命中計數(shù);通過記錄從一個基本塊跳轉(zhuǎn)到另一個基本塊的事件,追蹤程序執(zhí)行路徑,記錄程序覆蓋路徑;定期同步插樁代碼更新的計數(shù)器和路徑信息到共享內(nèi)存中,在程序持續(xù)運行和處理多個輸入樣本時,持續(xù)更新和訪問共享內(nèi)存數(shù)據(jù);基于插樁代碼,記錄崩潰事件,并記錄崩潰數(shù)量,崩潰信息即時同步到共享內(nèi)存中,確保關鍵信息不會因程序異常終止而丟失。

17、進一步地,所述s160中,可視化組件定期讀取共享內(nèi)存中的數(shù)據(jù),將收集到的數(shù)據(jù)格式化為適合網(wǎng)絡傳輸?shù)母袷?,更新展示的統(tǒng)計信息和圖表;采用力導向圖的形式展現(xiàn)函數(shù)調(diào)用圖;采用基于reingold-tilford算法的樹狀布局展示控制流圖;隱藏模糊測試中未覆蓋的函數(shù)基本塊;采用基于rt樹布局算法展現(xiàn)基本塊的層次結(jié)構。

18、進一步地,所述s170中,測試工程師使用可視化界面監(jiān)控模糊測試的實時數(shù)據(jù),包括代碼覆蓋率、基本塊命中次數(shù)和崩潰信息;通過分析實時數(shù)據(jù),識別出測試覆蓋率增長緩慢或停止增加的部分;通過可視化展示的調(diào)用圖和控制流圖,定位到命中次數(shù)低或未被執(zhí)行的函數(shù)和基本塊;查看與這些函數(shù)和基本塊對應的源代碼,了解它們的語義和執(zhí)行上下文,理解瓶頸區(qū)域的代碼邏輯和執(zhí)行約束;識別出阻礙測試輸入探索路徑的復雜約束,根據(jù)識別出的復雜約束,手動構造或更新測試輸入,使其能夠觸發(fā)未充分探索的代碼路徑;通過調(diào)整輸入的生成策略或修改程序的配置選項,以更好地引導模糊測試過程;將構造的目標輸入或更新的測試驅(qū)動應用到模糊測試中;重新啟動模糊測試,監(jiān)控測試覆蓋率和崩潰信息的變化,驗證干預措施的有效性;在模糊測試過程中持續(xù)使用可視化界面監(jiān)控測試狀態(tài),根據(jù)測試結(jié)果反復調(diào)整測試策略,直到達到滿意的測試覆蓋率和發(fā)現(xiàn)足夠的潛在問題。

19、本發(fā)明還提供一種用于模糊測試瓶頸突破的交互式可視化裝置,該裝置包括:

20、加密模塊,用于采用哈希算法為每個函數(shù)生成唯一標簽,提取包含函數(shù)名和行范圍的函數(shù)摘要得到函數(shù)唯一標識;

21、編譯模塊,用于將被測程序中的所有編譯模塊合并成一個完整的中間代碼,得到被測程序的全局視圖,進而構建調(diào)用圖和控制流圖;

22、插樁模塊,用于在每個基本塊的入口或出口處添加插樁代碼,用于更新每個基本塊被執(zhí)行的次數(shù),以及檢測程序崩潰;

23、初始化模塊,用于對被測程序進行模糊測試,初始化共享內(nèi)存;

24、統(tǒng)計更新模塊,用于實時獲取并更新函數(shù)基本塊的運行時數(shù)據(jù),包括:命中計數(shù)、覆蓋路徑和崩潰數(shù)量;

25、可視化模塊,用于根據(jù)模糊測試運行時數(shù)據(jù)和靜態(tài)分析結(jié)果,進行數(shù)據(jù)驅(qū)動的可視化,實時展示調(diào)用圖、控制流圖和實時的執(zhí)行統(tǒng)計信息,通過交互式圖表協(xié)助測試工程師,定位模糊測試瓶頸約束,并提供語義上下文。

26、本發(fā)明還提供一種電子設備,包括:至少一個處理器和存儲器;所述存儲器存儲有可被所述至少一個處理器執(zhí)行的指令,所述指令被所述至少一個處理器執(zhí)行時實現(xiàn)所述的方法。

27、(三)有益效果

28、本發(fā)明提出一種用于模糊測試瓶頸突破的交互式可視化方法、裝置和設備,本發(fā)明通過將被測程序中的所有編譯模塊合并成一個完整的中間代碼,得到被測程序的全局視圖,并利用哈希算法為每個函數(shù)生成唯一標簽,提取包含函數(shù)名和行范圍的函數(shù)摘要,進而構建調(diào)用圖和控制流圖,獲取函數(shù)調(diào)用指令信息,并通過對基本塊進行插樁,將編譯插樁后的被測程序進行模糊測試,實時獲取函數(shù)基本塊的命中計數(shù)、覆蓋路徑和崩潰數(shù)量等運行時數(shù)據(jù),基于模糊測試運行時數(shù)據(jù)和靜態(tài)分析數(shù)據(jù),實時展示調(diào)用圖、控制流圖和實時的執(zhí)行統(tǒng)計信息,通過交互式圖表協(xié)助測試工程師,定位模糊測試瓶頸約束,并提供語義上下文,輔助測試工程師更好地理解和干預模糊測試過程,提高模糊測試代碼覆蓋率和缺陷檢出數(shù)量。

當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
佛山市| 南开区| 那坡县| 筠连县| 怀仁县| 忻州市| 湟源县| 郸城县| 循化| 云梦县| 长海县| 虎林市| 普安县| 宜兰市| 车险| 邹城市| 白河县| 永修县| 永年县| 沁水县| 灵璧县| 尉犁县| 湖南省| 阜新市| 亚东县| 阿坝| 崇州市| 延庆县| 沂南县| 天峨县| 鹿泉市| 晋城| 关岭| 衡阳县| 永安市| 兴海县| 都江堰市| 特克斯县| 辛集市| 奎屯市| 景泰县|